diff --git a/.context/standards/Architecture-Decisions.md b/.context/standards/Architecture-Decisions.md index 773fb049e19..95f9ac5109e 100644 --- a/.context/standards/Architecture-Decisions.md +++ b/.context/standards/Architecture-Decisions.md @@ -975,7 +975,9 @@ and the rename lands with the `ProjectSelector` migration (PT-4549). Both names would flash the Text Collection forward and then away; and the module-level pending slot adds hidden coupling with a forgot-to-clear failure mode. **Register a public command** like the other four — rejected as surface area for nobody: the Text Collection has no menu entry and no external - caller. + caller. *(Superseded by `adr-menu-per-mode-layout-via-mode-gated-columns`: PT-4534 registers + `platformScriptureEditor.showTextCollectionPanel` and gives it a Simple-mode menu entry, so this + alternative is what shipped.)* - **Consequences:** The scroll group's source project is now documented at its call site as *not* an active-editor signal, which is the trap that produced this bug; any future panel that reaches for it should be re-pointed explicitly instead. *(Amended 2026-09-18: that call site is gone — PT-4238 @@ -3375,6 +3377,80 @@ and the rename lands with the `ProjectSelector` migration (PT-4549). Both names - **Source:** PT-4535, after the ring was measured in the running app and two earlier mechanisms were found not to work in the shipped runtime. +## adr-menu-per-mode-layout-via-mode-gated-columns: A menu's per-mode layout is built from mode-gated items in mode-specific columns + +- **Date:** 2026-09-18 +- **Status:** Accepted +- **Context:** Simple's scripture editor Project menu needed a different section structure from + Power's (Project / Edit ▸ / View / Insert / Tools / Quality checks vs Project / Edit / Options / + Tools / Insert), with Power + unchanged. Both modes are served from one menu document, and `hiddenInterfaceModes` exists on + items only; columns and groups have no per-mode switch. +- **Decision:** A mode that needs its own sections gets its own columns (e.g. + `platformScriptureEditor.simpleView`, `simpleTools`) holding items hidden in the other mode, and + items that belong only to the other mode's sections gain `hiddenInterfaceModes` for this one. + Items identical in both modes stay shared (the Insert column). Column orders interleave with + decimals (4.5, 5.5) because orders must be unique per menu. Empty-column suppression + (`adr-menu-section-headings-from-column-labels`) makes each mode's unused columns vanish. + Simple's Comments entry is a new item that fronts the third-column Comments tab; the Power item + (`legacyCommentManager.openCommentList`, which opens a separate Comment List web view) stays + hidden in Simple. The Edit flyout's + Undo/Redo/Cut/Copy/Paste are menu command ids handled inside + the editor web view (`menuCommandHandler`) through `EditorRef`, not PAPI commands: they act on that + web view's own editor, and the clipboard needs the click's user activation, which a PAPI round + trip loses. +- **Alternatives:** `hiddenInterfaceModes` on columns/groups — rejected for now: a schema change + plus a change to the shared mode-filtering pipeline every menu consumer runs, for one consumer's + need (unlike `isHeaderHidden` in the 2026-09-23 amendment below, which is render-only and which + the menubar ignores). Per-mode menu documents — rejected: duplicates every + shared item and splits the contribution surface. Reordering Power to match Simple — rejected: + Power must not change. Un-hiding the Power Comments item in Simple — rejected: it opens a + different web view from the tab Simple's Tools section points at. +- **Consequences:** A few items are declared twice (once per mode), so a command change must touch + both copies; `menu-data.service-host.scripture-editor-menu.test.ts` pins both modes by command id + and order, and checks that a command served in both modes carries the same label in each, so a + missed, reordered or relabelled copy fails there. Simple's Tools order is pinned to the + third-column tab order (`shipped-simple-layout-order.test.ts`), so adding a third-column tab (e.g. + Dictionary) fails that test until a Tools item exists. Hiding a Power-only item without re-adding + it to a Simple column removes its only entry point: Simple now has no menu route at all to the + four Inventories, Markers Checklist, or Open Checks. That follows the v0 Simple design, which has + no quality tools in the Project menu; UX has not yet confirmed it. Auto-show footnote pane + (`platformScriptureEditor.toggleFootnotesAutoShow`) is Power-only too, because Simple keeps PT9's + manual footnotes pane: Show footnotes opens it and it stays open. The Edit flyout's ids are not + registered commands, and `KeyboardShortcutEntry.command` is typed to registered commands, so + those items cannot show a shortcut hint even though Ctrl+Z, Ctrl+Y and the clipboard chords work + in the editor. +- **Amended 2026-09-23 (PT-4534, review of #2847):** Three changes to Simple's menu. + - **Edit ▸ has a section of its own, with no heading,** between Project and View. The v0 demo + (https://10simple-project-menu.vercel.app/) renders it that way: the Edit submenu sits outside + the Project group, between two dividers. The ticket's 2026-09-18 transcription had listed it + inside Project. So columns take an optional `isHeaderHidden` flag: `TabDropdownMenu` still + divides that section and keeps its label as a visually hidden heading that names the group, the + same `aria-labelledby` route every headed section uses. It names the section only while two or + more sections are shown, like every heading. The section's label is "Edit", the same as its only + item, so a screen reader announces "Edit" twice; that is deliberate, since a column must have a + real label and the section holds nothing but the Edit flyout. Rejected for the unheaded section: + making a column's `label` optional — the menubar needs it to open the column, and the section + would lose its accessible name; an empty localized string as the label — it hides the heading by + accident of the data, not by intent, and still leaves the section unnamed; an `aria-label` on the + group instead of a hidden heading — a second naming mechanism beside `aria-labelledby`, and the + only `aria-label` on a menu group in the repo. + - **Simple shows Open Checks, under a Quality checks section,** as product asked on 2026-09-23. In + Simple it opens the Checks side panel as a tab in the third column rather than a split beside the + editor, and fronts that tab on later clicks (`adr-simple-column-3-tools-open-on-demand`). The + Checking assistant the v0 design names is left out of Simple until PT-4734 integrates the + assistant itself. The four Inventories and Markers Checklist stay Power-only, so Simple still + has no menu route to them. + - **Per-pane zoom (`platform.webViewContentZoomIn`/`Out`/`Reset`) is Simple-only, in a Zoom + section of its own** (`platformScriptureEditor.zoomSection`), which lands between Edit and View. + The editor's tab title is hidden in Simple, so this menu is its only mouse route to zoom; Power + reaches zoom from the tab menu instead (`adr-simple-mode-tab-menu-offers-zoom-only`). The zoom + items stay out of the Options column: every other item there is Power-only, and a column is + served whenever ANY of its items is visible, so a single ungated item there would put the whole + Options column — heading and all — back into Simple. Anything added to a Power-only column + needs `hiddenInterfaceModes` even when the command itself is harmless in Simple. +- **Source:** PT-4534 (parent PT-4530); decisions recorded on the ticket 2026-09-18 and 2026-09-23. + ## adr-menu-section-headings-from-column-labels: Menu sections are headed by their column label, only when two or more are non-empty - **Date:** 2026-09-11 @@ -6601,6 +6677,41 @@ and the rename lands with the `ProjectSelector` migration (PT-4549). Both names reach for. - **Source:** PT-4466, deferred from PT-4344 (PR #2701). +## adr-simple-column-3-tools-open-on-demand: An on-demand tool joins Simple's third column as one pinned tab, reused on every later open + +- **Date:** 2026-09-24 +- **Status:** Accepted +- **Context:** Simple's three columns are fixed. Checks, opened from Simple's Quality checks menu + section, was opened as `{ type: 'panel', direction: 'right' }` beside the editor, which split the + editor's column into a new pane on every click. Checks is not part of Simple's starting layout, + and nothing before it added a web view to the third column while the app runs. +- **Decision:** In Simple, the opener first probes with `{ existingId: '?', createNewIfNotFound: + false }` and brings an existing tab to the front, reloading it only if it shows another project + or editor. If there is none, it opens `{ type: 'tab', parentTabGroupId: 'simple-panel-resources' }`, + the third column's rc-dock panel id. The extension cannot import renderer source, so it keeps a + copy of that id (`simple-resources-panel-id.const.ts` in `platform-scripture`), and + `simple-layout.data.test.ts` fails if the copy drifts from `SIMPLE_PANEL_ID_RESOURCES`. The tab is + pinned like its neighbors (`isClosable: false` in Simple, and listed in + `FIXED_LAYOUT_WEBVIEW_GROUPS` under `TAB_GROUP_RESOURCES`). An open tab follows a project switch the + way Find does, through `platformScripture.updateChecksSidePanelProject`, except that, like the + Text Collection, it does not follow a published resource (`updateRelatedChecksSidePanel` reads + `platform.isPublished`, not `isEditable`, so an `Editable=F` translation project is followed). + Power keeps the panel beside the editor, and deliberately does not probe either, so each click + still opens another panel there: layout is free-form in Power, and extra panels are the user's to + close. Reference: `open-checks-side-panel.utils.ts`. +- **Alternatives:** A static tab in `simple-layout.data.ts` or a `default-layout-supplement.json` + entry — rejected: both change what every Simple user sees at startup for a tool few open. A + `panel` layout targeting a third-column tab — rejected: it splits the third column instead. A + closable tab — rejected for now: its rc-dock group would be `TAB_GROUP` inside a + `TAB_GROUP_RESOURCES` panel, a mix whose drag and lock behavior is unverified. Moving the panel id + into `src/shared` so the extension can import it — rejected: it would grow `papi.d.ts` for one + constant. +- **Consequences:** Once opened, the Checks tab stays until the Simple layout is next rebuilt + (for example on restart or a mode switch). If the copied panel id drifts and the test is skipped, + the dock logs a warning and falls back to its default placement, which can add a pane on top of a + column. The next on-demand third-column tool should reuse this shape and its panel-id constant. +- **Source:** PT-4534 (review of #2847). + ## adr-simple-mode-column-minimums: Simple-mode column minimums are derived from the window minimum, dividers included - **Date:** 2026-08-19 @@ -8082,6 +8193,31 @@ and the rename lands with the `ProjectSelector` migration (PT-4549). Both names PRD folder. Not a repo path; named here so a later reader knows the entry is real and where to ask for it, not so they can open it from a clone. +## adr-web-view-load-focus-skips-hidden-tabs: A web view focuses its tab on load only when the tab is shown + +- **Date:** 2026-09-25 +- **Status:** Accepted +- **Context:** Every web view calls `windowService.setFocus({ focusType: 'tab', id })` when its + iframe loads, and that focus makes the tab the active one in its group. A reload with + `bringToFront: false` keeps the tab where it is, but the reload remounts the iframe, so the tab + came to the front anyway once its content loaded. In Simple mode a project switch reloads the + Find and Checks tabs in Column 3 this way, and whichever loaded last took the column from the tab + the user was on. +- **Decision:** `web-view.component.tsx` skips the on-load focus when the iframe has no client + rects. rc-dock keeps an inactive tab's pane mounted with `display: none`, so a hidden tab's iframe + has none. A tab that was asked to come to the front is already active by the time its content + loads, so its focus is unchanged. +- **Alternatives:** A dock method answering whether a tab is its group's active tab — rejected: it + widens `PapiDockLayout`, which is in `papi.d.ts`, for one renderer caller. Carrying the reload's + `bringToFront` to the component — rejected: the component remounts from the tab definition and + has no record of why it loaded. Stopping the Checks re-point from reloading — rejected: it fixes + Checks only, and Find has the same problem. +- **Consequences:** A web view that loads while hidden takes no focus, including one restored with + the layout at startup into an inactive tab. It is focused when the user brings the tab forward. + The mount-time focus in `platform-panel.component.tsx` is unchanged, since a reload does not + remount the panel. +- **Source:** PT-4534 (review of #2847), found checking the Checks tab in the running app. + ## adr-window-activation-is-declared-not-inferred: Whether a new window activates is declared by its caller; focus state cannot answer it - **Date:** 2026-08-31 diff --git a/.context/standards/Entry-Point-Guide.md b/.context/standards/Entry-Point-Guide.md index 897534cb676..50c06446244 100644 --- a/.context/standards/Entry-Point-Guide.md +++ b/.context/standards/Entry-Point-Guide.md @@ -105,7 +105,15 @@ For each entry point, add to `extensions/src/{ext}/contributions/menus.json`: **Notes:** - Use `localizeNotes` to document the menu path for translators - Order numbers determine sort order within the group -- Commands must match exactly what's registered in main.ts +- Commands must match exactly what's registered in main.ts — with one exception: a web view's + top-menu item can name a command id that its own `SelectMenuItemHandler` handles before any PAPI + call, never registered in `main.ts`. The scripture editor's Edit flyout + (Undo/Redo/Cut/Copy/Paste) works this way, because the clipboard needs the click's user + activation, which a PAPI round trip loses. `EDIT_MENU_COMMANDS` in + `extensions/src/platform-scripture-editor/src/edit-menu-actions.util.ts` is the list the handler + intercepts, and a test keeps it matched to the menu. See + `adr-menu-per-mode-layout-via-mode-gated-columns` in + [Architecture-Decisions.md](Architecture-Decisions.md). ### Menu Availability: Menus Stay Always-Available @@ -128,12 +136,20 @@ visibility/enable rules inline in the command/backend so the rationale isn't los See `adr-menus-always-available-gate-at-submission` in `Architecture-Decisions.md` for the rationale and history. +When a mode needs a different *section* structure, not just fewer items, give that mode its own +columns and gate items into them — see `adr-menu-per-mode-layout-via-mode-gated-columns`. + ### Section Headings and Shortcut Hints - **Headings come from columns.** In a tab's top menu each column is a section. When two or more columns have items, each is headed by its `label`; a column with no items (including one whose items are all hidden in the current interface mode) is not shown at all. So label columns as section titles, and hide a section by hiding its items. See `adr-menu-section-headings-from-column-labels`. +- **A section with no heading** sets `"isHeaderHidden": true` on its column. It is still divided + from its neighbors, and while two or more sections are shown its `label` still names it for + screen readers. A section left on its own — including one left alone by interface-mode + filtering — gets neither a heading nor a name. Give it a real label regardless. The application + menubar ignores the flag. See `adr-menu-per-mode-layout-via-mode-gated-columns`. - **Do not add `shortcut` to `menus.json`** — the schema rejects it and the whole file fails to load. Hints come from the keyboard shortcuts catalog's `command` join; see `.claude/rules/keyboard-shortcuts-catalog.md` and `adr-menu-shortcut-hints-joined-from-catalog`. diff --git a/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-002.spec.ts b/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-002.spec.ts index 84a3514be3c..026814f0278 100644 --- a/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-002.spec.ts +++ b/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-002.spec.ts @@ -25,6 +25,10 @@ import type { FrameLocator, Locator, Page } from '@playwright/test'; import { test, expect } from '../../fixtures/cdp.fixture'; import { waitForAppReady } from '../../fixtures/helpers'; +// Markers Checklist is opened from the scripture editor's hamburger menu, which hides that item +// in Simple mode. +test.use({ requiredInterfaceMode: 'power' }); + // --------------------------------------------------------------------------- // Test constants // --------------------------------------------------------------------------- diff --git a/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-003.spec.ts b/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-003.spec.ts index bafe42838d9..b5b23c37709 100644 --- a/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-003.spec.ts +++ b/e2e-tests/tests/markers-checklist/markers-checklist-functional-UI-PKG-003.spec.ts @@ -32,6 +32,10 @@ import type { FrameLocator, Page } from '@playwright/test'; import { test, expect } from '../../fixtures/cdp.fixture'; import { waitForAppReady } from '../../fixtures/helpers'; +// Markers Checklist is opened from the scripture editor's hamburger menu, which hides that item +// in Simple mode. +test.use({ requiredInterfaceMode: 'power' }); + // ----------------------------------------------------------------------------- // Helpers — Platform.Bible bootstrap // ----------------------------------------------------------------------------- diff --git a/e2e-tests/tests/markers-checklist/markers-checklist-journey.spec.ts b/e2e-tests/tests/markers-checklist/markers-checklist-journey.spec.ts index b5a34beb1c0..24fbfcb2433 100644 --- a/e2e-tests/tests/markers-checklist/markers-checklist-journey.spec.ts +++ b/e2e-tests/tests/markers-checklist/markers-checklist-journey.spec.ts @@ -30,6 +30,10 @@ import type { FrameLocator, Page } from '@playwright/test'; import { test, expect } from '../../fixtures/cdp.fixture'; import { waitForAppReady } from '../../fixtures/helpers'; +// Markers Checklist is opened from the scripture editor's hamburger menu, which hides that item +// in Simple mode. +test.use({ requiredInterfaceMode: 'power' }); + // --------------------------------------------------------------------------- // Constants (aligned with per-WP functional tests) // --------------------------------------------------------------------------- diff --git a/e2e-tests/tests/markers-checklist/wiring-theme-5.spec.ts b/e2e-tests/tests/markers-checklist/wiring-theme-5.spec.ts index 47c42951911..0d86aec9c55 100644 --- a/e2e-tests/tests/markers-checklist/wiring-theme-5.spec.ts +++ b/e2e-tests/tests/markers-checklist/wiring-theme-5.spec.ts @@ -38,6 +38,10 @@ import type { FrameLocator, Locator, Page } from '@playwright/test'; import { test, expect } from '../../fixtures/cdp.fixture'; import { waitForAppReady } from '../../fixtures/helpers'; +// Markers Checklist is opened from the scripture editor's hamburger menu, which hides it in Simple +// mode. Open Checks is reachable from that menu in both modes. +test.use({ requiredInterfaceMode: 'power' }); + // --------------------------------------------------------------------------- // Test constants // --------------------------------------------------------------------------- diff --git a/extensions/src/legacy-comment-manager/src/main.test.ts b/extensions/src/legacy-comment-manager/src/main.test.ts index bcc485ceafa..1e218bf71f8 100644 --- a/extensions/src/legacy-comment-manager/src/main.test.ts +++ b/extensions/src/legacy-comment-manager/src/main.test.ts @@ -16,14 +16,20 @@ const mocks = vi.hoisted(() => { // A class with no declared constructor silently accepts (and ignores) whatever args a subclass's // `super(...)` call passes, so this needs no constructor of its own. class PapiBackendStubBase {} + // Named so `beforeEach` can restore it after `vi.resetAllMocks()`, which strips this + // implementation along with every other mock's — every test needs it to reach its handler. + async function registerCommandImpl(name: string, handler: (...args: unknown[]) => unknown) { + registeredCommands.set(name, handler); + return async () => true; + } return { registeredCommands, openWebView: vi.fn(async () => 'wv-1'), onDidCloseWebView: vi.fn(() => () => {}), - registerCommand: vi.fn(async (name: string, handler: (...args: unknown[]) => unknown) => { - registeredCommands.set(name, handler); - return async () => true; - }), + getOpenWebViewDefinition: vi.fn(async () => undefined), + reloadWebView: vi.fn(async () => undefined), + registerCommand: vi.fn(registerCommandImpl), + registerCommandImpl, PapiBackendStubBase, }; }); @@ -38,9 +44,9 @@ vi.mock('@papi/backend', () => ({ webViews: { openWebView: mocks.openWebView, onDidCloseWebView: mocks.onDidCloseWebView, - getOpenWebViewDefinition: vi.fn(async () => undefined), + getOpenWebViewDefinition: mocks.getOpenWebViewDefinition, getWebViewController: vi.fn(async () => undefined), - reloadWebView: vi.fn(async () => undefined), + reloadWebView: mocks.reloadWebView, }, projectDataProviders: { get: vi.fn(async () => ({ getSetting: vi.fn(async () => undefined) })), @@ -59,6 +65,7 @@ vi.mock('@papi/backend', () => ({ // mocks are applied to the module under test. /* eslint-disable import/first */ import { UnsubscriberAsyncList } from 'platform-bible-utils'; +import { logger } from '@papi/backend'; import { activate } from './main'; /* eslint-enable import/first */ @@ -75,8 +82,11 @@ function makeContext() { describe('legacy comment manager main.ts activation', () => { beforeEach(() => { - vi.clearAllMocks(); + vi.resetAllMocks(); mocks.registeredCommands.clear(); + // resetAllMocks() also strips this mock's own base implementation; restore it since every + // test below depends on activate() populating registeredCommands. + mocks.registerCommand.mockImplementation(mocks.registerCommandImpl); }); it('opening a comment list for a project reuses the existing one via the reuse search', async () => { @@ -111,4 +121,50 @@ describe('legacy comment manager main.ts activation', () => { // local map left for a close event to clean up. expect(mocks.onDidCloseWebView).not.toHaveBeenCalled(); }); + + it('showCommentListPanel raises an open Comments tab without reloading it', async () => { + await activate(makeContext()); + mocks.openWebView.mockResolvedValueOnce('comments-tab'); + const handler = mocks.registeredCommands.get('legacyCommentManager.showCommentListPanel'); + await expect(handler?.('editor-1')).resolves.toBe('comments-tab'); + expect(mocks.openWebView).toHaveBeenLastCalledWith( + 'legacyCommentManager.commentListPanel', + undefined, + { existingId: '?', createNewIfNotFound: false, bringToFront: true }, + ); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); + + it("showCommentListPanel opens a Comments tab for the editor's project when none is open", async () => { + await activate(makeContext()); + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('new-comments-tab'); + mocks.getOpenWebViewDefinition.mockResolvedValueOnce({ projectId: 'project-1' }); + const handler = mocks.registeredCommands.get('legacyCommentManager.showCommentListPanel'); + await expect(handler?.('editor-1')).resolves.toBe('new-comments-tab'); + expect(mocks.getOpenWebViewDefinition).toHaveBeenCalledWith('editor-1'); + expect(mocks.openWebView).toHaveBeenLastCalledWith( + 'legacyCommentManager.commentListPanel', + { type: 'tab' }, + { projectId: 'project-1' }, + ); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); + + it('showCommentListPanel opens an unlabeled Comments tab when the editor web view cannot be resolved', async () => { + await activate(makeContext()); + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('new-comments-tab'); + // getOpenWebViewDefinition is documented to throw when no window claimed the web view and some + // window could not be asked — that must degrade to "no project id", not reject the command. + mocks.getOpenWebViewDefinition.mockRejectedValueOnce(new Error('no window answered')); + const handler = mocks.registeredCommands.get('legacyCommentManager.showCommentListPanel'); + await expect(handler?.('editor-1')).resolves.toBe('new-comments-tab'); + expect(mocks.openWebView).toHaveBeenLastCalledWith( + 'legacyCommentManager.commentListPanel', + { type: 'tab' }, + { projectId: undefined }, + ); + // Distinguishes this from the plain not-found path, which degrades to the same "no project id" + // outcome without logging anything. + expect(logger.warn).toHaveBeenCalledWith(expect.stringContaining('editor-1')); + }); }); diff --git a/extensions/src/legacy-comment-manager/src/main.ts b/extensions/src/legacy-comment-manager/src/main.ts index 7971954ee2b..bd27ffb1153 100644 --- a/extensions/src/legacy-comment-manager/src/main.ts +++ b/extensions/src/legacy-comment-manager/src/main.ts @@ -15,7 +15,7 @@ import type { OpenCommentListWebViewOptions, ScopeFilter, } from 'legacy-comment-manager'; -import { serialize } from 'platform-bible-utils'; +import { getErrorMessage, serialize } from 'platform-bible-utils'; import commentListWebView from './comment-list.web-view?inline'; import tailwindStyles from './tailwind.css?inline'; import { presetToLabelKey, scopeFilterToLabelKey } from './comment-list-filters.model'; @@ -169,6 +169,53 @@ async function openCommentListPanel(projectId: string | undefined): Promise { + const existingId = await papi.webViews.openWebView( + commentListPanelWebViewType, + undefined, + RAISE_EXISTING_TAB_ONLY, + ); + if (existingId) return existingId; + let projectId: string | undefined; + if (editorWebViewId) { + // getOpenWebViewDefinition throws if no window claimed the web view and some window could not be + // asked. That is not this command's problem to fail over — degrade to "no project id" so a new + // Comments tab still opens, unlabeled, rather than rejecting the whole show request. + try { + projectId = (await papi.webViews.getOpenWebViewDefinition(editorWebViewId))?.projectId; + } catch (e) { + logger.warn( + `Could not resolve the project for web view ${editorWebViewId}: ${getErrorMessage(e)}`, + ); + } + } + const openOptions: CommentListPanelOptions = { projectId }; + return papi.webViews.openWebView(commentListPanelWebViewType, { type: 'tab' }, openOptions); +} + /** * Selects/scrolls to a specific thread in the fixed Column 3 Comment List panel — without reloading * the panel. Reloading (as {@link openCommentListPanel} does) remounts the panel's React root, which @@ -396,6 +443,29 @@ export async function activate(context: ExecutionActivationContext): Promise Promise; + + /** + * Brings the Comments tab to the front, the way clicking it would. An open tab is raised, never + * reloaded, so an in-progress comment edit survives. If no tab is open, opens one for the + * editor's project. + * + * @param editorWebViewId The scripture editor the request came from + * @returns The Comments web view's ID, or `undefined` if it couldn't be shown + */ + 'legacyCommentManager.showCommentListPanel': ( + editorWebViewId?: string, + ) => Promise; } export interface WebViewControllers { diff --git a/extensions/src/platform-scripture-editor/contributions/localizedStrings.json b/extensions/src/platform-scripture-editor/contributions/localizedStrings.json index 8a65d22f5bb..f9f48a72e96 100644 --- a/extensions/src/platform-scripture-editor/contributions/localizedStrings.json +++ b/extensions/src/platform-scripture-editor/contributions/localizedStrings.json @@ -184,7 +184,9 @@ "%webView_platformScriptureEditor_characterMarkerMenu_removeMarkers%": "Remove character markers", "%webView_platformScriptureEditor_charactersInventory%": "Inventory: Characters...", "%webView_platformScriptureEditor_configureChecks%": "Configure Checks...", + "%webView_platformScriptureEditor_copy%": "Copy", "%webView_platformScriptureEditor_copyrightInfo%": "Copyright Info", + "%webView_platformScriptureEditor_cut%": "Cut", "%webView_platformScriptureEditor_edit%": "Edit", "%webView_platformScriptureEditor_emptyChapter_addChapterNumberButton%": "Add chapter number", "%webView_platformScriptureEditor_emptyChapter_message%": "This chapter is empty.", @@ -192,6 +194,7 @@ "%webView_platformScriptureEditor_emptyChapter_protectedTooltip%": "Structure is locked. Chapter and verse markers cannot be added.", "%webView_platformScriptureEditor_emptyState_noProject%": "No project selected", "%webView_platformScriptureEditor_error_bookNotFoundResource%": "This book does not exist in this resource.", + "%webView_platformScriptureEditor_error_editActionBlocked%": "Editing isn't available right now, so nothing changed.", "%webView_platformScriptureEditor_error_noTextSelected%": "Please select a range of text before inserting a comment.", "%webView_platformScriptureEditor_error_permissions_format%": "Project {projectName}: You do not have permission to edit this chapter.", "%webView_platformScriptureEditor_error_removeCharacterMarkerFailed%": "The character marker could not be removed. Your text was not changed.", @@ -210,13 +213,20 @@ "%webView_platformScriptureEditor_options%": "Options", "%webView_platformScriptureEditor_paragraphSelection_ariaLabel%": "Paragraph style", "%webView_platformScriptureEditor_paragraphSelection_protectedTooltip%": "Structure is locked. Paragraph format cannot be changed.", + "%webView_platformScriptureEditor_paste%": "Paste", "%webView_platformScriptureEditor_publisherInfo%": "Publisher Info", "%webView_platformScriptureEditor_punctuationInventory%": "Inventory: Punctuation...", + "%webView_platformScriptureEditor_qualityChecks%": "Quality checks", + "%webView_platformScriptureEditor_redo%": "Redo", "%webView_platformScriptureEditor_repeatedWordsInventory%": "Inventory: Repeated Words...", "%webView_platformScriptureEditor_resetZoomToDefault%": "Reset zoom to default", "%webView_platformScriptureEditor_shareLayout_ariaLabel%": "Share layout with team", + "%webView_platformScriptureEditor_showBibleTextsPanel%": "Bible texts", "%webView_platformScriptureEditor_showCheckResults%": "Show Check Results...", + "%webView_platformScriptureEditor_showCommentariesPanel%": "Commentaries", + "%webView_platformScriptureEditor_showCommentsPanel%": "Comments", "%webView_platformScriptureEditor_showFootnotes%": "Show footnotes", + "%webView_platformScriptureEditor_showTextCollectionPanel%": "Text collection", "%webView_platformScriptureEditor_structureProtection_ariaLabel%": "Toggle structure protection", "%webView_platformScriptureEditor_structureProtection_errorLoading%": "Structure protection state unavailable", "%webView_platformScriptureEditor_structureProtection_lockStructure%": "Lock structure", @@ -229,7 +239,9 @@ "%webView_platformScriptureEditor_structureProtection_unlockStructureForProject%": "Unlock structure for project", "%webView_platformScriptureEditor_switchScriptureView%": "Switch Scripture view", "%webView_platformScriptureEditor_syncEditBlocked_banner%": "Editing paused — Send/Receive in progress", + "%webView_platformScriptureEditor_tabCouldNotOpen%": "That tab couldn't be opened. Please try again.", "%webView_platformScriptureEditor_teamLayout_ariaLabel%": "Edit team layout", + "%webView_platformScriptureEditor_textCollectionNotOpen%": "Text collection isn't available, so there's no tab to show.", "%webView_platformScriptureEditor_textColor%": "Text Color", "%webView_platformScriptureEditor_thickBorders%": "Thick Borders", "%webView_platformScriptureEditor_title_editable_indicator%": "(Editable)", @@ -241,6 +253,8 @@ "%webView_platformScriptureEditor_tools%": "Tools", "%webView_platformScriptureEditor_twoStepDelete_deleteSelection%": "Press {key} again to delete selection", "%webView_platformScriptureEditor_twoStepDelete_removeVerseNumber%": "Press {key} again to remove verse marker", + "%webView_platformScriptureEditor_undo%": "Undo", + "%webView_platformScriptureEditor_view%": "View", "%webView_platformScriptureEditor_zoom%": "Zoom", "%webView_platformScriptureEditor_zoomIn%": "Zoom in", "%webView_platformScriptureEditor_zoomOut%": "Zoom out", @@ -493,7 +507,9 @@ "%webView_platformScriptureEditor_characterMarkerMenu_removeMarkers%": "Quitar marcadores de carácter", "%webView_platformScriptureEditor_charactersInventory%": "Inventario: Caracteres...", "%webView_platformScriptureEditor_configureChecks%": "Configurar verificaciones...", + "%webView_platformScriptureEditor_copy%": "Copiar", "%webView_platformScriptureEditor_copyrightInfo%": "Información de copyright", + "%webView_platformScriptureEditor_cut%": "Cortar", "%webView_platformScriptureEditor_edit%": "Editar", "%webView_platformScriptureEditor_emptyChapter_addChapterNumberButton%": "Añadir número de capítulo", "%webView_platformScriptureEditor_emptyChapter_message%": "Este capítulo está vacío.", @@ -501,6 +517,7 @@ "%webView_platformScriptureEditor_emptyChapter_protectedTooltip%": "La estructura está bloqueada. Los marcadores de capítulo y versículo no se pueden añadir.", "%webView_platformScriptureEditor_emptyState_noProject%": "Ningún proyecto seleccionado", "%webView_platformScriptureEditor_error_bookNotFoundResource%": "Este libro no existe en este recurso.", + "%webView_platformScriptureEditor_error_editActionBlocked%": "La edición no está disponible en este momento, así que no cambió nada.", "%webView_platformScriptureEditor_error_noTextSelected%": "Por favor, seleccione un rango de texto antes de insertar un comentario.", "%webView_platformScriptureEditor_error_permissions_format%": "Proyecto {projectName}: No tiene permiso para editar este capítulo.", "%webView_platformScriptureEditor_error_removeCharacterMarkerFailed%": "No se pudo quitar el marcador de carácter. Su texto no cambió.", @@ -519,13 +536,20 @@ "%webView_platformScriptureEditor_options%": "Opciones", "%webView_platformScriptureEditor_paragraphSelection_ariaLabel%": "Estilo de párrafo", "%webView_platformScriptureEditor_paragraphSelection_protectedTooltip%": "La estructura está bloqueada. El formato de párrafo no se puede cambiar.", + "%webView_platformScriptureEditor_paste%": "Pegar", "%webView_platformScriptureEditor_publisherInfo%": "Información del editor", "%webView_platformScriptureEditor_punctuationInventory%": "Inventario: Puntuación...", + "%webView_platformScriptureEditor_qualityChecks%": "Verificaciones de calidad", + "%webView_platformScriptureEditor_redo%": "Rehacer", "%webView_platformScriptureEditor_repeatedWordsInventory%": "Inventario: Palabras repetidas...", "%webView_platformScriptureEditor_resetZoomToDefault%": "Restablecer el zoom al valor predeterminado", "%webView_platformScriptureEditor_shareLayout_ariaLabel%": "Compartir diseño con el equipo", + "%webView_platformScriptureEditor_showBibleTextsPanel%": "Textos bíblicos", "%webView_platformScriptureEditor_showCheckResults%": "Mostrar resultados de verificación...", + "%webView_platformScriptureEditor_showCommentariesPanel%": "Comentarios bíblicos", + "%webView_platformScriptureEditor_showCommentsPanel%": "Comentarios de proyecto", "%webView_platformScriptureEditor_showFootnotes%": "Mostrar notas al pie", + "%webView_platformScriptureEditor_showTextCollectionPanel%": "Colección de textos", "%webView_platformScriptureEditor_structureProtection_ariaLabel%": "Alternar protección de estructura", "%webView_platformScriptureEditor_structureProtection_errorLoading%": "Estado de protección de estructura no disponible", "%webView_platformScriptureEditor_structureProtection_lockStructure%": "Bloquear estructura", @@ -538,7 +562,9 @@ "%webView_platformScriptureEditor_structureProtection_unlockStructureForProject%": "Desbloquear estructura para el proyecto", "%webView_platformScriptureEditor_switchScriptureView%": "Cambiar vista de escrituras", "%webView_platformScriptureEditor_syncEditBlocked_banner%": "Edición pausada — Enviar/Recibir en curso", + "%webView_platformScriptureEditor_tabCouldNotOpen%": "No se pudo abrir esa pestaña. Inténtelo de nuevo.", "%webView_platformScriptureEditor_teamLayout_ariaLabel%": "Editar el diseño del equipo", + "%webView_platformScriptureEditor_textCollectionNotOpen%": "La colección de textos no está disponible, así que no hay ninguna pestaña que mostrar.", "%webView_platformScriptureEditor_textColor%": "Color del texto", "%webView_platformScriptureEditor_thickBorders%": "Bordes gruesos", "%webView_platformScriptureEditor_title_editable_indicator%": "(editable)", @@ -550,6 +576,8 @@ "%webView_platformScriptureEditor_tools%": "Herramientas", "%webView_platformScriptureEditor_twoStepDelete_deleteSelection%": "Presione {key} de nuevo para eliminar lo seleccionado", "%webView_platformScriptureEditor_twoStepDelete_removeVerseNumber%": "Presione {key} de nuevo para borrar este número de versículo", + "%webView_platformScriptureEditor_undo%": "Deshacer", + "%webView_platformScriptureEditor_view%": "Ver", "%webView_platformScriptureEditor_zoom%": "Zoom", "%webView_platformScriptureEditor_zoomIn%": "Acercar", "%webView_platformScriptureEditor_zoomOut%": "Alejar", diff --git a/extensions/src/platform-scripture-editor/contributions/menus.json b/extensions/src/platform-scripture-editor/contributions/menus.json index 300398dfd73..50fdf50d828 100644 --- a/extensions/src/platform-scripture-editor/contributions/menus.json +++ b/extensions/src/platform-scripture-editor/contributions/menus.json @@ -9,6 +9,11 @@ "includeDefaults": true, "topMenu": { "columns": { + "platformScriptureEditor.simpleEdit": { + "label": "%webView_platformScriptureEditor_edit%", + "order": 1.5, + "isHeaderHidden": true + }, "platformScriptureEditor.edit": { "label": "%webView_platformScriptureEditor_edit%", "order": 2, @@ -27,13 +32,25 @@ "label": "%webView_platformScriptureEditor_tools%", "order": 4 }, + "platformScriptureEditor.simpleView": { + "label": "%webView_platformScriptureEditor_view%", + "order": 4.5 + }, "platformScriptureEditor.insert": { "label": "%webView_platformScriptureEditor_insert%", "order": 5 }, + "platformScriptureEditor.simpleTools": { + "label": "%webView_platformScriptureEditor_tools%", + "order": 5.5 + }, "platformScriptureEditor.info": { "label": "%webView_platformScriptureEditor_info%", "order": 6 + }, + "platformScriptureEditor.simpleQualityChecks": { + "label": "%webView_platformScriptureEditor_qualityChecks%", + "order": 7 } }, "groups": { @@ -77,6 +94,26 @@ "platformScriptureEditor.comments": { "column": "platformScriptureEditor.tools", "order": 4 + }, + "platformScriptureEditor.simpleEditMenu": { + "column": "platformScriptureEditor.simpleEdit", + "order": 1 + }, + "platformScriptureEditor.simpleViewLayout": { + "column": "platformScriptureEditor.simpleView", + "order": 1 + }, + "platformScriptureEditor.simpleToolsPanels": { + "column": "platformScriptureEditor.simpleTools", + "order": 1 + }, + "platformScriptureEditor.simpleChecks": { + "column": "platformScriptureEditor.simpleQualityChecks", + "order": 1 + }, + "platformScriptureEditor.editActions": { + "menuItem": "platformScriptureEditor.editSubmenu", + "order": 1 } }, "items": [ @@ -90,30 +127,35 @@ }, { "label": "%webView_platformScriptureEditor_openFind%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.find", "order": 3, "command": "platformScripture.openFind" }, { "label": "%webView_platformScriptureEditor_switchScriptureView%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.layout", "order": 1, "command": "platformScriptureEditor.changeView" }, { "label": "%webView_platformScriptureEditor_showFootnotes%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.footnotesPane", "order": 1, "command": "platformScriptureEditor.toggleFootnotes" }, { "label": "%temp_webView_platformScriptureEditor_changeFootnotePaneLocation%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.footnotesPane", "order": 2, "command": "platformScriptureEditor.changeFootnotesPaneLocation" }, { "label": "%webView_platformScriptureEditor_toggleFootnotesAutoShow%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.footnotesPane", "order": 3, "command": "platformScriptureEditor.toggleFootnotesAutoShow" @@ -144,30 +186,35 @@ }, { "label": "%webView_platformScriptureEditor_charactersInventory%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.inventory", "order": 1, "command": "platformScripture.openCharactersInventory" }, { "label": "%webView_platformScriptureEditor_repeatedWordsInventory%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.inventory", "order": 2, "command": "platformScripture.openRepeatedWordsInventory" }, { "label": "%webView_platformScriptureEditor_markersInventory%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.inventory", "order": 3, "command": "platformScripture.openMarkersInventory" }, { "label": "%webView_platformScriptureEditor_punctuationInventory%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.inventory", "order": 4, "command": "platformScripture.openPunctuationInventory" }, { "label": "%markersChecklist_menu_openTool%", + "hiddenInterfaceModes": ["simple"], "localizeNotes": "Scripture editor top menu > Tools > Markers Checklist... (opens the markers checklist for the editor's active project)", "group": "platformScriptureEditor.inventory", "order": 5, @@ -175,6 +222,7 @@ }, { "label": "%webView_platformScriptureEditor_openChecks%", + "hiddenInterfaceModes": ["simple"], "group": "platformScriptureEditor.checks", "order": 3, "command": "platformScripture.openChecksSidePanel" @@ -203,6 +251,126 @@ "group": "platformScriptureEditor.comments", "order": 1, "command": "legacyCommentManager.openCommentList" + }, + { + "id": "platformScriptureEditor.editSubmenu", + "label": "%webView_platformScriptureEditor_edit%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Edit ▸ — opens the Undo/Redo/Cut/Copy/Paste flyout, in its own section with no heading between Project and View", + "group": "platformScriptureEditor.simpleEditMenu", + "order": 1 + }, + { + "label": "%webView_platformScriptureEditor_undo%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Edit > Undo", + "group": "platformScriptureEditor.editActions", + "order": 1, + "command": "platformScriptureEditor.undo" + }, + { + "label": "%webView_platformScriptureEditor_redo%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Edit > Redo", + "group": "platformScriptureEditor.editActions", + "order": 2, + "command": "platformScriptureEditor.redo" + }, + { + "label": "%webView_platformScriptureEditor_cut%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Edit > Cut (the selected text)", + "group": "platformScriptureEditor.editActions", + "order": 3, + "command": "platformScriptureEditor.cutSelection" + }, + { + "label": "%webView_platformScriptureEditor_copy%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Edit > Copy (the selected text)", + "group": "platformScriptureEditor.editActions", + "order": 4, + "command": "platformScriptureEditor.copySelection" + }, + { + "label": "%webView_platformScriptureEditor_paste%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Edit > Paste", + "group": "platformScriptureEditor.editActions", + "order": 5, + "command": "platformScriptureEditor.pasteAtSelection" + }, + { + "label": "%webView_platformScriptureEditor_switchScriptureView%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > View > Switch Scripture view — changes the editor's Scripture view type", + "group": "platformScriptureEditor.simpleViewLayout", + "order": 1, + "command": "platformScriptureEditor.changeView" + }, + { + "label": "%webView_platformScriptureEditor_showFootnotes%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > View > Show footnotes — toggles the footnotes pane's visibility", + "group": "platformScriptureEditor.simpleViewLayout", + "order": 2, + "command": "platformScriptureEditor.toggleFootnotes" + }, + { + "label": "%temp_webView_platformScriptureEditor_changeFootnotePaneLocation%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > View > Change footnote pane location — toggles the footnotes pane between bottom and side-by-side", + "group": "platformScriptureEditor.simpleViewLayout", + "order": 3, + "command": "platformScriptureEditor.changeFootnotesPaneLocation" + }, + { + "label": "%webView_platformScriptureEditor_showBibleTextsPanel%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Tools > Bible texts — brings the Bible texts tab in the third column to the front", + "group": "platformScriptureEditor.simpleToolsPanels", + "order": 1, + "command": "platformScriptureEditor.showBibleTextsPanel" + }, + { + "label": "%webView_platformScriptureEditor_showCommentariesPanel%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Tools > Commentaries — brings the Commentaries tab in the third column to the front", + "group": "platformScriptureEditor.simpleToolsPanels", + "order": 2, + "command": "platformScriptureEditor.showCommentariesPanel" + }, + { + "label": "%webView_platformScriptureEditor_showCommentsPanel%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Tools > Comments — brings the project's Comments tab in the third column to the front", + "group": "platformScriptureEditor.simpleToolsPanels", + "order": 3, + "command": "legacyCommentManager.showCommentListPanel" + }, + { + "label": "%webView_platformScriptureEditor_showTextCollectionPanel%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Tools > Text collection — brings the Text collection tab in the third column to the front", + "group": "platformScriptureEditor.simpleToolsPanels", + "order": 4, + "command": "platformScriptureEditor.showTextCollectionPanel" + }, + { + "label": "%webView_platformScriptureEditor_openFind%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Tools > Find — brings the Find tab in the third column to the front", + "group": "platformScriptureEditor.simpleToolsPanels", + "order": 5, + "command": "platformScripture.openFind" + }, + { + "label": "%webView_platformScriptureEditor_openChecks%", + "hiddenInterfaceModes": ["power"], + "localizeNotes": "Scripture editor top menu (Simple) > Quality checks > Open Checks... — opens the Checks panel for the editor's project as a tab in the third column, or brings that tab to the front", + "group": "platformScriptureEditor.simpleChecks", + "order": 1, + "command": "platformScripture.openChecksSidePanel" } ] }, diff --git a/extensions/src/platform-scripture-editor/src/edit-menu-actions.util.test.ts b/extensions/src/platform-scripture-editor/src/edit-menu-actions.util.test.ts new file mode 100644 index 00000000000..387d40dac5d --- /dev/null +++ b/extensions/src/platform-scripture-editor/src/edit-menu-actions.util.test.ts @@ -0,0 +1,128 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + EDIT_MENU_COMMANDS, + handleEditMenuCommand, + isEditMenuCommand, + runEditMenuAction, +} from './edit-menu-actions.util'; + +function makeEditor() { + return { undo: vi.fn(), redo: vi.fn(), cut: vi.fn(), copy: vi.fn(), paste: vi.fn() }; +} + +describe('Edit menu actions', () => { + it('recognizes only the Edit flyout commands', () => { + EDIT_MENU_COMMANDS.forEach((command) => expect(isEditMenuCommand(command)).toBe(true)); + expect(isEditMenuCommand('platformScripture.openFind')).toBe(false); + }); + + it.each([ + ['platformScriptureEditor.undo', 'undo'], + ['platformScriptureEditor.redo', 'redo'], + ['platformScriptureEditor.cutSelection', 'cut'], + ['platformScriptureEditor.copySelection', 'copy'], + ['platformScriptureEditor.pasteAtSelection', 'paste'], + ] as const)('%s runs the editor’s %s', (command, method) => { + const editor = makeEditor(); + expect(runEditMenuAction(command, editor, { isReadOnly: false })).toBe(true); + expect(editor[method]).toHaveBeenCalledTimes(1); + }); + + it.each([ + 'platformScriptureEditor.undo', + 'platformScriptureEditor.redo', + 'platformScriptureEditor.cutSelection', + 'platformScriptureEditor.pasteAtSelection', + ] as const)('%s changes nothing while the editor is read-only', (command) => { + const editor = makeEditor(); + expect(runEditMenuAction(command, editor, { isReadOnly: true })).toBe(false); + Object.values(editor).forEach((method) => expect(method).not.toHaveBeenCalled()); + }); + + it('still copies while the editor is read-only', () => { + const editor = makeEditor(); + expect( + runEditMenuAction('platformScriptureEditor.copySelection', editor, { isReadOnly: true }), + ).toBe(true); + expect(editor.copy).toHaveBeenCalledTimes(1); + }); +}); + +describe('handleEditMenuCommand', () => { + const PASTE = 'platformScriptureEditor.pasteAtSelection'; + const EDITABLE = { isReadOnly: false, isDurablyReadOnly: false, isSyncBlocked: false }; + + function makeEffects() { + return { + notifyActionBlocked: vi.fn(), + notifySyncEditBlocked: vi.fn(), + restoreSelectionIfLost: vi.fn(), + onActionError: vi.fn(), + focusEditor: vi.fn(), + }; + } + + it('restores the selection, runs the action and refocuses the editor without a notice', () => { + const editor = makeEditor(); + const effects = makeEffects(); + handleEditMenuCommand(PASTE, editor, EDITABLE, effects); + expect(effects.restoreSelectionIfLost).toHaveBeenCalledWith(editor); + expect(editor.paste).toHaveBeenCalledTimes(1); + expect(effects.focusEditor).toHaveBeenCalledTimes(1); + expect(effects.notifyActionBlocked).not.toHaveBeenCalled(); + expect(effects.notifySyncEditBlocked).not.toHaveBeenCalled(); + }); + + it('names Send/Receive when a sync is the only reason editing is blocked', () => { + const editor = makeEditor(); + const effects = makeEffects(); + handleEditMenuCommand( + PASTE, + editor, + { isReadOnly: true, isDurablyReadOnly: false, isSyncBlocked: true }, + effects, + ); + expect(editor.paste).not.toHaveBeenCalled(); + expect(effects.notifySyncEditBlocked).toHaveBeenCalledTimes(1); + expect(effects.notifyActionBlocked).not.toHaveBeenCalled(); + expect(effects.focusEditor).toHaveBeenCalledTimes(1); + }); + + it('gives the generic notice for a durable block, even while a sync is running', () => { + const effects = makeEffects(); + handleEditMenuCommand( + PASTE, + makeEditor(), + { isReadOnly: true, isDurablyReadOnly: true, isSyncBlocked: true }, + effects, + ); + expect(effects.notifyActionBlocked).toHaveBeenCalledTimes(1); + expect(effects.notifySyncEditBlocked).not.toHaveBeenCalled(); + }); + + it('gives the generic notice and touches nothing else when no editor is loaded', () => { + const effects = makeEffects(); + handleEditMenuCommand( + PASTE, + undefined, + { isReadOnly: true, isDurablyReadOnly: false, isSyncBlocked: true }, + effects, + ); + expect(effects.notifyActionBlocked).toHaveBeenCalledTimes(1); + expect(effects.notifySyncEditBlocked).not.toHaveBeenCalled(); + expect(effects.restoreSelectionIfLost).not.toHaveBeenCalled(); + expect(effects.focusEditor).not.toHaveBeenCalled(); + }); + + it('reports an action that throws and still refocuses the editor', () => { + const editor = makeEditor(); + const error = new Error('clipboard denied'); + editor.paste.mockImplementation(() => { + throw error; + }); + const effects = makeEffects(); + handleEditMenuCommand(PASTE, editor, EDITABLE, effects); + expect(effects.onActionError).toHaveBeenCalledWith(error); + expect(effects.focusEditor).toHaveBeenCalledTimes(1); + }); +}); diff --git a/extensions/src/platform-scripture-editor/src/edit-menu-actions.util.ts b/extensions/src/platform-scripture-editor/src/edit-menu-actions.util.ts new file mode 100644 index 00000000000..4c9fdf7eba8 --- /dev/null +++ b/extensions/src/platform-scripture-editor/src/edit-menu-actions.util.ts @@ -0,0 +1,127 @@ +import type { EditorRef } from '@eten-tech-foundation/platform-editor'; + +/** The Project menu's Edit flyout commands, which the editor web view runs itself. */ +export const EDIT_MENU_COMMANDS = [ + 'platformScriptureEditor.undo', + 'platformScriptureEditor.redo', + 'platformScriptureEditor.cutSelection', + 'platformScriptureEditor.copySelection', + 'platformScriptureEditor.pasteAtSelection', +] as const; + +export type EditMenuCommand = (typeof EDIT_MENU_COMMANDS)[number]; + +/** The parts of the editor the Edit flyout drives. */ +export type EditMenuTarget = Pick; + +export function isEditMenuCommand(command: string): command is EditMenuCommand { + return EDIT_MENU_COMMANDS.some((editCommand) => editCommand === command); +} + +/** + * Runs an Edit flyout action on the editor. Call it synchronously from the menu's select handler: + * the clipboard is only reachable while the click still counts as user activation. + * + * While the editor is read-only, only Copy runs: the editor's undo and redo don't check whether + * editing is allowed, and its cut and paste throw. + * + * @returns Whether the action ran + */ +export function runEditMenuAction( + command: EditMenuCommand, + editor: EditMenuTarget, + { isReadOnly }: { isReadOnly: boolean }, +): boolean { + if (command === 'platformScriptureEditor.copySelection') { + editor.copy(); + return true; + } + if (isReadOnly) return false; + switch (command) { + case 'platformScriptureEditor.undo': + editor.undo(); + return true; + case 'platformScriptureEditor.redo': + editor.redo(); + return true; + case 'platformScriptureEditor.cutSelection': + editor.cut(); + return true; + case 'platformScriptureEditor.pasteAtSelection': + editor.paste(); + return true; + default: { + // Exhaustiveness guard: a command added to EDIT_MENU_COMMANDS without a case above fails to + // compile here, instead of silently telling the user the action is unavailable. + const unhandled: never = command; + throw new Error(`Unhandled Edit flyout command: ${String(unhandled)}`); + } + } +} + +/** Why the editor is read-only, as far as the Edit flyout's notice needs to know. */ +export type EditMenuBlockState = { + /** Whether the editor is read-only for any reason, transient or durable */ + isReadOnly: boolean; + /** + * Whether it is read-only for a reason a finished Send/Receive does not clear (no permission, + * project not editable, markers view) + */ + isDurablyReadOnly: boolean; + /** Whether an automatic Send/Receive is blocking edits right now */ + isSyncBlocked: boolean; +}; + +/** What the Edit flyout does around the action itself. */ +export type EditMenuEffects = { + /** Tells the user the action is not available, without naming a reason */ + notifyActionBlocked: () => void; + /** Tells the user editing is paused for Send/Receive */ + notifySyncEditBlocked: () => void; + /** Puts back the selection the menu's focus change may have cleared */ + restoreSelectionIfLost: (editor: TEditor) => void; + /** Reports an action that threw */ + onActionError: (error: unknown) => void; + /** Returns focus to the editor's text */ + focusEditor: () => void; +}; + +/** + * Handles an Edit flyout click: runs the action on the editor, or tells the user why it can't. Call + * it synchronously from the menu's select handler, like {@link runEditMenuAction}. + * + * @param command The Edit flyout command that was clicked + * @param editor The editor to act on, or `undefined` while none is loaded + * @param state Whether, and why, the editor is read-only + * @param effects What to do around the action + */ +export function handleEditMenuCommand( + command: EditMenuCommand, + editor: TEditor | undefined, + { isReadOnly, isDurablyReadOnly, isSyncBlocked }: EditMenuBlockState, + effects: EditMenuEffects, +): void { + if (!editor) { + // The editor is unset while no project is selected, on the missing-book zero state, and while + // USJ is still loading — none of which a Send/Receive finishing resolves, so this path always + // uses the generic message even if a sync also happens to be in progress. + effects.notifyActionBlocked(); + return; + } + effects.restoreSelectionIfLost(editor); + try { + // A `false` return means the action was blocked. Undo/Redo return `true` regardless of history, + // so an empty-history click stays silent here too, matching Ctrl+Z. + const ran = runEditMenuAction(command, editor, { isReadOnly }); + if (!ran) { + // Only a sync is named to the user, since it is transient; a durable block takes priority, + // because telling the user to wait for the sync would not help them. + if (isSyncBlocked && !isDurablyReadOnly) effects.notifySyncEditBlocked(); + else effects.notifyActionBlocked(); + } + } catch (e) { + effects.onActionError(e); + } + // The menu hands focus back to its trigger as it closes; return it to the text + effects.focusEditor(); +} diff --git a/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.test.ts b/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.test.ts new file mode 100644 index 00000000000..2abda2eb3f4 --- /dev/null +++ b/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.test.ts @@ -0,0 +1,77 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import type { LanguageStrings } from 'platform-bible-utils'; + +vi.mock('@papi/frontend', () => ({ + default: { + notifications: { send: vi.fn() }, + }, + logger: { warn: vi.fn() }, +})); + +// vi.mock must appear before the imports it mocks so Vitest can hoist it; eslint's import/first +// rule cannot model this Vitest-specific hoisting requirement. +// eslint-disable-next-line import/first +import papi, { logger } from '@papi/frontend'; +// Same hoisting reason as the import above. +// eslint-disable-next-line import/first +import { + EDIT_ACTION_BLOCKED_KEY, + notifyEditMenuActionBlocked, + notifySyncEditBlocked, + SYNC_EDIT_BLOCKED_KEY, +} from './editor-side-effects.utils'; + +const send = vi.mocked(papi.notifications.send); +const warn = vi.mocked(logger.warn); + +beforeEach(() => { + vi.resetAllMocks(); +}); + +describe('notifyEditMenuActionBlocked', () => { + it('sends the resolved Edit-flyout-blocked message as a warning', async () => { + const localizedStrings: LanguageStrings = { + [EDIT_ACTION_BLOCKED_KEY]: 'Editing is not available right now.', + }; + + await notifyEditMenuActionBlocked(localizedStrings); + + expect(send).toHaveBeenCalledWith({ + message: 'Editing is not available right now.', + severity: 'warning', + }); + }); + + it('falls back to the raw key when the string is missing', async () => { + await notifyEditMenuActionBlocked({}); + + expect(send).toHaveBeenCalledWith({ + message: EDIT_ACTION_BLOCKED_KEY, + severity: 'warning', + }); + }); + + it('logs rather than throws when sending the notification fails', async () => { + send.mockRejectedValueOnce(new Error('offline')); + + await expect(notifyEditMenuActionBlocked({})).resolves.toBeUndefined(); + expect(warn).toHaveBeenCalledWith(expect.stringContaining('edit-menu-action-blocked')); + }); +}); + +// Sanity check that the mock setup above (shared with notifyEditMenuActionBlocked) also exercises +// the sibling function correctly, since both funnel through the same notifyEditorWarning helper. +describe('notifySyncEditBlocked', () => { + it('sends the resolved sync-blocked message as a warning', async () => { + const localizedStrings: LanguageStrings = { + [SYNC_EDIT_BLOCKED_KEY]: 'Editing is paused for Send/Receive.', + }; + + await notifySyncEditBlocked(localizedStrings); + + expect(send).toHaveBeenCalledWith({ + message: 'Editing is paused for Send/Receive.', + severity: 'warning', + }); + }); +}); diff --git a/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.ts b/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.ts index 187b6b08b03..ca2360ba5d6 100644 --- a/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.ts +++ b/extensions/src/platform-scripture-editor/src/editor-side-effects.utils.ts @@ -59,6 +59,36 @@ export async function notifySyncEditBlocked(localizedStrings: LanguageStrings): ); } +/** + * The one definition of the Edit flyout's blocked-action message key. + * + * Owned here for the same reason as {@link SYNC_EDIT_BLOCKED_KEY}: the key and the "warning" + * severity it drives cannot drift apart across call sites. + */ +export const EDIT_ACTION_BLOCKED_KEY: LocalizeKey = + '%webView_platformScriptureEditor_error_editActionBlocked%'; + +/** + * Show the standard "editing isn't available" warning notification for the Project menu's Edit + * flyout, for when `runEditMenuAction` reports that the chosen action did not run. One message + * covers every reason the editor can be read-only here (no permission, permission still loading, an + * automatic Send/Receive in progress, or the markers view) rather than naming which. + * + * Takes `localizedStrings` rather than a resolved message so {@link EDIT_ACTION_BLOCKED_KEY} is + * named exactly once in the codebase. + * + * @param localizedStrings The web view's resolved strings. Must include + * {@link EDIT_ACTION_BLOCKED_KEY}; the key itself is shown if it is missing. + */ +export async function notifyEditMenuActionBlocked( + localizedStrings: LanguageStrings, +): Promise { + await notifyEditorWarning( + localizedStrings[EDIT_ACTION_BLOCKED_KEY] ?? EDIT_ACTION_BLOCKED_KEY, + 'edit-menu-action-blocked', + ); +} + /** * Commit a version-history snapshot before an edit — the user's undo of last resort. * diff --git a/extensions/src/platform-scripture-editor/src/localized-strings.test.ts b/extensions/src/platform-scripture-editor/src/localized-strings.test.ts index 102c8a71ad9..54921a7372a 100644 --- a/extensions/src/platform-scripture-editor/src/localized-strings.test.ts +++ b/extensions/src/platform-scripture-editor/src/localized-strings.test.ts @@ -1,4 +1,4 @@ -import { readFileSync } from 'fs'; +import { existsSync, readdirSync, readFileSync } from 'fs'; import path from 'path'; import { describe, expect, it } from 'vitest'; @@ -19,6 +19,9 @@ import { PROGRAMMATICALLY_APPLIED_PARAGRAPH_MARKERS, selectableParagraphMarkers, } from './platform-scripture-editor.utils'; +import editorMenus from '../contributions/menus.json'; +// An explicit relative import: `extensions/` has its own tsconfig with no `@node/*` path alias +import { DEV_ONLY_EXTENSION_NAMES } from '../../../../src/node/utils/locale-assets.test-utils'; type LocalizedStringsFile = { metadata?: Record< @@ -479,3 +482,59 @@ describe.each([...selectableParagraphMarkers, ...PROGRAMMATICALLY_APPLIED_PARAGR }); }, ); + +/** Every localization key defined for `locale` anywhere the app loads strings from. */ +function allKeys(locale: 'en' | 'es'): Set { + const extensionsDir = path.resolve(__dirname, '../..'); + const keys = new Set(); + readdirSync(extensionsDir, { withFileTypes: true }).forEach((entry) => { + if (!entry.isDirectory()) return; + const manifestPath = path.resolve(extensionsDir, entry.name, 'manifest.json'); + if (existsSync(manifestPath)) { + const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')); + // A key reachable only in noisy dev mode renders as its raw `%key%` for everyone else + if (manifest.name && DEV_ONLY_EXTENSION_NAMES.includes(manifest.name)) return; + } + const stringsFilePath = path.resolve( + extensionsDir, + entry.name, + 'contributions/localizedStrings.json', + ); + if (!existsSync(stringsFilePath)) return; + const strings = + JSON.parse(readFileSync(stringsFilePath, 'utf8')).localizedStrings?.[locale] ?? {}; + Object.keys(strings).forEach((key) => keys.add(key)); + }); + const core = JSON.parse( + readFileSync(path.resolve(__dirname, `../../../../assets/localization/${locale}.json`), 'utf8'), + ); + Object.keys(core).forEach((key) => keys.add(key)); + return keys; +} + +/** + * Every localize key the editor's top menu shows: column and item labels, plus item tooltips, which + * resolve through the same `%key%` mechanism as labels. + */ +function menuLocalizeKeys(): string[] { + const { topMenu } = editorMenus.webViewMenus['platformScriptureEditor.react']; + const keys: unknown[] = [ + ...Object.values(topMenu.columns).map((column) => column.label), + ...topMenu.items.flatMap((item) => [item.label, 'tooltip' in item ? item.tooltip : undefined]), + ]; + return [ + ...new Set(keys.filter((key): key is string => typeof key === 'string' && /^%.*%$/.test(key))), + ]; +} + +// The editor's Project menu draws its column and item labels and item tooltips from keys that must +// be defined somewhere the app loads strings from: this extension's own contribution, another +// shipped extension's (e.g. the Comments item's label lives with legacyCommentManager), or the +// platform shell's core locale assets. Driven off the menu document itself, so a label or tooltip +// added to the menu is covered here without anyone remembering to update this file. +describe.each(['en', 'es'] as const)('editor Project menu labels in %s', (locale) => { + const keys = menuLocalizeKeys(); + it.each(keys)('%s is defined', (key) => { + expect(allKeys(locale).has(key)).toBe(true); + }); +}); diff --git a/extensions/src/platform-scripture-editor/src/main.ts b/extensions/src/platform-scripture-editor/src/main.ts index d75aaee73c7..8b7641ff290 100644 --- a/extensions/src/platform-scripture-editor/src/main.ts +++ b/extensions/src/platform-scripture-editor/src/main.ts @@ -50,16 +50,22 @@ import { startDefaultProjectPicker, syncOnProjectSwitch, toScriptureEditorInfos, + updateRelatedChecksSidePanel, updateRelatedFindPanel, } from './platform-scripture-editor.utils'; import { MarkersViewNotifier } from './markers-view-notifier.model'; import { SharedLayoutReceiver } from './shared-layout-receiver.model'; +import { + BIBLE_TEXTS_PANEL_WEBVIEW_TYPE, + COMMENTARIES_PANEL_WEBVIEW_TYPE, + showBibleTextsTab, + showCommentariesTab, + showTextCollectionTab, +} from './show-panel.util'; logger.debug('Scripture Editor is importing!'); const MODEL_TEXT_PANEL_WEBVIEW_TYPE = 'platformScriptureEditor.modelText'; -const BIBLE_TEXTS_PANEL_WEBVIEW_TYPE = 'platformScriptureEditor.bibleTexts'; -const COMMENTARIES_PANEL_WEBVIEW_TYPE = 'platformScriptureEditor.commentaries'; /** Tab title/tooltip for the Text Collection (Scripture Text Grid) tab. */ // #region Editor Selection Tracking @@ -441,10 +447,11 @@ async function open( ) .finally(emitDidFinish); - // The rest of Column 3 was re-pointed above, before the editor tab was replaced; Find waits - // until here because it is the one panel that needs the id of the editor this call just - // created. No Simple-mode check here — it owns its own mode guard. + // The rest of Column 3 was re-pointed above, before the editor tab was replaced; Find and Checks + // wait until here because they are the panels that need the id of the editor this call just + // created. No Simple-mode or project-kind checks here — each helper owns its own guards. await updateRelatedFindPanel(papi, projectForWebView.projectId, openedWebViewId); + await updateRelatedChecksSidePanel(papi, projectForWebView.projectId, openedWebViewId); return openedWebViewId; } @@ -1155,6 +1162,9 @@ export async function activate(context: ExecutionActivationContext): Promise showTextCollectionTab(), + { + method: { + summary: + 'Bring the Text collection tab to the front, opening it if it is not open and the feature is available', + params: [ + { + name: 'editorWebViewId', + required: false, + summary: 'The scripture editor the request came from (unused)', + schema: { type: 'string' }, + }, + ], + result: { + name: 'return value', + summary: 'The ID of the Text collection web view, or undefined if it could not be shown', + schema: { type: 'string' }, + }, + }, + }, + ); + const openModelTextPanelPromise = papi.commands.registerCommand( 'platformScriptureEditor.openModelText', async (projectId?: string) => { @@ -1540,6 +1620,9 @@ export async function activate(context: ExecutionActivationContext): Promise { diff --git a/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.test.ts b/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.test.ts index 40241c66af5..9e41790ddba 100644 --- a/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.test.ts +++ b/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.test.ts @@ -22,6 +22,7 @@ import { updateRelatedFindPanel, buildScriptureTextGridWebView, resolveGridProviderProjectId, + updateRelatedChecksSidePanel, updateRelatedTextCollectionPanel, SCRIPTURE_TEXT_GRID_WEBVIEW_TYPE, type OpenEditorDispatch, @@ -3892,6 +3893,50 @@ describe('openOrUpdateRelatedPanels', () => { // #endregion openOrUpdateRelatedPanels +describe('updateRelatedChecksSidePanel', () => { + it.each([ + ['an editable project', EDITABLE_PROJECT], + ['a translation project with editing switched off', READ_ONLY_PROJECT], + ])( + 're-points the Checks side panel at %s with the new editor id', + async (_label, projectKind) => { + const { papi, mockSendCommand } = createRelatedPanelsMockPapi([], projectKind); + + await updateRelatedChecksSidePanel(papi, 'proj-b', 'editor-2'); + + expect(mockSendCommand.mock.calls).toEqual([ + ['platformScripture.updateChecksSidePanelProject', 'proj-b', 'editor-2'], + ]); + }, + ); + + it('does not follow a published resource', async () => { + const { papi, mockSendCommand } = createRelatedPanelsMockPapi([], PUBLISHED_RESOURCE); + + await updateRelatedChecksSidePanel(papi, 'proj-b', 'editor-2'); + + expect(mockSendCommand).not.toHaveBeenCalled(); + }); + + it('does nothing in Power mode, where each Checks panel belongs to the editor it was opened for', async () => { + const { papi, mockSendCommand, mockSettingsGet } = createRelatedPanelsMockPapi(); + mockSettingsGet.mockResolvedValue('power'); + + await updateRelatedChecksSidePanel(papi, 'proj-b', 'editor-2'); + + expect(mockSettingsGet).toHaveBeenCalledWith('platform.interfaceMode'); + expect(mockSendCommand).not.toHaveBeenCalled(); + }); + + it('logs and swallows a rejection, since the project switch has already succeeded', async () => { + const { papi, mockSendCommand, mockWarn } = createRelatedPanelsMockPapi(); + mockSendCommand.mockRejectedValue(new Error('platformScripture is down')); + + await expect(updateRelatedChecksSidePanel(papi, 'proj-b', 'editor-2')).resolves.toBeUndefined(); + expect(mockWarn).toHaveBeenCalledWith(expect.stringContaining('platformScripture is down')); + }); +}); + describe('getTabTitleProjectName', () => { /** A PAPI whose `platform.base` PDP returns the settings this test hands it. */ function papiWithSettings(settings: Record) { diff --git a/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.ts b/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.ts index 64e494e767b..1f8911d7476 100644 --- a/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.ts +++ b/extensions/src/platform-scripture-editor/src/platform-scripture-editor.utils.ts @@ -1414,13 +1414,14 @@ export function resolveGridProviderProjectId( * - Never follows a published resource (see `isProjectPublished`): a resource has no collection of * its own, so following it would cost a reload, and the in-memory state it drops, for an empty * panel. The rule lives here rather than in a caller so every re-point path applies it. - * - Never creates a panel when none is open. The Text Collection has no open command and no menu - * entry: its only open path is the default-layout supplement, which puts it in Column 3 from - * startup. So "not open" means the tab was closed in Power mode or the - * `platformScriptureEditor.enableScriptureTextGrid` setting is off, and neither is a state a - * project switch should reverse. (Both callers are Simple-mode-only — `openOrUpdateRelatedPanels` - * for an editor-column switch and `finalizeProjectSwitch` for a Power→Simple one — so this guard - * is a contract, not a hot path.) + * - Never creates a panel when none is open, unlike the Text Collection's menu command + * (`platformScriptureEditor.showTextCollectionPanel`), which does create one on demand. A project + * switch closing a tab the user deliberately closed in Power mode, or one the + * `platformScriptureEditor.enableScriptureTextGrid` setting has kept from ever existing, is not + * something a re-point should reverse — only a direct request to show the panel should create it. + * (Both callers are Simple-mode-only — `openOrUpdateRelatedPanels` for an editor-column switch + * and `finalizeProjectSwitch` for a Power→Simple one — so this guard is a contract, not a hot + * path.) * - Skips the reload when the panel already shows `projectId`, because rebuilding the iframe drops * the grid's in-memory React state for no gain. State held through `useWebViewState` — * `viewMode`, per-cell zoom — survives, since a reload reuses the same web view id. @@ -1551,6 +1552,51 @@ export async function updateRelatedFindPanel( } } +/** + * Re-points an open Checks side panel at `projectId`, the Checks counterpart of + * {@link updateRelatedFindPanel} and called at the same point for the same reason: the panel holds + * the editor's web view id to focus the editor and select a clicked result, so it needs the id of + * the editor the switch produced. + * + * Creates nothing. In Simple mode Checks joins Column 3 only when the user opens it, and a project + * switch is not a request to open it. + * + * Never follows a published resource (see `isProjectPublished`), the same rule as + * {@link updateRelatedTextCollectionPanel}: a resource is not something the user checks, so Checks + * stays on the translation project. A translation project with editing switched off is followed + * like any other. + * + * Only Simple mode re-points Checks, read fresh here for the same reason as in + * {@link updateRelatedFindPanel}. In Power mode each Checks panel is docked beside the editor it was + * opened for, so re-pointing "the" open one would retarget whichever editor's panel the probe + * happened to find. + * + * Never throws: a failure here is logged and swallowed, because the project switch itself has + * already succeeded by this point. + * + * @param papi The instance of papi to read the interface mode and project kind with and send the + * command + * @param projectId The id of the project Checks should check from now on + * @param editorWebViewId Id of the editor web view the switch produced + */ +export async function updateRelatedChecksSidePanel( + papi: typeof PapiBackend, + projectId: string, + editorWebViewId: string | undefined, +): Promise { + try { + if ((await papi.settings.get('platform.interfaceMode')) !== 'simple') return; + if (await isProjectPublished(papi, projectId)) return; + await papi.commands.sendCommand( + 'platformScripture.updateChecksSidePanelProject', + projectId, + editorWebViewId, + ); + } catch (e) { + papi.logger.warn(`Error updating checks side panel project: ${getErrorMessage(e)}`); + } +} + // #endregion Text Connection Panels // #region Chapter Scaffold Helpers diff --git a/extensions/src/platform-scripture-editor/src/platform-scripture-editor.web-view.tsx b/extensions/src/platform-scripture-editor/src/platform-scripture-editor.web-view.tsx index 6e804c76fc7..4bb2fbad0b3 100644 --- a/extensions/src/platform-scripture-editor/src/platform-scripture-editor.web-view.tsx +++ b/extensions/src/platform-scripture-editor/src/platform-scripture-editor.web-view.tsx @@ -144,6 +144,7 @@ import { scrollToAnnotation, scrollToVerse, } from './editor-dom.util'; +import { handleEditMenuCommand, isEditMenuCommand } from './edit-menu-actions.util'; import { createFlushableDebouncer } from './flushable-debouncer.util'; import { performDebouncedPdpSave, resolveUsjToSaveToPdp } from './debounced-pdp-save.util'; import { withWriteInFlightGuard } from './write-in-flight-guard.util'; @@ -201,6 +202,8 @@ import { CharacterMarkerBar } from './character-marker-bar/character-marker-bar. import { REMOVE_CHARACTER_MARKER_STRING_KEYS } from './character-marker-bar/use-remove-character-marker.hook'; import { commitVersionHistorySnapshot, + EDIT_ACTION_BLOCKED_KEY, + notifyEditMenuActionBlocked, notifySyncEditBlocked as sendSyncEditBlockedNotification, SYNC_EDIT_BLOCKED_KEY, } from './editor-side-effects.utils'; @@ -286,6 +289,8 @@ const EDITOR_LOCALIZED_STRINGS: LocalizeKey[] = [ // bar's removal action shows the same notice through the same helper and deliberately does not // re-list the key. SYNC_EDIT_BLOCKED_KEY, + // Same reasoning as SYNC_EDIT_BLOCKED_KEY above, for the Edit flyout's blocked-action notice. + EDIT_ACTION_BLOCKED_KEY, '%webView_platformScriptureEditor_error_noTextSelected%', '%webView_platformScriptureEditor_error_selectionContainsMarkers%', ...PARAGRAPH_STYLE_TRIGGER_STRING_KEYS, @@ -3595,6 +3600,24 @@ globalThis.webViewComponent = function PlatformScriptureEditor({ const menuCommandHandler = useCallback( (projectMenuCommand) => { + // The Edit flyout acts on this editor, and the clipboard needs the click's user activation, + // so it runs here rather than as a PAPI command + if (isEditMenuCommand(projectMenuCommand.command)) { + handleEditMenuCommand( + projectMenuCommand.command, + editorRef.current ?? undefined, + { isReadOnly: isReadOnlyEffective, isDurablyReadOnly, isSyncBlocked }, + { + notifyActionBlocked: () => notifyEditMenuActionBlocked(localizedStrings), + notifySyncEditBlocked, + restoreSelectionIfLost: (editor) => + restoreSelectionIfLost(editor, lastFocusOutSelectionRef.current), + onActionError: (e) => logger.warn(`Edit menu action failed: ${getErrorMessage(e)}`), + focusEditor: () => requestAnimationFrame(() => editorRef.current?.focus()), + }, + ); + return; + } // Find is the one menu command that needs more than the tab id: it carries this tab's current // text selection so the Find panel pre-fills and searches it, matching Ctrl+F. The source // project is deliberately left off — `openFind` resolves it from this editor's own web view @@ -3613,11 +3636,25 @@ globalThis.webViewComponent = function PlatformScriptureEditor({ ); return; } - // Assuming that the project menu command is one of the registered command handlers in papi - // eslint-disable-next-line no-type-assertion/no-type-assertion - papi.commands.sendCommand(projectMenuCommand.command as keyof CommandHandlers, webViewId); + papi.commands + // Assuming that the project menu command is one of the registered command handlers in papi + // eslint-disable-next-line no-type-assertion/no-type-assertion + .sendCommand(projectMenuCommand.command as keyof CommandHandlers, webViewId) + .catch((e) => + logger.warn( + `Failed to run ${projectMenuCommand.command} from the editor tab menu: ${getErrorMessage(e)}`, + ), + ); }, - [getMenuFindSelectionText, webViewId], + [ + getMenuFindSelectionText, + isDurablyReadOnly, + isReadOnlyEffective, + isSyncBlocked, + localizedStrings, + notifySyncEditBlocked, + webViewId, + ], ); function renderEditor() { diff --git a/extensions/src/platform-scripture-editor/src/show-panel.util.test.ts b/extensions/src/platform-scripture-editor/src/show-panel.util.test.ts new file mode 100644 index 00000000000..1d7ccf37227 --- /dev/null +++ b/extensions/src/platform-scripture-editor/src/show-panel.util.test.ts @@ -0,0 +1,180 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; + +const mocks = vi.hoisted(() => ({ + openWebView: vi.fn(), + getOpenWebViewDefinition: vi.fn(), + warn: vi.fn(), + reloadWebView: vi.fn(), + send: vi.fn(async () => 'notification-1'), + getLocalizedString: vi.fn(async () => 'No Text collection tab is open'), +})); +vi.mock('@papi/backend', () => ({ + default: { + webViews: { + openWebView: mocks.openWebView, + reloadWebView: mocks.reloadWebView, + getOpenWebViewDefinition: mocks.getOpenWebViewDefinition, + }, + notifications: { send: mocks.send }, + localization: { getLocalizedString: mocks.getLocalizedString }, + }, + logger: { warn: mocks.warn, debug: vi.fn(), info: vi.fn(), error: vi.fn() }, +})); + +// vi.mock must appear before the imports it mocks so Vitest can hoist it; eslint's import/first +// rule cannot model this Vitest-specific hoisting requirement. +// eslint-disable-next-line import/first +import { + getProjectIdOfWebView, + showBibleTextsTab, + showCommentariesTab, + showOrCreateTab, + showTextCollectionTab, +} from './show-panel.util'; + +const RAISE_ONLY = { existingId: '?', createNewIfNotFound: false, bringToFront: true }; + +describe('showOrCreateTab', () => { + beforeEach(() => vi.resetAllMocks()); + + it('raises an open tab and neither reloads nor creates one', async () => { + mocks.openWebView.mockResolvedValueOnce('tab-1'); + const projectIdForNewTab = vi.fn(async () => 'project-1'); + await expect( + showOrCreateTab('platformScriptureEditor.bibleTexts', projectIdForNewTab), + ).resolves.toBe('tab-1'); + expect(mocks.openWebView).toHaveBeenCalledTimes(1); + expect(mocks.openWebView).toHaveBeenCalledWith( + 'platformScriptureEditor.bibleTexts', + undefined, + RAISE_ONLY, + ); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + expect(projectIdForNewTab).not.toHaveBeenCalled(); + }); + + it("creates a tab for the editor's project when none is open", async () => { + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('new-tab'); + await expect( + showOrCreateTab('platformScriptureEditor.bibleTexts', async () => 'project-1'), + ).resolves.toBe('new-tab'); + expect(mocks.openWebView).toHaveBeenLastCalledWith( + 'platformScriptureEditor.bibleTexts', + { type: 'tab' }, + { projectId: 'project-1' }, + ); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); +}); + +describe('showTextCollectionTab', () => { + beforeEach(() => vi.resetAllMocks()); + + it('raises an open Text collection tab without creating one or warning', async () => { + mocks.openWebView.mockResolvedValueOnce('grid-1'); + await expect(showTextCollectionTab()).resolves.toBe('grid-1'); + expect(mocks.openWebView).toHaveBeenCalledTimes(1); + expect(mocks.send).not.toHaveBeenCalled(); + }); + + it('creates a tab with no projectId when none is open and the feature is available', async () => { + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('new-grid'); + await expect(showTextCollectionTab()).resolves.toBe('new-grid'); + expect(mocks.openWebView).toHaveBeenLastCalledWith( + 'platformScriptureEditor.scriptureTextGrid', + { type: 'tab' }, + { projectId: undefined }, + ); + expect(mocks.send).not.toHaveBeenCalled(); + }); + + it('opens nothing and warns the user when the feature is unavailable', async () => { + mocks.openWebView + .mockResolvedValueOnce(undefined) + .mockRejectedValueOnce( + new Error( + 'JSON-RPC Request error (-32603): getWebView: Cannot find Web View Provider for webview type platformScriptureEditor.scriptureTextGrid', + ), + ); + await expect(showTextCollectionTab()).resolves.toBeUndefined(); + expect(mocks.getLocalizedString).toHaveBeenCalledWith({ + localizeKey: '%webView_platformScriptureEditor_textCollectionNotOpen%', + }); + expect(mocks.send).toHaveBeenCalledWith(expect.objectContaining({ severity: 'warning' })); + }); + + it('gives the generic warning and logs the cause when creation fails for another reason', async () => { + mocks.openWebView + .mockResolvedValueOnce(undefined) + .mockRejectedValueOnce(new Error('The window is closing')); + await expect(showTextCollectionTab()).resolves.toBeUndefined(); + expect(mocks.getLocalizedString).toHaveBeenCalledWith({ + localizeKey: '%webView_platformScriptureEditor_tabCouldNotOpen%', + }); + expect(mocks.send).toHaveBeenCalledWith(expect.objectContaining({ severity: 'warning' })); + expect(mocks.warn).toHaveBeenCalledWith(expect.stringContaining('The window is closing')); + }); + + it('still resolves undefined and does not throw when the warning notification rejects', async () => { + mocks.openWebView + .mockResolvedValueOnce(undefined) + .mockRejectedValueOnce(new Error('no provider')); + mocks.send.mockRejectedValueOnce(new Error('notification service unavailable')); + await expect(showTextCollectionTab()).resolves.toBeUndefined(); + }); +}); + +describe.each([ + ['showBibleTextsTab', showBibleTextsTab, 'platformScriptureEditor.bibleTexts'], + ['showCommentariesTab', showCommentariesTab, 'platformScriptureEditor.commentaries'], +] as const)('%s', (_name, showTab, webViewType) => { + beforeEach(() => vi.resetAllMocks()); + + it('raises its own panel type', async () => { + mocks.openWebView.mockResolvedValueOnce('tab-1'); + await expect(showTab('editor-1')).resolves.toBe('tab-1'); + expect(mocks.openWebView).toHaveBeenCalledWith(webViewType, undefined, RAISE_ONLY); + }); + + it("creates its own panel type for the editor's project when none is open", async () => { + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('new-tab'); + mocks.getOpenWebViewDefinition.mockResolvedValueOnce({ projectId: 'project-1' }); + await expect(showTab('editor-1')).resolves.toBe('new-tab'); + expect(mocks.getOpenWebViewDefinition).toHaveBeenCalledWith('editor-1'); + expect(mocks.openWebView).toHaveBeenLastCalledWith( + webViewType, + { type: 'tab' }, + { projectId: 'project-1' }, + ); + }); + + it('warns the user instead of rejecting when the tab cannot be shown', async () => { + mocks.openWebView.mockRejectedValueOnce(new Error('The window is closing')); + await expect(showTab('editor-1')).resolves.toBeUndefined(); + expect(mocks.getLocalizedString).toHaveBeenCalledWith({ + localizeKey: '%webView_platformScriptureEditor_tabCouldNotOpen%', + }); + expect(mocks.send).toHaveBeenCalledWith(expect.objectContaining({ severity: 'warning' })); + expect(mocks.warn).toHaveBeenCalledWith(expect.stringContaining('The window is closing')); + }); +}); + +describe('getProjectIdOfWebView', () => { + beforeEach(() => vi.resetAllMocks()); + + it('resolves undefined without asking when there is no web view id', async () => { + await expect(getProjectIdOfWebView(undefined)).resolves.toBeUndefined(); + expect(mocks.getOpenWebViewDefinition).not.toHaveBeenCalled(); + }); + + it("resolves the web view's project id", async () => { + mocks.getOpenWebViewDefinition.mockResolvedValueOnce({ projectId: 'project-1' }); + await expect(getProjectIdOfWebView('editor-1')).resolves.toBe('project-1'); + }); + + it('warns and resolves undefined when the definition cannot be read', async () => { + mocks.getOpenWebViewDefinition.mockRejectedValueOnce(new Error('no window answered')); + await expect(getProjectIdOfWebView('editor-1')).resolves.toBeUndefined(); + expect(mocks.warn).toHaveBeenCalledWith(expect.stringContaining('no window answered')); + }); +}); diff --git a/extensions/src/platform-scripture-editor/src/show-panel.util.ts b/extensions/src/platform-scripture-editor/src/show-panel.util.ts new file mode 100644 index 00000000000..1a3fe206acf --- /dev/null +++ b/extensions/src/platform-scripture-editor/src/show-panel.util.ts @@ -0,0 +1,173 @@ +import papi, { logger } from '@papi/backend'; +import type { OpenWebViewOptions } from '@papi/core'; +import { getErrorMessage, includes, LocalizeKey } from 'platform-bible-utils'; +import { SCRIPTURE_TEXT_GRID_WEBVIEW_TYPE } from './platform-scripture-editor.utils'; + +export const BIBLE_TEXTS_PANEL_WEBVIEW_TYPE = 'platformScriptureEditor.bibleTexts'; +export const COMMENTARIES_PANEL_WEBVIEW_TYPE = 'platformScriptureEditor.commentaries'; + +const TEXT_COLLECTION_UNAVAILABLE_KEY: LocalizeKey = + '%webView_platformScriptureEditor_textCollectionNotOpen%'; +const TAB_COULD_NOT_OPEN_KEY: LocalizeKey = '%webView_platformScriptureEditor_tabCouldNotOpen%'; + +/** + * What the web view service's error says when no provider is registered for a web view type. The + * error reaches this module wrapped in a JSON-RPC error message, so it is matched as a substring. + */ +const MISSING_WEB_VIEW_PROVIDER_MESSAGE = 'Cannot find Web View Provider'; + +/** Options for opening a fresh tab of a panel type this module manages. */ +interface NewPanelTabOptions extends OpenWebViewOptions { + projectId?: string; +} + +/** + * Brings the first open web view of `webViewType` to the front, the way clicking its tab would. + * Opens nothing and creates nothing if none is open. + * + * @param webViewType The web view type whose tab to raise + * @returns The raised web view's id, or `undefined` if none is open + */ +function raiseExistingTab(webViewType: string): Promise { + return papi.webViews.openWebView(webViewType, undefined, { + existingId: '?', + createNewIfNotFound: false, + bringToFront: true, + }); +} + +/** + * Sends the user a warning notification. Self-catching: not every caller of these PAPI commands + * awaits or catches their result, and a failed notification-send must not be reported as the + * command's own failure. + * + * @param localizeKey The warning's message + */ +async function warnUser(localizeKey: LocalizeKey): Promise { + try { + const message = await papi.localization.getLocalizedString({ localizeKey }); + await papi.notifications.send({ message, severity: 'warning' }); + } catch (e) { + logger.warn(`Failed to send the ${localizeKey} warning: ${getErrorMessage(e)}`); + } +} + +/** + * Resolves the project a web view is showing, for a "show/bring to front" command whose only + * parameter is the triggering editor's web view id. + * + * @param webViewId The web view whose project to resolve + * @returns The web view's project id, or `undefined` if `webViewId` is missing, names no open web + * view, or `getOpenWebViewDefinition` could not be answered + */ +export async function getProjectIdOfWebView( + webViewId: string | undefined, +): Promise { + if (!webViewId) return undefined; + // getOpenWebViewDefinition throws if no window claimed the web view and some window could not be + // asked. That is not this command's problem to fail over — degrade to "no project id" so a newly + // opened tab still opens, unlabeled, rather than rejecting the whole show/bring-to-front request. + try { + return (await papi.webViews.getOpenWebViewDefinition(webViewId))?.projectId; + } catch (e) { + logger.warn(`Could not resolve the project for web view ${webViewId}: ${getErrorMessage(e)}`); + return undefined; + } +} + +/** + * Brings the first open web view of `webViewType` to the front, the way clicking its tab would, or + * opens one in a new tab if none is open. An open tab is never reloaded, so it keeps its scroll + * position and any in-progress input. + * + * @param webViewType The web view type whose tab to show + * @param projectIdForNewTab Resolves the project a newly created tab should show; only called when + * no tab is open + * @returns The shown web view's id, or `undefined` if it could not be shown + */ +export async function showOrCreateTab( + webViewType: string, + projectIdForNewTab: () => Promise, +): Promise { + const existingId = await raiseExistingTab(webViewType); + if (existingId) return existingId; + + const newTabOptions: NewPanelTabOptions = { projectId: await projectIdForNewTab() }; + return papi.webViews.openWebView(webViewType, { type: 'tab' }, newTabOptions); +} + +/** + * {@link showOrCreateTab} for a panel that shows the editor's project, warning the user instead of + * throwing when the tab cannot be shown. + * + * @param webViewType The web view type whose tab to show + * @param editorWebViewId The scripture editor whose project a newly opened tab shows + * @returns The shown web view's id, or `undefined` if it could not be shown + */ +async function showProjectPanelTab( + webViewType: string, + editorWebViewId: string | undefined, +): Promise { + try { + return await showOrCreateTab(webViewType, () => getProjectIdOfWebView(editorWebViewId)); + } catch (e) { + logger.warn(`Could not show the ${webViewType} tab: ${getErrorMessage(e)}`); + await warnUser(TAB_COULD_NOT_OPEN_KEY); + return undefined; + } +} + +/** + * Brings the Bible texts tab to the front, opening one for the editor's project if none is open. + * + * @param editorWebViewId The scripture editor whose project a newly opened tab shows + * @returns The Bible texts web view's id, or `undefined` if it could not be shown + */ +export function showBibleTextsTab( + editorWebViewId: string | undefined, +): Promise { + return showProjectPanelTab(BIBLE_TEXTS_PANEL_WEBVIEW_TYPE, editorWebViewId); +} + +/** + * Brings the Commentaries tab to the front, opening one for the editor's project if none is open. + * + * @param editorWebViewId The scripture editor whose project a newly opened tab shows + * @returns The Commentaries web view's id, or `undefined` if it could not be shown + */ +export function showCommentariesTab( + editorWebViewId: string | undefined, +): Promise { + return showProjectPanelTab(COMMENTARIES_PANEL_WEBVIEW_TYPE, editorWebViewId); +} + +/** + * Brings the Text collection tab to the front like its siblings, opening one if it isn't already + * open. Unlike its siblings, the Text collection's web view provider is only registered while + * `platformScriptureEditor.enableScriptureTextGrid` was on at startup, so creation can genuinely be + * unavailable; when it is, this tells the user the feature is unavailable instead of throwing. Any + * other failure gets its siblings' generic warning. No `projectId` is passed for a newly created + * tab — the same as the default-layout supplement that creates the tab at startup — because the + * grid shows multiple projects at once and falls back to inferring one from the scroll group when + * none is given. + * + * @returns The Text collection web view's id, or `undefined` if it could not be shown + */ +export async function showTextCollectionTab(): Promise { + try { + const shownId = await showOrCreateTab(SCRIPTURE_TEXT_GRID_WEBVIEW_TYPE, async () => undefined); + if (shownId) return shownId; + } catch (e) { + const message = getErrorMessage(e); + if (!includes(message, MISSING_WEB_VIEW_PROVIDER_MESSAGE)) { + logger.warn(`Could not show the Text collection tab: ${message}`); + await warnUser(TAB_COULD_NOT_OPEN_KEY); + return undefined; + } + // The feature flag was off at startup — the expected reason creation fails. Log at debug + // rather than warn since the notification below already tells the user. + logger.debug(`Text collection tab could not be created: ${message}`); + } + await warnUser(TEXT_COLLECTION_UNAVAILABLE_KEY); + return undefined; +} diff --git a/extensions/src/platform-scripture-editor/src/types/platform-scripture-editor.d.ts b/extensions/src/platform-scripture-editor/src/types/platform-scripture-editor.d.ts index 076b2c78b50..1c016822383 100644 --- a/extensions/src/platform-scripture-editor/src/types/platform-scripture-editor.d.ts +++ b/extensions/src/platform-scripture-editor/src/types/platform-scripture-editor.d.ts @@ -930,6 +930,36 @@ declare module 'papi-shared-types' { resourceType: Extract, projectId?: string, ) => Promise; + /** + * Brings the Bible texts tab to the front. If it isn't open, opens it for the editor's project. + * An open tab is raised, never reloaded, so it keeps its state. + * + * @param editorWebViewId The scripture editor the request came from + * @returns The Bible texts web view's ID, or `undefined` if it couldn't be shown + */ + 'platformScriptureEditor.showBibleTextsPanel': ( + editorWebViewId?: string, + ) => Promise; + /** + * Brings the Commentaries tab to the front. If it isn't open, opens it for the editor's + * project. An open tab is raised, never reloaded, so it keeps its state. + * + * @param editorWebViewId The scripture editor the request came from + * @returns The Commentaries web view's ID, or `undefined` if it couldn't be shown + */ + 'platformScriptureEditor.showCommentariesPanel': ( + editorWebViewId?: string, + ) => Promise; + /** + * Brings the Text collection tab to the front. If it isn't open, opens it; if the feature is + * unavailable (the provider was never registered), opens nothing and shows a warning instead. + * + * @param editorWebViewId The scripture editor the request came from (unused) + * @returns The Text collection web view's ID, or `undefined` if it could not be shown + */ + 'platformScriptureEditor.showTextCollectionPanel': ( + editorWebViewId?: string, + ) => Promise; } export interface DataProviders { diff --git a/extensions/src/platform-scripture/assets/icons/clipboard-check.svg b/extensions/src/platform-scripture/assets/icons/clipboard-check.svg new file mode 100644 index 00000000000..f6f8a030fdf --- /dev/null +++ b/extensions/src/platform-scripture/assets/icons/clipboard-check.svg @@ -0,0 +1 @@ + diff --git a/extensions/src/platform-scripture/contributions/localizedStrings.json b/extensions/src/platform-scripture/contributions/localizedStrings.json index 8f9e46f6807..e1c78d9abff 100644 --- a/extensions/src/platform-scripture/contributions/localizedStrings.json +++ b/extensions/src/platform-scripture/contributions/localizedStrings.json @@ -993,6 +993,7 @@ "%webview_checksSidePanel_checkTypeFilter_setUp%": "Configuración", "%markersChecklist_errorInvalidMarkerPair%": "Marcadores equivalentes deben ser entrados en la forma: p/q", "%markersChecklist_emptyResult_identicalMarkers%": "Textos comparativos tienen marcadores idénticos.", + "%markersChecklist_menu_openTool%": "Lista de verificación de marcadores…", "%manageBooks_openMenuItem%": "Administrar libros", "%manageBooks_view_disabledStub_notYetAvailable%": "Aún no disponible — próximamente", "%manageBooks_grid_canonGroup_DC%": "Deuterocanónicos", diff --git a/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.test.ts b/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.test.ts new file mode 100644 index 00000000000..98f79009335 --- /dev/null +++ b/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.test.ts @@ -0,0 +1,72 @@ +import type { SavedWebViewDefinition } from '@papi/core'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { + CHECKS_SIDE_PANEL_ICON_URL, + ChecksSidePanelWebViewOptions, + ChecksSidePanelWebViewProvider, + checksSidePanelWebViewType, +} from './checks-side-panel.web-view-provider'; + +const mocks = vi.hoisted(() => ({ getSetting: vi.fn() })); + +vi.mock('@papi/backend', () => ({ + default: { + localization: { getLocalizedString: vi.fn().mockResolvedValue('Checks') }, + settings: { get: mocks.getSetting }, + }, +})); + +const savedWebView: SavedWebViewDefinition = { + id: 'checks-1', + webViewType: checksSidePanelWebViewType, +}; + +const options: ChecksSidePanelWebViewOptions = { + projectId: 'project-1', + editorScrollGroupId: 0, + editorWebViewId: 'editor-1', +}; + +describe('ChecksSidePanelWebViewProvider', () => { + beforeEach(() => { + vi.clearAllMocks(); + }); + + it('pins the tab in Simple mode, where it lives in Column 3 alongside other pinned tabs', async () => { + mocks.getSetting.mockResolvedValue('simple'); + + const result = await new ChecksSidePanelWebViewProvider().getWebView(savedWebView, options); + + expect(result?.isClosable).toBe(false); + }); + + it('leaves the panel closable in Power mode', async () => { + mocks.getSetting.mockResolvedValue('power'); + + const result = await new ChecksSidePanelWebViewProvider().getWebView(savedWebView, options); + + expect(result?.isClosable).toBe(true); + }); + + it('shows the Checks icon in Simple mode, where Column 3 collapses its tabs to icons', async () => { + mocks.getSetting.mockResolvedValue('simple'); + + const result = await new ChecksSidePanelWebViewProvider().getWebView(savedWebView, options); + + expect(result?.iconUrl).toBe(CHECKS_SIDE_PANEL_ICON_URL); + expect(CHECKS_SIDE_PANEL_ICON_URL).toBe( + 'papi-extension://platformScripture/assets/icons/clipboard-check.svg', + ); + }); + + it('keeps the saved icon in Power mode, where tabs are labeled with text', async () => { + mocks.getSetting.mockResolvedValue('power'); + + const result = await new ChecksSidePanelWebViewProvider().getWebView( + { ...savedWebView, iconUrl: 'saved-icon.svg' }, + options, + ); + + expect(result?.iconUrl).toBe('saved-icon.svg'); + }); +}); diff --git a/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.ts b/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.ts index 65a329b49c7..1712cc1f5c3 100644 --- a/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.ts +++ b/extensions/src/platform-scripture/src/checks-side-panel.web-view-provider.ts @@ -11,6 +11,13 @@ import tailwindStyles from './tailwind.css?inline'; export const checksSidePanelWebViewType = 'platformScripture.checksSidePanel'; +/** + * Lucide "ClipboardCheck" glyph for the tab icon, shown when Simple mode collapses tabs to icons + * only. + */ +export const CHECKS_SIDE_PANEL_ICON_URL = + 'papi-extension://platformScripture/assets/icons/clipboard-check.svg'; + export interface ChecksSidePanelWebViewOptions extends OpenWebViewOptions { projectId: string | undefined; editorScrollGroupId: ScrollGroupScrRef | undefined; @@ -31,14 +38,26 @@ export class ChecksSidePanelWebViewProvider implements IWebViewProvider { ): Promise { const projectId = getWebViewOptions.projectId || savedWebView.projectId || undefined; - const title = await papi.localization.getLocalizedString({ - localizeKey: '%webView_checksSidePanel_title%', - }); + const [title, interfaceMode] = await Promise.all([ + papi.localization.getLocalizedString({ + localizeKey: '%webView_checksSidePanel_title%', + }), + papi.settings.get('platform.interfaceMode'), + ]); return { ...savedWebView, title, projectId, + // In Simple mode this is a Column 3 tab, pinned like its siblings there: `getTabGroup` routes + // a non-closable tab of this type to Column 3's rc-dock group, which keeps it from being + // dragged into another column. Power mode docks it as an ordinary closable panel. Computed per + // provider, like its Column 3 siblings, until PT-4405 moves this into the renderer. + isClosable: interfaceMode !== 'simple', + // Icon only in Simple mode, like the Find tab beside it: Column 3 collapses its tabs to icons + // there, and a tab with no icon falls back to the generic app logo. Power mode tabs are labeled + // with text. + iconUrl: interfaceMode === 'simple' ? CHECKS_SIDE_PANEL_ICON_URL : savedWebView.iconUrl, content: checksSidePanelWebView, styles: tailwindStyles, scrollGroupScrRef: getWebViewOptions.editorScrollGroupId, diff --git a/extensions/src/platform-scripture/src/main.ts b/extensions/src/platform-scripture/src/main.ts index 79cb988d87a..879bddb17ce 100644 --- a/extensions/src/platform-scripture/src/main.ts +++ b/extensions/src/platform-scripture/src/main.ts @@ -36,6 +36,10 @@ import { ManageBooksWebViewOptions, ManageBooksWebViewProvider, } from './manage-books.web-view-provider'; +import { + openChecksSidePanelWebView, + updateChecksSidePanelProject, +} from './open-checks-side-panel.utils'; import { SCRIPTURE_EXTENDER_PROJECT_INTERFACES } from './project-data-provider/platform-scripture-extender-pdpe.model'; import { SCRIPTURE_EXTENDER_PDPF_ID, @@ -181,13 +185,7 @@ async function openChecksSidePanel( editorScrollGroupId, editorWebViewId, }; - const sidePanelWebViewId = await papi.webViews.openWebView( - checksSidePanelWebViewType, - { type: 'panel', direction: 'right', targetTabId: tabIdFromWebViewId }, - options, - ); - - return sidePanelWebViewId; + return openChecksSidePanelWebView(options, tabIdFromWebViewId); } async function openMarkersChecklist(webViewId: string | undefined): Promise { @@ -854,6 +852,36 @@ export async function activate(context: ExecutionActivationContext) { }, }, ); + const updateChecksSidePanelProjectPromise = papi.commands.registerCommand( + 'platformScripture.updateChecksSidePanelProject', + updateChecksSidePanelProject, + { + method: { + summary: 'Re-point an already-open checks side panel at a different project', + params: [ + { + name: 'projectId', + required: true, + summary: 'The ID of the project the checks side panel should check from now on', + schema: { type: 'string' }, + }, + { + name: 'editorWebViewId', + required: false, + summary: + 'The ID of the editor web view the checks side panel should act on; omit to keep the one it holds', + schema: { type: 'string' }, + }, + ], + result: { + name: 'return value', + summary: + 'The ID of the checks side panel web view, or undefined if none was open or the re-point did not take', + schema: { type: ['string', 'null'] }, + }, + }, + }, + ); const showChecksSidePanelWebViewProviderPromise = papi.webViewProviders.registerWebViewProvider( checksSidePanelWebViewType, checksSidePanelWebViewProvider, @@ -1095,6 +1123,7 @@ export async function activate(context: ExecutionActivationContext) { await openPunctuationInventoryPromise, await punctuationInventoryWebViewProviderPromise, await showChecksSidePanelPromise, + await updateChecksSidePanelProjectPromise, await showChecksSidePanelWebViewProviderPromise, await openMarkersChecklistPromise, await openMarkersChecklistSettingsPromise, diff --git a/extensions/src/platform-scripture/src/open-checks-side-panel.utils.test.ts b/extensions/src/platform-scripture/src/open-checks-side-panel.utils.test.ts new file mode 100644 index 00000000000..d9e657e7554 --- /dev/null +++ b/extensions/src/platform-scripture/src/open-checks-side-panel.utils.test.ts @@ -0,0 +1,264 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { + ChecksSidePanelWebViewOptions, + checksSidePanelWebViewType, +} from './checks-side-panel.web-view-provider'; +import { + openChecksSidePanelWebView, + updateChecksSidePanelProject, +} from './open-checks-side-panel.utils'; +import { SIMPLE_RESOURCES_PANEL_ID } from './simple-resources-panel-id.const'; + +const mocks = vi.hoisted(() => ({ + getSetting: vi.fn(), + openWebView: vi.fn(), + getOpenWebViewDefinition: vi.fn(), + reloadWebView: vi.fn(), +})); + +vi.mock('@papi/backend', () => ({ + default: { + settings: { get: mocks.getSetting }, + webViews: { + openWebView: mocks.openWebView, + getOpenWebViewDefinition: mocks.getOpenWebViewDefinition, + reloadWebView: mocks.reloadWebView, + }, + }, + logger: { debug: vi.fn() }, +})); + +const EDITOR_TAB_ID = 'editor-tab-1'; + +const options = ( + overrides: Partial = {}, +): ChecksSidePanelWebViewOptions => ({ + projectId: 'project-1', + editorScrollGroupId: 0, + editorWebViewId: EDITOR_TAB_ID, + ...overrides, +}); + +/** Layouts of every `openWebView` call that could create a web view (i.e. not a reuse probe). */ +const creatingLayouts = () => + mocks.openWebView.mock.calls + .filter(([, , callOptions]) => callOptions?.createNewIfNotFound !== false) + .map(([, layout]) => layout); + +describe('openChecksSidePanelWebView', () => { + beforeEach(() => { + // Reset, not clear: a `mockResolvedValueOnce` left unconsumed by one test must not leak into the next. + vi.resetAllMocks(); + }); + + describe('Simple mode', () => { + beforeEach(() => { + mocks.getSetting.mockResolvedValue('simple'); + }); + + it('probes for an existing Checks tab first, then adds a new one to Column 3 as a tab', async () => { + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('checks-1'); + + const result = await openChecksSidePanelWebView(options(), EDITOR_TAB_ID); + + expect(result).toBe('checks-1'); + expect(mocks.openWebView).toHaveBeenCalledTimes(2); + expect(mocks.openWebView).toHaveBeenNthCalledWith( + 1, + checksSidePanelWebViewType, + undefined, + expect.objectContaining({ existingId: '?', createNewIfNotFound: false }), + ); + expect(mocks.openWebView).toHaveBeenNthCalledWith( + 2, + checksSidePanelWebViewType, + { type: 'tab', parentTabGroupId: SIMPLE_RESOURCES_PANEL_ID }, + options(), + ); + }); + + it('never docks the panel beside the editor, which would split its column', async () => { + mocks.openWebView.mockResolvedValueOnce(undefined).mockResolvedValueOnce('checks-1'); + + await openChecksSidePanelWebView(options(), EDITOR_TAB_ID); + + expect(creatingLayouts()).not.toContainEqual(expect.objectContaining({ type: 'panel' })); + }); + + it('reuses and fronts the open Checks tab on a later call instead of adding another', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-1', + state: { editorWebViewId: EDITOR_TAB_ID }, + }); + + const result = await openChecksSidePanelWebView(options(), EDITOR_TAB_ID); + + expect(result).toBe('checks-1'); + expect(mocks.openWebView).toHaveBeenCalledTimes(1); + // The probe is what brings the tab to the front; `bringToFront` must not be switched off. + expect(mocks.openWebView.mock.calls[0][2]).not.toHaveProperty('bringToFront', false); + expect(creatingLayouts()).toEqual([]); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); + + it('re-points the open Checks tab when the editor now shows a different project', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-old', + state: { editorWebViewId: 'editor-tab-old' }, + }); + mocks.reloadWebView.mockResolvedValue('checks-1'); + const newOptions = options({ projectId: 'project-new' }); + + const result = await openChecksSidePanelWebView(newOptions, EDITOR_TAB_ID); + + expect(result).toBe('checks-1'); + expect(mocks.reloadWebView).toHaveBeenCalledWith( + checksSidePanelWebViewType, + 'checks-1', + newOptions, + ); + expect(creatingLayouts()).toEqual([]); + }); + + it('re-points the open Checks tab when only the editor web view id changed', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-1', + state: { editorWebViewId: 'editor-tab-old' }, + }); + mocks.reloadWebView.mockResolvedValue('checks-1'); + + await openChecksSidePanelWebView(options(), EDITOR_TAB_ID); + + expect(mocks.reloadWebView).toHaveBeenCalledWith( + checksSidePanelWebViewType, + 'checks-1', + options(), + ); + }); + + it('opens a fresh Column 3 tab when the tab closed between the probe and the reload', async () => { + mocks.openWebView.mockResolvedValueOnce('checks-1').mockResolvedValueOnce('checks-2'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-old', + }); + mocks.reloadWebView.mockResolvedValue(undefined); + + const result = await openChecksSidePanelWebView(options(), EDITOR_TAB_ID); + + expect(result).toBe('checks-2'); + expect(creatingLayouts()).toEqual([ + { type: 'tab', parentTabGroupId: SIMPLE_RESOURCES_PANEL_ID }, + ]); + }); + }); + + describe('Power mode', () => { + beforeEach(() => { + mocks.getSetting.mockResolvedValue('power'); + }); + + it('docks a new panel to the right of the editor tab without probing for an existing one', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + + const result = await openChecksSidePanelWebView(options(), EDITOR_TAB_ID); + + expect(result).toBe('checks-1'); + expect(mocks.openWebView).toHaveBeenCalledTimes(1); + expect(mocks.openWebView).toHaveBeenCalledWith( + checksSidePanelWebViewType, + { type: 'panel', direction: 'right', targetTabId: EDITOR_TAB_ID }, + options(), + ); + expect(mocks.getOpenWebViewDefinition).not.toHaveBeenCalled(); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); + }); +}); + +describe('updateChecksSidePanelProject', () => { + beforeEach(() => { + // Reset, not clear: a `mockResolvedValueOnce` left unconsumed by one test must not leak into the next. + vi.resetAllMocks(); + }); + + it('creates nothing when no Checks side panel is open', async () => { + mocks.openWebView.mockResolvedValue(undefined); + + const result = await updateChecksSidePanelProject('project-new', 'editor-new'); + + expect(result).toBeUndefined(); + expect(mocks.openWebView).toHaveBeenCalledTimes(1); + expect(mocks.openWebView).toHaveBeenCalledWith( + checksSidePanelWebViewType, + undefined, + expect.objectContaining({ existingId: '?', createNewIfNotFound: false }), + ); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); + + it('reloads the open panel at the new project without bringing it to the front', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-old', + scrollGroupScrRef: 0, + state: { editorWebViewId: 'editor-old' }, + }); + mocks.reloadWebView.mockResolvedValue('checks-1'); + + const result = await updateChecksSidePanelProject('project-new', 'editor-new'); + + expect(result).toBe('checks-1'); + // The probe must not front the tab either: a project switch is not a request for Checks. + expect(mocks.openWebView.mock.calls[0][2]).toHaveProperty('bringToFront', false); + expect(mocks.reloadWebView).toHaveBeenCalledWith(checksSidePanelWebViewType, 'checks-1', { + projectId: 'project-new', + // Preserved from the open panel so it stays in the editor's scroll group. + editorScrollGroupId: 0, + editorWebViewId: 'editor-new', + bringToFront: false, + }); + }); + + it('leaves the open panel alone when it already shows the project and editor', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-1', + state: { editorWebViewId: 'editor-1' }, + }); + + const result = await updateChecksSidePanelProject('project-1', 'editor-1'); + + expect(result).toBe('checks-1'); + expect(mocks.reloadWebView).not.toHaveBeenCalled(); + }); + + it('reports no re-point when the panel closed before the reload reached it', async () => { + mocks.openWebView.mockResolvedValue('checks-1'); + mocks.getOpenWebViewDefinition.mockResolvedValue({ + id: 'checks-1', + webViewType: checksSidePanelWebViewType, + projectId: 'project-old', + }); + mocks.reloadWebView.mockResolvedValue(undefined); + + const result = await updateChecksSidePanelProject('project-new', 'editor-new'); + + expect(result).toBeUndefined(); + expect(mocks.openWebView).toHaveBeenCalledTimes(1); + }); +}); diff --git a/extensions/src/platform-scripture/src/open-checks-side-panel.utils.ts b/extensions/src/platform-scripture/src/open-checks-side-panel.utils.ts new file mode 100644 index 00000000000..dff6c5a78a6 --- /dev/null +++ b/extensions/src/platform-scripture/src/open-checks-side-panel.utils.ts @@ -0,0 +1,147 @@ +import papi, { logger } from '@papi/backend'; +import type { SavedWebViewDefinition } from '@papi/core'; +import { + ChecksSidePanelWebViewOptions, + checksSidePanelWebViewType, +} from './checks-side-panel.web-view-provider'; +import { SIMPLE_RESOURCES_PANEL_ID } from './simple-resources-panel-id.const'; + +/** + * Probe options that resolve an already-open Checks side panel without ever creating one. + * `existingId: '?'` is PAPI's "any web view of this type" wildcard; `createNewIfNotFound: false` + * makes the probe a pure lookup. + */ +const REUSE_EXISTING_CHECKS_ONLY = { existingId: '?', createNewIfNotFound: false } as const; + +/** + * Whether an open Checks side panel already shows `projectId` for the editor `editorWebViewId`, so + * reloading it would change nothing. An `undefined` editor id asks about the project alone: the + * provider keeps the editor id the panel already holds when none is passed. + */ +function isChecksSidePanelCurrent( + definition: SavedWebViewDefinition | undefined, + projectId: string | undefined, + editorWebViewId: string | undefined, +): boolean { + return ( + definition?.projectId === projectId && + (editorWebViewId === undefined || definition?.state?.editorWebViewId === editorWebViewId) + ); +} + +/** + * Opens the Checks side panel for an editor, placed according to `platform.interfaceMode`. + * + * - Power mode: a new panel docked to the right of the editor tab, on every call. + * - Simple mode: one Checks tab in Column 3, alongside the other Resources & Tools tabs. Simple's + * three columns are fixed, so a panel docked beside the editor would split the editor's column, + * and a new one per call would keep splitting it. The first call adds the tab to Column 3; later + * calls bring that same tab to the front. The tab is not part of Simple's starting layout — it + * joins Column 3 only once someone asks for it. + * + * In Simple mode an existing tab is reloaded when it shows a different project, or holds a + * different editor id, from the call. A project switch replaces the editor tab and mints a new + * editor web view id, and the panel uses that id to focus the editor and select a clicked result, + * so an unrefreshed tab would keep the old project's results and lose result selection. + * + * @param options Options for the Checks side panel web view provider + * @param editorTabId Id of the editor tab the panel opens beside in Power mode + * @returns The id of the Checks side panel web view, or `undefined` if none could be opened + */ +export async function openChecksSidePanelWebView( + options: ChecksSidePanelWebViewOptions, + editorTabId: string | undefined, +): Promise { + if ((await papi.settings.get('platform.interfaceMode')) !== 'simple') + return papi.webViews.openWebView( + checksSidePanelWebViewType, + { type: 'panel', direction: 'right', targetTabId: editorTabId }, + options, + ); + + const existingId = await papi.webViews.openWebView(checksSidePanelWebViewType, undefined, { + ...options, + ...REUSE_EXISTING_CHECKS_ONLY, + }); + if (existingId) { + const existingDefinition = await papi.webViews.getOpenWebViewDefinition(existingId); + if (isChecksSidePanelCurrent(existingDefinition, options.projectId, options.editorWebViewId)) + return existingId; + + const reloadedId = await papi.webViews.reloadWebView( + checksSidePanelWebViewType, + existingId, + options, + ); + // `reloadWebView` resolves undefined when the web view closed between the probe and the reload. + // Handing back the probe's id would name a tab that no longer exists, so open a fresh one. + if (reloadedId) return reloadedId; + logger.debug( + `openChecksSidePanelWebView: web view ${existingId} was gone by the time it could be reloaded; opening a new one`, + ); + } + + return papi.webViews.openWebView( + checksSidePanelWebViewType, + { type: 'tab', parentTabGroupId: SIMPLE_RESOURCES_PANEL_ID }, + options, + ); +} + +/** + * Re-points an already-open Checks side panel at `projectId`, creating nothing. + * + * In Simple mode the Checks tab sits in Column 3, whose panels follow the active translation + * project; the editor re-points them when the project changes. Checks joins Column 3 only on + * request, so the group operation does not open it, and without this an open Checks tab would keep + * showing the previous project's results. + * + * `editorWebViewId` matters for the same reason it does in the opener: a project switch that + * replaces the editor tab mints a new editor web view id, and the panel uses the id it holds to + * focus the editor and select a clicked result. + * + * @param projectId Id of the project the Checks side panel should check from now on + * @param editorWebViewId Id of the editor web view the switch produced. Omit to keep the id the + * panel already holds. + * @returns The id of the re-pointed Checks side panel, or `undefined` if none was open or the + * reload did not take + */ +export async function updateChecksSidePanelProject( + projectId: string, + editorWebViewId?: string, +): Promise { + const checksWebViewId = await papi.webViews.openWebView(checksSidePanelWebViewType, undefined, { + ...REUSE_EXISTING_CHECKS_ONLY, + // Both calls here opt out explicitly, because `bringToFront` defaults to TRUE on the probe and + // the reload alike. A project switch must not pull Column 3 away from the tab the user was on. + bringToFront: false, + }); + if (!checksWebViewId) return undefined; + + const existingDefinition = await papi.webViews.getOpenWebViewDefinition(checksWebViewId); + if (isChecksSidePanelCurrent(existingDefinition, projectId, editorWebViewId)) + return checksWebViewId; + + // Hidden case: reloaded while hidden too. A reload is data-driven, so it works without layout, and + // it costs one remount per project switch — the same cost the Find re-point pays. + const options: ChecksSidePanelWebViewOptions = { + projectId, + // Preserved rather than passed as undefined: the provider writes this straight to + // `scrollGroupScrRef`, so dropping it would unbind the panel from the editor's scroll group. + editorScrollGroupId: existingDefinition?.scrollGroupScrRef, + editorWebViewId, + // Same explicit opt-out as the probe above; see the note there. + bringToFront: false, + }; + const reloadedId = await papi.webViews.reloadWebView( + checksSidePanelWebViewType, + checksWebViewId, + options, + ); + // `reloadWebView` resolves undefined when the web view closed between the probe and the reload. + if (!reloadedId) + logger.debug( + `updateChecksSidePanelProject: web view ${checksWebViewId} was gone by the time it could be reloaded; nothing re-pointed`, + ); + return reloadedId; +} diff --git a/extensions/src/platform-scripture/src/simple-resources-panel-id.const.ts b/extensions/src/platform-scripture/src/simple-resources-panel-id.const.ts new file mode 100644 index 00000000000..e5340b32aec --- /dev/null +++ b/extensions/src/platform-scripture/src/simple-resources-panel-id.const.ts @@ -0,0 +1,11 @@ +/** + * Rc-dock panel id of Simple mode's Column 3 (Resources & Tools), as this extension sees it. + * + * Passed as a `tab` layout's `parentTabGroupId` to add a web view to Column 3 at runtime. + * Extensions cannot import renderer source, so the value is mirrored from + * `SIMPLE_PANEL_ID_RESOURCES` in `src/renderer/components/docking/simple-layout.data.ts`; + * `simple-layout.data.test.ts` reads this file and fails if the two drift. A stale id would not + * fail loudly: the dock logs a warning and falls back to its default tab placement, which can add a + * new pane on top of an existing column. + */ +export const SIMPLE_RESOURCES_PANEL_ID = 'simple-panel-resources'; diff --git a/extensions/src/platform-scripture/src/types/platform-scripture.d.ts b/extensions/src/platform-scripture/src/types/platform-scripture.d.ts index 0d03f93d136..d388adbbf20 100644 --- a/extensions/src/platform-scripture/src/types/platform-scripture.d.ts +++ b/extensions/src/platform-scripture/src/types/platform-scripture.d.ts @@ -3110,19 +3110,46 @@ declare module 'papi-shared-types' { ) => Promise; /** - * Open the checks side panel next to a scripture editor. + * Open the checks side panel for a scripture editor. + * + * In Power mode a new panel is docked to the right of the editor tab on every call. In Simple + * mode there is one Checks tab, in the third (Resources & Tools) column: the first call adds + * it, and later calls bring it to the front, re-pointing it first if it shows a different + * project or editor. * * @param editorWebViewId Id of the triggering editor's web view — not a project id. The * editor's project and scroll group are resolved from it internally via - * `papi.webViews.getOpenWebViewDefinition`, and the panel is placed relative to that editor - * tab. - * @returns Id of the newly opened checks side panel web view, or `undefined` if no editor web - * view id was provided or the web view has no project (nothing is opened in that case). + * `papi.webViews.getOpenWebViewDefinition`, and in Power mode the panel is placed relative to + * that editor tab. + * @returns Id of the opened, re-pointed, or fronted checks side panel web view, or `undefined` + * if no editor web view id was provided or the web view has no project (nothing is opened in + * that case). */ 'platformScripture.openChecksSidePanel': ( editorWebViewId?: string | undefined, ) => Promise; + /** + * Re-point an already-open checks side panel at a different project, so it checks that project + * instead of the one it was opened for. + * + * Creates nothing: when no checks side panel is open this does nothing and returns `undefined`. + * Use `platformScripture.openChecksSidePanel` to open one. Never brings the panel to the + * front. + * + * @param projectId Id of the project the checks side panel should check from now on. + * @param editorWebViewId Id of the editor web view the panel should act on: the one it focuses, + * and whose text it selects when a result is clicked. Pass this whenever the re-point + * accompanies a new or replaced editor, since a replaced editor tab mints a new id. Omit to + * leave the id the panel already holds untouched. + * @returns Id of the checks side panel web view, or `undefined` if none was open or the + * re-point did not take. + */ + 'platformScripture.updateChecksSidePanelProject': ( + projectId: string, + editorWebViewId?: string | undefined, + ) => Promise; + /** * Open the Find / Replace UI for a project, bringing it to the front. Reuses an existing find * web view rather than opening a new one when possible, reloading it when the resolved project, diff --git a/lib/platform-bible-react/dist/experimental.cjs b/lib/platform-bible-react/dist/experimental.cjs index b6f30e7c6e9..5348fee1502 100644 --- a/lib/platform-bible-react/dist/experimental.cjs +++ b/lib/platform-bible-react/dist/experimental.cjs @@ -1,4 +1,4 @@ -"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./resizable-CXc9rRuF.cjs"),t=require("react/jsx-runtime"),rt=require("platform-bible-utils"),E=require("lucide-react"),l=require("react");function it(r,e){return e?Array.isArray(e)?e.length===0||e.includes(r.type):r.type===e:!0}function nt(r){const e=new Map,i=new Set;return r.forEach(s=>{const n=s.bestLanguageName;e.set(n,(e.get(n)??0)+1),s.installed&&i.add(n)}),Array.from(e.entries()).sort(([s],[n])=>s.localeCompare(n)).map(([s,n])=>({label:s,value:s,starred:i.has(s),secondaryLabel:n.toString()}))}function st(r,e){const i=new Set(e.map(d=>d.value)),s=[],n=[];return r.forEach(d=>(i.has(d)?s:n).push(d)),{offered:s,held:n}}function xt(r,e=50){const[i,s]=l.useState(e),n=l.useRef(null);return l.useEffect(()=>{s(e)},[r,e]),l.useEffect(()=>{if(i>=r.length)return;const d=n.current,w=new IntersectionObserver(([k])=>{k.isIntersecting&&s(f=>Math.min(f+e,r.length))},{threshold:0});return d&&w.observe(d),()=>w.disconnect()},[i,r.length,e]),{visibleItems:r.slice(0,i),sentinelRef:n,hasMore:ir[e]??e;function at({label:r,resources:e,onSelect:i,showCheckmark:s}){if(e.length!==0)return t.jsxs(t.Fragment,{children:[t.jsx(a.TableRow,{className:"tw:border-0 tw:hover:bg-transparent",children:t.jsx(a.TableCell,{colSpan:4,className:"tw:border-0 tw:pt-4 tw:pb-0",children:t.jsx(a.Label,{className:"tw:text-xs tw:tracking-wider tw:text-muted-foreground tw:uppercase",children:r})})}),e.map(n=>t.jsxs(a.TableRow,{className:i?"tw:cursor-pointer tw:border-0":"tw:pointer-events-none tw:border-0",role:i?"button":void 0,"aria-label":i?n.displayName:void 0,onClick:i?()=>i(n):void 0,onKeyDown:i?d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),i(n))}:void 0,children:[t.jsx(a.TableCell,{className:"tw:border-0 tw:px-1 tw:py-1",children:s&&t.jsxs(t.Fragment,{children:[t.jsx(E.Check,{className:"tw:h-3.5 tw:w-3.5","aria-hidden":!0}),t.jsx("span",{className:"tw:sr-only",children:r})]})}),t.jsx(a.TableCell,{className:"tw:max-w-0 tw:truncate tw:border-0 tw:py-1 tw:pe-2 tw:text-start tw:font-normal",children:t.jsx("span",{title:n.displayName,children:n.displayName})}),t.jsx(a.TableCell,{className:"tw:max-w-0 tw:truncate tw:border-0 tw:py-1 tw:ps-2",children:t.jsx("span",{title:n.fullName,children:n.fullName})}),t.jsx(a.TableCell,{className:"tw:max-w-0 tw:truncate tw:border-0 tw:py-1 tw:ps-4 tw:text-end tw:text-muted-foreground",children:t.jsx("span",{title:n.bestLanguageName,children:n.bestLanguageName})})]},n.dblEntryUid))]})}function ct(r){return r.isResourcesLoading?"loading":r.hasNoResults?r.canClearFiltersHelp?"filteredEmpty":r.hasResourcesError?"error":r.areDownloadsUnavailable?"downloadsUnavailable":"empty":"list"}function _t(r,e){if(!e)return!0;const i=e.toLowerCase();return r.displayName.toLowerCase().includes(i)||r.fullName.toLowerCase().includes(i)||r.bestLanguageName.toLowerCase().includes(i)}function zt({allResources:r,isResourcesLoading:e,hasResourcesError:i,onRetryResources:s,areDownloadsUnavailable:n,resourceType:d,selectedResourceIds:w,notice:k,allowSelectingInstalled:f=!0,localizedStrings:o,allowDeselect:g,onSelect:L,searchInputRef:j}){const[x,U]=l.useState(""),[P,O]=l.useState([]),N=l.useRef(null),S=j??N,I=l.useCallback(()=>{var p;U(""),O([]),(p=S.current)==null||p.focus()},[S]),y=l.useMemo(()=>r.filter(p=>it(p,d)),[r,d]),z=l.useMemo(()=>nt(y),[y]),{offered:v,held:C}=l.useMemo(()=>st(P,z),[P,z]),A=l.useCallback(p=>O([...C,...p]),[C]),_=l.useMemo(()=>y.filter(p=>_t(p,x)).filter(p=>v.length===0||v.includes(p.bestLanguageName)),[y,x,v]),T=l.useMemo(()=>_.filter(p=>w==null?void 0:w.includes(p.dblEntryUid)),[_,w]),D=l.useMemo(()=>_.filter(p=>p.installed&&!(w!=null&&w.includes(p.dblEntryUid))),[_,w]),q=l.useMemo(()=>_.filter(p=>!p.installed&&!(w!=null&&w.includes(p.dblEntryUid))),[_,w]),{visibleItems:c,sentinelRef:u,hasMore:h}=xt(q),X=T.length===0&&D.length===0&&q.length===0,G=b(o,"%resourcePicker_title%"),$=b(o,"%resourcePicker_description%"),Q=b(o,"%resourcePicker_search_placeholder%"),M=b(o,"%resourcePicker_language_filter_any%"),V=b(o,"%resourcePicker_language_filter_search_placeholder%"),H=b(o,"%resourcePicker_language_filter_no_results%"),W=b(o,"%resourcePicker_section_already_selected%"),m=b(o,"%resourcePicker_section_installed%"),Y=b(o,"%resourcePicker_section_available_to_download%"),wt=b(o,"%resourcePicker_no_results%"),pt=b(o,"%resourcePicker_load_error%"),gt=b(o,"%resourcePicker_retry%"),ht=b(o,"%resourcePicker_no_results_filtered%"),ut=b(o,"%resourcePicker_clear_filters%"),vt=b(o,"%resourcePicker_downloads_unavailable%"),bt=b(o,"%resourcePicker_showing_count%"),Z=v.length>0&&y.some(p=>!v.includes(p.bestLanguageName)),et=x.length>0||Z,mt=l.useMemo(()=>{var p;return Z?v.length===1?((p=z.find(F=>F.value===v[0]))==null?void 0:p.label)??v[0]:rt.formatReplacementString(b(o,"%resourcePicker_language_filter_multipleSelected%"),{selectCount:v.length}):M},[Z,v,z,M,o]),ft=et&&y.length>0,B=!!e||!!i||y.length===0,ot=l.useRef(B);l.useEffect(()=>{const p=ot.current&&!B;if(ot.current=B,!p)return;const F=S.current;if(!F||F.disabled)return;const{activeElement:tt}=document;(!tt||tt===document.body||tt.getAttribute("data-slot")==="dialog-content")&&F.focus()},[B,S]);const R=ct({isResourcesLoading:!!e,hasResourcesError:!!i,hasNoResults:X,canClearFiltersHelp:ft,areDownloadsUnavailable:!!n});return t.jsxs(t.Fragment,{children:[t.jsxs(a.DialogHeader,{className:"tw:px-4 tw:pt-4",children:[t.jsx(a.DialogTitle,{children:G}),t.jsx(a.DialogDescription,{className:"tw:sr-only",children:$})]}),t.jsxs("div",{className:"tw:flex tw:gap-2 tw:p-4",children:[t.jsx(a.SearchBar,{ref:S,value:x,onSearch:U,placeholder:Q,isFullWidth:!0,isDisabled:B}),t.jsx(a.MultiSelectComboBox,{entries:z,selected:v,onChange:A,customSelectedText:mt,placeholder:M,searchPlaceholder:V,commandEmptyMessage:H,variant:"outline",isDisabled:B,sortSelected:!0,showScrollCue:!0})]}),t.jsx("div",{role:"status",children:k&&t.jsx(a.Alert,{role:void 0,className:"tw:mx-4 tw:mb-2 tw:w-auto tw:bg-muted tw:text-muted-foreground",children:t.jsx(a.AlertDescription,{children:k})})}),et&&(R==="list"||R==="filteredEmpty")&&t.jsx("p",{className:"tw:px-4 tw:pb-1 tw:text-end tw:text-xs tw:text-muted-foreground",children:rt.formatReplacementString(bt,{filtered:_.length,total:y.length})}),t.jsxs("div",{className:"tw:min-h-0 tw:flex-1 tw:overflow-x-hidden tw:overflow-y-auto tw:px-4 tw:pb-4",children:[R==="loading"&&t.jsx("p",{className:"tw:py-8 tw:text-center",children:t.jsx(a.Spinner,{})}),R==="error"&&t.jsx(a.RetryableErrorView,{icon:t.jsx(E.CloudOff,{}),message:pt,retryLabel:gt,onRetry:s}),R==="filteredEmpty"&&t.jsx(a.RetryableErrorView,{role:"status",icon:t.jsx(E.SearchX,{}),message:ht,retryLabel:ut,onRetry:I}),R==="downloadsUnavailable"&&t.jsx(a.RetryableErrorView,{role:"status",icon:t.jsx(E.CloudOff,{}),message:vt}),R==="empty"&&t.jsx(a.EmptyState,{className:"tw:py-8 tw:text-center",message:wt}),R==="list"&&t.jsxs(a.Table,{className:"tw:table-fixed",children:[t.jsxs("colgroup",{children:[t.jsx("col",{className:"tw:w-7"}),t.jsx("col",{className:"tw:w-1/4"}),t.jsx("col",{}),t.jsx("col",{className:"tw:w-1/6"})]}),t.jsxs(a.TableBody,{children:[t.jsx(at,{label:W,resources:T,onSelect:g?L:void 0,showCheckmark:!0}),t.jsx(at,{label:m,resources:D,onSelect:f?L:void 0}),t.jsx(at,{label:Y,resources:c,onSelect:L}),h&&t.jsx(a.TableRow,{className:"tw:border-0",children:t.jsx(a.TableCell,{colSpan:4,className:"tw:border-0 tw:p-0",children:t.jsx("div",{ref:u,"aria-hidden":!0})})})]})]})]})]})}function jt({items:r,renderItem:e,renderDetailContent:i,onItemClick:s,selectedItemId:n,emptyStateMessage:d="No items found",detailRegionLabel:w="Selected item details",isLoading:k=!1,variant:f="text",showSourceLanguage:o=!1,showTransliteration:g=!1,onCharacterPress:L,className:j}){const[x,U]=l.useState(),P=l.useRef(null),O=n??x,N=l.useMemo(()=>x?r.find(c=>c.id===x):void 0,[x,r]),S=l.useMemo(()=>r.map(c=>({id:c.id})),[r]),I=c=>{s==null||s(c),i&&U(c.id===x?void 0:c.id)},y=c=>{const u=r.find(h=>h.id===c.id);u&&I(u)},{listboxRef:z,activeId:v,handleKeyDown:C,focusOption:A}=a.useListbox({options:S,onOptionSelect:y,onCharacterPress:L}),_=()=>{const c=x;U(void 0),c&&requestAnimationFrame(()=>{var u;A(c),(u=z.current)==null||u.focus()})},T=l.useRef(null);if(l.useEffect(()=>{if(!N)return;const c=T.current;if(!c)return;const u=h=>{h.key==="Escape"&&(h.preventDefault(),_())};return c.addEventListener("keydown",u),()=>c.removeEventListener("keydown",u)},[N]),k)return t.jsx("div",{className:a.cn("tw:flex tw:flex-col tw:gap-2 tw:p-2",j),children:Array.from({length:6},(c,u)=>t.jsx(a.Skeleton,{className:a.cn("tw:h-12 tw:w-full tw:rounded",{"tw:h-20":f==="thumbnail"})},u))});if(r.length===0)return t.jsx("div",{className:a.cn("tw:flex tw:items-center tw:justify-center tw:p-8 tw:text-sm tw:text-muted-foreground",j),children:d});const D=t.jsx("ul",{role:"listbox",tabIndex:0,ref:z,"aria-activedescendant":v??void 0,className:"tw:outline-none tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background",onKeyDown:C,children:r.map(c=>{const u=O===c.id;return t.jsx("li",{id:c.id,role:"option","aria-selected":u,tabIndex:-1,onClick:()=>I(c),onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),I(c))},className:a.cn("tw:flex tw:cursor-pointer tw:items-center tw:gap-3 tw:p-2 tw:outline-none",{"tw:bg-muted":u,"tw:hover:bg-muted":!u}),children:e?e(c):t.jsx(St,{item:c,variant:f,showSourceLanguage:o,showTransliteration:g})},c.id)})}),q=i&&N?i(N,_):void 0;return t.jsx("div",{ref:P,className:a.cn("tw:relative tw:flex tw:h-full tw:overflow-hidden",j),children:q?t.jsxs(a.ResizablePanelGroup,{direction:"horizontal",className:"tw:h-full tw:w-full",children:[t.jsx(a.ResizablePanel,{defaultSize:33.3333,minSize:20,children:t.jsx("div",{className:"tw:h-full tw:overflow-y-auto",children:D})}),t.jsx(a.ResizableHandle,{}),t.jsx(a.ResizablePanel,{defaultSize:66.6667,minSize:30,children:t.jsx("div",{ref:T,role:"region","aria-label":w,className:"tw:h-full tw:overflow-y-auto tw:bg-background tw:p-4",children:q})})]}):t.jsx("div",{className:"tw:h-full tw:w-full tw:overflow-y-auto",children:D})})}function St({item:r,variant:e,showSourceLanguage:i,showTransliteration:s}){return t.jsxs(t.Fragment,{children:[e==="thumbnail"&&r.thumbnailUrl&&t.jsx("img",{src:r.thumbnailUrl,alt:r.thumbnailAlt??r.primaryText,className:"tw:h-14 tw:w-14 tw:shrink-0 tw:rounded tw:object-cover"}),t.jsxs("div",{className:"tw:flex tw:flex-1 tw:items-baseline tw:gap-4 tw:overflow-hidden",children:[t.jsx("span",{className:"tw:shrink-0 tw:truncate tw:text-sm",children:r.primaryText}),i&&r.sourceLanguageText&&t.jsxs("span",{className:"tw:truncate tw:text-sm tw:text-muted-foreground",children:[r.sourceLanguageText,s&&r.transliteration&&t.jsxs("span",{className:"tw:ml-1",children:["(",r.transliteration,")"]})]})]}),t.jsx(a.Separator,{className:"tw:absolute tw:bottom-0 tw:left-0 tw:right-0"})]})}const Et=["%sourceLanguageIndexedList_emptyState%","%sourceLanguageIndexedList_loading%","%sourceLanguageIndexedList_occurrenceCount%","%sourceLanguageIndexedList_strongsCode%","%sourceLanguageIndexedList_filterByDomain%","%sourceLanguageIndexedList_navigationModeTree%","%sourceLanguageIndexedList_navigationModeDropdown%","%sourceLanguageIndexedList_backToList%"];function Nt({scrRef:r,onClick:e,tooltipContent:i,ariaLabel:s,className:n,testId:d="linked-scr-ref-button"}){if(r==="")return;const w=t.jsx(a.Button,{type:"button",variant:"link",onClick:e,disabled:!e,"aria-label":s,className:a.cn("tw:h-auto tw:p-0 tw:text-start tw:font-mono tw:text-sm",n),"data-testid":d,children:r});return i?t.jsx(a.TooltipProvider,{delayDuration:0,children:t.jsxs(a.Tooltip,{children:[t.jsx(a.TooltipTrigger,{asChild:!0,children:w}),t.jsx(a.TooltipContent,{children:i})]})}):w}const Tt=Object.freeze(["%navigationHistory_back_tooltip%","%navigationHistory_forward_tooltip%","%navigationHistory_backList_ariaLabel%","%navigationHistory_forwardList_ariaLabel%"]),J=(r,e)=>r[e]??e;function Rt({canGoBack:r=!1,canGoForward:e=!1,backItems:i=[],forwardItems:s=[],onNavigate:n,localizedStrings:d={},showKeyboardShortcuts:w=!0,className:k,variant:f="ghost",groupClassName:o,showDivider:g=!1}){const L=a.isMacOs(),j=a.readDirection(),x=j==="rtl",[U,P]=l.useState(void 0),O=l.useRef(null),N=l.useRef(null),S=J(d,"%navigationHistory_back_tooltip%"),I=J(d,"%navigationHistory_forward_tooltip%"),y=J(d,"%navigationHistory_backList_ariaLabel%"),z=J(d,"%navigationHistory_forwardList_ariaLabel%"),[v,C]=L?["⌘[","⌘]"]:["Alt+←","Alt+→"],A=a.P("left",j)==="back"?v:C,_=A===v?C:v,T=(c,u)=>{const h=c==="back",X=h?r:e,G=h?i:s,$=h?S:I,Q=h?y:z,M=h?A:_,V=h?O:N,H=U===c,W=h!==x;return t.jsxs(a.DropdownMenu,{dir:j,open:H,onOpenChange:m=>{m||P(void 0)},children:[t.jsxs(a.Tooltip,{children:[t.jsx(a.TooltipTrigger,{asChild:!0,children:t.jsx(a.DropdownMenuTrigger,{asChild:!0,children:t.jsx("span",{className:"tw:inline-flex",onContextMenu:m=>{m.preventDefault(),G.length>0&&P(c)},children:t.jsx(a.Button,{ref:V,"aria-label":$,"aria-haspopup":"menu","aria-expanded":H,"data-testid":`navigation-history-${c}-button`,className:a.cn(u?"tw:rounded-e-none":"tw:rounded-s-none",k),size:"icon",variant:f,disabled:!X,onClick:()=>n(h?-1:1),onKeyDown:m=>{(m.key==="Enter"||m.key===" "||m.key==="ArrowDown")&&m.stopPropagation()},children:W?t.jsx(E.ArrowLeft,{}):t.jsx(E.ArrowRight,{})})})})}),t.jsx(a.TooltipContent,{children:t.jsxs("p",{children:[$,w&&t.jsxs(t.Fragment,{children:[" ",t.jsx(a.Kbd,{children:M})]})]})})]}),t.jsx(a.DropdownMenuContent,{align:"start","aria-label":Q,"aria-labelledby":void 0,onCloseAutoFocus:m=>{var Y;m.preventDefault(),(Y=V.current)==null||Y.focus()},children:G.map(m=>t.jsx(a.DropdownMenuItem,{onSelect:()=>n(m.offset),children:m.label},m.offset))})]},c)},D=x?"forward":"back",q=x?"back":"forward";return t.jsx(a.TooltipProvider,{children:t.jsxs(a.ButtonGroup,{"data-testid":"navigation-history-buttons",className:o,children:[T(D,!0),g&&t.jsx(a.ButtonGroupSeparator,{}),T(q,!1)]})})}const Lt=300,K=[{value:"Enabled",labelKey:"%paratextRegistration_description_internetUse_option_Enabled_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_Enabled_details%",isEnabled:!0},{value:"VpnRequired",labelKey:"%paratextRegistration_description_internetUse_option_VpnRequired_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_VpnRequired_details%",isEnabled:!0},{value:"Disabled",labelKey:"%paratextRegistration_description_internetUse_option_Disabled_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_Disabled_details%",isEnabled:!1},{value:"BlockInSensitiveLocations",labelKey:"%paratextRegistration_description_internetUse_option_BlockInSensitiveLocations%",descriptionKey:"%paratextRegistration_description_internetUse_option_BlockInSensitiveLocations_details%",isEnabled:!1},{value:"ProxyOnly",labelKey:"%paratextRegistration_description_internetUse_option_ProxyOnly_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_ProxyOnly_details%",isEnabled:!1}],Ut=r=>K.some(e=>e.value!=="BlockInSensitiveLocations"&&e.value===r);function lt(r){return K.some(e=>e.value===r&&e.isEnabled)}const Pt=[...K.flatMap(r=>[r.labelKey,r.descriptionKey]),"%paratextRegistration_internetUse_comingSoon%","%paratextRegistration_internetUse_unsupportedSelection_title%","%paratextRegistration_internetUse_unsupportedSelection_description%"];function It({localizedStrings:r,value:e,onChange:i,disabled:s}){const n=l.useId(),d=o=>`${n}-${o}`,w=o=>`${d(o)}-description`,k=!lt(e),f=K.find(o=>o.value===e);return t.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-1",children:[k&&t.jsxs(a.Alert,{role:"status",className:"tw:mb-2",children:[t.jsx(E.TriangleAlert,{}),t.jsx(a.AlertTitle,{children:r["%paratextRegistration_internetUse_unsupportedSelection_title%"]}),t.jsx(a.AlertDescription,{children:rt.formatReplacementString(r["%paratextRegistration_internetUse_unsupportedSelection_description%"]??"",{selectedOption:f?r[f.labelKey]??f.value:e})})]}),t.jsx(a.TooltipProvider,{delayDuration:Lt,children:t.jsx(a.RadioGroup,{value:e,onValueChange:o=>{Ut(o)&&i(o)},disabled:s,children:K.map(o=>t.jsxs("div",{className:a.cn("tw:relative tw:flex tw:w-full tw:items-start tw:gap-2 tw:rounded tw:px-2 tw:py-1.5",!s&&o.isEnabled&&"tw:hover:bg-accent"),children:[t.jsx(a.RadioGroupItem,{value:o.value,id:d(o.value),"aria-describedby":w(o.value),disabled:s||!o.isEnabled,className:"tw:mt-0.5"}),t.jsxs("div",{className:"tw:flex tw:flex-1 tw:flex-col",children:[t.jsxs("div",{className:"tw:flex tw:items-center tw:justify-between tw:gap-2",children:[t.jsxs("div",{className:"tw:flex-1 tw:text-sm",children:[t.jsx("label",{htmlFor:d(o.value),"aria-disabled":!o.isEnabled||void 0,className:a.cn("tw:font-medium tw:after:absolute tw:after:inset-0",o.isEnabled&&!s?"tw:cursor-pointer":"tw:cursor-not-allowed tw:text-muted-foreground"),children:r[o.labelKey]}),t.jsxs(a.Tooltip,{children:[t.jsx(a.TooltipTrigger,{asChild:!0,children:t.jsx(a.Button,{variant:"ghost",size:"icon","aria-label":r[o.descriptionKey],className:"tw:relative tw:ms-1 tw:size-5 tw:align-middle",children:t.jsx(E.Info,{className:"tw:size-3.5"})})}),t.jsx(a.TooltipContent,{children:r[o.descriptionKey]})]})]}),!o.isEnabled&&t.jsx(a.Badge,{variant:"muted",children:r["%paratextRegistration_internetUse_comingSoon%"]})]}),t.jsx("span",{id:w(o.value),className:"tw:sr-only",children:r[o.descriptionKey]})]})]},o.value))})})]})}const Ct=["%paratextRegistration_developer_section_label%","%paratextRegistration_label_serverType_option_Production_2%","%paratextRegistration_label_serverType_option_QualityAssurance_2%","%paratextRegistration_label_serverType_option_Development_2%","%paratextRegistration_label_serverType_option_Test_2%"],dt=[{value:"Production",labelKey:"%paratextRegistration_label_serverType_option_Production_2%",testId:"server-type-production"},{value:"QualityAssurance",labelKey:"%paratextRegistration_label_serverType_option_QualityAssurance_2%",testId:"server-type-quality-assurance"},{value:"Development",labelKey:"%paratextRegistration_label_serverType_option_Development_2%",testId:"server-type-development"},{value:"Test",labelKey:"%paratextRegistration_label_serverType_option_Test_2%",testId:"server-type-test"}],Dt=r=>dt.some(e=>e.value===r);function qt({localizedStrings:r,selectedServer:e,onServerChange:i,disabled:s}){const[n,d]=l.useState(!1),w=l.useId(),k=`${w}-header`,f=`${w}-content`,o=g=>`${w}-${g}`;return t.jsxs("div",{className:"tw:border-t tw:pt-2",children:[t.jsxs(a.Button,{id:k,variant:"ghost",size:"sm","aria-expanded":n,"aria-controls":f,className:"tw:flex tw:w-full tw:items-center tw:justify-between tw:px-2 tw:font-normal tw:text-muted-foreground",onClick:()=>d(g=>!g),children:[t.jsx("span",{children:r["%paratextRegistration_developer_section_label%"]}),t.jsx(E.ChevronDown,{className:a.cn("tw:size-4","tw:transition-transform",n&&"tw:rotate-180")})]}),t.jsx("div",{id:f,className:"tw:mt-2 tw:px-2",hidden:!n,children:t.jsx(a.RadioGroup,{"aria-labelledby":k,value:e,onValueChange:g=>{Dt(g)&&i(g)},disabled:s,children:dt.map(g=>t.jsxs("div",{className:a.cn("tw:flex tw:w-full tw:items-center tw:gap-2 tw:rounded tw:px-2 tw:py-1.5",!s&&"tw:hover:bg-accent"),children:[t.jsx(a.RadioGroupItem,{value:g.value,id:o(g.value),"data-testid":g.testId,disabled:s}),t.jsx(a.Label,{htmlFor:o(g.value),className:"tw:flex-1 tw:cursor-pointer",children:r[g.labelKey]})]},g.value))})})]})}exports.ALL_BOOK_IDS=a.lt;exports.NO_GROUPING=a.NO_GROUPING;exports.PROJECT_SELECTOR_DEFAULT_STRINGS=a.PROJECT_SELECTOR_DEFAULT_STRINGS;exports.PROJECT_SELECTOR_STRING_KEYS=a.PROJECT_SELECTOR_STRING_KEYS;exports.ProjectSelector=a.ProjectSelector;exports.Z_INDEX_TOOLTIP=a.Z_INDEX_TOOLTIP;exports.buildBuiltInGroupingStrings=a.buildBuiltInGroupingStrings;exports.buildProjectSelectorLocalizedStrings=a.buildProjectSelectorLocalizedStrings;exports.buildSelectionGroupingStrings=a.buildSelectionGroupingStrings;exports.clearPaletteSessionIfCurrent=a.clearPaletteSessionIfCurrent;exports.defaultGroupings=a.defaultGroupings;exports.filterAndRankPaletteItems=a.filterAndRankPaletteItems;exports.getAvailableBookIds=a.getAvailableBookIds;exports.getMarkerPaletteClaimedKeys=a.getMarkerPaletteClaimedKeys;exports.handleMarkerPaletteSessionKeyDown=a.handleMarkerPaletteSessionKeyDown;exports.makeBuiltInGroupings=a.makeBuiltInGroupings;exports.makeSelectionGrouping=a.makeSelectionGrouping;exports.persistDirection=a.persistDirection;exports.readDirection=a.readDirection;exports.resolveLocalizedString=a.resolveLocalizedString;exports.runMarkerPaletteSession=a.runMarkerPaletteSession;exports.stripMarkerNestingPrefix=a.stripMarkerNestingPrefix;exports.summarizeSelectedBooks=a.summarizeSelectedBooks;exports.DEVELOPER_SECTION_STRING_KEYS=Ct;exports.DeveloperSection=qt;exports.INTERNET_ACCESS_OPTION_LIST_STRING_KEYS=Pt;exports.InternetAccessOptionList=It;exports.LinkedScrRefButton=Nt;exports.NAVIGATION_HISTORY_BUTTONS_STRING_KEYS=Tt;exports.NavigationHistoryButtons=Rt;exports.RESOURCE_PICKER_DIALOG_STRING_KEYS=yt;exports.ResourcePickerDialog=zt;exports.SOURCE_LANGUAGE_INDEXED_LIST_STRING_KEYS=Et;exports.SourceLanguageIndexedList=jt;exports.buildLanguageFilterOptions=nt;exports.focusResourcePickerOnOpen=kt;exports.getResourcePickerBodyState=ct;exports.isSupportedInternetUse=lt;exports.matchesResourceType=it;exports.partitionFilterSelection=st;function Ot(r,e="top"){if(!r||typeof document>"u")return;const i=document.head||document.querySelector("head"),s=i.querySelector(":first-child"),n=document.createElement("style");n.appendChild(document.createTextNode(r)),e==="top"&&s?i.insertBefore(n,s):i.appendChild(n)}Ot(`.banded-row:hover { +"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./resizable-C1NJlIfJ.cjs"),t=require("react/jsx-runtime"),rt=require("platform-bible-utils"),E=require("lucide-react"),l=require("react");function it(r,e){return e?Array.isArray(e)?e.length===0||e.includes(r.type):r.type===e:!0}function nt(r){const e=new Map,i=new Set;return r.forEach(s=>{const n=s.bestLanguageName;e.set(n,(e.get(n)??0)+1),s.installed&&i.add(n)}),Array.from(e.entries()).sort(([s],[n])=>s.localeCompare(n)).map(([s,n])=>({label:s,value:s,starred:i.has(s),secondaryLabel:n.toString()}))}function st(r,e){const i=new Set(e.map(d=>d.value)),s=[],n=[];return r.forEach(d=>(i.has(d)?s:n).push(d)),{offered:s,held:n}}function xt(r,e=50){const[i,s]=l.useState(e),n=l.useRef(null);return l.useEffect(()=>{s(e)},[r,e]),l.useEffect(()=>{if(i>=r.length)return;const d=n.current,w=new IntersectionObserver(([k])=>{k.isIntersecting&&s(f=>Math.min(f+e,r.length))},{threshold:0});return d&&w.observe(d),()=>w.disconnect()},[i,r.length,e]),{visibleItems:r.slice(0,i),sentinelRef:n,hasMore:ir[e]??e;function at({label:r,resources:e,onSelect:i,showCheckmark:s}){if(e.length!==0)return t.jsxs(t.Fragment,{children:[t.jsx(a.TableRow,{className:"tw:border-0 tw:hover:bg-transparent",children:t.jsx(a.TableCell,{colSpan:4,className:"tw:border-0 tw:pt-4 tw:pb-0",children:t.jsx(a.Label,{className:"tw:text-xs tw:tracking-wider tw:text-muted-foreground tw:uppercase",children:r})})}),e.map(n=>t.jsxs(a.TableRow,{className:i?"tw:cursor-pointer tw:border-0":"tw:pointer-events-none tw:border-0",role:i?"button":void 0,"aria-label":i?n.displayName:void 0,onClick:i?()=>i(n):void 0,onKeyDown:i?d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),i(n))}:void 0,children:[t.jsx(a.TableCell,{className:"tw:border-0 tw:px-1 tw:py-1",children:s&&t.jsxs(t.Fragment,{children:[t.jsx(E.Check,{className:"tw:h-3.5 tw:w-3.5","aria-hidden":!0}),t.jsx("span",{className:"tw:sr-only",children:r})]})}),t.jsx(a.TableCell,{className:"tw:max-w-0 tw:truncate tw:border-0 tw:py-1 tw:pe-2 tw:text-start tw:font-normal",children:t.jsx("span",{title:n.displayName,children:n.displayName})}),t.jsx(a.TableCell,{className:"tw:max-w-0 tw:truncate tw:border-0 tw:py-1 tw:ps-2",children:t.jsx("span",{title:n.fullName,children:n.fullName})}),t.jsx(a.TableCell,{className:"tw:max-w-0 tw:truncate tw:border-0 tw:py-1 tw:ps-4 tw:text-end tw:text-muted-foreground",children:t.jsx("span",{title:n.bestLanguageName,children:n.bestLanguageName})})]},n.dblEntryUid))]})}function ct(r){return r.isResourcesLoading?"loading":r.hasNoResults?r.canClearFiltersHelp?"filteredEmpty":r.hasResourcesError?"error":r.areDownloadsUnavailable?"downloadsUnavailable":"empty":"list"}function _t(r,e){if(!e)return!0;const i=e.toLowerCase();return r.displayName.toLowerCase().includes(i)||r.fullName.toLowerCase().includes(i)||r.bestLanguageName.toLowerCase().includes(i)}function zt({allResources:r,isResourcesLoading:e,hasResourcesError:i,onRetryResources:s,areDownloadsUnavailable:n,resourceType:d,selectedResourceIds:w,notice:k,allowSelectingInstalled:f=!0,localizedStrings:o,allowDeselect:g,onSelect:L,searchInputRef:j}){const[x,U]=l.useState(""),[P,A]=l.useState([]),N=l.useRef(null),S=j??N,I=l.useCallback(()=>{var p;U(""),A([]),(p=S.current)==null||p.focus()},[S]),y=l.useMemo(()=>r.filter(p=>it(p,d)),[r,d]),z=l.useMemo(()=>nt(y),[y]),{offered:v,held:C}=l.useMemo(()=>st(P,z),[P,z]),q=l.useCallback(p=>A([...C,...p]),[C]),_=l.useMemo(()=>y.filter(p=>_t(p,x)).filter(p=>v.length===0||v.includes(p.bestLanguageName)),[y,x,v]),T=l.useMemo(()=>_.filter(p=>w==null?void 0:w.includes(p.dblEntryUid)),[_,w]),D=l.useMemo(()=>_.filter(p=>p.installed&&!(w!=null&&w.includes(p.dblEntryUid))),[_,w]),O=l.useMemo(()=>_.filter(p=>!p.installed&&!(w!=null&&w.includes(p.dblEntryUid))),[_,w]),{visibleItems:c,sentinelRef:u,hasMore:h}=xt(O),X=T.length===0&&D.length===0&&O.length===0,G=b(o,"%resourcePicker_title%"),$=b(o,"%resourcePicker_description%"),Q=b(o,"%resourcePicker_search_placeholder%"),M=b(o,"%resourcePicker_language_filter_any%"),V=b(o,"%resourcePicker_language_filter_search_placeholder%"),H=b(o,"%resourcePicker_language_filter_no_results%"),W=b(o,"%resourcePicker_section_already_selected%"),m=b(o,"%resourcePicker_section_installed%"),Y=b(o,"%resourcePicker_section_available_to_download%"),wt=b(o,"%resourcePicker_no_results%"),pt=b(o,"%resourcePicker_load_error%"),gt=b(o,"%resourcePicker_retry%"),ht=b(o,"%resourcePicker_no_results_filtered%"),ut=b(o,"%resourcePicker_clear_filters%"),vt=b(o,"%resourcePicker_downloads_unavailable%"),bt=b(o,"%resourcePicker_showing_count%"),Z=v.length>0&&y.some(p=>!v.includes(p.bestLanguageName)),et=x.length>0||Z,mt=l.useMemo(()=>{var p;return Z?v.length===1?((p=z.find(F=>F.value===v[0]))==null?void 0:p.label)??v[0]:rt.formatReplacementString(b(o,"%resourcePicker_language_filter_multipleSelected%"),{selectCount:v.length}):M},[Z,v,z,M,o]),ft=et&&y.length>0,B=!!e||!!i||y.length===0,ot=l.useRef(B);l.useEffect(()=>{const p=ot.current&&!B;if(ot.current=B,!p)return;const F=S.current;if(!F||F.disabled)return;const{activeElement:tt}=document;(!tt||tt===document.body||tt.getAttribute("data-slot")==="dialog-content")&&F.focus()},[B,S]);const R=ct({isResourcesLoading:!!e,hasResourcesError:!!i,hasNoResults:X,canClearFiltersHelp:ft,areDownloadsUnavailable:!!n});return t.jsxs(t.Fragment,{children:[t.jsxs(a.DialogHeader,{className:"tw:px-4 tw:pt-4",children:[t.jsx(a.DialogTitle,{children:G}),t.jsx(a.DialogDescription,{className:"tw:sr-only",children:$})]}),t.jsxs("div",{className:"tw:flex tw:gap-2 tw:p-4",children:[t.jsx(a.SearchBar,{ref:S,value:x,onSearch:U,placeholder:Q,isFullWidth:!0,isDisabled:B}),t.jsx(a.MultiSelectComboBox,{entries:z,selected:v,onChange:q,customSelectedText:mt,placeholder:M,searchPlaceholder:V,commandEmptyMessage:H,variant:"outline",isDisabled:B,sortSelected:!0,showScrollCue:!0})]}),t.jsx("div",{role:"status",children:k&&t.jsx(a.Alert,{role:void 0,className:"tw:mx-4 tw:mb-2 tw:w-auto tw:bg-muted tw:text-muted-foreground",children:t.jsx(a.AlertDescription,{children:k})})}),et&&(R==="list"||R==="filteredEmpty")&&t.jsx("p",{className:"tw:px-4 tw:pb-1 tw:text-end tw:text-xs tw:text-muted-foreground",children:rt.formatReplacementString(bt,{filtered:_.length,total:y.length})}),t.jsxs("div",{className:"tw:min-h-0 tw:flex-1 tw:overflow-x-hidden tw:overflow-y-auto tw:px-4 tw:pb-4",children:[R==="loading"&&t.jsx("p",{className:"tw:py-8 tw:text-center",children:t.jsx(a.Spinner,{})}),R==="error"&&t.jsx(a.RetryableErrorView,{icon:t.jsx(E.CloudOff,{}),message:pt,retryLabel:gt,onRetry:s}),R==="filteredEmpty"&&t.jsx(a.RetryableErrorView,{role:"status",icon:t.jsx(E.SearchX,{}),message:ht,retryLabel:ut,onRetry:I}),R==="downloadsUnavailable"&&t.jsx(a.RetryableErrorView,{role:"status",icon:t.jsx(E.CloudOff,{}),message:vt}),R==="empty"&&t.jsx(a.EmptyState,{className:"tw:py-8 tw:text-center",message:wt}),R==="list"&&t.jsxs(a.Table,{className:"tw:table-fixed",children:[t.jsxs("colgroup",{children:[t.jsx("col",{className:"tw:w-7"}),t.jsx("col",{className:"tw:w-1/4"}),t.jsx("col",{}),t.jsx("col",{className:"tw:w-1/6"})]}),t.jsxs(a.TableBody,{children:[t.jsx(at,{label:W,resources:T,onSelect:g?L:void 0,showCheckmark:!0}),t.jsx(at,{label:m,resources:D,onSelect:f?L:void 0}),t.jsx(at,{label:Y,resources:c,onSelect:L}),h&&t.jsx(a.TableRow,{className:"tw:border-0",children:t.jsx(a.TableCell,{colSpan:4,className:"tw:border-0 tw:p-0",children:t.jsx("div",{ref:u,"aria-hidden":!0})})})]})]})]})]})}function jt({items:r,renderItem:e,renderDetailContent:i,onItemClick:s,selectedItemId:n,emptyStateMessage:d="No items found",detailRegionLabel:w="Selected item details",isLoading:k=!1,variant:f="text",showSourceLanguage:o=!1,showTransliteration:g=!1,onCharacterPress:L,className:j}){const[x,U]=l.useState(),P=l.useRef(null),A=n??x,N=l.useMemo(()=>x?r.find(c=>c.id===x):void 0,[x,r]),S=l.useMemo(()=>r.map(c=>({id:c.id})),[r]),I=c=>{s==null||s(c),i&&U(c.id===x?void 0:c.id)},y=c=>{const u=r.find(h=>h.id===c.id);u&&I(u)},{listboxRef:z,activeId:v,handleKeyDown:C,focusOption:q}=a.useListbox({options:S,onOptionSelect:y,onCharacterPress:L}),_=()=>{const c=x;U(void 0),c&&requestAnimationFrame(()=>{var u;q(c),(u=z.current)==null||u.focus()})},T=l.useRef(null);if(l.useEffect(()=>{if(!N)return;const c=T.current;if(!c)return;const u=h=>{h.key==="Escape"&&(h.preventDefault(),_())};return c.addEventListener("keydown",u),()=>c.removeEventListener("keydown",u)},[N]),k)return t.jsx("div",{className:a.cn("tw:flex tw:flex-col tw:gap-2 tw:p-2",j),children:Array.from({length:6},(c,u)=>t.jsx(a.Skeleton,{className:a.cn("tw:h-12 tw:w-full tw:rounded",{"tw:h-20":f==="thumbnail"})},u))});if(r.length===0)return t.jsx("div",{className:a.cn("tw:flex tw:items-center tw:justify-center tw:p-8 tw:text-sm tw:text-muted-foreground",j),children:d});const D=t.jsx("ul",{role:"listbox",tabIndex:0,ref:z,"aria-activedescendant":v??void 0,className:"tw:outline-none tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background",onKeyDown:C,children:r.map(c=>{const u=A===c.id;return t.jsx("li",{id:c.id,role:"option","aria-selected":u,tabIndex:-1,onClick:()=>I(c),onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),I(c))},className:a.cn("tw:flex tw:cursor-pointer tw:items-center tw:gap-3 tw:p-2 tw:outline-none",{"tw:bg-muted":u,"tw:hover:bg-muted":!u}),children:e?e(c):t.jsx(St,{item:c,variant:f,showSourceLanguage:o,showTransliteration:g})},c.id)})}),O=i&&N?i(N,_):void 0;return t.jsx("div",{ref:P,className:a.cn("tw:relative tw:flex tw:h-full tw:overflow-hidden",j),children:O?t.jsxs(a.ResizablePanelGroup,{direction:"horizontal",className:"tw:h-full tw:w-full",children:[t.jsx(a.ResizablePanel,{defaultSize:33.3333,minSize:20,children:t.jsx("div",{className:"tw:h-full tw:overflow-y-auto",children:D})}),t.jsx(a.ResizableHandle,{}),t.jsx(a.ResizablePanel,{defaultSize:66.6667,minSize:30,children:t.jsx("div",{ref:T,role:"region","aria-label":w,className:"tw:h-full tw:overflow-y-auto tw:bg-background tw:p-4",children:O})})]}):t.jsx("div",{className:"tw:h-full tw:w-full tw:overflow-y-auto",children:D})})}function St({item:r,variant:e,showSourceLanguage:i,showTransliteration:s}){return t.jsxs(t.Fragment,{children:[e==="thumbnail"&&r.thumbnailUrl&&t.jsx("img",{src:r.thumbnailUrl,alt:r.thumbnailAlt??r.primaryText,className:"tw:h-14 tw:w-14 tw:shrink-0 tw:rounded tw:object-cover"}),t.jsxs("div",{className:"tw:flex tw:flex-1 tw:items-baseline tw:gap-4 tw:overflow-hidden",children:[t.jsx("span",{className:"tw:shrink-0 tw:truncate tw:text-sm",children:r.primaryText}),i&&r.sourceLanguageText&&t.jsxs("span",{className:"tw:truncate tw:text-sm tw:text-muted-foreground",children:[r.sourceLanguageText,s&&r.transliteration&&t.jsxs("span",{className:"tw:ml-1",children:["(",r.transliteration,")"]})]})]}),t.jsx(a.Separator,{className:"tw:absolute tw:bottom-0 tw:left-0 tw:right-0"})]})}const Et=["%sourceLanguageIndexedList_emptyState%","%sourceLanguageIndexedList_loading%","%sourceLanguageIndexedList_occurrenceCount%","%sourceLanguageIndexedList_strongsCode%","%sourceLanguageIndexedList_filterByDomain%","%sourceLanguageIndexedList_navigationModeTree%","%sourceLanguageIndexedList_navigationModeDropdown%","%sourceLanguageIndexedList_backToList%"];function Nt({scrRef:r,onClick:e,tooltipContent:i,ariaLabel:s,className:n,testId:d="linked-scr-ref-button"}){if(r==="")return;const w=t.jsx(a.Button,{type:"button",variant:"link",onClick:e,disabled:!e,"aria-label":s,className:a.cn("tw:h-auto tw:p-0 tw:text-start tw:font-mono tw:text-sm",n),"data-testid":d,children:r});return i?t.jsx(a.TooltipProvider,{delayDuration:0,children:t.jsxs(a.Tooltip,{children:[t.jsx(a.TooltipTrigger,{asChild:!0,children:w}),t.jsx(a.TooltipContent,{children:i})]})}):w}const Tt=Object.freeze(["%navigationHistory_back_tooltip%","%navigationHistory_forward_tooltip%","%navigationHistory_backList_ariaLabel%","%navigationHistory_forwardList_ariaLabel%"]),J=(r,e)=>r[e]??e;function Rt({canGoBack:r=!1,canGoForward:e=!1,backItems:i=[],forwardItems:s=[],onNavigate:n,localizedStrings:d={},showKeyboardShortcuts:w=!0,className:k,variant:f="ghost",groupClassName:o,showDivider:g=!1}){const L=a.isMacOs(),j=a.readDirection(),x=j==="rtl",[U,P]=l.useState(void 0),A=l.useRef(null),N=l.useRef(null),S=J(d,"%navigationHistory_back_tooltip%"),I=J(d,"%navigationHistory_forward_tooltip%"),y=J(d,"%navigationHistory_backList_ariaLabel%"),z=J(d,"%navigationHistory_forwardList_ariaLabel%"),[v,C]=L?["⌘[","⌘]"]:["Alt+←","Alt+→"],q=a.P("left",j)==="back"?v:C,_=q===v?C:v,T=(c,u)=>{const h=c==="back",X=h?r:e,G=h?i:s,$=h?S:I,Q=h?y:z,M=h?q:_,V=h?A:N,H=U===c,W=h!==x;return t.jsxs(a.DropdownMenu,{dir:j,open:H,onOpenChange:m=>{m||P(void 0)},children:[t.jsxs(a.Tooltip,{children:[t.jsx(a.TooltipTrigger,{asChild:!0,children:t.jsx(a.DropdownMenuTrigger,{asChild:!0,children:t.jsx("span",{className:"tw:inline-flex",onContextMenu:m=>{m.preventDefault(),G.length>0&&P(c)},children:t.jsx(a.Button,{ref:V,"aria-label":$,"aria-haspopup":"menu","aria-expanded":H,"data-testid":`navigation-history-${c}-button`,className:a.cn(u?"tw:rounded-e-none":"tw:rounded-s-none",k),size:"icon",variant:f,disabled:!X,onClick:()=>n(h?-1:1),onKeyDown:m=>{(m.key==="Enter"||m.key===" "||m.key==="ArrowDown")&&m.stopPropagation()},children:W?t.jsx(E.ArrowLeft,{}):t.jsx(E.ArrowRight,{})})})})}),t.jsx(a.TooltipContent,{children:t.jsxs("p",{children:[$,w&&t.jsxs(t.Fragment,{children:[" ",t.jsx(a.Kbd,{children:M})]})]})})]}),t.jsx(a.DropdownMenuContent,{align:"start","aria-label":Q,"aria-labelledby":void 0,onCloseAutoFocus:m=>{var Y;m.preventDefault(),(Y=V.current)==null||Y.focus()},children:G.map(m=>t.jsx(a.DropdownMenuItem,{onSelect:()=>n(m.offset),children:m.label},m.offset))})]},c)},D=x?"forward":"back",O=x?"back":"forward";return t.jsx(a.TooltipProvider,{children:t.jsxs(a.ButtonGroup,{"data-testid":"navigation-history-buttons",className:o,children:[T(D,!0),g&&t.jsx(a.ButtonGroupSeparator,{}),T(O,!1)]})})}const Lt=300,K=[{value:"Enabled",labelKey:"%paratextRegistration_description_internetUse_option_Enabled_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_Enabled_details%",isEnabled:!0},{value:"VpnRequired",labelKey:"%paratextRegistration_description_internetUse_option_VpnRequired_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_VpnRequired_details%",isEnabled:!0},{value:"Disabled",labelKey:"%paratextRegistration_description_internetUse_option_Disabled_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_Disabled_details%",isEnabled:!1},{value:"BlockInSensitiveLocations",labelKey:"%paratextRegistration_description_internetUse_option_BlockInSensitiveLocations%",descriptionKey:"%paratextRegistration_description_internetUse_option_BlockInSensitiveLocations_details%",isEnabled:!1},{value:"ProxyOnly",labelKey:"%paratextRegistration_description_internetUse_option_ProxyOnly_2%",descriptionKey:"%paratextRegistration_description_internetUse_option_ProxyOnly_details%",isEnabled:!1}],Ut=r=>K.some(e=>e.value!=="BlockInSensitiveLocations"&&e.value===r);function lt(r){return K.some(e=>e.value===r&&e.isEnabled)}const Pt=[...K.flatMap(r=>[r.labelKey,r.descriptionKey]),"%paratextRegistration_internetUse_comingSoon%","%paratextRegistration_internetUse_unsupportedSelection_title%","%paratextRegistration_internetUse_unsupportedSelection_description%"];function It({localizedStrings:r,value:e,onChange:i,disabled:s}){const n=l.useId(),d=o=>`${n}-${o}`,w=o=>`${d(o)}-description`,k=!lt(e),f=K.find(o=>o.value===e);return t.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-1",children:[k&&t.jsxs(a.Alert,{role:"status",className:"tw:mb-2",children:[t.jsx(E.TriangleAlert,{}),t.jsx(a.AlertTitle,{children:r["%paratextRegistration_internetUse_unsupportedSelection_title%"]}),t.jsx(a.AlertDescription,{children:rt.formatReplacementString(r["%paratextRegistration_internetUse_unsupportedSelection_description%"]??"",{selectedOption:f?r[f.labelKey]??f.value:e})})]}),t.jsx(a.TooltipProvider,{delayDuration:Lt,children:t.jsx(a.RadioGroup,{value:e,onValueChange:o=>{Ut(o)&&i(o)},disabled:s,children:K.map(o=>t.jsxs("div",{className:a.cn("tw:relative tw:flex tw:w-full tw:items-start tw:gap-2 tw:rounded tw:px-2 tw:py-1.5",!s&&o.isEnabled&&"tw:hover:bg-accent"),children:[t.jsx(a.RadioGroupItem,{value:o.value,id:d(o.value),"aria-describedby":w(o.value),disabled:s||!o.isEnabled,className:"tw:mt-0.5"}),t.jsxs("div",{className:"tw:flex tw:flex-1 tw:flex-col",children:[t.jsxs("div",{className:"tw:flex tw:items-center tw:justify-between tw:gap-2",children:[t.jsxs("div",{className:"tw:flex-1 tw:text-sm",children:[t.jsx("label",{htmlFor:d(o.value),"aria-disabled":!o.isEnabled||void 0,className:a.cn("tw:font-medium tw:after:absolute tw:after:inset-0",o.isEnabled&&!s?"tw:cursor-pointer":"tw:cursor-not-allowed tw:text-muted-foreground"),children:r[o.labelKey]}),t.jsxs(a.Tooltip,{children:[t.jsx(a.TooltipTrigger,{asChild:!0,children:t.jsx(a.Button,{variant:"ghost",size:"icon","aria-label":r[o.descriptionKey],className:"tw:relative tw:ms-1 tw:size-5 tw:align-middle",children:t.jsx(E.Info,{className:"tw:size-3.5"})})}),t.jsx(a.TooltipContent,{children:r[o.descriptionKey]})]})]}),!o.isEnabled&&t.jsx(a.Badge,{variant:"muted",children:r["%paratextRegistration_internetUse_comingSoon%"]})]}),t.jsx("span",{id:w(o.value),className:"tw:sr-only",children:r[o.descriptionKey]})]})]},o.value))})})]})}const Ct=["%paratextRegistration_developer_section_label%","%paratextRegistration_label_serverType_option_Production_2%","%paratextRegistration_label_serverType_option_QualityAssurance_2%","%paratextRegistration_label_serverType_option_Development_2%","%paratextRegistration_label_serverType_option_Test_2%"],dt=[{value:"Production",labelKey:"%paratextRegistration_label_serverType_option_Production_2%",testId:"server-type-production"},{value:"QualityAssurance",labelKey:"%paratextRegistration_label_serverType_option_QualityAssurance_2%",testId:"server-type-quality-assurance"},{value:"Development",labelKey:"%paratextRegistration_label_serverType_option_Development_2%",testId:"server-type-development"},{value:"Test",labelKey:"%paratextRegistration_label_serverType_option_Test_2%",testId:"server-type-test"}],Dt=r=>dt.some(e=>e.value===r);function Ot({localizedStrings:r,selectedServer:e,onServerChange:i,disabled:s}){const[n,d]=l.useState(!1),w=l.useId(),k=`${w}-header`,f=`${w}-content`,o=g=>`${w}-${g}`;return t.jsxs("div",{className:"tw:border-t tw:pt-2",children:[t.jsxs(a.Button,{id:k,variant:"ghost",size:"sm","aria-expanded":n,"aria-controls":f,className:"tw:flex tw:w-full tw:items-center tw:justify-between tw:px-2 tw:font-normal tw:text-muted-foreground",onClick:()=>d(g=>!g),children:[t.jsx("span",{children:r["%paratextRegistration_developer_section_label%"]}),t.jsx(E.ChevronDown,{className:a.cn("tw:size-4","tw:transition-transform",n&&"tw:rotate-180")})]}),t.jsx("div",{id:f,className:"tw:mt-2 tw:px-2",hidden:!n,children:t.jsx(a.RadioGroup,{"aria-labelledby":k,value:e,onValueChange:g=>{Dt(g)&&i(g)},disabled:s,children:dt.map(g=>t.jsxs("div",{className:a.cn("tw:flex tw:w-full tw:items-center tw:gap-2 tw:rounded tw:px-2 tw:py-1.5",!s&&"tw:hover:bg-accent"),children:[t.jsx(a.RadioGroupItem,{value:g.value,id:o(g.value),"data-testid":g.testId,disabled:s}),t.jsx(a.Label,{htmlFor:o(g.value),className:"tw:flex-1 tw:cursor-pointer",children:r[g.labelKey]})]},g.value))})})]})}exports.ALL_BOOK_IDS=a.lt;exports.NO_GROUPING=a.NO_GROUPING;exports.PROJECT_SELECTOR_DEFAULT_STRINGS=a.PROJECT_SELECTOR_DEFAULT_STRINGS;exports.PROJECT_SELECTOR_STRING_KEYS=a.PROJECT_SELECTOR_STRING_KEYS;exports.ProjectSelector=a.ProjectSelector;exports.Z_INDEX_TOOLTIP=a.Z_INDEX_TOOLTIP;exports.buildBuiltInGroupingStrings=a.buildBuiltInGroupingStrings;exports.buildProjectSelectorLocalizedStrings=a.buildProjectSelectorLocalizedStrings;exports.buildSelectionGroupingStrings=a.buildSelectionGroupingStrings;exports.clearPaletteSessionIfCurrent=a.clearPaletteSessionIfCurrent;exports.defaultGroupings=a.defaultGroupings;exports.filterAndRankPaletteItems=a.filterAndRankPaletteItems;exports.getAvailableBookIds=a.getAvailableBookIds;exports.getMarkerPaletteClaimedKeys=a.getMarkerPaletteClaimedKeys;exports.handleMarkerPaletteSessionKeyDown=a.handleMarkerPaletteSessionKeyDown;exports.makeBuiltInGroupings=a.makeBuiltInGroupings;exports.makeSelectionGrouping=a.makeSelectionGrouping;exports.persistDirection=a.persistDirection;exports.readDirection=a.readDirection;exports.resolveLocalizedString=a.resolveLocalizedString;exports.runMarkerPaletteSession=a.runMarkerPaletteSession;exports.stripMarkerNestingPrefix=a.stripMarkerNestingPrefix;exports.summarizeSelectedBooks=a.summarizeSelectedBooks;exports.DEVELOPER_SECTION_STRING_KEYS=Ct;exports.DeveloperSection=Ot;exports.INTERNET_ACCESS_OPTION_LIST_STRING_KEYS=Pt;exports.InternetAccessOptionList=It;exports.LinkedScrRefButton=Nt;exports.NAVIGATION_HISTORY_BUTTONS_STRING_KEYS=Tt;exports.NavigationHistoryButtons=Rt;exports.RESOURCE_PICKER_DIALOG_STRING_KEYS=yt;exports.ResourcePickerDialog=zt;exports.SOURCE_LANGUAGE_INDEXED_LIST_STRING_KEYS=Et;exports.SourceLanguageIndexedList=jt;exports.buildLanguageFilterOptions=nt;exports.focusResourcePickerOnOpen=kt;exports.getResourcePickerBodyState=ct;exports.isSupportedInternetUse=lt;exports.matchesResourceType=it;exports.partitionFilterSelection=st;function At(r,e="top"){if(!r||typeof document>"u")return;const i=document.head||document.querySelector("head"),s=i.querySelector(":first-child"),n=document.createElement("style");n.appendChild(document.createTextNode(r)),e==="top"&&s?i.insertBefore(n,s):i.appendChild(n)}At(`.banded-row:hover { cursor: pointer; } @@ -153,6 +153,6 @@ list-style-type: disclosure-open; } /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--tw-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tw-color-red-100:oklch(93.6% .032 17.717);--tw-color-red-200:oklch(88.5% .062 18.334);--tw-color-red-300:oklch(80.8% .114 19.571);--tw-color-red-400:oklch(70.4% .191 22.216);--tw-color-red-500:oklch(63.7% .237 25.331);--tw-color-red-600:oklch(57.7% .245 27.325);--tw-color-red-700:oklch(50.5% .213 27.518);--tw-color-red-800:oklch(44.4% .177 26.899);--tw-color-orange-100:oklch(95.4% .038 75.164);--tw-color-orange-800:oklch(47% .157 37.304);--tw-color-amber-200:oklch(92.4% .12 95.746);--tw-color-amber-400:oklch(82.8% .189 84.429);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-yellow-50:oklch(98.7% .026 102.212);--tw-color-yellow-100:oklch(97.3% .071 103.193);--tw-color-yellow-400:oklch(85.2% .199 91.936);--tw-color-yellow-500:oklch(79.5% .184 86.047);--tw-color-yellow-600:oklch(68.1% .162 75.834);--tw-color-yellow-700:oklch(55.4% .135 66.442);--tw-color-green-50:oklch(98.2% .018 155.826);--tw-color-green-100:oklch(96.2% .044 156.743);--tw-color-green-500:oklch(72.3% .219 149.579);--tw-color-green-600:oklch(62.7% .194 149.214);--tw-color-green-700:oklch(52.7% .154 150.069);--tw-color-green-800:oklch(44.8% .119 151.328);--tw-color-teal-400:oklch(77.7% .152 181.912);--tw-color-teal-500:oklch(70.4% .14 182.503);--tw-color-teal-600:oklch(60% .118 184.704);--tw-color-sky-400:oklch(74.6% .16 232.661);--tw-color-sky-500:oklch(68.5% .169 237.323);--tw-color-sky-600:oklch(58.8% .158 241.966);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-100:oklch(93.2% .032 255.585);--tw-color-blue-400:oklch(70.7% .165 254.624);--tw-color-blue-500:oklch(62.3% .214 259.815);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-blue-800:oklch(42.4% .199 265.638);--tw-color-indigo-200:oklch(87% .065 274.039);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-200:oklch(90.2% .063 306.703);--tw-color-purple-900:oklch(38.1% .176 304.987);--tw-color-rose-400:oklch(71.2% .194 13.428);--tw-color-rose-500:oklch(64.5% .246 16.439);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-slate-300:oklch(86.9% .022 252.894);--tw-color-slate-400:oklch(70.4% .04 256.788);--tw-color-slate-900:oklch(20.8% .042 265.755);--tw-color-gray-50:oklch(98.5% .002 247.839);--tw-color-gray-100:oklch(96.7% .003 264.542);--tw-color-gray-300:oklch(87.2% .01 258.338);--tw-color-gray-500:oklch(55.1% .027 264.364);--tw-color-gray-600:oklch(44.6% .03 256.802);--tw-color-gray-700:oklch(37.3% .034 259.733);--tw-color-gray-800:oklch(27.8% .033 256.848);--tw-color-zinc-400:oklch(70.5% .015 286.067);--tw-color-neutral-300:oklch(87% 0 0);--tw-color-black:#000;--tw-color-white:#fff;--tw-container-xs:20rem;--tw-container-sm:24rem;--tw-container-md:28rem;--tw-container-lg:32rem;--tw-container-2xl:42rem;--tw-container-3xl:48rem;--tw-container-4xl:56rem;--tw-container-6xl:72rem;--tw-text-xs:.75rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm:.875rem;--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height:calc(1.5 / 1);--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-text-xl:1.25rem;--tw-text-xl--line-height:calc(1.75 / 1.25);--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2 / 1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height:calc(2.25 / 1.875);--tw-text-4xl:2.25rem;--tw-text-4xl--line-height:calc(2.5 / 2.25);--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-normal:400;--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-font-weight-bold:700;--tw-font-weight-extrabold:800;--tw-tracking-tight:-.025em;--tw-tracking-wider:.05em;--tw-tracking-widest:.1em;--tw-leading-tight:1.25;--tw-leading-snug:1.375;--tw-leading-relaxed:1.625;--tw-leading-loose:2;--tw-radius-xs:.125rem;--tw-radius-md:calc(var(--radius) * .8);--tw-drop-shadow-sm:0 1px 2px #00000026;--tw-animate-spin:spin 1s linear infinite;--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-blur-xs:4px;--tw-blur-2xl:40px;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tw-default-font-family:"IBM Plex Sans Variable", sans-serif;--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{.pr-twp,.pr-twp *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.pr-twp,.pr-twp *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body.pr-twp{background-color:var(--background);color:var(--foreground)}html.pr-twp{font-family:IBM Plex Sans Variable,sans-serif}:where(.pr-twp,.pr-twp *),:where(.pr-twp,.pr-twp *):after,:where(.pr-twp,.pr-twp *):before,:where(.pr-twp,.pr-twp *) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.pr-twp{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tw-default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--tw-default-font-feature-settings,normal);font-variation-settings:var(--tw-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr:where(.pr-twp,.pr-twp *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(.pr-twp,.pr-twp *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(.pr-twp,.pr-twp *),h2:where(.pr-twp,.pr-twp *),h3:where(.pr-twp,.pr-twp *),h4:where(.pr-twp,.pr-twp *),h5:where(.pr-twp,.pr-twp *),h6:where(.pr-twp,.pr-twp *){font-size:inherit;font-weight:inherit}a:where(.pr-twp,.pr-twp *){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b:where(.pr-twp,.pr-twp *),strong:where(.pr-twp,.pr-twp *){font-weight:bolder}code:where(.pr-twp,.pr-twp *),kbd:where(.pr-twp,.pr-twp *),samp:where(.pr-twp,.pr-twp *),pre:where(.pr-twp,.pr-twp *){font-family:var(--tw-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-variation-settings:var(--tw-default-mono-font-variation-settings,normal);font-size:1em}small:where(.pr-twp,.pr-twp *){font-size:80%}sub:where(.pr-twp,.pr-twp *),sup:where(.pr-twp,.pr-twp *){vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub:where(.pr-twp,.pr-twp *){bottom:-.25em}sup:where(.pr-twp,.pr-twp *){top:-.5em}table:where(.pr-twp,.pr-twp *){text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(.pr-twp,.pr-twp *){outline:auto}progress:where(.pr-twp,.pr-twp *){vertical-align:baseline}summary:where(.pr-twp,.pr-twp *){display:list-item}ol:where(.pr-twp,.pr-twp *),ul:where(.pr-twp,.pr-twp *),menu:where(.pr-twp,.pr-twp *){list-style:none}img:where(.pr-twp,.pr-twp *),svg:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *),canvas:where(.pr-twp,.pr-twp *),audio:where(.pr-twp,.pr-twp *),iframe:where(.pr-twp,.pr-twp *),embed:where(.pr-twp,.pr-twp *),object:where(.pr-twp,.pr-twp *){vertical-align:middle;display:block}img:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *){max-width:100%;height:auto}button:where(.pr-twp,.pr-twp *),input:where(.pr-twp,.pr-twp *),select:where(.pr-twp,.pr-twp *),optgroup:where(.pr-twp,.pr-twp *),textarea:where(.pr-twp,.pr-twp *){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup:where(.pr-twp,.pr-twp *){font-weight:bolder}:where(select:is([multiple],[size])) optgroup option:where(.pr-twp,.pr-twp *){padding-inline-start:20px}:where(.pr-twp,.pr-twp *) ::file-selector-button{margin-inline-end:4px}:where(.pr-twp,.pr-twp *) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where(.pr-twp,.pr-twp *) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where(.pr-twp,.pr-twp *) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea:where(.pr-twp,.pr-twp *){resize:vertical}:where(.pr-twp,.pr-twp *) ::-webkit-search-decoration{-webkit-appearance:none}:where(.pr-twp,.pr-twp *) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{display:inline-flex}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-year-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-month-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-day-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-hour-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-minute-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-second-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-millisecond-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid:where(.pr-twp,.pr-twp *){box-shadow:none}button:where(.pr-twp,.pr-twp *),input:where([type=button],[type=reset],[type=submit]):where(.pr-twp,.pr-twp *){appearance:button}:where(.pr-twp,.pr-twp *) ::file-selector-button{appearance:button}:where(.pr-twp,.pr-twp *) ::-webkit-inner-spin-button{height:auto}:where(.pr-twp,.pr-twp *) ::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])):where(.pr-twp,.pr-twp *){display:none!important}}@layer components;@layer utilities{.tw\\:\\@container\\/card-header{container:card-header/inline-size}.tw\\:\\@container\\/search{container:search/inline-size}.tw\\:\\@container\\/toolbar{container:toolbar/inline-size}.tw\\:pointer-events-auto{pointer-events:auto}.tw\\:pointer-events-none{pointer-events:none}.tw\\:invisible{visibility:hidden}.tw\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\\:absolute{position:absolute}.tw\\:fixed{position:fixed}.tw\\:relative{position:relative}.tw\\:sticky{position:sticky}.tw\\:inset-0{inset:calc(calc(var(--spacing)) * 0)}.tw\\:inset-x-0{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:inset-y-0{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:inset-s-3{inset-inline-start:calc(calc(var(--spacing)) * 3)}.tw\\:start-1\\.5{inset-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:start-1\\/2{inset-inline-start:50%}.tw\\:end-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:end-1{inset-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:end-2{inset-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:end-3{inset-inline-end:calc(calc(var(--spacing)) * 3)}.tw\\:inset-e-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:-top-\\[1px\\]{top:-1px}.tw\\:top-0{top:calc(calc(var(--spacing)) * 0)}.tw\\:top-1{top:calc(calc(var(--spacing)) * 1)}.tw\\:top-1\\.5{top:calc(calc(var(--spacing)) * 1.5)}.tw\\:top-1\\/2{top:50%}.tw\\:top-1\\/3{top:33.3333%}.tw\\:top-2{top:calc(calc(var(--spacing)) * 2)}.tw\\:top-2\\.5{top:calc(calc(var(--spacing)) * 2.5)}.tw\\:top-3\\.5{top:calc(calc(var(--spacing)) * 3.5)}.tw\\:top-\\[-1px\\]{top:-1px}.tw\\:top-full{top:100%}.tw\\:-right-1{right:calc(calc(var(--spacing)) * -1)}.tw\\:right-0{right:calc(calc(var(--spacing)) * 0)}.tw\\:right-1{right:calc(calc(var(--spacing)) * 1)}.tw\\:right-3{right:calc(calc(var(--spacing)) * 3)}.tw\\:bottom-0{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:-left-\\[1px\\]{left:-1px}.tw\\:left-0{left:calc(calc(var(--spacing)) * 0)}.tw\\:left-1\\/2{left:50%}.tw\\:left-2{left:calc(calc(var(--spacing)) * 2)}.tw\\:left-3{left:calc(calc(var(--spacing)) * 3)}.tw\\:isolate{isolation:isolate}.tw\\:z-10{z-index:10}.tw\\:z-20{z-index:20}.tw\\:z-50{z-index:50}.tw\\:order-first{order:-9999}.tw\\:order-last{order:9999}.tw\\:col-span-1{grid-column:span 1/span 1}.tw\\:col-span-2{grid-column:span 2/span 2}.tw\\:col-span-3{grid-column:span 3/span 3}.tw\\:col-start-1{grid-column-start:1}.tw\\:col-start-2{grid-column-start:2}.tw\\:row-span-2{grid-row:span 2/span 2}.tw\\:row-start-1{grid-row-start:1}.tw\\:row-start-2{grid-row-start:2}.tw\\:m-0{margin:calc(calc(var(--spacing)) * 0)}.tw\\:m-1{margin:calc(calc(var(--spacing)) * 1)}.tw\\:m-2{margin:calc(calc(var(--spacing)) * 2)}.tw\\:-mx-1{margin-inline:calc(calc(var(--spacing)) * -1)}.tw\\:-mx-4{margin-inline:calc(calc(var(--spacing)) * -4)}.tw\\:mx-0{margin-inline:calc(calc(var(--spacing)) * 0)}.tw\\:mx-1{margin-inline:calc(calc(var(--spacing)) * 1)}.tw\\:mx-2{margin-inline:calc(calc(var(--spacing)) * 2)}.tw\\:mx-3\\.5{margin-inline:calc(calc(var(--spacing)) * 3.5)}.tw\\:mx-4{margin-inline:calc(calc(var(--spacing)) * 4)}.tw\\:mx-8{margin-inline:calc(calc(var(--spacing)) * 8)}.tw\\:my-1{margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:my-2\\.5{margin-block:calc(calc(var(--spacing)) * 2.5)}.tw\\:my-4{margin-block:calc(calc(var(--spacing)) * 4)}.tw\\:my-auto{margin-block:auto}.tw\\:ms-1{margin-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:ms-2{margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ms-5{margin-inline-start:calc(calc(var(--spacing)) * 5)}.tw\\:ms-6{margin-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ms-auto{margin-inline-start:auto}.tw\\:me-1{margin-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:me-2{margin-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:prose{color:var(--tw-prose-body);max-width:65ch}.tw\\:prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tw\\:prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tw\\:prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tw\\:prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tw\\:prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tw\\:prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tw\\:prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tw\\:prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tw\\:prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tw\\:prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tw\\:prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tw\\:prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tw\\:prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tw\\:prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tw\\:prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tw\\:prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tw\\:prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tw\\:prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tw\\:prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.tw\\:prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tw\\:prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tw\\:prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tw\\:prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tw\\:prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tw\\:prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tw\\:prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tw\\:prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tw\\:prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tw\\:prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tw\\:prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tw\\:prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tw\\:prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--muted-foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-invert-body:var(--foreground);--tw-prose-invert-headings:var(--foreground);--tw-prose-invert-lead:var(--muted-foreground);--tw-prose-invert-links:var(--primary);--tw-prose-invert-bold:var(--foreground);--tw-prose-invert-counters:var(--muted-foreground);--tw-prose-invert-bullets:var(--muted-foreground);--tw-prose-invert-hr:var(--border);--tw-prose-invert-quotes:var(--foreground);--tw-prose-invert-quote-borders:var(--border);--tw-prose-invert-captions:var(--muted-foreground);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--foreground);--tw-prose-invert-pre-code:var(--muted-foreground);--tw-prose-invert-pre-bg:var(--muted);--tw-prose-invert-th-borders:var(--border);--tw-prose-invert-td-borders:var(--border);font-size:1rem;line-height:1.75}.tw\\:prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.tw\\:prose :where(.tw\\:prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(.tw\\:prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.tw\\:prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.tw\\:prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(.tw\\:prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(.tw\\:prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:prose-sm{font-size:.875rem;line-height:1.71429}.tw\\:prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tw\\:prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tw\\:prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tw\\:prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tw\\:prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tw\\:prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tw\\:prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tw\\:prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tw\\:prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tw\\:prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tw\\:prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tw\\:prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tw\\:prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tw\\:prose-sm :where(.tw\\:prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(.tw\\:prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:-mt-4{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:mt-0\\.5{margin-top:calc(calc(var(--spacing)) * .5)}.tw\\:mt-1{margin-top:calc(calc(var(--spacing)) * 1)}.tw\\:mt-2{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:mt-3{margin-top:calc(calc(var(--spacing)) * 3)}.tw\\:mt-4{margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:mt-6{margin-top:calc(calc(var(--spacing)) * 6)}.tw\\:mt-auto{margin-top:auto}.tw\\:mr-1{margin-right:calc(calc(var(--spacing)) * 1)}.tw\\:mr-2{margin-right:calc(calc(var(--spacing)) * 2)}.tw\\:mr-3{margin-right:calc(calc(var(--spacing)) * 3)}.tw\\:-mb-4{margin-bottom:calc(calc(var(--spacing)) * -4)}.tw\\:mb-1{margin-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:mb-2{margin-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:mb-3{margin-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:mb-4{margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:ml-1{margin-left:calc(calc(var(--spacing)) * 1)}.tw\\:ml-2{margin-left:calc(calc(var(--spacing)) * 2)}.tw\\:ml-4{margin-left:calc(calc(var(--spacing)) * 4)}.tw\\:ml-auto{margin-left:auto}.tw\\:box-border{box-sizing:border-box}.tw\\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tw\\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tw\\:no-scrollbar::-webkit-scrollbar{display:none}.tw\\:block{display:block}.tw\\:flex{display:flex}.tw\\:grid{display:grid}.tw\\:hidden{display:none}.tw\\:inline-block{display:inline-block}.tw\\:inline-flex{display:inline-flex}.tw\\:inline-grid{display:inline-grid}.tw\\:field-sizing-content{field-sizing:content}.tw\\:aspect-square{aspect-ratio:1}.tw\\:size-2{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:size-2\\.5{width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:size-3{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:size-3\\.5{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:size-4{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:size-5{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:size-6{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:size-7{width:calc(calc(var(--spacing)) * 7);height:calc(calc(var(--spacing)) * 7)}.tw\\:size-8{width:calc(calc(var(--spacing)) * 8);height:calc(calc(var(--spacing)) * 8)}.tw\\:size-9{width:calc(calc(var(--spacing)) * 9);height:calc(calc(var(--spacing)) * 9)}.tw\\:size-10{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:size-full{width:100%;height:100%}.tw\\:h-1{height:calc(calc(var(--spacing)) * 1)}.tw\\:h-2{height:calc(calc(var(--spacing)) * 2)}.tw\\:h-3{height:calc(calc(var(--spacing)) * 3)}.tw\\:h-3\\.5{height:calc(calc(var(--spacing)) * 3.5)}.tw\\:h-4{height:calc(calc(var(--spacing)) * 4)}.tw\\:h-5{height:calc(calc(var(--spacing)) * 5)}.tw\\:h-6{height:calc(calc(var(--spacing)) * 6)}.tw\\:h-7{height:calc(calc(var(--spacing)) * 7)}.tw\\:h-8{height:calc(calc(var(--spacing)) * 8)}.tw\\:h-8\\!{height:calc(calc(var(--spacing)) * 8)!important}.tw\\:h-8\\.5{height:calc(calc(var(--spacing)) * 8.5)}.tw\\:h-9{height:calc(calc(var(--spacing)) * 9)}.tw\\:h-10{height:calc(calc(var(--spacing)) * 10)}.tw\\:h-12{height:calc(calc(var(--spacing)) * 12)}.tw\\:h-14{height:calc(calc(var(--spacing)) * 14)}.tw\\:h-20{height:calc(calc(var(--spacing)) * 20)}.tw\\:h-24{height:calc(calc(var(--spacing)) * 24)}.tw\\:h-32{height:calc(calc(var(--spacing)) * 32)}.tw\\:h-40{height:calc(calc(var(--spacing)) * 40)}.tw\\:h-64{height:calc(calc(var(--spacing)) * 64)}.tw\\:h-80{height:calc(calc(var(--spacing)) * 80)}.tw\\:h-96{height:calc(calc(var(--spacing)) * 96)}.tw\\:h-\\[5px\\]{height:5px}.tw\\:h-\\[260px\\]{height:260px}.tw\\:h-\\[300px\\]{height:300px}.tw\\:h-\\[400px\\]{height:400px}.tw\\:h-\\[600px\\]{height:600px}.tw\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.tw\\:h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.tw\\:h-auto{height:auto}.tw\\:h-full{height:100%}.tw\\:h-px{height:1px}.tw\\:h-screen{height:100vh}.tw\\:h-svh{height:100svh}.tw\\:max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.tw\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\\:max-h-\\(--radix-popover-content-available-height\\){max-height:var(--radix-popover-content-available-height)}.tw\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tw\\:max-h-5{max-height:calc(calc(var(--spacing)) * 5)}.tw\\:max-h-10{max-height:calc(calc(var(--spacing)) * 10)}.tw\\:max-h-72{max-height:calc(calc(var(--spacing)) * 72)}.tw\\:max-h-80{max-height:calc(calc(var(--spacing)) * 80)}.tw\\:max-h-\\[96\\%\\]{max-height:96%}.tw\\:max-h-\\[300px\\]{max-height:300px}.tw\\:min-h-0{min-height:calc(calc(var(--spacing)) * 0)}.tw\\:min-h-11{min-height:calc(calc(var(--spacing)) * 11)}.tw\\:min-h-16{min-height:calc(calc(var(--spacing)) * 16)}.tw\\:min-h-\\[200px\\]{min-height:200px}.tw\\:min-h-full{min-height:100%}.tw\\:min-h-svh{min-height:100svh}.tw\\:w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-\\(--sidebar-width\\){width:var(--sidebar-width)}.tw\\:w-1{width:calc(calc(var(--spacing)) * 1)}.tw\\:w-1\\/2{width:50%}.tw\\:w-1\\/4{width:25%}.tw\\:w-1\\/6{width:16.6667%}.tw\\:w-2{width:calc(calc(var(--spacing)) * 2)}.tw\\:w-3{width:calc(calc(var(--spacing)) * 3)}.tw\\:w-3\\.5{width:calc(calc(var(--spacing)) * 3.5)}.tw\\:w-3\\/4{width:75%}.tw\\:w-4{width:calc(calc(var(--spacing)) * 4)}.tw\\:w-4\\/5{width:80%}.tw\\:w-4\\/6{width:66.6667%}.tw\\:w-5{width:calc(calc(var(--spacing)) * 5)}.tw\\:w-5\\/6{width:83.3333%}.tw\\:w-6{width:calc(calc(var(--spacing)) * 6)}.tw\\:w-7{width:calc(calc(var(--spacing)) * 7)}.tw\\:w-8{width:calc(calc(var(--spacing)) * 8)}.tw\\:w-9{width:calc(calc(var(--spacing)) * 9)}.tw\\:w-9\\/12{width:75%}.tw\\:w-10{width:calc(calc(var(--spacing)) * 10)}.tw\\:w-12{width:calc(calc(var(--spacing)) * 12)}.tw\\:w-14{width:calc(calc(var(--spacing)) * 14)}.tw\\:w-20{width:calc(calc(var(--spacing)) * 20)}.tw\\:w-24{width:calc(calc(var(--spacing)) * 24)}.tw\\:w-32{width:calc(calc(var(--spacing)) * 32)}.tw\\:w-48{width:calc(calc(var(--spacing)) * 48)}.tw\\:w-56{width:calc(calc(var(--spacing)) * 56)}.tw\\:w-60{width:calc(calc(var(--spacing)) * 60)}.tw\\:w-64{width:calc(calc(var(--spacing)) * 64)}.tw\\:w-72{width:calc(calc(var(--spacing)) * 72)}.tw\\:w-80{width:calc(calc(var(--spacing)) * 80)}.tw\\:w-96{width:calc(calc(var(--spacing)) * 96)}.tw\\:w-\\[1px\\]{width:1px}.tw\\:w-\\[5px\\]{width:5px}.tw\\:w-\\[70px\\]{width:70px}.tw\\:w-\\[100px\\]{width:100px}.tw\\:w-\\[116px\\]{width:116px}.tw\\:w-\\[124px\\]{width:124px}.tw\\:w-\\[150px\\]{width:150px}.tw\\:w-\\[180px\\]{width:180px}.tw\\:w-\\[200px\\]{width:200px}.tw\\:w-\\[250px\\]{width:250px}.tw\\:w-\\[260px\\]{width:260px}.tw\\:w-\\[280px\\]{width:280px}.tw\\:w-\\[300px\\]{width:300px}.tw\\:w-\\[320px\\]{width:320px}.tw\\:w-\\[350px\\]{width:350px}.tw\\:w-\\[380px\\]{width:380px}.tw\\:w-\\[400px\\]{width:400px}.tw\\:w-\\[420px\\]{width:420px}.tw\\:w-\\[500px\\]{width:500px}.tw\\:w-\\[560px\\]{width:560px}.tw\\:w-\\[600px\\]{width:600px}.tw\\:w-\\[calc\\(100\\%-2px\\)\\]{width:calc(100% - 2px)}.tw\\:w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\]{width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-auto{width:auto}.tw\\:w-fit{width:fit-content}.tw\\:w-full{width:100%}.tw\\:w-max{width:max-content}.tw\\:w-px{width:1px}.tw\\:max-w-\\(--skeleton-width\\){max-width:var(--skeleton-width)}.tw\\:max-w-0{max-width:calc(calc(var(--spacing)) * 0)}.tw\\:max-w-2xl{max-width:var(--tw-container-2xl)}.tw\\:max-w-3xl{max-width:var(--tw-container-3xl)}.tw\\:max-w-4xl{max-width:var(--tw-container-4xl)}.tw\\:max-w-5{max-width:calc(calc(var(--spacing)) * 5)}.tw\\:max-w-6xl{max-width:var(--tw-container-6xl)}.tw\\:max-w-40{max-width:calc(calc(var(--spacing)) * 40)}.tw\\:max-w-48{max-width:calc(calc(var(--spacing)) * 48)}.tw\\:max-w-64{max-width:calc(calc(var(--spacing)) * 64)}.tw\\:max-w-96{max-width:calc(calc(var(--spacing)) * 96)}.tw\\:max-w-\\[200px\\]{max-width:200px}.tw\\:max-w-\\[220px\\]{max-width:220px}.tw\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tw\\:max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.tw\\:max-w-fit{max-width:fit-content}.tw\\:max-w-full{max-width:100%}.tw\\:max-w-lg{max-width:var(--tw-container-lg)}.tw\\:max-w-md{max-width:var(--tw-container-md)}.tw\\:max-w-none{max-width:none}.tw\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:max-w-xs{max-width:var(--tw-container-xs)}.tw\\:min-w-0{min-width:calc(calc(var(--spacing)) * 0)}.tw\\:min-w-4{min-width:calc(calc(var(--spacing)) * 4)}.tw\\:min-w-5{min-width:calc(calc(var(--spacing)) * 5)}.tw\\:min-w-7{min-width:calc(calc(var(--spacing)) * 7)}.tw\\:min-w-8{min-width:calc(calc(var(--spacing)) * 8)}.tw\\:min-w-9{min-width:calc(calc(var(--spacing)) * 9)}.tw\\:min-w-16{min-width:calc(calc(var(--spacing)) * 16)}.tw\\:min-w-32{min-width:calc(calc(var(--spacing)) * 32)}.tw\\:min-w-36{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:min-w-80{min-width:calc(calc(var(--spacing)) * 80)}.tw\\:min-w-\\[12rem\\]{min-width:12rem}.tw\\:min-w-\\[26px\\]{min-width:26px}.tw\\:min-w-\\[96px\\]{min-width:96px}.tw\\:min-w-\\[140px\\]{min-width:140px}.tw\\:min-w-\\[215px\\]{min-width:215px}.tw\\:min-w-\\[500px\\]{min-width:500px}.tw\\:min-w-min{min-width:min-content}.tw\\:flex-1{flex:1}.tw\\:shrink{flex-shrink:1}.tw\\:shrink\\!{flex-shrink:1!important}.tw\\:shrink-0{flex-shrink:0}.tw\\:shrink-\\[9999\\]{flex-shrink:9999}.tw\\:flex-grow,.tw\\:grow,.tw\\:grow-\\[1\\]{flex-grow:1}.tw\\:grow-\\[10\\]{flex-grow:10}.tw\\:basis-0{flex-basis:calc(calc(var(--spacing)) * 0)}.tw\\:table-fixed{table-layout:fixed}.tw\\:caption-bottom{caption-side:bottom}.tw\\:border-collapse{border-collapse:collapse}.tw\\:origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.tw\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\\:origin-\\(--radix-menubar-content-transform-origin\\){transform-origin:var(--radix-menubar-content-transform-origin)}.tw\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tw\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tw\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-0{--tw-translate-y:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rotate-45{rotate:45deg}.tw\\:rotate-180{rotate:180deg}.tw\\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.tw\\:animate-none\\!{animation:none!important}.tw\\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\\:animate-spin{animation:var(--tw-animate-spin)}.tw\\:cursor-default{cursor:default}.tw\\:cursor-ew-resize{cursor:ew-resize}.tw\\:cursor-not-allowed{cursor:not-allowed}.tw\\:cursor-pointer{cursor:pointer}.tw\\:cursor-text{cursor:text}.tw\\:touch-none{touch-action:none}.tw\\:resize{resize:both}.tw\\:resize-none{resize:none}.tw\\:scroll-m-20{scroll-margin:calc(calc(var(--spacing)) * 20)}.tw\\:scroll-my-1{scroll-margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:scroll-py-1{scroll-padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:list-inside{list-style-position:inside}.tw\\:list-outside{list-style-position:outside}.tw\\:\\!list-\\[lower-alpha\\]{list-style-type:lower-alpha!important}.tw\\:\\!list-\\[lower-roman\\]{list-style-type:lower-roman!important}.tw\\:\\!list-\\[upper-alpha\\]{list-style-type:upper-alpha!important}.tw\\:\\!list-\\[upper-roman\\]{list-style-type:upper-roman!important}.tw\\:\\!list-decimal{list-style-type:decimal!important}.tw\\:\\!list-disc{list-style-type:disc!important}.tw\\:list-decimal{list-style-type:decimal}.tw\\:list-disc{list-style-type:disc}.tw\\:list-none{list-style-type:none}.tw\\:grid-flow-col{grid-auto-flow:column}.tw\\:grid-flow-row{grid-auto-flow:row}.tw\\:auto-rows-min{grid-auto-rows:min-content}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw\\:grid-cols-\\[25\\%_25\\%_50\\%\\]{grid-template-columns:25% 25% 50%}.tw\\:grid-cols-\\[25\\%_50\\%_25\\%\\]{grid-template-columns:25% 50% 25%}.tw\\:grid-cols-\\[auto_auto_auto_auto\\]{grid-template-columns:auto auto auto auto}.tw\\:grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.tw\\:grid-cols-\\[min-content_min-content_1fr\\]{grid-template-columns:min-content min-content 1fr}.tw\\:grid-cols-subgrid{grid-template-columns:subgrid}.tw\\:flex-col{flex-direction:column}.tw\\:flex-col-reverse{flex-direction:column-reverse}.tw\\:flex-row{flex-direction:row}.tw\\:flex-row-reverse{flex-direction:row-reverse}.tw\\:flex-nowrap{flex-wrap:nowrap}.tw\\:flex-wrap{flex-wrap:wrap}.tw\\:place-content-center{place-content:center}.tw\\:content-center{align-content:center}.tw\\:items-baseline{align-items:baseline}.tw\\:items-center{align-items:center}.tw\\:items-end{align-items:flex-end}.tw\\:items-start{align-items:flex-start}.tw\\:items-stretch{align-items:stretch}.tw\\:justify-between{justify-content:space-between}.tw\\:justify-center{justify-content:center}.tw\\:justify-end{justify-content:flex-end}.tw\\:justify-start{justify-content:flex-start}.tw\\:gap-0{gap:calc(calc(var(--spacing)) * 0)}.tw\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:gap-1{gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-1\\.5{gap:calc(calc(var(--spacing)) * 1.5)}.tw\\:gap-1\\.5\\!{gap:calc(calc(var(--spacing)) * 1.5)!important}.tw\\:gap-2{gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-2\\.5{gap:calc(calc(var(--spacing)) * 2.5)}.tw\\:gap-3{gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-4{gap:calc(calc(var(--spacing)) * 4)}.tw\\:gap-5{gap:calc(calc(var(--spacing)) * 5)}.tw\\:gap-6{gap:calc(calc(var(--spacing)) * 6)}.tw\\:gap-8{gap:calc(calc(var(--spacing)) * 8)}.tw\\:gap-16{gap:calc(calc(var(--spacing)) * 16)}.tw\\:gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(calc(var(--spacing)) * var(--gap))}.tw\\:gap-\\[12px\\]{gap:12px}:where(.tw\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-y-reverse)))}.tw\\:gap-x-1{column-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-x-2{column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-x-3{column-gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-x-4{column-gap:calc(calc(var(--spacing)) * 4)}:where(.tw\\:-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:gap-y-1{row-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-y-2{row-gap:calc(calc(var(--spacing)) * 2)}:where(.tw\\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.tw\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.tw\\:self-start{align-self:flex-start}.tw\\:self-stretch{align-self:stretch}.tw\\:justify-self-end{justify-self:flex-end}.tw\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:overflow-auto{overflow:auto}.tw\\:overflow-clip{overflow:clip}.tw\\:overflow-hidden{overflow:hidden}.tw\\:overflow-scroll{overflow:scroll}.tw\\:overflow-visible{overflow:visible}.tw\\:overflow-x-auto{overflow-x:auto}.tw\\:overflow-x-hidden{overflow-x:hidden}.tw\\:overflow-y-auto{overflow-y:auto}.tw\\:overflow-y-hidden{overflow-y:hidden}.tw\\:rounded{border-radius:.25rem}.tw\\:rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.tw\\:rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.tw\\:rounded-\\[4px\\]{border-radius:4px}.tw\\:rounded-\\[6px\\]{border-radius:6px}.tw\\:rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,12px\\)\\]{border-radius:min(var(--tw-radius-md), 12px)}.tw\\:rounded-full{border-radius:3.40282e38px}.tw\\:rounded-lg{border-radius:var(--radius)}.tw\\:rounded-lg\\!{border-radius:var(--radius)!important}.tw\\:rounded-md{border-radius:calc(var(--radius) * .8)}.tw\\:rounded-none{border-radius:0}.tw\\:rounded-sm{border-radius:calc(var(--radius) * .6)}.tw\\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-xl\\!{border-radius:calc(var(--radius) * 1.4)!important}.tw\\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\\:rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.tw\\:rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.tw\\:rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:rounded-r-xl{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:border-s-0{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.tw\\:border-s-4{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.tw\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.tw\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tw\\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tw\\:border-none{--tw-border-style:none;border-style:none}.tw\\:border-solid{--tw-border-style:solid;border-style:solid}.tw\\:border-black{border-color:var(--tw-color-black)}.tw\\:border-blue-400{border-color:var(--tw-color-blue-400)}.tw\\:border-blue-500{border-color:var(--tw-color-blue-500)}.tw\\:border-border,.tw\\:border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.tw\\:border-destructive{border-color:var(--destructive)}.tw\\:border-foreground{border-color:var(--foreground)}.tw\\:border-gray-300{border-color:var(--tw-color-gray-300)}.tw\\:border-input,.tw\\:border-input\\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-input\\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:border-muted-foreground,.tw\\:border-muted-foreground\\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-muted-foreground\\/40{border-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.tw\\:border-primary{border-color:var(--primary)}.tw\\:border-red-300{border-color:var(--tw-color-red-300)}.tw\\:border-red-400{border-color:var(--tw-color-red-400)}.tw\\:border-red-500{border-color:var(--tw-color-red-500)}.tw\\:border-red-600{border-color:var(--tw-color-red-600)}.tw\\:border-ring{border-color:var(--ring)}.tw\\:border-sidebar-border{border-color:var(--sidebar-border)}.tw\\:border-slate-300{border-color:var(--tw-color-slate-300)}.tw\\:border-transparent{border-color:#0000}.tw\\:border-yellow-400{border-color:var(--tw-color-yellow-400)}.tw\\:border-yellow-500{border-color:var(--tw-color-yellow-500)}.tw\\:border-s-amber-200{border-inline-start-color:var(--tw-color-amber-200)}.tw\\:border-s-indigo-200{border-inline-start-color:var(--tw-color-indigo-200)}.tw\\:border-s-purple-200{border-inline-start-color:var(--tw-color-purple-200)}.tw\\:border-s-red-200{border-inline-start-color:var(--tw-color-red-200)}.tw\\:\\!bg-destructive\\/50{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.tw\\:\\!bg-destructive\\/50{background-color:color-mix(in oklab, var(--destructive) 50%, transparent)!important}}.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:bg-accent,.tw\\:bg-accent\\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-accent\\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.tw\\:bg-amber-500,.tw\\:bg-amber-500\\/5{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/5{background-color:color-mix(in oklab, var(--tw-color-amber-500) 5%, transparent)}}.tw\\:bg-amber-500\\/15{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tw-color-amber-500) 15%, transparent)}}.tw\\:bg-background,.tw\\:bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-background\\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.tw\\:bg-black\\/10{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-black\\/10{background-color:color-mix(in oklab, var(--tw-color-black) 10%, transparent)}}.tw\\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\\:bg-blue-100{background-color:var(--tw-color-blue-100)}.tw\\:bg-blue-400{background-color:var(--tw-color-blue-400)}.tw\\:bg-blue-500{background-color:var(--tw-color-blue-500)}.tw\\:bg-border{background-color:var(--border)}.tw\\:bg-card{background-color:var(--card)}.tw\\:bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:bg-foreground{background-color:var(--foreground)}.tw\\:bg-gray-50{background-color:var(--tw-color-gray-50)}.tw\\:bg-gray-100{background-color:var(--tw-color-gray-100)}.tw\\:bg-gray-500{background-color:var(--tw-color-gray-500)}.tw\\:bg-green-50{background-color:var(--tw-color-green-50)}.tw\\:bg-green-100{background-color:var(--tw-color-green-100)}.tw\\:bg-green-500{background-color:var(--tw-color-green-500)}.tw\\:bg-input,.tw\\:bg-input\\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-input\\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:bg-muted,.tw\\:bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:bg-neutral-300{background-color:var(--tw-color-neutral-300)}.tw\\:bg-orange-100{background-color:var(--tw-color-orange-100)}.tw\\:bg-popover,.tw\\:bg-popover\\/70{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-popover\\/70{background-color:color-mix(in oklab, var(--popover) 70%, transparent)}}.tw\\:bg-primary{background-color:var(--primary)}.tw\\:bg-primary-foreground{background-color:var(--primary-foreground)}.tw\\:bg-primary\\/30{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-primary\\/30{background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.tw\\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\\:bg-red-100{background-color:var(--tw-color-red-100)}.tw\\:bg-red-500{background-color:var(--tw-color-red-500)}.tw\\:bg-rose-500,.tw\\:bg-rose-500\\/5{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/5{background-color:color-mix(in oklab, var(--tw-color-rose-500) 5%, transparent)}}.tw\\:bg-rose-500\\/15{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/15{background-color:color-mix(in oklab, var(--tw-color-rose-500) 15%, transparent)}}.tw\\:bg-secondary{background-color:var(--secondary)}.tw\\:bg-sidebar{background-color:var(--sidebar)}.tw\\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.tw\\:bg-sidebar-border{background-color:var(--sidebar-border)}.tw\\:bg-sky-500,.tw\\:bg-sky-500\\/5{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/5{background-color:color-mix(in oklab, var(--tw-color-sky-500) 5%, transparent)}}.tw\\:bg-sky-500\\/15{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/15{background-color:color-mix(in oklab, var(--tw-color-sky-500) 15%, transparent)}}.tw\\:bg-teal-500,.tw\\:bg-teal-500\\/5{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/5{background-color:color-mix(in oklab, var(--tw-color-teal-500) 5%, transparent)}}.tw\\:bg-teal-500\\/15{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/15{background-color:color-mix(in oklab, var(--tw-color-teal-500) 15%, transparent)}}.tw\\:bg-transparent{background-color:#0000}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:bg-yellow-50{background-color:var(--tw-color-yellow-50)}.tw\\:bg-yellow-100{background-color:var(--tw-color-yellow-100)}.tw\\:bg-yellow-500{background-color:var(--tw-color-yellow-500)}.tw\\:bg-zinc-400{background-color:var(--tw-color-zinc-400)}.tw\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\\:from-popover{--tw-gradient-from:var(--popover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:bg-clip-padding{background-clip:padding-box}.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:fill-destructive{fill:var(--destructive)}.tw\\:fill-foreground{fill:var(--foreground)}.tw\\:fill-yellow-400,.tw\\:fill-yellow-400\\/50{fill:var(--tw-color-yellow-400)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-yellow-400\\/50{fill:color-mix(in oklab, var(--tw-color-yellow-400) 50%, transparent)}}.tw\\:object-cover{object-fit:cover}.tw\\:\\!p-4{padding:calc(calc(var(--spacing)) * 4)!important}.tw\\:p-0{padding:calc(calc(var(--spacing)) * 0)}.tw\\:p-0\\.5{padding:calc(calc(var(--spacing)) * .5)}.tw\\:p-1{padding:calc(calc(var(--spacing)) * 1)}.tw\\:p-2{padding:calc(calc(var(--spacing)) * 2)}.tw\\:p-2\\.5{padding:calc(calc(var(--spacing)) * 2.5)}.tw\\:p-3{padding:calc(calc(var(--spacing)) * 3)}.tw\\:p-4{padding:calc(calc(var(--spacing)) * 4)}.tw\\:p-6{padding:calc(calc(var(--spacing)) * 6)}.tw\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:p-\\[1px\\]{padding:1px}.tw\\:p-\\[3px\\]{padding:3px}.tw\\:p-\\[10px\\]{padding:10px}.tw\\:p-\\[16px\\]{padding:16px}.tw\\:px-0{padding-inline:calc(calc(var(--spacing)) * 0)}.tw\\:px-0\\.5{padding-inline:calc(calc(var(--spacing)) * .5)}.tw\\:px-1{padding-inline:calc(calc(var(--spacing)) * 1)}.tw\\:px-1\\.5{padding-inline:calc(calc(var(--spacing)) * 1.5)}.tw\\:px-2{padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:px-2\\.5{padding-inline:calc(calc(var(--spacing)) * 2.5)}.tw\\:px-3{padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:px-4{padding-inline:calc(calc(var(--spacing)) * 4)}.tw\\:px-6{padding-inline:calc(calc(var(--spacing)) * 6)}.tw\\:py-0{padding-block:calc(calc(var(--spacing)) * 0)}.tw\\:py-0\\.5{padding-block:calc(calc(var(--spacing)) * .5)}.tw\\:py-1{padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:py-1\\.5{padding-block:calc(calc(var(--spacing)) * 1.5)}.tw\\:py-2{padding-block:calc(calc(var(--spacing)) * 2)}.tw\\:py-3{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:py-4{padding-block:calc(calc(var(--spacing)) * 4)}.tw\\:py-6{padding-block:calc(calc(var(--spacing)) * 6)}.tw\\:py-8{padding-block:calc(calc(var(--spacing)) * 8)}.tw\\:py-\\[2px\\]{padding-block:2px}.tw\\:ps-1\\.5{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:ps-2{padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ps-2\\.5{padding-inline-start:calc(calc(var(--spacing)) * 2.5)}.tw\\:ps-4{padding-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:ps-6{padding-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ps-7{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:ps-8{padding-inline-start:calc(calc(var(--spacing)) * 8)}.tw\\:ps-9{padding-inline-start:calc(calc(var(--spacing)) * 9)}.tw\\:ps-12{padding-inline-start:calc(calc(var(--spacing)) * 12)}.tw\\:ps-\\[85px\\]{padding-inline-start:85px}.tw\\:pe-1{padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:pe-1\\.5{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:pe-2{padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:pe-4{padding-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:pe-8{padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:pe-8\\!{padding-inline-end:calc(calc(var(--spacing)) * 8)!important}.tw\\:pe-9{padding-inline-end:calc(calc(var(--spacing)) * 9)}.tw\\:pe-\\[calc\\(138px\\+1rem\\)\\]{padding-inline-end:calc(138px + 1rem)}.tw\\:pe-\\[…\\]{padding-inline-end:…}.tw\\:pt-1{padding-top:calc(calc(var(--spacing)) * 1)}.tw\\:pt-2{padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:pt-3{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:pt-4{padding-top:calc(calc(var(--spacing)) * 4)}.tw\\:pt-6{padding-top:calc(calc(var(--spacing)) * 6)}.tw\\:pr-0{padding-right:calc(calc(var(--spacing)) * 0)}.tw\\:pr-3{padding-right:calc(calc(var(--spacing)) * 3)}.tw\\:pr-4{padding-right:calc(calc(var(--spacing)) * 4)}.tw\\:pb-0{padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:pb-1{padding-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:pb-2{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:pb-3{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:pb-4{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:pb-8{padding-bottom:calc(calc(var(--spacing)) * 8)}.tw\\:pb-12{padding-bottom:calc(calc(var(--spacing)) * 12)}.tw\\:pb-16{padding-bottom:calc(calc(var(--spacing)) * 16)}.tw\\:pb-24{padding-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:pl-2{padding-left:calc(calc(var(--spacing)) * 2)}.tw\\:pl-3{padding-left:calc(calc(var(--spacing)) * 3)}.tw\\:pl-4{padding-left:calc(calc(var(--spacing)) * 4)}.tw\\:pl-5{padding-left:calc(calc(var(--spacing)) * 5)}.tw\\:pl-6{padding-left:calc(calc(var(--spacing)) * 6)}.tw\\:pl-8{padding-left:calc(calc(var(--spacing)) * 8)}.tw\\:text-center{text-align:center}.tw\\:text-end{text-align:end}.tw\\:text-left{text-align:left}.tw\\:text-right{text-align:right}.tw\\:text-start{text-align:start}.tw\\:align-middle{vertical-align:middle}.tw\\:font-heading{font-family:var(--font-sans)}.tw\\:font-mono{font-family:var(--tw-font-mono)}.tw\\:font-sans{font-family:IBM Plex Sans Variable,sans-serif}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-4xl{font-size:var(--tw-text-4xl);line-height:var(--tw-leading,var(--tw-text-4xl--line-height))}.tw\\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-sm\\/relaxed{font-size:var(--tw-text-sm);line-height:var(--tw-leading-relaxed)}.tw\\:text-xl{font-size:var(--tw-text-xl);line-height:var(--tw-leading,var(--tw-text-xl--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tw\\:leading-6{--tw-leading:calc(calc(var(--spacing)) * 6);line-height:calc(calc(var(--spacing)) * 6)}.tw\\:leading-loose{--tw-leading:var(--tw-leading-loose);line-height:var(--tw-leading-loose)}.tw\\:leading-none{--tw-leading:1;line-height:1}.tw\\:leading-relaxed{--tw-leading:var(--tw-leading-relaxed);line-height:var(--tw-leading-relaxed)}.tw\\:leading-snug{--tw-leading:var(--tw-leading-snug);line-height:var(--tw-leading-snug)}.tw\\:leading-tight{--tw-leading:var(--tw-leading-tight);line-height:var(--tw-leading-tight)}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:font-extrabold{--tw-font-weight:var(--tw-font-weight-extrabold);font-weight:var(--tw-font-weight-extrabold)}.tw\\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:tracking-tight{--tw-tracking:var(--tw-tracking-tight);letter-spacing:var(--tw-tracking-tight)}.tw\\:tracking-wider{--tw-tracking:var(--tw-tracking-wider);letter-spacing:var(--tw-tracking-wider)}.tw\\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\\:text-balance{text-wrap:balance}.tw\\:text-nowrap{text-wrap:nowrap}.tw\\:break-words{overflow-wrap:break-word}.tw\\:text-clip{text-overflow:clip}.tw\\:text-ellipsis{text-overflow:ellipsis}.tw\\:whitespace-normal{white-space:normal}.tw\\:whitespace-nowrap{white-space:nowrap}.tw\\:whitespace-pre{white-space:pre}.tw\\:whitespace-pre-line{white-space:pre-line}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:\\[color\\:blue\\]{color:#00f}.tw\\:text-accent-foreground{color:var(--accent-foreground)}.tw\\:text-amber-600{color:var(--tw-color-amber-600)}.tw\\:text-background{color:var(--background)}.tw\\:text-blue-400{color:var(--tw-color-blue-400)}.tw\\:text-blue-500{color:var(--tw-color-blue-500)}.tw\\:text-blue-600{color:var(--tw-color-blue-600)}.tw\\:text-blue-800{color:var(--tw-color-blue-800)}.tw\\:text-card-foreground{color:var(--card-foreground)}.tw\\:text-current{color:currentColor}.tw\\:text-destructive{color:var(--destructive)}.tw\\:text-foreground{color:var(--foreground)}.tw\\:text-foreground\\!{color:var(--foreground)!important}.tw\\:text-foreground\\/30{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/30{color:color-mix(in oklab, var(--foreground) 30%, transparent)}}.tw\\:text-foreground\\/50{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/50{color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.tw\\:text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.tw\\:text-foreground\\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.tw\\:text-gray-300{color:var(--tw-color-gray-300)}.tw\\:text-gray-500{color:var(--tw-color-gray-500)}.tw\\:text-gray-600{color:var(--tw-color-gray-600)}.tw\\:text-gray-700{color:var(--tw-color-gray-700)}.tw\\:text-gray-800{color:var(--tw-color-gray-800)}.tw\\:text-green-600{color:var(--tw-color-green-600)}.tw\\:text-green-700{color:var(--tw-color-green-700)}.tw\\:text-green-800{color:var(--tw-color-green-800)}.tw\\:text-inherit{color:inherit}.tw\\:text-muted-foreground,.tw\\:text-muted-foreground\\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-muted-foreground\\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:text-orange-800{color:var(--tw-color-orange-800)}.tw\\:text-popover-foreground{color:var(--popover-foreground)}.tw\\:text-primary{color:var(--primary)}.tw\\:text-primary-foreground{color:var(--primary-foreground)}.tw\\:text-purple-900{color:var(--tw-color-purple-900)}.tw\\:text-red-500{color:var(--tw-color-red-500)}.tw\\:text-red-600{color:var(--tw-color-red-600)}.tw\\:text-red-700{color:var(--tw-color-red-700)}.tw\\:text-red-800{color:var(--tw-color-red-800)}.tw\\:text-rose-600{color:var(--tw-color-rose-600)}.tw\\:text-secondary-foreground{color:var(--secondary-foreground)}.tw\\:text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.tw\\:text-sidebar-foreground,.tw\\:text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.tw\\:text-sky-600{color:var(--tw-color-sky-600)}.tw\\:text-slate-900{color:var(--tw-color-slate-900)}.tw\\:text-teal-600{color:var(--tw-color-teal-600)}.tw\\:text-white{color:var(--tw-color-white)}.tw\\:text-yellow-400{color:var(--tw-color-yellow-400)}.tw\\:text-yellow-600{color:var(--tw-color-yellow-600)}.tw\\:text-yellow-700{color:var(--tw-color-yellow-700)}.tw\\:capitalize{text-transform:capitalize}.tw\\:uppercase{text-transform:uppercase}.tw\\:italic{font-style:italic}.tw\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tw\\:line-through{text-decoration-line:line-through}.tw\\:underline{text-decoration-line:underline}.tw\\:decoration-destructive{-webkit-text-decoration-color:var(--destructive);-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.tw\\:underline-offset-4{text-underline-offset:4px}.tw\\:opacity-0{opacity:0}.tw\\:opacity-40{opacity:.4}.tw\\:opacity-50{opacity:.5}.tw\\:opacity-60{opacity:.6}.tw\\:opacity-100{opacity:1}.tw\\:bg-blend-color{background-blend-mode:color}.tw\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none\\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tw\\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-background{--tw-ring-color:var(--background)}.tw\\:ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.tw\\:ring-primary{--tw-ring-color:var(--primary)}.tw\\:ring-ring\\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-ring\\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.tw\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:ring-offset-background{--tw-ring-offset-color:var(--background)}.tw\\:ring-offset-white{--tw-ring-offset-color:var(--tw-color-white)}.tw\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\\:drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--tw-drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tw\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-none{transition-property:none}.tw\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tw\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.tw\\:prose-quoteless :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose-quoteless :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:outline-none{--tw-outline-style:none;outline-style:none}.tw\\:select-none{-webkit-user-select:none;user-select:none}.tw\\:\\[unicode-bidi\\:plaintext\\]{unicode-bidi:plaintext}.tw\\:group-focus-within\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.tw\\:group-hover\\:visible:is(:where(.tw\\:group):hover *){visibility:visible}.tw\\:group-hover\\:hidden:is(:where(.tw\\:group):hover *){display:none}.tw\\:group-hover\\:opacity-100:is(:where(.tw\\:group):hover *),.tw\\:group-hover\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):hover *){opacity:1}}.tw\\:group-focus\\/context-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/context-menu-item):focus *),.tw\\:group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/dropdown-menu-item):focus *),.tw\\:group-focus\\/menubar-item\\:text-accent-foreground:is(:where(.tw\\:group\\/menubar-item):focus *){color:var(--accent-foreground)}.tw\\:group-has-disabled\\/field\\:opacity-50:is(:where(.tw\\:group\\/field):has(:disabled) *){opacity:.5}.tw\\:group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pe-8:is(:where(.tw\\:group\\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:size-10:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *){width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:size-6:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *){width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:group-has-data-\\[slot\\=command-shortcut\\]\\/command-item\\:hidden:is(:where(.tw\\:group\\/command-item):has([data-slot=command-shortcut]) *){display:none}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.tw\\:group\\/alert):has(>svg) *){grid-column-start:2}.tw\\:group-data-\\[checked\\=true\\]\\/command-item\\:opacity-100:is(:where(.tw\\:group\\/command-item)[data-checked=true] *){opacity:1}.tw\\:group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.tw\\:group)[data-collapsible=icon] *){margin-top:calc(calc(var(--spacing)) * -8)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){display:none}.tw\\:group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(calc(var(--spacing)) * 8)!important;height:calc(calc(var(--spacing)) * 8)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\):is(:where(.tw\\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)))}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)) + 2px)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){overflow:hidden}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 0)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 2)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.tw\\:group)[data-collapsible=icon] *){opacity:0}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){width:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tw\\:group)[data-disabled=true] *){pointer-events:none}.tw\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tw\\:group)[data-disabled=true] *),.tw\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.tw\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.tw\\:group-data-\\[side\\=primary\\]\\:-right-4:is(:where(.tw\\:group)[data-side=primary] *){right:calc(calc(var(--spacing)) * -4)}.tw\\:group-data-\\[side\\=primary\\]\\:border-e:is(:where(.tw\\:group)[data-side=primary] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:group-data-\\[side\\=secondary\\]\\:left-0:is(:where(.tw\\:group)[data-side=secondary] *){left:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[side\\=secondary\\]\\:rotate-180:is(:where(.tw\\:group)[data-side=secondary] *){rotate:180deg}.tw\\:group-data-\\[side\\=secondary\\]\\:border-s:is(:where(.tw\\:group)[data-side=secondary] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:size-2\\.5:is(:where(.tw\\:group\\/avatar)[data-size=default] *){width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:size-4:is(:where(.tw\\:group\\/switch)[data-size=default] *){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:size-3:is(:where(.tw\\:group\\/avatar)[data-size=lg] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:text-xs:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.tw\\:group\\/card)[data-size=sm] *){font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:size-3:is(:where(.tw\\:group\\/switch)[data-size=sm] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){border-radius:0}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.tw\\:group)[data-variant=floating] *){border-radius:var(--radius)}.tw\\:group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.tw\\:group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mt-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){text-align:center}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:me-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:ms-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mb-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.tw\\:group-data-selected\\/command-item\\:text-foreground:is(:where(.tw\\:group\\/command-item):where([data-selected=true]) *){color:var(--foreground)}.tw\\:group-data-horizontal\\/tabs\\:h-8:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *){height:calc(calc(var(--spacing)) * 8)}.tw\\:group-data-vertical\\/tabs\\:h-fit:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.tw\\:group-data-vertical\\/tabs\\:w-full:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){width:100%}.tw\\:group-data-vertical\\/tabs\\:flex-col:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.tw\\:group-data-vertical\\/tabs\\:justify-start:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.tw\\:peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.tw\\:peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}.tw\\:peer-focus\\:group-hover\\:text-blue-500:is(:where(.tw\\:peer):focus~*):is(:where(.tw\\:group):hover *){color:var(--tw-color-blue-500)}}.tw\\:peer-disabled\\:cursor-not-allowed:is(:where(.tw\\:peer):disabled~*){cursor:not-allowed}.tw\\:peer-disabled\\:opacity-50:is(:where(.tw\\:peer):disabled~*){opacity:.5}.tw\\:peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=default]~*){top:calc(calc(var(--spacing)) * 1.5)}.tw\\:peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=lg]~*){top:calc(calc(var(--spacing)) * 2.5)}.tw\\:peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.tw\\:peer\\/menu-button)[data-size=sm]~*){top:calc(calc(var(--spacing)) * 1)}.tw\\:peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.tw\\:peer\\/menu-button):where([data-state=active]),:where(.tw\\:peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.tw\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tw\\:file\\:h-6::file-selector-button{height:calc(calc(var(--spacing)) * 6)}.tw\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tw\\:file\\:text-sm::file-selector-button{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:file\\:text-foreground::file-selector-button{color:var(--foreground)}.tw\\:placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.tw\\:placeholder\\:text-slate-400::placeholder{color:var(--tw-color-slate-400)}.tw\\:before\\:absolute:before{content:var(--tw-content);position:absolute}.tw\\:before\\:top-0\\.5:before{content:var(--tw-content);top:calc(calc(var(--spacing)) * .5)}.tw\\:before\\:left-0:before{content:var(--tw-content);left:calc(calc(var(--spacing)) * 0)}.tw\\:before\\:block:before{content:var(--tw-content);display:block}.tw\\:before\\:hidden:before{content:var(--tw-content);display:none}.tw\\:before\\:h-4:before{content:var(--tw-content);height:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:w-4:before{content:var(--tw-content);width:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:cursor-pointer:before{content:var(--tw-content);cursor:pointer}.tw\\:before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.tw\\:before\\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:before\\:border-primary:before{content:var(--tw-content);border-color:var(--primary)}.tw\\:before\\:bg-primary:before{content:var(--tw-content);background-color:var(--primary)}.tw\\:before\\:bg-cover:before{content:var(--tw-content);background-size:cover}.tw\\:before\\:bg-no-repeat:before{content:var(--tw-content);background-repeat:no-repeat}.tw\\:before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.tw\\:before\\:content-\\[\\\\\\"\\\\\\"\\]:before{--tw-content:\\"\\";content:var(--tw-content)}.tw\\:after\\:absolute:after{content:var(--tw-content);position:absolute}.tw\\:after\\:-inset-2:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-0:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * -3)}.tw\\:after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.tw\\:after\\:top-\\[6px\\]:after{content:var(--tw-content);top:6px}.tw\\:after\\:right-\\[7px\\]:after{content:var(--tw-content);right:7px}.tw\\:after\\:left-\\[7px\\]:after{content:var(--tw-content);left:7px}.tw\\:after\\:block:after{content:var(--tw-content);display:block}.tw\\:after\\:hidden:after{content:var(--tw-content);display:none}.tw\\:after\\:h-0\\.5:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:after\\:h-\\[6px\\]:after{content:var(--tw-content);height:6px}.tw\\:after\\:w-1:after{content:var(--tw-content);width:calc(calc(var(--spacing)) * 1)}.tw\\:after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.tw\\:after\\:w-\\[3px\\]:after{content:var(--tw-content);width:3px}.tw\\:after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:after\\:rotate-45:after{content:var(--tw-content);rotate:45deg}.tw\\:after\\:cursor-pointer:after{content:var(--tw-content);cursor:pointer}.tw\\:after\\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.tw\\:after\\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:after\\:border-t-0:after{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:after\\:border-r-2:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.tw\\:after\\:border-b-2:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.tw\\:after\\:border-l-0:after{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:0}.tw\\:after\\:border-solid:after{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.tw\\:after\\:border-border:after{content:var(--tw-content);border-color:var(--border)}.tw\\:after\\:border-white:after{content:var(--tw-content);border-color:var(--tw-color-white)}.tw\\:after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.tw\\:after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.tw\\:after\\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\\:after\\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.tw\\:after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.tw\\:after\\:content-\\[\\\\\\"\\\\\\"\\]:after{--tw-content:\\"\\";content:var(--tw-content)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:after\\:start-full:is(:where(.tw\\:group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.tw\\:group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.tw\\:group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-vertical\\/tabs\\:after\\:-end-1:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-inline-end:calc(calc(var(--spacing)) * -1)}.tw\\:group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(calc(var(--spacing)) * .5)}.tw\\:first\\:mt-0:first-child{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:even\\:bg-muted:nth-child(2n){background-color:var(--muted)}.tw\\:focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.tw\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover:hover){.tw\\:hover\\:-mt-4:hover{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:hover\\:cursor-pointer:hover{cursor:pointer}.tw\\:hover\\:bg-accent:hover,.tw\\:hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.tw\\:hover\\:bg-accent\\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.tw\\:hover\\:bg-blue-600:hover{background-color:var(--tw-color-blue-600)}.tw\\:hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:hover\\:bg-gray-50:hover{background-color:var(--tw-color-gray-50)}.tw\\:hover\\:bg-input:hover{background-color:var(--input)}.tw\\:hover\\:bg-muted:hover,.tw\\:hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:hover\\:bg-muted\\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.tw\\:hover\\:bg-primary\\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.tw\\:hover\\:bg-primary\\/70:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/70:hover{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.tw\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.tw\\:hover\\:bg-red-500:hover{background-color:var(--tw-color-red-500)}.tw\\:hover\\:bg-secondary:hover,.tw\\:hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.tw\\:hover\\:bg-transparent:hover{background-color:#0000}.tw\\:hover\\:text-foreground:hover{color:var(--foreground)}.tw\\:hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.tw\\:hover\\:text-primary-foreground:hover{color:var(--primary-foreground)}.tw\\:hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.tw\\:hover\\:underline:hover{text-decoration-line:underline}.tw\\:hover\\:opacity-80:hover{opacity:.8}.tw\\:hover\\:opacity-100:hover{opacity:1}.tw\\:hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:ring-3:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.tw\\:hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.tw\\:focus\\:relative:focus{position:relative}.tw\\:focus\\:z-10:focus{z-index:10}.tw\\:focus\\:bg-accent:focus{background-color:var(--accent)}.tw\\:focus\\:bg-muted:focus{background-color:var(--muted)}.tw\\:focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.tw\\:focus\\:text-foreground:focus{color:var(--foreground)}.tw\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.tw\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus\\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.tw\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}:is(.tw\\:focus\\:\\*\\*\\:text-accent-foreground:focus *),:is(.tw\\:not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.tw\\:focus-visible\\:relative:focus-visible{position:relative}.tw\\:focus-visible\\:z-10:focus-visible{z-index:10}.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.tw\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-3:focus-visible,.tw\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-\\[color\\:hsl\\(240\\,5\\%\\,64\\.9\\%\\)\\]:focus-visible{--tw-ring-color:#a1a1aa}.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:focus-visible\\:ring-ring:focus-visible,.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:focus-visible\\:ring-slate-400:focus-visible{--tw-ring-color:var(--tw-color-slate-400)}.tw\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.tw\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.tw\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}:is(.tw\\:\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.tw\\:\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.tw\\:active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.tw\\:active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.tw\\:active\\:ring-3:active{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:transform-\\[translateY\\(1px\\)\\]:active:not([aria-haspopup]){transform:translateY(1px)}.tw\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tw\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\\:disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:disabled\\:bg-transparent:disabled{background-color:#0000}.tw\\:disabled\\:opacity-50:disabled{opacity:.5}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-side=primary]) .tw\\:in-data-\\[side\\=primary\\]\\:cursor-w-resize{cursor:w-resize}:where([data-side=secondary]) .tw\\:in-data-\\[side\\=secondary\\]\\:cursor-e-resize{cursor:e-resize}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-slot=button-group]) .tw\\:in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-slot=dialog-content]) .tw\\:in-data-\\[slot\\=dialog-content\\]\\:rounded-lg\\!{border-radius:var(--radius)!important}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-background{color:var(--background)}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-destructive{color:var(--destructive)}.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:has-disabled\\:opacity-50:has(:disabled){opacity:.5}.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-2:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-2:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.tw\\:has-data-\\[slot\\=alert-action\\]\\:pe-18:has([data-slot=alert-action]){padding-inline-end:calc(calc(var(--spacing)) * 18)}.tw\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\\:has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.tw\\:has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-0:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-1\\.5:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.tw\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>button\\]\\:ms-\\[-0\\.3rem\\]:has(>button){margin-inline-start:-.3rem}.tw\\:has-\\[\\>button\\]\\:me-\\[-0\\.3rem\\]:has(>button){margin-inline-end:-.3rem}.tw\\:has-\\[\\>img\\]\\:grid-cols-\\[auto_1fr\\]:has(>img){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>img\\]\\:gap-x-2:has(>img){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>kbd\\]\\:ms-\\[-0\\.15rem\\]:has(>kbd){margin-inline-start:-.15rem}.tw\\:has-\\[\\>kbd\\]\\:me-\\[-0\\.15rem\\]:has(>kbd){margin-inline-end:-.15rem}.tw\\:has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.tw\\:aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.tw\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tw\\:aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.tw\\:aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.tw\\:aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.tw\\:aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.tw\\:aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.tw\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.tw\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.tw\\:aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:h-px[aria-orientation=horizontal]{height:1px}.tw\\:aria-\\[orientation\\=horizontal\\]\\:w-full[aria-orientation=horizontal]{width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:start-0[aria-orientation=horizontal]:after{content:var(--tw-content);inset-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * 1)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-y-1\\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=vertical\\]\\:flex-col[aria-orientation=vertical]{flex-direction:column}.tw\\:data-inset\\:ps-7[data-inset]{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.tw\\:data-quiet-focus\\:focus-visible\\:border-transparent[data-quiet-focus]:focus-visible{border-color:#0000}.tw\\:data-quiet-focus\\:focus-visible\\:ring-0[data-quiet-focus]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-quiet-focus\\:focus-visible\\:outline-none[data-quiet-focus]:focus-visible{--tw-outline-style:none;outline-style:none}.tw\\:data-\\[align-trigger\\=false\\]\\:min-w-36[data-align-trigger=false]{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:data-\\[align-trigger\\=true\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-align-trigger=true]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.tw\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tw\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tw\\:data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.tw\\:data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.tw\\:data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\\:data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(calc(var(--spacing)) * 8)}.tw\\:data-\\[size\\=default\\]\\:h-\\[18\\.4px\\][data-size=default]{height:18.4px}.tw\\:data-\\[size\\=default\\]\\:w-\\[32px\\][data-size=default]{width:32px}.tw\\:data-\\[size\\=lg\\]\\:size-10[data-size=lg]{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:data-\\[size\\=sm\\]\\:size-6[data-size=sm]{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(calc(var(--spacing)) * 7)}.tw\\:data-\\[size\\=sm\\]\\:h-\\[14px\\][data-size=sm]{height:14px}.tw\\:data-\\[size\\=sm\\]\\:w-\\[24px\\][data-size=sm]{width:24px}.tw\\:data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.tw\\:\\*\\:data-\\[slot\\=input-group-addon\\]\\:ps-2\\!>*)[data-slot=input-group-addon]{padding-inline-start:calc(calc(var(--spacing)) * 2)!important}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:relative *)[data-slot=kbd]{position:relative}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:z-50 *)[data-slot=kbd]{z-index:50}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex-1>*)[data-slot=select-value]{flex:1}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:text-start>*)[data-slot=select-value]{text-align:start}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-s-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-e-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.tw\\:data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.tw\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.tw\\:data-\\[state\\=delayed-open\\]\\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-\\[state\\=delayed-open\\]\\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.tw\\:data-\\[state\\=delayed-open\\]\\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-approved\\)\\][data-state=on]{background-color:var(--inv-soft-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unapproved\\)\\][data-state=on]{background-color:var(--inv-soft-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unknown\\)\\][data-state=on]{background-color:var(--inv-soft-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-approved\\)\\][data-state=on]{background-color:var(--inv-vivid-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unapproved\\)\\][data-state=on]{background-color:var(--inv-vivid-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unknown\\)\\][data-state=on]{background-color:var(--inv-vivid-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-muted[data-state=on]{background-color:var(--muted)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-approved\\)\\][data-state=on]{color:var(--inv-icon-approved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unapproved\\)\\][data-state=on]{color:var(--inv-icon-unapproved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unknown\\)\\][data-state=on]{color:var(--inv-icon-unknown)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-on\\)\\][data-state=on]{color:var(--inv-on)}.tw\\:data-\\[state\\=on\\]\\:text-foreground[data-state=on]{color:var(--foreground)}.tw\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.tw\\:data-\\[state\\=open\\]\\:bg-muted[data-state=open]{background-color:var(--muted)}.tw\\:data-\\[state\\=open\\]\\:text-foreground[data-state=open]{color:var(--foreground)}.tw\\:data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.tw\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}:is(:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:\\*\\*\\:text-accent-foreground\\! *)[data-variant=destructive] *),:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:text-accent-foreground\\! *)[data-variant=destructive]{color:var(--accent-foreground)!important}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}.tw\\:data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-s-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-s:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-xl[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:flex-row[data-vaul-drawer-direction=left]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:rounded-r-xl[data-vaul-drawer-direction=left]{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\/right\\]\\:flex-row[data-vaul-drawer-direction=left\\/right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:flex-row[data-vaul-drawer-direction=right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:rounded-l-xl[data-vaul-drawer-direction=right]{border-top-left-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-xl[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.tw\\:supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--tw-blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.tw\\:sm\\:flex{display:flex}.tw\\:sm\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:sm\\:flex-row{flex-direction:row}.tw\\:sm\\:justify-end{justify-content:flex-end}.tw\\:sm\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:sm\\:text-start{text-align:start}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--tw-container-sm)}}@media (min-width:48rem){.tw\\:md\\:block{display:block}.tw\\:md\\:flex{display:flex}.tw\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:md\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:md\\:text-start{text-align:start}.tw\\:md\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:md\\:text-pretty{text-wrap:pretty}.tw\\:md\\:opacity-0{opacity:0}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.tw\\:peer)[data-variant=inset]~*){margin:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:ms-0:is(:where(.tw\\:peer)[data-variant=inset]~*){margin-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.tw\\:peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.tw\\:peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ms-2:is(:where(.tw\\:peer)[data-variant=inset]~*):is(:where(.tw\\:peer)[data-state=collapsed]~*){margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.tw\\:lg\\:flex{display:flex}.tw\\:lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tw\\:lg\\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:lg\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}}@media (min-width:48rem){@media (min-width:64rem){.tw\\:md\\:lg\\:hidden{display:none}}}@media (min-width:80rem){.tw\\:xl\\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.tw\\:xl\\:grid-flow-col{grid-auto-flow:column}.tw\\:xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:xl\\:grid-cols-none{grid-template-columns:none}.tw\\:xl\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}}@container search not (min-width:7rem){.tw\\:\\@max-\\[7rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[7rem\\]\\/search\\:ps-3{padding-inline-start:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:4rem){.tw\\:\\@max-\\[4rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[4rem\\]\\/search\\:pe-3{padding-inline-end:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:3rem){.tw\\:\\@max-\\[3rem\\]\\/search\\:ps-0{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\@max-\\[3rem\\]\\/search\\:pe-0{padding-inline-end:calc(calc(var(--spacing)) * 0)}}@container (min-width:24rem){.tw\\:\\@sm\\:basis-auto{flex-basis:auto}}.tw\\:ltr\\:left-2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){left:calc(calc(var(--spacing)) * 2)}.tw\\:ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:right-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:calc(calc(var(--spacing)) * 2)}.tw\\:rtl\\:flex:where(:dir(rtl),[dir=rtl],[dir=rtl] *){display:flex}.tw\\:rtl\\:-translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:after\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=primary]) .tw\\:rtl\\:in-data-\\[side\\=primary\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=secondary]) .tw\\:rtl\\:in-data-\\[side\\=secondary\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}.tw\\:rtl\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=left\\]\\:translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=right\\]\\:-translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:border-input:is(.dark *){border-color:var(--input)}.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:bg-transparent:is(.dark *){background-color:#0000}.tw\\:dark\\:text-amber-400:is(.dark *){color:var(--tw-color-amber-400)}.tw\\:dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.tw\\:dark\\:text-rose-400:is(.dark *){color:var(--tw-color-rose-400)}.tw\\:dark\\:text-sky-400:is(.dark *){color:var(--tw-color-sky-400)}.tw\\:dark\\:text-teal-400:is(.dark *){color:var(--tw-color-teal-400)}.tw\\:dark\\:after\\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.tw\\:dark\\:hover\\:bg-blue-500:is(.dark *):hover{background-color:var(--tw-color-blue-500)}.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:data-open\\:animate-in:where([data-state=open]),.tw\\:data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-open\\:bg-accent:where([data-state=open]),.tw\\:data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.tw\\:data-open\\:text-accent-foreground:where([data-state=open]),.tw\\:data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.tw\\:data-open\\:fade-in-0:where([data-state=open]),.tw\\:data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.tw\\:data-open\\:zoom-in-95:where([data-state=open]),.tw\\:data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.tw\\:data-closed\\:animate-out:where([data-state=closed]),.tw\\:data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-closed\\:fade-out-0:where([data-state=closed]),.tw\\:data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.tw\\:data-closed\\:zoom-out-95:where([data-state=closed]),.tw\\:data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.tw\\:data-checked\\:border-primary:where([data-state=checked]),.tw\\:data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.tw\\:data-checked\\:bg-primary:where([data-state=checked]),.tw\\:data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:data-checked\\:text-primary-foreground:where([data-state=checked]),.tw\\:data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(calc(100% - 2px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.tw\\:data-unchecked\\:bg-input:where([data-state=unchecked]),.tw\\:data-unchecked\\:bg-input:where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--foreground)}.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:data-selected\\:bg-muted:where([data-selected=true]),.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:data-selected\\:bg-primary:where([data-selected=true]){background-color:var(--primary)}.tw\\:data-selected\\:bg-transparent:where([data-selected=true]){background-color:#0000}.tw\\:data-selected\\:text-foreground:where([data-selected=true]){color:var(--foreground)}.tw\\:data-selected\\:text-inherit:where([data-selected=true]){color:inherit}.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:data-selected\\:text-primary-foreground:where([data-selected=true]){color:var(--primary-foreground)}.tw\\:data-selected\\:ring-2:where([data-selected=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:data-selected\\:ring-inset:where([data-selected=true]){--tw-ring-inset:inset}@media (forced-colors:active){.tw\\:forced-colors\\:data-selected\\:outline-2:where([data-selected=true]){outline-style:var(--tw-outline-style);outline-width:2px}.tw\\:forced-colors\\:data-selected\\:-outline-offset-2:where([data-selected=true]){outline-offset:calc(2px * -1)}.tw\\:forced-colors\\:data-selected\\:outline-\\[color\\:Highlight\\]:where([data-selected=true]){outline-color:highlight}}.tw\\:data-disabled\\:pointer-events-none:where([data-disabled=true]),.tw\\:data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled=true]),.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.tw\\:data-disabled\\:opacity-50:where([data-disabled=true]),.tw\\:data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.tw\\:data-active\\:bg-background:where([data-state=active]),.tw\\:data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.tw\\:data-active\\:bg-sidebar-accent:where([data-state=active]),.tw\\:data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.tw\\:data-active\\:font-medium:where([data-state=active]),.tw\\:data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:data-active\\:text-foreground:where([data-state=active]),.tw\\:data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.tw\\:data-horizontal\\:h-1:where([data-orientation=horizontal]){height:calc(calc(var(--spacing)) * 1)}.tw\\:data-horizontal\\:h-full:where([data-orientation=horizontal]){height:100%}.tw\\:data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.tw\\:data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.tw\\:data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.tw\\:data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.tw\\:data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.tw\\:data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.tw\\:data-vertical\\:h-full:where([data-orientation=vertical]){height:100%}.tw\\:data-vertical\\:min-h-40:where([data-orientation=vertical]){min-height:calc(calc(var(--spacing)) * 40)}.tw\\:data-vertical\\:w-1:where([data-orientation=vertical]){width:calc(calc(var(--spacing)) * 1)}.tw\\:data-vertical\\:w-auto:where([data-orientation=vertical]){width:auto}.tw\\:data-vertical\\:w-full:where([data-orientation=vertical]){width:100%}.tw\\:data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.tw\\:data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.tw\\:data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.tw\\:data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=true]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=true]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=true]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=true]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=true]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=true]>blockquote{font-style:normal}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=\\"true\\"]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=\\"true\\"]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=\\"true\\"]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=\\"true\\"]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=\\"true\\"]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=\\"true\\"]>blockquote{font-style:normal}.tw\\:\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.tw\\:\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.tw\\:\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.tw\\:\\[\\&_p\\]\\:my-0 p{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_s\\]\\:text-destructive s{color:var(--destructive)}.tw\\:\\[\\&_s\\]\\:line-through s{text-decoration-line:line-through}.tw\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tw\\:\\[\\&_svg\\]\\:size-4 svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.tw\\:\\[\\&_u\\]\\:font-semibold u{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:\\[\\&_u\\]\\:text-success-foreground u{color:var(--success-foreground)}.tw\\:\\[\\&_u\\]\\:no-underline u{text-decoration-line:none}.tw\\:\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pe-0:has([role=checkbox]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.tw\\:group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:px-2 *)[cmdk-group-heading]{padding-inline:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:py-1\\.5 *)[cmdk-group-heading]{padding-block:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-xs *)[cmdk-group-heading]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}:is(.tw\\:\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.tw\\:\\*\\:\\[img\\]\\:row-span-2>*):is(img){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[img\\]\\:translate-y-0\\.5>*):is(img){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[img\\]\\:text-current>*):is(img){color:currentColor}:is(.tw\\:\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(img:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}:is(.tw\\:focus\\:\\*\\:\\[svg\\]\\:text-accent-foreground:focus>*):is(svg){color:var(--accent-foreground)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.tw\\:data-selected\\:\\*\\:\\[svg\\]\\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}:is(.tw\\:\\*\\:\\[svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-s-none>:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-s-0>:not(:first-child){border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-e-none>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.tw\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-e-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-e-lg\\!>[data-slot]:not(:has(~[data-slot])){border-start-end-radius:var(--radius)!important;border-end-end-radius:var(--radius)!important}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.tw\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tw\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tw\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.tw\\:\\[\\&\\>blockquote\\]\\:my-0>blockquote{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:border-s-0>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>blockquote\\]\\:p-0>blockquote{padding:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:ps-0>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:font-normal>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&\\>blockquote\\]\\:text-foreground>blockquote{color:var(--foreground)}.tw\\:\\[\\&\\>blockquote\\]\\:not-italic>blockquote{font-style:normal}.tw\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pe-1\\.5:has(>[data-align=inline-end])>input{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:ps-1\\.5:has(>[data-align=inline-start])>input{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.tw\\:\\[\\&\\>li\\]\\:mt-2>li{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tw\\:\\[\\&\\>svg\\]\\:hidden>svg{display:none}.tw\\:\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(calc(var(--spacing)) * 3)!important;height:calc(calc(var(--spacing)) * 3)!important}.tw\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\]\\:size-4>svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.tw\\:\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-5:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *)>svg{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-3:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *)>svg{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=default] *)>svg,.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=lg] *)>svg{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:\\[\\&\\>svg\\]\\:hidden:is(:where(.tw\\:group\\/avatar)[data-size=sm] *)>svg,.tw\\:\\[\\&\\>svg\\:last-child\\]\\:hidden>svg:last-child{display:none}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.tw\\:\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}.tw\\:\\[\\&\\[aria-orientation\\=horizontal\\]\\>div\\]\\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}[data-side=primary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=primary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-end-2{inset-inline-end:calc(calc(var(--spacing)) * -2)}[data-side=primary][data-state=collapsed] .tw\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=primary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=secondary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-start-2{inset-inline-start:calc(calc(var(--spacing)) * -2)}[data-side=secondary][data-state=collapsed] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}[data-side=secondary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light,:root{--radius:.625rem;--spacing:.25rem;--background:oklch(100% 0 0);--foreground:oklch(13.71% .036 258.53);--card:oklch(100% 0 0);--card-foreground:oklch(13.71% .036 258.53);--popover:oklch(98.43% .0018 248.56);--popover-foreground:oklch(13.71% .036 258.53);--primary:oklch(20.79% .0399 265.73);--primary-foreground:oklch(98.38% .0036 248.23);--secondary:oklch(95.89% .011 248.06);--secondary-foreground:oklch(20.79% .0399 265.73);--muted:oklch(95.89% .011 248.06);--muted-foreground:oklch(55.47% .0408 257.45);--accent:oklch(95.89% .011 248.06);--accent-foreground:oklch(20.79% .0399 265.73);--destructive:oklch(63.69% .2077 25.32);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(92.9% .0127 255.58);--input:oklch(92.9% .0127 255.58);--ring:oklch(13.71% .036 258.53);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.43% .0018 248.56);--sidebar-foreground:oklch(13.71% .036 258.53);--sidebar-primary:oklch(20.79% .0399 265.73);--sidebar-primary-foreground:oklch(98.38% .0036 248.23);--sidebar-accent:oklch(95.89% .011 248.06);--sidebar-accent-foreground:oklch(20.79% .0399 265.73);--sidebar-border:oklch(92.9% .0127 255.58);--sidebar-ring:oklch(13.71% .036 258.53)}.dark{--background:oklch(13.71% .036 258.53);--foreground:oklch(98.38% .0036 248.23);--card:oklch(13.71% .036 258.53);--card-foreground:oklch(98.38% .0036 248.23);--popover:oklch(13.71% .036 258.53);--popover-foreground:oklch(98.38% .0036 248.23);--primary:oklch(98.38% .0036 248.23);--primary-foreground:oklch(20.79% .0399 265.73);--secondary:oklch(28% .037 259.98);--secondary-foreground:oklch(98.38% .0036 248.23);--muted:oklch(28% .037 259.98);--muted-foreground:oklch(71.07% .0351 256.8);--accent:oklch(28% .037 259.98);--accent-foreground:oklch(98.38% .0036 248.23);--destructive:oklch(39.6% .1331 25.71);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(44.54% .0374 257.3);--input:oklch(44.54% .0374 257.3);--ring:oklch(86.88% .0199 252.89);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(13.71% .036 258.53);--sidebar-foreground:oklch(71.07% .0351 256.8);--sidebar-primary:oklch(98.38% .0036 248.23);--sidebar-primary-foreground:oklch(20.79% .0399 265.73);--sidebar-accent:oklch(28% .037 259.98);--sidebar-accent-foreground:oklch(71.07% .0351 256.8);--sidebar-border:oklch(28% .037 259.98);--sidebar-ring:oklch(86.88% .0199 252.89)}.paratext-light{--background:oklch(100% 0 0);--foreground:oklch(15.3% .006 107.1);--card:oklch(100% 0 0);--card-foreground:oklch(15.3% .006 107.1);--popover:oklch(100% 0 0);--popover-foreground:oklch(15.3% .006 107.1);--primary:oklch(55.5% .163 48.998);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.6% .005 106.5);--muted-foreground:oklch(58% .031 107.3);--accent:oklch(96.6% .005 106.5);--accent-foreground:oklch(22.8% .013 107.4);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(93% .007 106.5);--input:oklch(93% .007 106.5);--ring:oklch(73.7% .021 106.9);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(98.8% .003 106.5);--sidebar-foreground:oklch(15.3% .006 107.1);--sidebar-primary:oklch(66.6% .179 58.318);--sidebar-primary-foreground:oklch(98.7% .022 95.277);--sidebar-accent:oklch(96.6% .005 106.5);--sidebar-accent-foreground:oklch(22.8% .013 107.4);--sidebar-border:oklch(93% .007 106.5);--sidebar-ring:oklch(73.7% .021 106.9)}.paratext-dark{--background:oklch(15.3% .006 107.1);--foreground:oklch(98.8% .003 106.5);--card:oklch(22.8% .013 107.4);--card-foreground:oklch(98.8% .003 106.5);--popover:oklch(22.8% .013 107.4);--popover-foreground:oklch(98.8% .003 106.5);--primary:oklch(47.3% .137 46.201);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(28.6% .016 107.4);--muted-foreground:oklch(73.7% .021 106.9);--accent:oklch(28.6% .016 107.4);--accent-foreground:oklch(98.8% .003 106.5);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(58% .031 107.3);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(22.8% .013 107.4);--sidebar-foreground:oklch(98.8% .003 106.5);--sidebar-primary:oklch(76.9% .188 70.08);--sidebar-primary-foreground:oklch(27.9% .077 45.635);--sidebar-accent:oklch(28.6% .016 107.4);--sidebar-accent-foreground:oklch(98.8% .003 106.5);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(58% .031 107.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--tw-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tw-color-red-100:oklch(93.6% .032 17.717);--tw-color-red-200:oklch(88.5% .062 18.334);--tw-color-red-300:oklch(80.8% .114 19.571);--tw-color-red-400:oklch(70.4% .191 22.216);--tw-color-red-500:oklch(63.7% .237 25.331);--tw-color-red-600:oklch(57.7% .245 27.325);--tw-color-red-700:oklch(50.5% .213 27.518);--tw-color-red-800:oklch(44.4% .177 26.899);--tw-color-orange-100:oklch(95.4% .038 75.164);--tw-color-orange-800:oklch(47% .157 37.304);--tw-color-amber-200:oklch(92.4% .12 95.746);--tw-color-amber-400:oklch(82.8% .189 84.429);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-yellow-50:oklch(98.7% .026 102.212);--tw-color-yellow-100:oklch(97.3% .071 103.193);--tw-color-yellow-400:oklch(85.2% .199 91.936);--tw-color-yellow-500:oklch(79.5% .184 86.047);--tw-color-yellow-600:oklch(68.1% .162 75.834);--tw-color-yellow-700:oklch(55.4% .135 66.442);--tw-color-green-50:oklch(98.2% .018 155.826);--tw-color-green-100:oklch(96.2% .044 156.743);--tw-color-green-500:oklch(72.3% .219 149.579);--tw-color-green-600:oklch(62.7% .194 149.214);--tw-color-green-700:oklch(52.7% .154 150.069);--tw-color-green-800:oklch(44.8% .119 151.328);--tw-color-teal-400:oklch(77.7% .152 181.912);--tw-color-teal-500:oklch(70.4% .14 182.503);--tw-color-teal-600:oklch(60% .118 184.704);--tw-color-sky-400:oklch(74.6% .16 232.661);--tw-color-sky-500:oklch(68.5% .169 237.323);--tw-color-sky-600:oklch(58.8% .158 241.966);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-100:oklch(93.2% .032 255.585);--tw-color-blue-400:oklch(70.7% .165 254.624);--tw-color-blue-500:oklch(62.3% .214 259.815);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-blue-800:oklch(42.4% .199 265.638);--tw-color-indigo-200:oklch(87% .065 274.039);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-200:oklch(90.2% .063 306.703);--tw-color-purple-900:oklch(38.1% .176 304.987);--tw-color-rose-400:oklch(71.2% .194 13.428);--tw-color-rose-500:oklch(64.5% .246 16.439);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-slate-300:oklch(86.9% .022 252.894);--tw-color-slate-400:oklch(70.4% .04 256.788);--tw-color-slate-900:oklch(20.8% .042 265.755);--tw-color-gray-50:oklch(98.5% .002 247.839);--tw-color-gray-100:oklch(96.7% .003 264.542);--tw-color-gray-300:oklch(87.2% .01 258.338);--tw-color-gray-500:oklch(55.1% .027 264.364);--tw-color-gray-600:oklch(44.6% .03 256.802);--tw-color-gray-700:oklch(37.3% .034 259.733);--tw-color-gray-800:oklch(27.8% .033 256.848);--tw-color-zinc-400:oklch(70.5% .015 286.067);--tw-color-neutral-300:oklch(87% 0 0);--tw-color-black:#000;--tw-color-white:#fff;--tw-container-xs:20rem;--tw-container-sm:24rem;--tw-container-md:28rem;--tw-container-lg:32rem;--tw-container-2xl:42rem;--tw-container-3xl:48rem;--tw-container-4xl:56rem;--tw-container-6xl:72rem;--tw-text-xs:.75rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm:.875rem;--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height:calc(1.5 / 1);--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-text-xl:1.25rem;--tw-text-xl--line-height:calc(1.75 / 1.25);--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2 / 1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height:calc(2.25 / 1.875);--tw-text-4xl:2.25rem;--tw-text-4xl--line-height:calc(2.5 / 2.25);--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-normal:400;--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-font-weight-bold:700;--tw-font-weight-extrabold:800;--tw-tracking-tight:-.025em;--tw-tracking-wider:.05em;--tw-tracking-widest:.1em;--tw-leading-tight:1.25;--tw-leading-snug:1.375;--tw-leading-relaxed:1.625;--tw-leading-loose:2;--tw-radius-xs:.125rem;--tw-radius-md:calc(var(--radius) * .8);--tw-drop-shadow-sm:0 1px 2px #00000026;--tw-animate-spin:spin 1s linear infinite;--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-blur-xs:4px;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tw-default-font-family:"IBM Plex Sans Variable", sans-serif;--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{.pr-twp,.pr-twp *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.pr-twp,.pr-twp *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body.pr-twp{background-color:var(--background);color:var(--foreground)}html.pr-twp{font-family:IBM Plex Sans Variable,sans-serif}:where(.pr-twp,.pr-twp *),:where(.pr-twp,.pr-twp *):after,:where(.pr-twp,.pr-twp *):before,:where(.pr-twp,.pr-twp *) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.pr-twp{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tw-default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--tw-default-font-feature-settings,normal);font-variation-settings:var(--tw-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr:where(.pr-twp,.pr-twp *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(.pr-twp,.pr-twp *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(.pr-twp,.pr-twp *),h2:where(.pr-twp,.pr-twp *),h3:where(.pr-twp,.pr-twp *),h4:where(.pr-twp,.pr-twp *),h5:where(.pr-twp,.pr-twp *),h6:where(.pr-twp,.pr-twp *){font-size:inherit;font-weight:inherit}a:where(.pr-twp,.pr-twp *){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b:where(.pr-twp,.pr-twp *),strong:where(.pr-twp,.pr-twp *){font-weight:bolder}code:where(.pr-twp,.pr-twp *),kbd:where(.pr-twp,.pr-twp *),samp:where(.pr-twp,.pr-twp *),pre:where(.pr-twp,.pr-twp *){font-family:var(--tw-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-variation-settings:var(--tw-default-mono-font-variation-settings,normal);font-size:1em}small:where(.pr-twp,.pr-twp *){font-size:80%}sub:where(.pr-twp,.pr-twp *),sup:where(.pr-twp,.pr-twp *){vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub:where(.pr-twp,.pr-twp *){bottom:-.25em}sup:where(.pr-twp,.pr-twp *){top:-.5em}table:where(.pr-twp,.pr-twp *){text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(.pr-twp,.pr-twp *){outline:auto}progress:where(.pr-twp,.pr-twp *){vertical-align:baseline}summary:where(.pr-twp,.pr-twp *){display:list-item}ol:where(.pr-twp,.pr-twp *),ul:where(.pr-twp,.pr-twp *),menu:where(.pr-twp,.pr-twp *){list-style:none}img:where(.pr-twp,.pr-twp *),svg:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *),canvas:where(.pr-twp,.pr-twp *),audio:where(.pr-twp,.pr-twp *),iframe:where(.pr-twp,.pr-twp *),embed:where(.pr-twp,.pr-twp *),object:where(.pr-twp,.pr-twp *){vertical-align:middle;display:block}img:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *){max-width:100%;height:auto}button:where(.pr-twp,.pr-twp *),input:where(.pr-twp,.pr-twp *),select:where(.pr-twp,.pr-twp *),optgroup:where(.pr-twp,.pr-twp *),textarea:where(.pr-twp,.pr-twp *){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup:where(.pr-twp,.pr-twp *){font-weight:bolder}:where(select:is([multiple],[size])) optgroup option:where(.pr-twp,.pr-twp *){padding-inline-start:20px}:where(.pr-twp,.pr-twp *) ::file-selector-button{margin-inline-end:4px}:where(.pr-twp,.pr-twp *) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where(.pr-twp,.pr-twp *) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where(.pr-twp,.pr-twp *) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea:where(.pr-twp,.pr-twp *){resize:vertical}:where(.pr-twp,.pr-twp *) ::-webkit-search-decoration{-webkit-appearance:none}:where(.pr-twp,.pr-twp *) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{display:inline-flex}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-year-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-month-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-day-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-hour-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-minute-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-second-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-millisecond-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid:where(.pr-twp,.pr-twp *){box-shadow:none}button:where(.pr-twp,.pr-twp *),input:where([type=button],[type=reset],[type=submit]):where(.pr-twp,.pr-twp *){appearance:button}:where(.pr-twp,.pr-twp *) ::file-selector-button{appearance:button}:where(.pr-twp,.pr-twp *) ::-webkit-inner-spin-button{height:auto}:where(.pr-twp,.pr-twp *) ::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])):where(.pr-twp,.pr-twp *){display:none!important}}@layer components;@layer utilities{.tw\\:\\@container\\/card-header{container:card-header/inline-size}.tw\\:\\@container\\/search{container:search/inline-size}.tw\\:\\@container\\/toolbar{container:toolbar/inline-size}.tw\\:pointer-events-auto{pointer-events:auto}.tw\\:pointer-events-none{pointer-events:none}.tw\\:invisible{visibility:hidden}.tw\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\\:absolute{position:absolute}.tw\\:fixed{position:fixed}.tw\\:relative{position:relative}.tw\\:sticky{position:sticky}.tw\\:inset-0{inset:calc(calc(var(--spacing)) * 0)}.tw\\:inset-x-0{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:inset-y-0{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:inset-s-3{inset-inline-start:calc(calc(var(--spacing)) * 3)}.tw\\:start-1\\.5{inset-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:start-1\\/2{inset-inline-start:50%}.tw\\:end-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:end-1{inset-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:end-2{inset-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:end-3{inset-inline-end:calc(calc(var(--spacing)) * 3)}.tw\\:inset-e-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:-top-\\[1px\\]{top:-1px}.tw\\:top-0{top:calc(calc(var(--spacing)) * 0)}.tw\\:top-1{top:calc(calc(var(--spacing)) * 1)}.tw\\:top-1\\.5{top:calc(calc(var(--spacing)) * 1.5)}.tw\\:top-1\\/2{top:50%}.tw\\:top-1\\/3{top:33.3333%}.tw\\:top-2{top:calc(calc(var(--spacing)) * 2)}.tw\\:top-2\\.5{top:calc(calc(var(--spacing)) * 2.5)}.tw\\:top-3\\.5{top:calc(calc(var(--spacing)) * 3.5)}.tw\\:top-\\[-1px\\]{top:-1px}.tw\\:top-full{top:100%}.tw\\:-right-1{right:calc(calc(var(--spacing)) * -1)}.tw\\:right-0{right:calc(calc(var(--spacing)) * 0)}.tw\\:right-1{right:calc(calc(var(--spacing)) * 1)}.tw\\:right-3{right:calc(calc(var(--spacing)) * 3)}.tw\\:bottom-0{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:-left-\\[1px\\]{left:-1px}.tw\\:left-0{left:calc(calc(var(--spacing)) * 0)}.tw\\:left-1\\/2{left:50%}.tw\\:left-2{left:calc(calc(var(--spacing)) * 2)}.tw\\:left-3{left:calc(calc(var(--spacing)) * 3)}.tw\\:isolate{isolation:isolate}.tw\\:z-10{z-index:10}.tw\\:z-20{z-index:20}.tw\\:z-50{z-index:50}.tw\\:order-first{order:-9999}.tw\\:order-last{order:9999}.tw\\:col-span-1{grid-column:span 1/span 1}.tw\\:col-span-2{grid-column:span 2/span 2}.tw\\:col-span-3{grid-column:span 3/span 3}.tw\\:col-start-1{grid-column-start:1}.tw\\:col-start-2{grid-column-start:2}.tw\\:row-span-2{grid-row:span 2/span 2}.tw\\:row-start-1{grid-row-start:1}.tw\\:row-start-2{grid-row-start:2}.tw\\:m-0{margin:calc(calc(var(--spacing)) * 0)}.tw\\:m-1{margin:calc(calc(var(--spacing)) * 1)}.tw\\:m-2{margin:calc(calc(var(--spacing)) * 2)}.tw\\:-mx-1{margin-inline:calc(calc(var(--spacing)) * -1)}.tw\\:-mx-4{margin-inline:calc(calc(var(--spacing)) * -4)}.tw\\:mx-0{margin-inline:calc(calc(var(--spacing)) * 0)}.tw\\:mx-1{margin-inline:calc(calc(var(--spacing)) * 1)}.tw\\:mx-2{margin-inline:calc(calc(var(--spacing)) * 2)}.tw\\:mx-3\\.5{margin-inline:calc(calc(var(--spacing)) * 3.5)}.tw\\:mx-4{margin-inline:calc(calc(var(--spacing)) * 4)}.tw\\:mx-8{margin-inline:calc(calc(var(--spacing)) * 8)}.tw\\:my-1{margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:my-2\\.5{margin-block:calc(calc(var(--spacing)) * 2.5)}.tw\\:my-4{margin-block:calc(calc(var(--spacing)) * 4)}.tw\\:my-auto{margin-block:auto}.tw\\:ms-1{margin-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:ms-2{margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ms-5{margin-inline-start:calc(calc(var(--spacing)) * 5)}.tw\\:ms-6{margin-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ms-auto{margin-inline-start:auto}.tw\\:me-1{margin-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:me-2{margin-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:prose{color:var(--tw-prose-body);max-width:65ch}.tw\\:prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tw\\:prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tw\\:prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tw\\:prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tw\\:prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tw\\:prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tw\\:prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tw\\:prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tw\\:prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tw\\:prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tw\\:prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tw\\:prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tw\\:prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tw\\:prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tw\\:prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tw\\:prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tw\\:prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tw\\:prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tw\\:prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.tw\\:prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tw\\:prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tw\\:prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tw\\:prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tw\\:prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tw\\:prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tw\\:prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tw\\:prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tw\\:prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tw\\:prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tw\\:prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tw\\:prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tw\\:prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--muted-foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-invert-body:var(--foreground);--tw-prose-invert-headings:var(--foreground);--tw-prose-invert-lead:var(--muted-foreground);--tw-prose-invert-links:var(--primary);--tw-prose-invert-bold:var(--foreground);--tw-prose-invert-counters:var(--muted-foreground);--tw-prose-invert-bullets:var(--muted-foreground);--tw-prose-invert-hr:var(--border);--tw-prose-invert-quotes:var(--foreground);--tw-prose-invert-quote-borders:var(--border);--tw-prose-invert-captions:var(--muted-foreground);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--foreground);--tw-prose-invert-pre-code:var(--muted-foreground);--tw-prose-invert-pre-bg:var(--muted);--tw-prose-invert-th-borders:var(--border);--tw-prose-invert-td-borders:var(--border);font-size:1rem;line-height:1.75}.tw\\:prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.tw\\:prose :where(.tw\\:prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(.tw\\:prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.tw\\:prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.tw\\:prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(.tw\\:prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(.tw\\:prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:prose-sm{font-size:.875rem;line-height:1.71429}.tw\\:prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tw\\:prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tw\\:prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tw\\:prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tw\\:prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tw\\:prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tw\\:prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tw\\:prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tw\\:prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tw\\:prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tw\\:prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tw\\:prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tw\\:prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tw\\:prose-sm :where(.tw\\:prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(.tw\\:prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:-mt-4{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:mt-0\\.5{margin-top:calc(calc(var(--spacing)) * .5)}.tw\\:mt-1{margin-top:calc(calc(var(--spacing)) * 1)}.tw\\:mt-2{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:mt-3{margin-top:calc(calc(var(--spacing)) * 3)}.tw\\:mt-4{margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:mt-6{margin-top:calc(calc(var(--spacing)) * 6)}.tw\\:mt-auto{margin-top:auto}.tw\\:mr-1{margin-right:calc(calc(var(--spacing)) * 1)}.tw\\:mr-2{margin-right:calc(calc(var(--spacing)) * 2)}.tw\\:mr-3{margin-right:calc(calc(var(--spacing)) * 3)}.tw\\:-mb-4{margin-bottom:calc(calc(var(--spacing)) * -4)}.tw\\:mb-1{margin-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:mb-2{margin-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:mb-3{margin-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:mb-4{margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:ml-1{margin-left:calc(calc(var(--spacing)) * 1)}.tw\\:ml-2{margin-left:calc(calc(var(--spacing)) * 2)}.tw\\:ml-4{margin-left:calc(calc(var(--spacing)) * 4)}.tw\\:ml-auto{margin-left:auto}.tw\\:box-border{box-sizing:border-box}.tw\\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tw\\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tw\\:no-scrollbar::-webkit-scrollbar{display:none}.tw\\:block{display:block}.tw\\:flex{display:flex}.tw\\:grid{display:grid}.tw\\:hidden{display:none}.tw\\:inline-block{display:inline-block}.tw\\:inline-flex{display:inline-flex}.tw\\:inline-grid{display:inline-grid}.tw\\:field-sizing-content{field-sizing:content}.tw\\:aspect-square{aspect-ratio:1}.tw\\:size-2{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:size-2\\.5{width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:size-3{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:size-3\\.5{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:size-4{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:size-5{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:size-6{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:size-7{width:calc(calc(var(--spacing)) * 7);height:calc(calc(var(--spacing)) * 7)}.tw\\:size-8{width:calc(calc(var(--spacing)) * 8);height:calc(calc(var(--spacing)) * 8)}.tw\\:size-9{width:calc(calc(var(--spacing)) * 9);height:calc(calc(var(--spacing)) * 9)}.tw\\:size-10{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:size-full{width:100%;height:100%}.tw\\:h-1{height:calc(calc(var(--spacing)) * 1)}.tw\\:h-2{height:calc(calc(var(--spacing)) * 2)}.tw\\:h-3{height:calc(calc(var(--spacing)) * 3)}.tw\\:h-3\\.5{height:calc(calc(var(--spacing)) * 3.5)}.tw\\:h-4{height:calc(calc(var(--spacing)) * 4)}.tw\\:h-5{height:calc(calc(var(--spacing)) * 5)}.tw\\:h-6{height:calc(calc(var(--spacing)) * 6)}.tw\\:h-7{height:calc(calc(var(--spacing)) * 7)}.tw\\:h-8{height:calc(calc(var(--spacing)) * 8)}.tw\\:h-8\\!{height:calc(calc(var(--spacing)) * 8)!important}.tw\\:h-8\\.5{height:calc(calc(var(--spacing)) * 8.5)}.tw\\:h-9{height:calc(calc(var(--spacing)) * 9)}.tw\\:h-10{height:calc(calc(var(--spacing)) * 10)}.tw\\:h-12{height:calc(calc(var(--spacing)) * 12)}.tw\\:h-14{height:calc(calc(var(--spacing)) * 14)}.tw\\:h-20{height:calc(calc(var(--spacing)) * 20)}.tw\\:h-24{height:calc(calc(var(--spacing)) * 24)}.tw\\:h-32{height:calc(calc(var(--spacing)) * 32)}.tw\\:h-40{height:calc(calc(var(--spacing)) * 40)}.tw\\:h-64{height:calc(calc(var(--spacing)) * 64)}.tw\\:h-80{height:calc(calc(var(--spacing)) * 80)}.tw\\:h-96{height:calc(calc(var(--spacing)) * 96)}.tw\\:h-\\[5px\\]{height:5px}.tw\\:h-\\[260px\\]{height:260px}.tw\\:h-\\[300px\\]{height:300px}.tw\\:h-\\[400px\\]{height:400px}.tw\\:h-\\[600px\\]{height:600px}.tw\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.tw\\:h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.tw\\:h-auto{height:auto}.tw\\:h-full{height:100%}.tw\\:h-px{height:1px}.tw\\:h-screen{height:100vh}.tw\\:h-svh{height:100svh}.tw\\:max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.tw\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\\:max-h-\\(--radix-popover-content-available-height\\){max-height:var(--radix-popover-content-available-height)}.tw\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tw\\:max-h-5{max-height:calc(calc(var(--spacing)) * 5)}.tw\\:max-h-10{max-height:calc(calc(var(--spacing)) * 10)}.tw\\:max-h-72{max-height:calc(calc(var(--spacing)) * 72)}.tw\\:max-h-80{max-height:calc(calc(var(--spacing)) * 80)}.tw\\:max-h-\\[96\\%\\]{max-height:96%}.tw\\:max-h-\\[300px\\]{max-height:300px}.tw\\:min-h-0{min-height:calc(calc(var(--spacing)) * 0)}.tw\\:min-h-11{min-height:calc(calc(var(--spacing)) * 11)}.tw\\:min-h-16{min-height:calc(calc(var(--spacing)) * 16)}.tw\\:min-h-\\[200px\\]{min-height:200px}.tw\\:min-h-full{min-height:100%}.tw\\:min-h-svh{min-height:100svh}.tw\\:w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-\\(--sidebar-width\\){width:var(--sidebar-width)}.tw\\:w-1{width:calc(calc(var(--spacing)) * 1)}.tw\\:w-1\\/2{width:50%}.tw\\:w-1\\/4{width:25%}.tw\\:w-1\\/6{width:16.6667%}.tw\\:w-2{width:calc(calc(var(--spacing)) * 2)}.tw\\:w-3{width:calc(calc(var(--spacing)) * 3)}.tw\\:w-3\\.5{width:calc(calc(var(--spacing)) * 3.5)}.tw\\:w-3\\/4{width:75%}.tw\\:w-4{width:calc(calc(var(--spacing)) * 4)}.tw\\:w-4\\/5{width:80%}.tw\\:w-4\\/6{width:66.6667%}.tw\\:w-5{width:calc(calc(var(--spacing)) * 5)}.tw\\:w-5\\/6{width:83.3333%}.tw\\:w-6{width:calc(calc(var(--spacing)) * 6)}.tw\\:w-7{width:calc(calc(var(--spacing)) * 7)}.tw\\:w-8{width:calc(calc(var(--spacing)) * 8)}.tw\\:w-9{width:calc(calc(var(--spacing)) * 9)}.tw\\:w-9\\/12{width:75%}.tw\\:w-10{width:calc(calc(var(--spacing)) * 10)}.tw\\:w-12{width:calc(calc(var(--spacing)) * 12)}.tw\\:w-14{width:calc(calc(var(--spacing)) * 14)}.tw\\:w-20{width:calc(calc(var(--spacing)) * 20)}.tw\\:w-24{width:calc(calc(var(--spacing)) * 24)}.tw\\:w-32{width:calc(calc(var(--spacing)) * 32)}.tw\\:w-48{width:calc(calc(var(--spacing)) * 48)}.tw\\:w-56{width:calc(calc(var(--spacing)) * 56)}.tw\\:w-60{width:calc(calc(var(--spacing)) * 60)}.tw\\:w-64{width:calc(calc(var(--spacing)) * 64)}.tw\\:w-72{width:calc(calc(var(--spacing)) * 72)}.tw\\:w-80{width:calc(calc(var(--spacing)) * 80)}.tw\\:w-96{width:calc(calc(var(--spacing)) * 96)}.tw\\:w-\\[1px\\]{width:1px}.tw\\:w-\\[5px\\]{width:5px}.tw\\:w-\\[70px\\]{width:70px}.tw\\:w-\\[100px\\]{width:100px}.tw\\:w-\\[116px\\]{width:116px}.tw\\:w-\\[124px\\]{width:124px}.tw\\:w-\\[150px\\]{width:150px}.tw\\:w-\\[180px\\]{width:180px}.tw\\:w-\\[200px\\]{width:200px}.tw\\:w-\\[250px\\]{width:250px}.tw\\:w-\\[260px\\]{width:260px}.tw\\:w-\\[280px\\]{width:280px}.tw\\:w-\\[300px\\]{width:300px}.tw\\:w-\\[320px\\]{width:320px}.tw\\:w-\\[350px\\]{width:350px}.tw\\:w-\\[380px\\]{width:380px}.tw\\:w-\\[400px\\]{width:400px}.tw\\:w-\\[420px\\]{width:420px}.tw\\:w-\\[500px\\]{width:500px}.tw\\:w-\\[560px\\]{width:560px}.tw\\:w-\\[600px\\]{width:600px}.tw\\:w-\\[calc\\(100\\%-2px\\)\\]{width:calc(100% - 2px)}.tw\\:w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\]{width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-auto{width:auto}.tw\\:w-fit{width:fit-content}.tw\\:w-full{width:100%}.tw\\:w-max{width:max-content}.tw\\:w-px{width:1px}.tw\\:max-w-\\(--skeleton-width\\){max-width:var(--skeleton-width)}.tw\\:max-w-0{max-width:calc(calc(var(--spacing)) * 0)}.tw\\:max-w-2xl{max-width:var(--tw-container-2xl)}.tw\\:max-w-3xl{max-width:var(--tw-container-3xl)}.tw\\:max-w-4xl{max-width:var(--tw-container-4xl)}.tw\\:max-w-5{max-width:calc(calc(var(--spacing)) * 5)}.tw\\:max-w-6xl{max-width:var(--tw-container-6xl)}.tw\\:max-w-40{max-width:calc(calc(var(--spacing)) * 40)}.tw\\:max-w-48{max-width:calc(calc(var(--spacing)) * 48)}.tw\\:max-w-64{max-width:calc(calc(var(--spacing)) * 64)}.tw\\:max-w-96{max-width:calc(calc(var(--spacing)) * 96)}.tw\\:max-w-\\[200px\\]{max-width:200px}.tw\\:max-w-\\[220px\\]{max-width:220px}.tw\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tw\\:max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.tw\\:max-w-fit{max-width:fit-content}.tw\\:max-w-full{max-width:100%}.tw\\:max-w-lg{max-width:var(--tw-container-lg)}.tw\\:max-w-md{max-width:var(--tw-container-md)}.tw\\:max-w-none{max-width:none}.tw\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:max-w-xs{max-width:var(--tw-container-xs)}.tw\\:min-w-0{min-width:calc(calc(var(--spacing)) * 0)}.tw\\:min-w-4{min-width:calc(calc(var(--spacing)) * 4)}.tw\\:min-w-5{min-width:calc(calc(var(--spacing)) * 5)}.tw\\:min-w-7{min-width:calc(calc(var(--spacing)) * 7)}.tw\\:min-w-8{min-width:calc(calc(var(--spacing)) * 8)}.tw\\:min-w-9{min-width:calc(calc(var(--spacing)) * 9)}.tw\\:min-w-16{min-width:calc(calc(var(--spacing)) * 16)}.tw\\:min-w-32{min-width:calc(calc(var(--spacing)) * 32)}.tw\\:min-w-36{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:min-w-80{min-width:calc(calc(var(--spacing)) * 80)}.tw\\:min-w-\\[12rem\\]{min-width:12rem}.tw\\:min-w-\\[26px\\]{min-width:26px}.tw\\:min-w-\\[96px\\]{min-width:96px}.tw\\:min-w-\\[140px\\]{min-width:140px}.tw\\:min-w-\\[215px\\]{min-width:215px}.tw\\:min-w-\\[500px\\]{min-width:500px}.tw\\:min-w-min{min-width:min-content}.tw\\:flex-1{flex:1}.tw\\:shrink{flex-shrink:1}.tw\\:shrink\\!{flex-shrink:1!important}.tw\\:shrink-0{flex-shrink:0}.tw\\:shrink-\\[9999\\]{flex-shrink:9999}.tw\\:flex-grow,.tw\\:grow,.tw\\:grow-\\[1\\]{flex-grow:1}.tw\\:grow-\\[10\\]{flex-grow:10}.tw\\:basis-0{flex-basis:calc(calc(var(--spacing)) * 0)}.tw\\:table-fixed{table-layout:fixed}.tw\\:caption-bottom{caption-side:bottom}.tw\\:border-collapse{border-collapse:collapse}.tw\\:origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.tw\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\\:origin-\\(--radix-menubar-content-transform-origin\\){transform-origin:var(--radix-menubar-content-transform-origin)}.tw\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tw\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tw\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-0{--tw-translate-y:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rotate-45{rotate:45deg}.tw\\:rotate-180{rotate:180deg}.tw\\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.tw\\:animate-none\\!{animation:none!important}.tw\\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\\:animate-spin{animation:var(--tw-animate-spin)}.tw\\:cursor-default{cursor:default}.tw\\:cursor-ew-resize{cursor:ew-resize}.tw\\:cursor-not-allowed{cursor:not-allowed}.tw\\:cursor-pointer{cursor:pointer}.tw\\:cursor-text{cursor:text}.tw\\:touch-none{touch-action:none}.tw\\:resize{resize:both}.tw\\:resize-none{resize:none}.tw\\:scroll-m-20{scroll-margin:calc(calc(var(--spacing)) * 20)}.tw\\:scroll-my-1{scroll-margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:scroll-py-1{scroll-padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:list-inside{list-style-position:inside}.tw\\:list-outside{list-style-position:outside}.tw\\:\\!list-\\[lower-alpha\\]{list-style-type:lower-alpha!important}.tw\\:\\!list-\\[lower-roman\\]{list-style-type:lower-roman!important}.tw\\:\\!list-\\[upper-alpha\\]{list-style-type:upper-alpha!important}.tw\\:\\!list-\\[upper-roman\\]{list-style-type:upper-roman!important}.tw\\:\\!list-decimal{list-style-type:decimal!important}.tw\\:\\!list-disc{list-style-type:disc!important}.tw\\:list-decimal{list-style-type:decimal}.tw\\:list-disc{list-style-type:disc}.tw\\:list-none{list-style-type:none}.tw\\:grid-flow-col{grid-auto-flow:column}.tw\\:grid-flow-row{grid-auto-flow:row}.tw\\:auto-rows-min{grid-auto-rows:min-content}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw\\:grid-cols-\\[25\\%_25\\%_50\\%\\]{grid-template-columns:25% 25% 50%}.tw\\:grid-cols-\\[25\\%_50\\%_25\\%\\]{grid-template-columns:25% 50% 25%}.tw\\:grid-cols-\\[auto_auto_auto_auto\\]{grid-template-columns:auto auto auto auto}.tw\\:grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.tw\\:grid-cols-\\[min-content_min-content_1fr\\]{grid-template-columns:min-content min-content 1fr}.tw\\:grid-cols-subgrid{grid-template-columns:subgrid}.tw\\:flex-col{flex-direction:column}.tw\\:flex-col-reverse{flex-direction:column-reverse}.tw\\:flex-row{flex-direction:row}.tw\\:flex-row-reverse{flex-direction:row-reverse}.tw\\:flex-nowrap{flex-wrap:nowrap}.tw\\:flex-wrap{flex-wrap:wrap}.tw\\:place-content-center{place-content:center}.tw\\:content-center{align-content:center}.tw\\:items-baseline{align-items:baseline}.tw\\:items-center{align-items:center}.tw\\:items-end{align-items:flex-end}.tw\\:items-start{align-items:flex-start}.tw\\:items-stretch{align-items:stretch}.tw\\:justify-between{justify-content:space-between}.tw\\:justify-center{justify-content:center}.tw\\:justify-end{justify-content:flex-end}.tw\\:justify-start{justify-content:flex-start}.tw\\:gap-0{gap:calc(calc(var(--spacing)) * 0)}.tw\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:gap-1{gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-1\\.5{gap:calc(calc(var(--spacing)) * 1.5)}.tw\\:gap-1\\.5\\!{gap:calc(calc(var(--spacing)) * 1.5)!important}.tw\\:gap-2{gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-2\\.5{gap:calc(calc(var(--spacing)) * 2.5)}.tw\\:gap-3{gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-4{gap:calc(calc(var(--spacing)) * 4)}.tw\\:gap-5{gap:calc(calc(var(--spacing)) * 5)}.tw\\:gap-6{gap:calc(calc(var(--spacing)) * 6)}.tw\\:gap-8{gap:calc(calc(var(--spacing)) * 8)}.tw\\:gap-16{gap:calc(calc(var(--spacing)) * 16)}.tw\\:gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(calc(var(--spacing)) * var(--gap))}.tw\\:gap-\\[12px\\]{gap:12px}:where(.tw\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-y-reverse)))}.tw\\:gap-x-1{column-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-x-2{column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-x-3{column-gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-x-4{column-gap:calc(calc(var(--spacing)) * 4)}:where(.tw\\:-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:gap-y-1{row-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-y-2{row-gap:calc(calc(var(--spacing)) * 2)}:where(.tw\\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.tw\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.tw\\:self-start{align-self:flex-start}.tw\\:self-stretch{align-self:stretch}.tw\\:justify-self-end{justify-self:flex-end}.tw\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:overflow-auto{overflow:auto}.tw\\:overflow-clip{overflow:clip}.tw\\:overflow-hidden{overflow:hidden}.tw\\:overflow-scroll{overflow:scroll}.tw\\:overflow-visible{overflow:visible}.tw\\:overflow-x-auto{overflow-x:auto}.tw\\:overflow-x-hidden{overflow-x:hidden}.tw\\:overflow-y-auto{overflow-y:auto}.tw\\:overflow-y-hidden{overflow-y:hidden}.tw\\:rounded{border-radius:.25rem}.tw\\:rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.tw\\:rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.tw\\:rounded-\\[4px\\]{border-radius:4px}.tw\\:rounded-\\[6px\\]{border-radius:6px}.tw\\:rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,12px\\)\\]{border-radius:min(var(--tw-radius-md), 12px)}.tw\\:rounded-full{border-radius:3.40282e38px}.tw\\:rounded-lg{border-radius:var(--radius)}.tw\\:rounded-lg\\!{border-radius:var(--radius)!important}.tw\\:rounded-md{border-radius:calc(var(--radius) * .8)}.tw\\:rounded-none{border-radius:0}.tw\\:rounded-sm{border-radius:calc(var(--radius) * .6)}.tw\\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-xl\\!{border-radius:calc(var(--radius) * 1.4)!important}.tw\\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\\:rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.tw\\:rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.tw\\:rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:rounded-r-xl{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:border-s-0{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.tw\\:border-s-4{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.tw\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.tw\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tw\\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tw\\:border-none{--tw-border-style:none;border-style:none}.tw\\:border-solid{--tw-border-style:solid;border-style:solid}.tw\\:border-black{border-color:var(--tw-color-black)}.tw\\:border-blue-400{border-color:var(--tw-color-blue-400)}.tw\\:border-blue-500{border-color:var(--tw-color-blue-500)}.tw\\:border-border,.tw\\:border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.tw\\:border-destructive{border-color:var(--destructive)}.tw\\:border-foreground{border-color:var(--foreground)}.tw\\:border-gray-300{border-color:var(--tw-color-gray-300)}.tw\\:border-input,.tw\\:border-input\\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-input\\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:border-muted-foreground,.tw\\:border-muted-foreground\\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-muted-foreground\\/40{border-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.tw\\:border-primary{border-color:var(--primary)}.tw\\:border-red-300{border-color:var(--tw-color-red-300)}.tw\\:border-red-400{border-color:var(--tw-color-red-400)}.tw\\:border-red-500{border-color:var(--tw-color-red-500)}.tw\\:border-red-600{border-color:var(--tw-color-red-600)}.tw\\:border-ring{border-color:var(--ring)}.tw\\:border-sidebar-border{border-color:var(--sidebar-border)}.tw\\:border-slate-300{border-color:var(--tw-color-slate-300)}.tw\\:border-transparent{border-color:#0000}.tw\\:border-yellow-400{border-color:var(--tw-color-yellow-400)}.tw\\:border-yellow-500{border-color:var(--tw-color-yellow-500)}.tw\\:border-s-amber-200{border-inline-start-color:var(--tw-color-amber-200)}.tw\\:border-s-indigo-200{border-inline-start-color:var(--tw-color-indigo-200)}.tw\\:border-s-purple-200{border-inline-start-color:var(--tw-color-purple-200)}.tw\\:border-s-red-200{border-inline-start-color:var(--tw-color-red-200)}.tw\\:\\!bg-destructive\\/50{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.tw\\:\\!bg-destructive\\/50{background-color:color-mix(in oklab, var(--destructive) 50%, transparent)!important}}.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:bg-accent,.tw\\:bg-accent\\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-accent\\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.tw\\:bg-amber-500,.tw\\:bg-amber-500\\/5{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/5{background-color:color-mix(in oklab, var(--tw-color-amber-500) 5%, transparent)}}.tw\\:bg-amber-500\\/15{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tw-color-amber-500) 15%, transparent)}}.tw\\:bg-background,.tw\\:bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-background\\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.tw\\:bg-black\\/10{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-black\\/10{background-color:color-mix(in oklab, var(--tw-color-black) 10%, transparent)}}.tw\\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\\:bg-blue-100{background-color:var(--tw-color-blue-100)}.tw\\:bg-blue-400{background-color:var(--tw-color-blue-400)}.tw\\:bg-blue-500{background-color:var(--tw-color-blue-500)}.tw\\:bg-border{background-color:var(--border)}.tw\\:bg-card{background-color:var(--card)}.tw\\:bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:bg-foreground{background-color:var(--foreground)}.tw\\:bg-gray-50{background-color:var(--tw-color-gray-50)}.tw\\:bg-gray-100{background-color:var(--tw-color-gray-100)}.tw\\:bg-gray-500{background-color:var(--tw-color-gray-500)}.tw\\:bg-green-50{background-color:var(--tw-color-green-50)}.tw\\:bg-green-100{background-color:var(--tw-color-green-100)}.tw\\:bg-green-500{background-color:var(--tw-color-green-500)}.tw\\:bg-input,.tw\\:bg-input\\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-input\\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:bg-muted,.tw\\:bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:bg-neutral-300{background-color:var(--tw-color-neutral-300)}.tw\\:bg-orange-100{background-color:var(--tw-color-orange-100)}.tw\\:bg-popover,.tw\\:bg-popover\\/70{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-popover\\/70{background-color:color-mix(in oklab, var(--popover) 70%, transparent)}}.tw\\:bg-primary{background-color:var(--primary)}.tw\\:bg-primary-foreground{background-color:var(--primary-foreground)}.tw\\:bg-primary\\/30{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-primary\\/30{background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.tw\\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\\:bg-red-100{background-color:var(--tw-color-red-100)}.tw\\:bg-red-500{background-color:var(--tw-color-red-500)}.tw\\:bg-rose-500,.tw\\:bg-rose-500\\/5{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/5{background-color:color-mix(in oklab, var(--tw-color-rose-500) 5%, transparent)}}.tw\\:bg-rose-500\\/15{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/15{background-color:color-mix(in oklab, var(--tw-color-rose-500) 15%, transparent)}}.tw\\:bg-secondary{background-color:var(--secondary)}.tw\\:bg-sidebar{background-color:var(--sidebar)}.tw\\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.tw\\:bg-sidebar-border{background-color:var(--sidebar-border)}.tw\\:bg-sky-500,.tw\\:bg-sky-500\\/5{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/5{background-color:color-mix(in oklab, var(--tw-color-sky-500) 5%, transparent)}}.tw\\:bg-sky-500\\/15{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/15{background-color:color-mix(in oklab, var(--tw-color-sky-500) 15%, transparent)}}.tw\\:bg-teal-500,.tw\\:bg-teal-500\\/5{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/5{background-color:color-mix(in oklab, var(--tw-color-teal-500) 5%, transparent)}}.tw\\:bg-teal-500\\/15{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/15{background-color:color-mix(in oklab, var(--tw-color-teal-500) 15%, transparent)}}.tw\\:bg-transparent{background-color:#0000}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:bg-yellow-50{background-color:var(--tw-color-yellow-50)}.tw\\:bg-yellow-100{background-color:var(--tw-color-yellow-100)}.tw\\:bg-yellow-500{background-color:var(--tw-color-yellow-500)}.tw\\:bg-zinc-400{background-color:var(--tw-color-zinc-400)}.tw\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\\:from-popover{--tw-gradient-from:var(--popover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:bg-clip-padding{background-clip:padding-box}.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:fill-destructive{fill:var(--destructive)}.tw\\:fill-foreground{fill:var(--foreground)}.tw\\:fill-yellow-400,.tw\\:fill-yellow-400\\/50{fill:var(--tw-color-yellow-400)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-yellow-400\\/50{fill:color-mix(in oklab, var(--tw-color-yellow-400) 50%, transparent)}}.tw\\:object-cover{object-fit:cover}.tw\\:\\!p-4{padding:calc(calc(var(--spacing)) * 4)!important}.tw\\:p-0{padding:calc(calc(var(--spacing)) * 0)}.tw\\:p-0\\.5{padding:calc(calc(var(--spacing)) * .5)}.tw\\:p-1{padding:calc(calc(var(--spacing)) * 1)}.tw\\:p-2{padding:calc(calc(var(--spacing)) * 2)}.tw\\:p-2\\.5{padding:calc(calc(var(--spacing)) * 2.5)}.tw\\:p-3{padding:calc(calc(var(--spacing)) * 3)}.tw\\:p-4{padding:calc(calc(var(--spacing)) * 4)}.tw\\:p-6{padding:calc(calc(var(--spacing)) * 6)}.tw\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:p-\\[1px\\]{padding:1px}.tw\\:p-\\[3px\\]{padding:3px}.tw\\:p-\\[10px\\]{padding:10px}.tw\\:p-\\[16px\\]{padding:16px}.tw\\:px-0{padding-inline:calc(calc(var(--spacing)) * 0)}.tw\\:px-0\\.5{padding-inline:calc(calc(var(--spacing)) * .5)}.tw\\:px-1{padding-inline:calc(calc(var(--spacing)) * 1)}.tw\\:px-1\\.5{padding-inline:calc(calc(var(--spacing)) * 1.5)}.tw\\:px-2{padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:px-2\\.5{padding-inline:calc(calc(var(--spacing)) * 2.5)}.tw\\:px-3{padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:px-4{padding-inline:calc(calc(var(--spacing)) * 4)}.tw\\:px-6{padding-inline:calc(calc(var(--spacing)) * 6)}.tw\\:py-0{padding-block:calc(calc(var(--spacing)) * 0)}.tw\\:py-0\\.5{padding-block:calc(calc(var(--spacing)) * .5)}.tw\\:py-1{padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:py-1\\.5{padding-block:calc(calc(var(--spacing)) * 1.5)}.tw\\:py-2{padding-block:calc(calc(var(--spacing)) * 2)}.tw\\:py-3{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:py-4{padding-block:calc(calc(var(--spacing)) * 4)}.tw\\:py-6{padding-block:calc(calc(var(--spacing)) * 6)}.tw\\:py-8{padding-block:calc(calc(var(--spacing)) * 8)}.tw\\:py-\\[2px\\]{padding-block:2px}.tw\\:ps-1\\.5{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:ps-2{padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ps-2\\.5{padding-inline-start:calc(calc(var(--spacing)) * 2.5)}.tw\\:ps-4{padding-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:ps-6{padding-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ps-7{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:ps-8{padding-inline-start:calc(calc(var(--spacing)) * 8)}.tw\\:ps-9{padding-inline-start:calc(calc(var(--spacing)) * 9)}.tw\\:ps-12{padding-inline-start:calc(calc(var(--spacing)) * 12)}.tw\\:ps-\\[85px\\]{padding-inline-start:85px}.tw\\:pe-1{padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:pe-1\\.5{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:pe-2{padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:pe-4{padding-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:pe-8{padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:pe-8\\!{padding-inline-end:calc(calc(var(--spacing)) * 8)!important}.tw\\:pe-9{padding-inline-end:calc(calc(var(--spacing)) * 9)}.tw\\:pe-\\[calc\\(138px\\+1rem\\)\\]{padding-inline-end:calc(138px + 1rem)}.tw\\:pe-\\[…\\]{padding-inline-end:…}.tw\\:pt-1{padding-top:calc(calc(var(--spacing)) * 1)}.tw\\:pt-2{padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:pt-3{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:pt-4{padding-top:calc(calc(var(--spacing)) * 4)}.tw\\:pt-6{padding-top:calc(calc(var(--spacing)) * 6)}.tw\\:pr-0{padding-right:calc(calc(var(--spacing)) * 0)}.tw\\:pr-3{padding-right:calc(calc(var(--spacing)) * 3)}.tw\\:pr-4{padding-right:calc(calc(var(--spacing)) * 4)}.tw\\:pb-0{padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:pb-1{padding-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:pb-2{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:pb-3{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:pb-4{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:pb-8{padding-bottom:calc(calc(var(--spacing)) * 8)}.tw\\:pb-12{padding-bottom:calc(calc(var(--spacing)) * 12)}.tw\\:pb-16{padding-bottom:calc(calc(var(--spacing)) * 16)}.tw\\:pb-24{padding-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:pl-2{padding-left:calc(calc(var(--spacing)) * 2)}.tw\\:pl-3{padding-left:calc(calc(var(--spacing)) * 3)}.tw\\:pl-4{padding-left:calc(calc(var(--spacing)) * 4)}.tw\\:pl-5{padding-left:calc(calc(var(--spacing)) * 5)}.tw\\:pl-6{padding-left:calc(calc(var(--spacing)) * 6)}.tw\\:pl-8{padding-left:calc(calc(var(--spacing)) * 8)}.tw\\:text-center{text-align:center}.tw\\:text-end{text-align:end}.tw\\:text-left{text-align:left}.tw\\:text-right{text-align:right}.tw\\:text-start{text-align:start}.tw\\:align-middle{vertical-align:middle}.tw\\:font-heading{font-family:var(--font-sans)}.tw\\:font-mono{font-family:var(--tw-font-mono)}.tw\\:font-sans{font-family:IBM Plex Sans Variable,sans-serif}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-4xl{font-size:var(--tw-text-4xl);line-height:var(--tw-leading,var(--tw-text-4xl--line-height))}.tw\\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-sm\\/relaxed{font-size:var(--tw-text-sm);line-height:var(--tw-leading-relaxed)}.tw\\:text-xl{font-size:var(--tw-text-xl);line-height:var(--tw-leading,var(--tw-text-xl--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tw\\:leading-6{--tw-leading:calc(calc(var(--spacing)) * 6);line-height:calc(calc(var(--spacing)) * 6)}.tw\\:leading-loose{--tw-leading:var(--tw-leading-loose);line-height:var(--tw-leading-loose)}.tw\\:leading-none{--tw-leading:1;line-height:1}.tw\\:leading-relaxed{--tw-leading:var(--tw-leading-relaxed);line-height:var(--tw-leading-relaxed)}.tw\\:leading-snug{--tw-leading:var(--tw-leading-snug);line-height:var(--tw-leading-snug)}.tw\\:leading-tight{--tw-leading:var(--tw-leading-tight);line-height:var(--tw-leading-tight)}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:font-extrabold{--tw-font-weight:var(--tw-font-weight-extrabold);font-weight:var(--tw-font-weight-extrabold)}.tw\\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:tracking-tight{--tw-tracking:var(--tw-tracking-tight);letter-spacing:var(--tw-tracking-tight)}.tw\\:tracking-wider{--tw-tracking:var(--tw-tracking-wider);letter-spacing:var(--tw-tracking-wider)}.tw\\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\\:text-balance{text-wrap:balance}.tw\\:text-nowrap{text-wrap:nowrap}.tw\\:break-words{overflow-wrap:break-word}.tw\\:text-clip{text-overflow:clip}.tw\\:text-ellipsis{text-overflow:ellipsis}.tw\\:whitespace-normal{white-space:normal}.tw\\:whitespace-nowrap{white-space:nowrap}.tw\\:whitespace-pre{white-space:pre}.tw\\:whitespace-pre-line{white-space:pre-line}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:\\[color\\:blue\\]{color:#00f}.tw\\:text-accent-foreground{color:var(--accent-foreground)}.tw\\:text-amber-600{color:var(--tw-color-amber-600)}.tw\\:text-background{color:var(--background)}.tw\\:text-blue-400{color:var(--tw-color-blue-400)}.tw\\:text-blue-500{color:var(--tw-color-blue-500)}.tw\\:text-blue-600{color:var(--tw-color-blue-600)}.tw\\:text-blue-800{color:var(--tw-color-blue-800)}.tw\\:text-card-foreground{color:var(--card-foreground)}.tw\\:text-current{color:currentColor}.tw\\:text-destructive{color:var(--destructive)}.tw\\:text-foreground{color:var(--foreground)}.tw\\:text-foreground\\!{color:var(--foreground)!important}.tw\\:text-foreground\\/30{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/30{color:color-mix(in oklab, var(--foreground) 30%, transparent)}}.tw\\:text-foreground\\/50{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/50{color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.tw\\:text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.tw\\:text-foreground\\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.tw\\:text-gray-300{color:var(--tw-color-gray-300)}.tw\\:text-gray-500{color:var(--tw-color-gray-500)}.tw\\:text-gray-600{color:var(--tw-color-gray-600)}.tw\\:text-gray-700{color:var(--tw-color-gray-700)}.tw\\:text-gray-800{color:var(--tw-color-gray-800)}.tw\\:text-green-600{color:var(--tw-color-green-600)}.tw\\:text-green-700{color:var(--tw-color-green-700)}.tw\\:text-green-800{color:var(--tw-color-green-800)}.tw\\:text-inherit{color:inherit}.tw\\:text-muted-foreground,.tw\\:text-muted-foreground\\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-muted-foreground\\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:text-orange-800{color:var(--tw-color-orange-800)}.tw\\:text-popover-foreground{color:var(--popover-foreground)}.tw\\:text-primary{color:var(--primary)}.tw\\:text-primary-foreground{color:var(--primary-foreground)}.tw\\:text-purple-900{color:var(--tw-color-purple-900)}.tw\\:text-red-500{color:var(--tw-color-red-500)}.tw\\:text-red-600{color:var(--tw-color-red-600)}.tw\\:text-red-700{color:var(--tw-color-red-700)}.tw\\:text-red-800{color:var(--tw-color-red-800)}.tw\\:text-rose-600{color:var(--tw-color-rose-600)}.tw\\:text-secondary-foreground{color:var(--secondary-foreground)}.tw\\:text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.tw\\:text-sidebar-foreground,.tw\\:text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.tw\\:text-sky-600{color:var(--tw-color-sky-600)}.tw\\:text-slate-900{color:var(--tw-color-slate-900)}.tw\\:text-teal-600{color:var(--tw-color-teal-600)}.tw\\:text-white{color:var(--tw-color-white)}.tw\\:text-yellow-400{color:var(--tw-color-yellow-400)}.tw\\:text-yellow-600{color:var(--tw-color-yellow-600)}.tw\\:text-yellow-700{color:var(--tw-color-yellow-700)}.tw\\:capitalize{text-transform:capitalize}.tw\\:uppercase{text-transform:uppercase}.tw\\:italic{font-style:italic}.tw\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tw\\:line-through{text-decoration-line:line-through}.tw\\:underline{text-decoration-line:underline}.tw\\:decoration-destructive{-webkit-text-decoration-color:var(--destructive);-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.tw\\:underline-offset-4{text-underline-offset:4px}.tw\\:opacity-0{opacity:0}.tw\\:opacity-40{opacity:.4}.tw\\:opacity-50{opacity:.5}.tw\\:opacity-60{opacity:.6}.tw\\:opacity-100{opacity:1}.tw\\:bg-blend-color{background-blend-mode:color}.tw\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none\\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tw\\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-background{--tw-ring-color:var(--background)}.tw\\:ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.tw\\:ring-primary{--tw-ring-color:var(--primary)}.tw\\:ring-ring\\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-ring\\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.tw\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:ring-offset-background{--tw-ring-offset-color:var(--background)}.tw\\:ring-offset-white{--tw-ring-offset-color:var(--tw-color-white)}.tw\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\\:drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--tw-drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tw\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-none{transition-property:none}.tw\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tw\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.tw\\:prose-quoteless :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose-quoteless :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:outline-none{--tw-outline-style:none;outline-style:none}.tw\\:select-none{-webkit-user-select:none;user-select:none}.tw\\:\\[unicode-bidi\\:plaintext\\]{unicode-bidi:plaintext}.tw\\:group-focus-within\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.tw\\:group-hover\\:visible:is(:where(.tw\\:group):hover *){visibility:visible}.tw\\:group-hover\\:hidden:is(:where(.tw\\:group):hover *){display:none}.tw\\:group-hover\\:opacity-100:is(:where(.tw\\:group):hover *),.tw\\:group-hover\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):hover *){opacity:1}}.tw\\:group-focus\\/context-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/context-menu-item):focus *),.tw\\:group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/dropdown-menu-item):focus *),.tw\\:group-focus\\/menubar-item\\:text-accent-foreground:is(:where(.tw\\:group\\/menubar-item):focus *){color:var(--accent-foreground)}.tw\\:group-has-disabled\\/field\\:opacity-50:is(:where(.tw\\:group\\/field):has(:disabled) *){opacity:.5}.tw\\:group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pe-8:is(:where(.tw\\:group\\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:size-10:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *){width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:size-6:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *){width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:group-has-data-\\[slot\\=command-shortcut\\]\\/command-item\\:hidden:is(:where(.tw\\:group\\/command-item):has([data-slot=command-shortcut]) *){display:none}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.tw\\:group\\/alert):has(>svg) *){grid-column-start:2}.tw\\:group-data-\\[checked\\=true\\]\\/command-item\\:opacity-100:is(:where(.tw\\:group\\/command-item)[data-checked=true] *){opacity:1}.tw\\:group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.tw\\:group)[data-collapsible=icon] *){margin-top:calc(calc(var(--spacing)) * -8)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){display:none}.tw\\:group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(calc(var(--spacing)) * 8)!important;height:calc(calc(var(--spacing)) * 8)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\):is(:where(.tw\\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)))}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)) + 2px)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){overflow:hidden}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 0)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 2)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.tw\\:group)[data-collapsible=icon] *){opacity:0}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){width:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tw\\:group)[data-disabled=true] *){pointer-events:none}.tw\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tw\\:group)[data-disabled=true] *),.tw\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.tw\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.tw\\:group-data-\\[side\\=primary\\]\\:-right-4:is(:where(.tw\\:group)[data-side=primary] *){right:calc(calc(var(--spacing)) * -4)}.tw\\:group-data-\\[side\\=primary\\]\\:border-e:is(:where(.tw\\:group)[data-side=primary] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:group-data-\\[side\\=secondary\\]\\:left-0:is(:where(.tw\\:group)[data-side=secondary] *){left:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[side\\=secondary\\]\\:rotate-180:is(:where(.tw\\:group)[data-side=secondary] *){rotate:180deg}.tw\\:group-data-\\[side\\=secondary\\]\\:border-s:is(:where(.tw\\:group)[data-side=secondary] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:size-2\\.5:is(:where(.tw\\:group\\/avatar)[data-size=default] *){width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:size-4:is(:where(.tw\\:group\\/switch)[data-size=default] *){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:size-3:is(:where(.tw\\:group\\/avatar)[data-size=lg] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:text-xs:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.tw\\:group\\/card)[data-size=sm] *){font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:size-3:is(:where(.tw\\:group\\/switch)[data-size=sm] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){border-radius:0}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.tw\\:group)[data-variant=floating] *){border-radius:var(--radius)}.tw\\:group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.tw\\:group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mt-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){text-align:center}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:me-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:ms-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mb-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.tw\\:group-data-selected\\/command-item\\:text-foreground:is(:where(.tw\\:group\\/command-item):where([data-selected=true]) *){color:var(--foreground)}.tw\\:group-data-horizontal\\/tabs\\:h-8:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *){height:calc(calc(var(--spacing)) * 8)}.tw\\:group-data-vertical\\/tabs\\:h-fit:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.tw\\:group-data-vertical\\/tabs\\:w-full:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){width:100%}.tw\\:group-data-vertical\\/tabs\\:flex-col:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.tw\\:group-data-vertical\\/tabs\\:justify-start:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.tw\\:peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.tw\\:peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}.tw\\:peer-focus\\:group-hover\\:text-blue-500:is(:where(.tw\\:peer):focus~*):is(:where(.tw\\:group):hover *){color:var(--tw-color-blue-500)}}.tw\\:peer-disabled\\:cursor-not-allowed:is(:where(.tw\\:peer):disabled~*){cursor:not-allowed}.tw\\:peer-disabled\\:opacity-50:is(:where(.tw\\:peer):disabled~*){opacity:.5}.tw\\:peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=default]~*){top:calc(calc(var(--spacing)) * 1.5)}.tw\\:peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=lg]~*){top:calc(calc(var(--spacing)) * 2.5)}.tw\\:peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.tw\\:peer\\/menu-button)[data-size=sm]~*){top:calc(calc(var(--spacing)) * 1)}.tw\\:peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.tw\\:peer\\/menu-button):where([data-state=active]),:where(.tw\\:peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.tw\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tw\\:file\\:h-6::file-selector-button{height:calc(calc(var(--spacing)) * 6)}.tw\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tw\\:file\\:text-sm::file-selector-button{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:file\\:text-foreground::file-selector-button{color:var(--foreground)}.tw\\:placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.tw\\:placeholder\\:text-slate-400::placeholder{color:var(--tw-color-slate-400)}.tw\\:before\\:absolute:before{content:var(--tw-content);position:absolute}.tw\\:before\\:top-0\\.5:before{content:var(--tw-content);top:calc(calc(var(--spacing)) * .5)}.tw\\:before\\:left-0:before{content:var(--tw-content);left:calc(calc(var(--spacing)) * 0)}.tw\\:before\\:block:before{content:var(--tw-content);display:block}.tw\\:before\\:hidden:before{content:var(--tw-content);display:none}.tw\\:before\\:h-4:before{content:var(--tw-content);height:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:w-4:before{content:var(--tw-content);width:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:cursor-pointer:before{content:var(--tw-content);cursor:pointer}.tw\\:before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.tw\\:before\\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:before\\:border-primary:before{content:var(--tw-content);border-color:var(--primary)}.tw\\:before\\:bg-primary:before{content:var(--tw-content);background-color:var(--primary)}.tw\\:before\\:bg-cover:before{content:var(--tw-content);background-size:cover}.tw\\:before\\:bg-no-repeat:before{content:var(--tw-content);background-repeat:no-repeat}.tw\\:before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.tw\\:after\\:absolute:after{content:var(--tw-content);position:absolute}.tw\\:after\\:-inset-2:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-0:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * -3)}.tw\\:after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.tw\\:after\\:top-\\[6px\\]:after{content:var(--tw-content);top:6px}.tw\\:after\\:right-\\[7px\\]:after{content:var(--tw-content);right:7px}.tw\\:after\\:left-\\[7px\\]:after{content:var(--tw-content);left:7px}.tw\\:after\\:block:after{content:var(--tw-content);display:block}.tw\\:after\\:hidden:after{content:var(--tw-content);display:none}.tw\\:after\\:h-0\\.5:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:after\\:h-\\[6px\\]:after{content:var(--tw-content);height:6px}.tw\\:after\\:w-1:after{content:var(--tw-content);width:calc(calc(var(--spacing)) * 1)}.tw\\:after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.tw\\:after\\:w-\\[3px\\]:after{content:var(--tw-content);width:3px}.tw\\:after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:after\\:rotate-45:after{content:var(--tw-content);rotate:45deg}.tw\\:after\\:cursor-pointer:after{content:var(--tw-content);cursor:pointer}.tw\\:after\\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.tw\\:after\\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:after\\:border-t-0:after{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:after\\:border-r-2:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.tw\\:after\\:border-b-2:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.tw\\:after\\:border-l-0:after{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:0}.tw\\:after\\:border-solid:after{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.tw\\:after\\:border-border:after{content:var(--tw-content);border-color:var(--border)}.tw\\:after\\:border-white:after{content:var(--tw-content);border-color:var(--tw-color-white)}.tw\\:after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.tw\\:after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.tw\\:after\\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\\:after\\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.tw\\:after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:after\\:start-full:is(:where(.tw\\:group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.tw\\:group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.tw\\:group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-vertical\\/tabs\\:after\\:-end-1:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-inline-end:calc(calc(var(--spacing)) * -1)}.tw\\:group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(calc(var(--spacing)) * .5)}.tw\\:first\\:mt-0:first-child{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:even\\:bg-muted:nth-child(2n){background-color:var(--muted)}.tw\\:focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.tw\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover:hover){.tw\\:hover\\:-mt-4:hover{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:hover\\:cursor-pointer:hover{cursor:pointer}.tw\\:hover\\:bg-accent:hover,.tw\\:hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.tw\\:hover\\:bg-accent\\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.tw\\:hover\\:bg-blue-600:hover{background-color:var(--tw-color-blue-600)}.tw\\:hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:hover\\:bg-gray-50:hover{background-color:var(--tw-color-gray-50)}.tw\\:hover\\:bg-input:hover{background-color:var(--input)}.tw\\:hover\\:bg-muted:hover,.tw\\:hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:hover\\:bg-muted\\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.tw\\:hover\\:bg-primary\\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.tw\\:hover\\:bg-primary\\/70:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/70:hover{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.tw\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.tw\\:hover\\:bg-red-500:hover{background-color:var(--tw-color-red-500)}.tw\\:hover\\:bg-secondary:hover,.tw\\:hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.tw\\:hover\\:bg-transparent:hover{background-color:#0000}.tw\\:hover\\:text-foreground:hover{color:var(--foreground)}.tw\\:hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.tw\\:hover\\:text-primary-foreground:hover{color:var(--primary-foreground)}.tw\\:hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.tw\\:hover\\:underline:hover{text-decoration-line:underline}.tw\\:hover\\:opacity-80:hover{opacity:.8}.tw\\:hover\\:opacity-100:hover{opacity:1}.tw\\:hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:ring-3:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.tw\\:hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.tw\\:focus\\:relative:focus{position:relative}.tw\\:focus\\:z-10:focus{z-index:10}.tw\\:focus\\:bg-accent:focus{background-color:var(--accent)}.tw\\:focus\\:bg-muted:focus{background-color:var(--muted)}.tw\\:focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.tw\\:focus\\:text-foreground:focus{color:var(--foreground)}.tw\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.tw\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus\\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.tw\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}:is(.tw\\:focus\\:\\*\\*\\:text-accent-foreground:focus *),:is(.tw\\:not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.tw\\:focus-visible\\:relative:focus-visible{position:relative}.tw\\:focus-visible\\:z-10:focus-visible{z-index:10}.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.tw\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-3:focus-visible,.tw\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-\\[color\\:hsl\\(240\\,5\\%\\,64\\.9\\%\\)\\]:focus-visible{--tw-ring-color:#a1a1aa}.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:focus-visible\\:ring-ring:focus-visible,.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:focus-visible\\:ring-slate-400:focus-visible{--tw-ring-color:var(--tw-color-slate-400)}.tw\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.tw\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.tw\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}:is(.tw\\:\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.tw\\:\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.tw\\:active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.tw\\:active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.tw\\:active\\:ring-3:active{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:transform-\\[translateY\\(1px\\)\\]:active:not([aria-haspopup]){transform:translateY(1px)}.tw\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tw\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\\:disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:disabled\\:bg-transparent:disabled{background-color:#0000}.tw\\:disabled\\:opacity-50:disabled{opacity:.5}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-side=primary]) .tw\\:in-data-\\[side\\=primary\\]\\:cursor-w-resize{cursor:w-resize}:where([data-side=secondary]) .tw\\:in-data-\\[side\\=secondary\\]\\:cursor-e-resize{cursor:e-resize}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-slot=button-group]) .tw\\:in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-slot=dialog-content]) .tw\\:in-data-\\[slot\\=dialog-content\\]\\:rounded-lg\\!{border-radius:var(--radius)!important}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-background{color:var(--background)}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-destructive{color:var(--destructive)}.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:has-disabled\\:opacity-50:has(:disabled){opacity:.5}.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-2:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-2:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.tw\\:has-data-\\[slot\\=alert-action\\]\\:pe-18:has([data-slot=alert-action]){padding-inline-end:calc(calc(var(--spacing)) * 18)}.tw\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\\:has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.tw\\:has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-0:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-1\\.5:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.tw\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>button\\]\\:ms-\\[-0\\.3rem\\]:has(>button){margin-inline-start:-.3rem}.tw\\:has-\\[\\>button\\]\\:me-\\[-0\\.3rem\\]:has(>button){margin-inline-end:-.3rem}.tw\\:has-\\[\\>img\\]\\:grid-cols-\\[auto_1fr\\]:has(>img){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>img\\]\\:gap-x-2:has(>img){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>kbd\\]\\:ms-\\[-0\\.15rem\\]:has(>kbd){margin-inline-start:-.15rem}.tw\\:has-\\[\\>kbd\\]\\:me-\\[-0\\.15rem\\]:has(>kbd){margin-inline-end:-.15rem}.tw\\:has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.tw\\:aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.tw\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tw\\:aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.tw\\:aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.tw\\:aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.tw\\:aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.tw\\:aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.tw\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.tw\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.tw\\:aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:h-px[aria-orientation=horizontal]{height:1px}.tw\\:aria-\\[orientation\\=horizontal\\]\\:w-full[aria-orientation=horizontal]{width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:start-0[aria-orientation=horizontal]:after{content:var(--tw-content);inset-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * 1)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-y-1\\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=vertical\\]\\:flex-col[aria-orientation=vertical]{flex-direction:column}.tw\\:data-inset\\:ps-7[data-inset]{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.tw\\:data-quiet-focus\\:focus-visible\\:border-transparent[data-quiet-focus]:focus-visible{border-color:#0000}.tw\\:data-quiet-focus\\:focus-visible\\:ring-0[data-quiet-focus]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-quiet-focus\\:focus-visible\\:outline-none[data-quiet-focus]:focus-visible{--tw-outline-style:none;outline-style:none}.tw\\:data-\\[align-trigger\\=false\\]\\:min-w-36[data-align-trigger=false]{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:data-\\[align-trigger\\=true\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-align-trigger=true]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.tw\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tw\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tw\\:data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.tw\\:data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.tw\\:data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\\:data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(calc(var(--spacing)) * 8)}.tw\\:data-\\[size\\=default\\]\\:h-\\[18\\.4px\\][data-size=default]{height:18.4px}.tw\\:data-\\[size\\=default\\]\\:w-\\[32px\\][data-size=default]{width:32px}.tw\\:data-\\[size\\=lg\\]\\:size-10[data-size=lg]{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:data-\\[size\\=sm\\]\\:size-6[data-size=sm]{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(calc(var(--spacing)) * 7)}.tw\\:data-\\[size\\=sm\\]\\:h-\\[14px\\][data-size=sm]{height:14px}.tw\\:data-\\[size\\=sm\\]\\:w-\\[24px\\][data-size=sm]{width:24px}.tw\\:data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.tw\\:\\*\\:data-\\[slot\\=input-group-addon\\]\\:ps-2\\!>*)[data-slot=input-group-addon]{padding-inline-start:calc(calc(var(--spacing)) * 2)!important}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:relative *)[data-slot=kbd]{position:relative}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:z-50 *)[data-slot=kbd]{z-index:50}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex-1>*)[data-slot=select-value]{flex:1}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:text-start>*)[data-slot=select-value]{text-align:start}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-s-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-e-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.tw\\:data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.tw\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.tw\\:data-\\[state\\=delayed-open\\]\\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-\\[state\\=delayed-open\\]\\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.tw\\:data-\\[state\\=delayed-open\\]\\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-approved\\)\\][data-state=on]{background-color:var(--inv-soft-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unapproved\\)\\][data-state=on]{background-color:var(--inv-soft-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unknown\\)\\][data-state=on]{background-color:var(--inv-soft-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-approved\\)\\][data-state=on]{background-color:var(--inv-vivid-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unapproved\\)\\][data-state=on]{background-color:var(--inv-vivid-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unknown\\)\\][data-state=on]{background-color:var(--inv-vivid-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-muted[data-state=on]{background-color:var(--muted)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-approved\\)\\][data-state=on]{color:var(--inv-icon-approved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unapproved\\)\\][data-state=on]{color:var(--inv-icon-unapproved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unknown\\)\\][data-state=on]{color:var(--inv-icon-unknown)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-on\\)\\][data-state=on]{color:var(--inv-on)}.tw\\:data-\\[state\\=on\\]\\:text-foreground[data-state=on]{color:var(--foreground)}.tw\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.tw\\:data-\\[state\\=open\\]\\:bg-muted[data-state=open]{background-color:var(--muted)}.tw\\:data-\\[state\\=open\\]\\:text-foreground[data-state=open]{color:var(--foreground)}.tw\\:data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.tw\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}:is(:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:\\*\\*\\:text-accent-foreground\\! *)[data-variant=destructive] *),:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:text-accent-foreground\\! *)[data-variant=destructive]{color:var(--accent-foreground)!important}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}.tw\\:data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-s-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-s:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-xl[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:flex-row[data-vaul-drawer-direction=left]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:rounded-r-xl[data-vaul-drawer-direction=left]{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\/right\\]\\:flex-row[data-vaul-drawer-direction=left\\/right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:flex-row[data-vaul-drawer-direction=right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:rounded-l-xl[data-vaul-drawer-direction=right]{border-top-left-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-xl[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.tw\\:supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--tw-blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.tw\\:sm\\:flex{display:flex}.tw\\:sm\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:sm\\:flex-row{flex-direction:row}.tw\\:sm\\:justify-end{justify-content:flex-end}.tw\\:sm\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:sm\\:text-start{text-align:start}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--tw-container-sm)}}@media (min-width:48rem){.tw\\:md\\:block{display:block}.tw\\:md\\:flex{display:flex}.tw\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:md\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:md\\:text-start{text-align:start}.tw\\:md\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:md\\:text-pretty{text-wrap:pretty}.tw\\:md\\:opacity-0{opacity:0}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.tw\\:peer)[data-variant=inset]~*){margin:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:ms-0:is(:where(.tw\\:peer)[data-variant=inset]~*){margin-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.tw\\:peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.tw\\:peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ms-2:is(:where(.tw\\:peer)[data-variant=inset]~*):is(:where(.tw\\:peer)[data-state=collapsed]~*){margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.tw\\:lg\\:flex{display:flex}.tw\\:lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tw\\:lg\\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:lg\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}}@media (min-width:48rem){@media (min-width:64rem){.tw\\:md\\:lg\\:hidden{display:none}}}@media (min-width:80rem){.tw\\:xl\\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.tw\\:xl\\:grid-flow-col{grid-auto-flow:column}.tw\\:xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:xl\\:grid-cols-none{grid-template-columns:none}.tw\\:xl\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}}@container search not (min-width:7rem){.tw\\:\\@max-\\[7rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[7rem\\]\\/search\\:ps-3{padding-inline-start:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:4rem){.tw\\:\\@max-\\[4rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[4rem\\]\\/search\\:pe-3{padding-inline-end:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:3rem){.tw\\:\\@max-\\[3rem\\]\\/search\\:ps-0{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\@max-\\[3rem\\]\\/search\\:pe-0{padding-inline-end:calc(calc(var(--spacing)) * 0)}}@container (min-width:24rem){.tw\\:\\@sm\\:basis-auto{flex-basis:auto}}.tw\\:ltr\\:left-2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){left:calc(calc(var(--spacing)) * 2)}.tw\\:ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:right-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:calc(calc(var(--spacing)) * 2)}.tw\\:rtl\\:flex:where(:dir(rtl),[dir=rtl],[dir=rtl] *){display:flex}.tw\\:rtl\\:-translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:after\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=primary]) .tw\\:rtl\\:in-data-\\[side\\=primary\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=secondary]) .tw\\:rtl\\:in-data-\\[side\\=secondary\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}.tw\\:rtl\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=left\\]\\:translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=right\\]\\:-translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:border-input:is(.dark *){border-color:var(--input)}.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:bg-transparent:is(.dark *){background-color:#0000}.tw\\:dark\\:text-amber-400:is(.dark *){color:var(--tw-color-amber-400)}.tw\\:dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.tw\\:dark\\:text-rose-400:is(.dark *){color:var(--tw-color-rose-400)}.tw\\:dark\\:text-sky-400:is(.dark *){color:var(--tw-color-sky-400)}.tw\\:dark\\:text-teal-400:is(.dark *){color:var(--tw-color-teal-400)}.tw\\:dark\\:after\\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.tw\\:dark\\:hover\\:bg-blue-500:is(.dark *):hover{background-color:var(--tw-color-blue-500)}.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:data-open\\:animate-in:where([data-state=open]),.tw\\:data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-open\\:bg-accent:where([data-state=open]),.tw\\:data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.tw\\:data-open\\:text-accent-foreground:where([data-state=open]),.tw\\:data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.tw\\:data-open\\:fade-in-0:where([data-state=open]),.tw\\:data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.tw\\:data-open\\:zoom-in-95:where([data-state=open]),.tw\\:data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.tw\\:data-closed\\:animate-out:where([data-state=closed]),.tw\\:data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-closed\\:fade-out-0:where([data-state=closed]),.tw\\:data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.tw\\:data-closed\\:zoom-out-95:where([data-state=closed]),.tw\\:data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.tw\\:data-checked\\:border-primary:where([data-state=checked]),.tw\\:data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.tw\\:data-checked\\:bg-primary:where([data-state=checked]),.tw\\:data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:data-checked\\:text-primary-foreground:where([data-state=checked]),.tw\\:data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(calc(100% - 2px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.tw\\:data-unchecked\\:bg-input:where([data-state=unchecked]),.tw\\:data-unchecked\\:bg-input:where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--foreground)}.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:data-selected\\:bg-muted:where([data-selected=true]),.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:data-selected\\:bg-primary:where([data-selected=true]){background-color:var(--primary)}.tw\\:data-selected\\:bg-transparent:where([data-selected=true]){background-color:#0000}.tw\\:data-selected\\:text-foreground:where([data-selected=true]){color:var(--foreground)}.tw\\:data-selected\\:text-inherit:where([data-selected=true]){color:inherit}.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:data-selected\\:text-primary-foreground:where([data-selected=true]){color:var(--primary-foreground)}.tw\\:data-selected\\:ring-2:where([data-selected=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:data-selected\\:ring-inset:where([data-selected=true]){--tw-ring-inset:inset}@media (forced-colors:active){.tw\\:forced-colors\\:data-selected\\:outline-2:where([data-selected=true]){outline-style:var(--tw-outline-style);outline-width:2px}.tw\\:forced-colors\\:data-selected\\:-outline-offset-2:where([data-selected=true]){outline-offset:calc(2px * -1)}.tw\\:forced-colors\\:data-selected\\:outline-\\[color\\:Highlight\\]:where([data-selected=true]){outline-color:highlight}}.tw\\:data-disabled\\:pointer-events-none:where([data-disabled=true]),.tw\\:data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled=true]),.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.tw\\:data-disabled\\:opacity-50:where([data-disabled=true]),.tw\\:data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.tw\\:data-active\\:bg-background:where([data-state=active]),.tw\\:data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.tw\\:data-active\\:bg-sidebar-accent:where([data-state=active]),.tw\\:data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.tw\\:data-active\\:font-medium:where([data-state=active]),.tw\\:data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:data-active\\:text-foreground:where([data-state=active]),.tw\\:data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.tw\\:data-horizontal\\:h-1:where([data-orientation=horizontal]){height:calc(calc(var(--spacing)) * 1)}.tw\\:data-horizontal\\:h-full:where([data-orientation=horizontal]){height:100%}.tw\\:data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.tw\\:data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.tw\\:data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.tw\\:data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.tw\\:data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.tw\\:data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.tw\\:data-vertical\\:h-full:where([data-orientation=vertical]){height:100%}.tw\\:data-vertical\\:min-h-40:where([data-orientation=vertical]){min-height:calc(calc(var(--spacing)) * 40)}.tw\\:data-vertical\\:w-1:where([data-orientation=vertical]){width:calc(calc(var(--spacing)) * 1)}.tw\\:data-vertical\\:w-auto:where([data-orientation=vertical]){width:auto}.tw\\:data-vertical\\:w-full:where([data-orientation=vertical]){width:100%}.tw\\:data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.tw\\:data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.tw\\:data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.tw\\:data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=true]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=true]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=true]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=true]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=true]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=true]>blockquote{font-style:normal}.tw\\:\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.tw\\:\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.tw\\:\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.tw\\:\\[\\&_p\\]\\:my-0 p{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_s\\]\\:text-destructive s{color:var(--destructive)}.tw\\:\\[\\&_s\\]\\:line-through s{text-decoration-line:line-through}.tw\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tw\\:\\[\\&_svg\\]\\:size-4 svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.tw\\:\\[\\&_u\\]\\:font-semibold u{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:\\[\\&_u\\]\\:text-success-foreground u{color:var(--success-foreground)}.tw\\:\\[\\&_u\\]\\:no-underline u{text-decoration-line:none}.tw\\:\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pe-0:has([role=checkbox]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.tw\\:group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:px-2 *)[cmdk-group-heading]{padding-inline:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:py-1\\.5 *)[cmdk-group-heading]{padding-block:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-xs *)[cmdk-group-heading]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}:is(.tw\\:\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.tw\\:\\*\\:\\[img\\]\\:row-span-2>*):is(img){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[img\\]\\:translate-y-0\\.5>*):is(img){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[img\\]\\:text-current>*):is(img){color:currentColor}:is(.tw\\:\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(img:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}:is(.tw\\:focus\\:\\*\\:\\[svg\\]\\:text-accent-foreground:focus>*):is(svg){color:var(--accent-foreground)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.tw\\:data-selected\\:\\*\\:\\[svg\\]\\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}:is(.tw\\:\\*\\:\\[svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-s-none>:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-s-0>:not(:first-child){border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-e-none>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.tw\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-e-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-e-lg\\!>[data-slot]:not(:has(~[data-slot])){border-start-end-radius:var(--radius)!important;border-end-end-radius:var(--radius)!important}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.tw\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tw\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tw\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.tw\\:\\[\\&\\>blockquote\\]\\:my-0>blockquote{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:border-s-0>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>blockquote\\]\\:p-0>blockquote{padding:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:ps-0>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:font-normal>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&\\>blockquote\\]\\:text-foreground>blockquote{color:var(--foreground)}.tw\\:\\[\\&\\>blockquote\\]\\:not-italic>blockquote{font-style:normal}.tw\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pe-1\\.5:has(>[data-align=inline-end])>input{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:ps-1\\.5:has(>[data-align=inline-start])>input{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.tw\\:\\[\\&\\>li\\]\\:mt-2>li{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tw\\:\\[\\&\\>svg\\]\\:hidden>svg{display:none}.tw\\:\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(calc(var(--spacing)) * 3)!important;height:calc(calc(var(--spacing)) * 3)!important}.tw\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\]\\:size-4>svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.tw\\:\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-5:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *)>svg{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-3:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *)>svg{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=default] *)>svg,.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=lg] *)>svg{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:\\[\\&\\>svg\\]\\:hidden:is(:where(.tw\\:group\\/avatar)[data-size=sm] *)>svg,.tw\\:\\[\\&\\>svg\\:last-child\\]\\:hidden>svg:last-child{display:none}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.tw\\:\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}.tw\\:\\[\\&\\[aria-orientation\\=horizontal\\]\\>div\\]\\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}[data-side=primary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=primary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-end-2{inset-inline-end:calc(calc(var(--spacing)) * -2)}[data-side=primary][data-state=collapsed] .tw\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=primary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=secondary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-start-2{inset-inline-start:calc(calc(var(--spacing)) * -2)}[data-side=secondary][data-state=collapsed] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}[data-side=secondary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light,:root{--radius:.625rem;--spacing:.25rem;--background:oklch(100% 0 0);--foreground:oklch(13.71% .036 258.53);--card:oklch(100% 0 0);--card-foreground:oklch(13.71% .036 258.53);--popover:oklch(98.43% .0018 248.56);--popover-foreground:oklch(13.71% .036 258.53);--primary:oklch(20.79% .0399 265.73);--primary-foreground:oklch(98.38% .0036 248.23);--secondary:oklch(95.89% .011 248.06);--secondary-foreground:oklch(20.79% .0399 265.73);--muted:oklch(95.89% .011 248.06);--muted-foreground:oklch(55.47% .0408 257.45);--accent:oklch(95.89% .011 248.06);--accent-foreground:oklch(20.79% .0399 265.73);--destructive:oklch(63.69% .2077 25.32);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(92.9% .0127 255.58);--input:oklch(92.9% .0127 255.58);--ring:oklch(13.71% .036 258.53);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.43% .0018 248.56);--sidebar-foreground:oklch(13.71% .036 258.53);--sidebar-primary:oklch(20.79% .0399 265.73);--sidebar-primary-foreground:oklch(98.38% .0036 248.23);--sidebar-accent:oklch(95.89% .011 248.06);--sidebar-accent-foreground:oklch(20.79% .0399 265.73);--sidebar-border:oklch(92.9% .0127 255.58);--sidebar-ring:oklch(13.71% .036 258.53)}.dark{--background:oklch(13.71% .036 258.53);--foreground:oklch(98.38% .0036 248.23);--card:oklch(13.71% .036 258.53);--card-foreground:oklch(98.38% .0036 248.23);--popover:oklch(13.71% .036 258.53);--popover-foreground:oklch(98.38% .0036 248.23);--primary:oklch(98.38% .0036 248.23);--primary-foreground:oklch(20.79% .0399 265.73);--secondary:oklch(28% .037 259.98);--secondary-foreground:oklch(98.38% .0036 248.23);--muted:oklch(28% .037 259.98);--muted-foreground:oklch(71.07% .0351 256.8);--accent:oklch(28% .037 259.98);--accent-foreground:oklch(98.38% .0036 248.23);--destructive:oklch(39.6% .1331 25.71);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(44.54% .0374 257.3);--input:oklch(44.54% .0374 257.3);--ring:oklch(86.88% .0199 252.89);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(13.71% .036 258.53);--sidebar-foreground:oklch(71.07% .0351 256.8);--sidebar-primary:oklch(98.38% .0036 248.23);--sidebar-primary-foreground:oklch(20.79% .0399 265.73);--sidebar-accent:oklch(28% .037 259.98);--sidebar-accent-foreground:oklch(71.07% .0351 256.8);--sidebar-border:oklch(28% .037 259.98);--sidebar-ring:oklch(86.88% .0199 252.89)}.paratext-light{--background:oklch(100% 0 0);--foreground:oklch(15.3% .006 107.1);--card:oklch(100% 0 0);--card-foreground:oklch(15.3% .006 107.1);--popover:oklch(100% 0 0);--popover-foreground:oklch(15.3% .006 107.1);--primary:oklch(55.5% .163 48.998);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.6% .005 106.5);--muted-foreground:oklch(58% .031 107.3);--accent:oklch(96.6% .005 106.5);--accent-foreground:oklch(22.8% .013 107.4);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(93% .007 106.5);--input:oklch(93% .007 106.5);--ring:oklch(73.7% .021 106.9);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(98.8% .003 106.5);--sidebar-foreground:oklch(15.3% .006 107.1);--sidebar-primary:oklch(66.6% .179 58.318);--sidebar-primary-foreground:oklch(98.7% .022 95.277);--sidebar-accent:oklch(96.6% .005 106.5);--sidebar-accent-foreground:oklch(22.8% .013 107.4);--sidebar-border:oklch(93% .007 106.5);--sidebar-ring:oklch(73.7% .021 106.9)}.paratext-dark{--background:oklch(15.3% .006 107.1);--foreground:oklch(98.8% .003 106.5);--card:oklch(22.8% .013 107.4);--card-foreground:oklch(98.8% .003 106.5);--popover:oklch(22.8% .013 107.4);--popover-foreground:oklch(98.8% .003 106.5);--primary:oklch(47.3% .137 46.201);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(28.6% .016 107.4);--muted-foreground:oklch(73.7% .021 106.9);--accent:oklch(28.6% .016 107.4);--accent-foreground:oklch(98.8% .003 106.5);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(58% .031 107.3);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(22.8% .013 107.4);--sidebar-foreground:oklch(98.8% .003 106.5);--sidebar-primary:oklch(76.9% .188 70.08);--sidebar-primary-foreground:oklch(27.9% .077 45.635);--sidebar-accent:oklch(28.6% .016 107.4);--sidebar-accent-foreground:oklch(98.8% .003 106.5);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(58% .031 107.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} `,"after-all"); //# sourceMappingURL=experimental.cjs.map diff --git a/lib/platform-bible-react/dist/experimental.js b/lib/platform-bible-react/dist/experimental.js index d01e5f0ea77..3265bdf71d5 100644 --- a/lib/platform-bible-react/dist/experimental.js +++ b/lib/platform-bible-react/dist/experimental.js @@ -1,5 +1,5 @@ -import { O as Dt, Q as At, aL as Ft, al as Ot, a8 as Bt, aG as xt, aH as kt, b2 as Mt, b1 as st, aU as Kt, a1 as jt, a4 as $t, $ as lt, a0 as K, J as yt, X as Gt, W as Vt, c as _, b0 as Ht, a$ as bt, a_ as Yt, V as Jt, B as at, T as wt, b as pt, d as gt, e as ht, p as Qt, E as Wt, F as Xt, D as Zt, h as ta, a9 as aa, i as ra, k as ea, bj as oa, S as ia, aI as na, R as _t, K as zt, U as sa } from "./resizable-C_A_0ssf.js"; -import { q as Ha, bk as Ya, bl as Ja, bm as Qa, ak as Wa, bn as Xa, bo as Za, bp as tr, bq as ar, ah as rr, br as er, bs as or, am as ir, bt as nr, ag as sr, bu as cr, bv as lr, bw as dr, r as wr, af as pr, ac as gr, bx as hr } from "./resizable-C_A_0ssf.js"; +import { O as qt, Q as At, aL as Ft, al as Ot, a8 as Bt, aG as xt, aH as kt, b2 as Mt, b1 as st, aU as Kt, a1 as jt, a4 as $t, $ as lt, a0 as K, J as yt, X as Gt, W as Vt, c as _, b0 as Ht, a$ as bt, a_ as Yt, V as Jt, B as at, T as wt, b as pt, d as gt, e as ht, p as Qt, E as Wt, F as Xt, D as Zt, h as ta, a9 as aa, i as ra, k as ea, bj as oa, S as ia, aI as na, R as _t, K as zt, U as sa } from "./resizable-S-VR7cMZ.js"; +import { q as Ha, bk as Ya, bl as Ja, bm as Qa, ak as Wa, bn as Xa, bo as Za, bp as tr, bq as ar, ah as rr, br as er, bs as or, am as ir, bt as nr, ag as sr, bu as cr, bv as lr, bw as dr, r as wr, af as pr, ac as gr, bx as hr } from "./resizable-S-VR7cMZ.js"; import { jsxs as c, Fragment as V, jsx as t } from "react/jsx-runtime"; import { formatReplacementString as dt } from "platform-bible-utils"; import { CloudOff as mt, SearchX as ca, Check as la, ArrowLeft as da, ArrowRight as wa, TriangleAlert as pa, Info as ga, ChevronDown as ha } from "lucide-react"; @@ -109,7 +109,7 @@ function xa(a, r) { const o = r.toLowerCase(); return a.displayName.toLowerCase().includes(o) || a.fullName.toLowerCase().includes(o) || a.bestLanguageName.toLowerCase().includes(o); } -function qa({ +function Da({ allResources: a, isResourcesLoading: r, hasResourcesError: o, @@ -133,12 +133,12 @@ function qa({ ), z = U( () => va(k), [k] - ), { offered: u, held: q } = U( + ), { offered: u, held: D } = U( () => ba(I, z), [I, z] ), B = ft( - (w) => O([...q, ...w]), - [q] + (w) => O([...D, ...w]), + [D] ), y = U( () => k.filter((w) => xa(w, f)).filter( (w) => u.length === 0 || u.includes(w.bestLanguageName) @@ -147,7 +147,7 @@ function qa({ ), S = U( () => y.filter((w) => d == null ? void 0 : d.includes(w.dblEntryUid)), [y, d] - ), D = U( + ), q = U( () => y.filter((w) => w.installed && !(d != null && d.includes(w.dblEntryUid))), [y, d] ), A = U( @@ -155,7 +155,7 @@ function qa({ (w) => !w.installed && !(d != null && d.includes(w.dblEntryUid)) ), [y, d] - ), { visibleItems: s, sentinelRef: h, hasMore: g } = ma(A), rt = S.length === 0 && D.length === 0 && A.length === 0, Y = v(e, "%resourcePicker_title%"), J = v(e, "%resourcePicker_description%"), et = v(e, "%resourcePicker_search_placeholder%"), $ = v(e, "%resourcePicker_language_filter_any%"), Q = v( + ), { visibleItems: s, sentinelRef: h, hasMore: g } = ma(A), rt = S.length === 0 && q.length === 0 && A.length === 0, Y = v(e, "%resourcePicker_title%"), J = v(e, "%resourcePicker_description%"), et = v(e, "%resourcePicker_search_placeholder%"), $ = v(e, "%resourcePicker_language_filter_any%"), Q = v( e, "%resourcePicker_language_filter_search_placeholder%" ), W = v( @@ -181,7 +181,7 @@ function qa({ selectCount: u.length } ) : $; - }, [it, u, z, $, e]), qt = ut && k.length > 0, M = !!r || !!o || k.length === 0, vt = F(M); + }, [it, u, z, $, e]), Dt = ut && k.length > 0, M = !!r || !!o || k.length === 0, vt = F(M); tt(() => { const w = vt.current && !M; if (vt.current = M, !w) return; @@ -194,11 +194,11 @@ function qa({ isResourcesLoading: !!r, hasResourcesError: !!o, hasNoResults: rt, - canClearFiltersHelp: qt, + canClearFiltersHelp: Dt, areDownloadsUnavailable: !!i }); return /* @__PURE__ */ c(V, { children: [ - /* @__PURE__ */ c(Dt, { className: "tw:px-4 tw:pt-4", children: [ + /* @__PURE__ */ c(qt, { className: "tw:px-4 tw:pt-4", children: [ /* @__PURE__ */ t(At, { children: Y }), /* @__PURE__ */ t(Ft, { className: "tw:sr-only", children: J }) ] }), @@ -294,7 +294,7 @@ function qa({ ct, { label: b, - resources: D, + resources: q, onSelect: m ? T : void 0 } ), @@ -312,7 +312,7 @@ function qa({ ] }) ] }); } -function Da({ +function qa({ items: a, renderItem: r, renderDetailContent: o, @@ -335,7 +335,7 @@ function Da({ }, k = (s) => { const h = a.find((g) => g.id === s.id); h && R(h); - }, { listboxRef: z, activeId: u, handleKeyDown: q, focusOption: B } = Gt({ + }, { listboxRef: z, activeId: u, handleKeyDown: D, focusOption: B } = Gt({ options: L, onOptionSelect: k, onCharacterPress: T @@ -375,7 +375,7 @@ function Da({ children: l } ); - const D = /* @__PURE__ */ t( + const q = /* @__PURE__ */ t( "ul", { role: "listbox", @@ -383,7 +383,7 @@ function Da({ ref: z, "aria-activedescendant": u ?? void 0, className: "tw:outline-none tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background", - onKeyDown: q, + onKeyDown: D, children: a.map((s) => { const h = O === s.id; return /* @__PURE__ */ t( @@ -429,7 +429,7 @@ function Da({ // a draggable handle, detail at ~67%. The detail is a sibling of the list (not an overlay) // so all controls outside the SLI remain interactive while the detail is open. /* @__PURE__ */ c(Ht, { direction: "horizontal", className: "tw:h-full tw:w-full", children: [ - /* @__PURE__ */ t(bt, { defaultSize: 33.3333, minSize: 20, children: /* @__PURE__ */ t("div", { className: "tw:h-full tw:overflow-y-auto", children: D }) }), + /* @__PURE__ */ t(bt, { defaultSize: 33.3333, minSize: 20, children: /* @__PURE__ */ t("div", { className: "tw:h-full tw:overflow-y-auto", children: q }) }), /* @__PURE__ */ t(Yt, {}), /* @__PURE__ */ t(bt, { defaultSize: 66.6667, minSize: 30, children: /* @__PURE__ */ t( "div", @@ -442,7 +442,7 @@ function Da({ } ) }) ] }) - ) : /* @__PURE__ */ t("div", { className: "tw:h-full tw:w-full tw:overflow-y-auto", children: D }) + ) : /* @__PURE__ */ t("div", { className: "tw:h-full tw:w-full tw:overflow-y-auto", children: q }) } ); } @@ -542,7 +542,7 @@ function Ba({ ), z = Z( l, "%navigationHistory_forwardList_ariaLabel%" - ), [u, q] = T ? ["⌘[", "⌘]"] : ["Alt+←", "Alt+→"], B = oa("left", N) === "back" ? u : q, y = B === u ? q : u, S = (s, h) => { + ), [u, D] = T ? ["⌘[", "⌘]"] : ["Alt+←", "Alt+→"], B = oa("left", N) === "back" ? u : D, y = B === u ? D : u, S = (s, h) => { const g = s === "back", rt = g ? a : r, Y = g ? o : n, J = g ? L : R, et = g ? k : z, $ = g ? B : y, Q = g ? O : E, W = C === s, ot = g !== f; return /* @__PURE__ */ c( Zt, @@ -607,13 +607,13 @@ function Ba({ }, s ); - }, D = f ? "forward" : "back", A = f ? "back" : "forward"; + }, q = f ? "forward" : "back", A = f ? "back" : "forward"; return ( // One TooltipProvider for the whole pair (rather than one per tooltip) so Radix's skip-delay // coordinates across both buttons — moving the pointer between them doesn't re-incur the // full open delay. /* @__PURE__ */ t(wt, { children: /* @__PURE__ */ c(Wt, { "data-testid": "navigation-history-buttons", className: e, children: [ - S(D, !0), + S(q, !0), p && /* @__PURE__ */ t(Xt, {}), S(A, !1) ] }) }) @@ -1003,7 +1003,7 @@ Na(`.banded-row:hover { list-style-type: disclosure-open; } /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--tw-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tw-color-red-100:oklch(93.6% .032 17.717);--tw-color-red-200:oklch(88.5% .062 18.334);--tw-color-red-300:oklch(80.8% .114 19.571);--tw-color-red-400:oklch(70.4% .191 22.216);--tw-color-red-500:oklch(63.7% .237 25.331);--tw-color-red-600:oklch(57.7% .245 27.325);--tw-color-red-700:oklch(50.5% .213 27.518);--tw-color-red-800:oklch(44.4% .177 26.899);--tw-color-orange-100:oklch(95.4% .038 75.164);--tw-color-orange-800:oklch(47% .157 37.304);--tw-color-amber-200:oklch(92.4% .12 95.746);--tw-color-amber-400:oklch(82.8% .189 84.429);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-yellow-50:oklch(98.7% .026 102.212);--tw-color-yellow-100:oklch(97.3% .071 103.193);--tw-color-yellow-400:oklch(85.2% .199 91.936);--tw-color-yellow-500:oklch(79.5% .184 86.047);--tw-color-yellow-600:oklch(68.1% .162 75.834);--tw-color-yellow-700:oklch(55.4% .135 66.442);--tw-color-green-50:oklch(98.2% .018 155.826);--tw-color-green-100:oklch(96.2% .044 156.743);--tw-color-green-500:oklch(72.3% .219 149.579);--tw-color-green-600:oklch(62.7% .194 149.214);--tw-color-green-700:oklch(52.7% .154 150.069);--tw-color-green-800:oklch(44.8% .119 151.328);--tw-color-teal-400:oklch(77.7% .152 181.912);--tw-color-teal-500:oklch(70.4% .14 182.503);--tw-color-teal-600:oklch(60% .118 184.704);--tw-color-sky-400:oklch(74.6% .16 232.661);--tw-color-sky-500:oklch(68.5% .169 237.323);--tw-color-sky-600:oklch(58.8% .158 241.966);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-100:oklch(93.2% .032 255.585);--tw-color-blue-400:oklch(70.7% .165 254.624);--tw-color-blue-500:oklch(62.3% .214 259.815);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-blue-800:oklch(42.4% .199 265.638);--tw-color-indigo-200:oklch(87% .065 274.039);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-200:oklch(90.2% .063 306.703);--tw-color-purple-900:oklch(38.1% .176 304.987);--tw-color-rose-400:oklch(71.2% .194 13.428);--tw-color-rose-500:oklch(64.5% .246 16.439);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-slate-300:oklch(86.9% .022 252.894);--tw-color-slate-400:oklch(70.4% .04 256.788);--tw-color-slate-900:oklch(20.8% .042 265.755);--tw-color-gray-50:oklch(98.5% .002 247.839);--tw-color-gray-100:oklch(96.7% .003 264.542);--tw-color-gray-300:oklch(87.2% .01 258.338);--tw-color-gray-500:oklch(55.1% .027 264.364);--tw-color-gray-600:oklch(44.6% .03 256.802);--tw-color-gray-700:oklch(37.3% .034 259.733);--tw-color-gray-800:oklch(27.8% .033 256.848);--tw-color-zinc-400:oklch(70.5% .015 286.067);--tw-color-neutral-300:oklch(87% 0 0);--tw-color-black:#000;--tw-color-white:#fff;--tw-container-xs:20rem;--tw-container-sm:24rem;--tw-container-md:28rem;--tw-container-lg:32rem;--tw-container-2xl:42rem;--tw-container-3xl:48rem;--tw-container-4xl:56rem;--tw-container-6xl:72rem;--tw-text-xs:.75rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm:.875rem;--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height:calc(1.5 / 1);--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-text-xl:1.25rem;--tw-text-xl--line-height:calc(1.75 / 1.25);--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2 / 1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height:calc(2.25 / 1.875);--tw-text-4xl:2.25rem;--tw-text-4xl--line-height:calc(2.5 / 2.25);--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-normal:400;--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-font-weight-bold:700;--tw-font-weight-extrabold:800;--tw-tracking-tight:-.025em;--tw-tracking-wider:.05em;--tw-tracking-widest:.1em;--tw-leading-tight:1.25;--tw-leading-snug:1.375;--tw-leading-relaxed:1.625;--tw-leading-loose:2;--tw-radius-xs:.125rem;--tw-radius-md:calc(var(--radius) * .8);--tw-drop-shadow-sm:0 1px 2px #00000026;--tw-animate-spin:spin 1s linear infinite;--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-blur-xs:4px;--tw-blur-2xl:40px;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tw-default-font-family:"IBM Plex Sans Variable", sans-serif;--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{.pr-twp,.pr-twp *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.pr-twp,.pr-twp *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body.pr-twp{background-color:var(--background);color:var(--foreground)}html.pr-twp{font-family:IBM Plex Sans Variable,sans-serif}:where(.pr-twp,.pr-twp *),:where(.pr-twp,.pr-twp *):after,:where(.pr-twp,.pr-twp *):before,:where(.pr-twp,.pr-twp *) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.pr-twp{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tw-default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--tw-default-font-feature-settings,normal);font-variation-settings:var(--tw-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr:where(.pr-twp,.pr-twp *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(.pr-twp,.pr-twp *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(.pr-twp,.pr-twp *),h2:where(.pr-twp,.pr-twp *),h3:where(.pr-twp,.pr-twp *),h4:where(.pr-twp,.pr-twp *),h5:where(.pr-twp,.pr-twp *),h6:where(.pr-twp,.pr-twp *){font-size:inherit;font-weight:inherit}a:where(.pr-twp,.pr-twp *){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b:where(.pr-twp,.pr-twp *),strong:where(.pr-twp,.pr-twp *){font-weight:bolder}code:where(.pr-twp,.pr-twp *),kbd:where(.pr-twp,.pr-twp *),samp:where(.pr-twp,.pr-twp *),pre:where(.pr-twp,.pr-twp *){font-family:var(--tw-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-variation-settings:var(--tw-default-mono-font-variation-settings,normal);font-size:1em}small:where(.pr-twp,.pr-twp *){font-size:80%}sub:where(.pr-twp,.pr-twp *),sup:where(.pr-twp,.pr-twp *){vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub:where(.pr-twp,.pr-twp *){bottom:-.25em}sup:where(.pr-twp,.pr-twp *){top:-.5em}table:where(.pr-twp,.pr-twp *){text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(.pr-twp,.pr-twp *){outline:auto}progress:where(.pr-twp,.pr-twp *){vertical-align:baseline}summary:where(.pr-twp,.pr-twp *){display:list-item}ol:where(.pr-twp,.pr-twp *),ul:where(.pr-twp,.pr-twp *),menu:where(.pr-twp,.pr-twp *){list-style:none}img:where(.pr-twp,.pr-twp *),svg:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *),canvas:where(.pr-twp,.pr-twp *),audio:where(.pr-twp,.pr-twp *),iframe:where(.pr-twp,.pr-twp *),embed:where(.pr-twp,.pr-twp *),object:where(.pr-twp,.pr-twp *){vertical-align:middle;display:block}img:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *){max-width:100%;height:auto}button:where(.pr-twp,.pr-twp *),input:where(.pr-twp,.pr-twp *),select:where(.pr-twp,.pr-twp *),optgroup:where(.pr-twp,.pr-twp *),textarea:where(.pr-twp,.pr-twp *){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup:where(.pr-twp,.pr-twp *){font-weight:bolder}:where(select:is([multiple],[size])) optgroup option:where(.pr-twp,.pr-twp *){padding-inline-start:20px}:where(.pr-twp,.pr-twp *) ::file-selector-button{margin-inline-end:4px}:where(.pr-twp,.pr-twp *) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where(.pr-twp,.pr-twp *) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where(.pr-twp,.pr-twp *) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea:where(.pr-twp,.pr-twp *){resize:vertical}:where(.pr-twp,.pr-twp *) ::-webkit-search-decoration{-webkit-appearance:none}:where(.pr-twp,.pr-twp *) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{display:inline-flex}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-year-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-month-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-day-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-hour-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-minute-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-second-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-millisecond-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid:where(.pr-twp,.pr-twp *){box-shadow:none}button:where(.pr-twp,.pr-twp *),input:where([type=button],[type=reset],[type=submit]):where(.pr-twp,.pr-twp *){appearance:button}:where(.pr-twp,.pr-twp *) ::file-selector-button{appearance:button}:where(.pr-twp,.pr-twp *) ::-webkit-inner-spin-button{height:auto}:where(.pr-twp,.pr-twp *) ::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])):where(.pr-twp,.pr-twp *){display:none!important}}@layer components;@layer utilities{.tw\\:\\@container\\/card-header{container:card-header/inline-size}.tw\\:\\@container\\/search{container:search/inline-size}.tw\\:\\@container\\/toolbar{container:toolbar/inline-size}.tw\\:pointer-events-auto{pointer-events:auto}.tw\\:pointer-events-none{pointer-events:none}.tw\\:invisible{visibility:hidden}.tw\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\\:absolute{position:absolute}.tw\\:fixed{position:fixed}.tw\\:relative{position:relative}.tw\\:sticky{position:sticky}.tw\\:inset-0{inset:calc(calc(var(--spacing)) * 0)}.tw\\:inset-x-0{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:inset-y-0{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:inset-s-3{inset-inline-start:calc(calc(var(--spacing)) * 3)}.tw\\:start-1\\.5{inset-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:start-1\\/2{inset-inline-start:50%}.tw\\:end-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:end-1{inset-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:end-2{inset-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:end-3{inset-inline-end:calc(calc(var(--spacing)) * 3)}.tw\\:inset-e-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:-top-\\[1px\\]{top:-1px}.tw\\:top-0{top:calc(calc(var(--spacing)) * 0)}.tw\\:top-1{top:calc(calc(var(--spacing)) * 1)}.tw\\:top-1\\.5{top:calc(calc(var(--spacing)) * 1.5)}.tw\\:top-1\\/2{top:50%}.tw\\:top-1\\/3{top:33.3333%}.tw\\:top-2{top:calc(calc(var(--spacing)) * 2)}.tw\\:top-2\\.5{top:calc(calc(var(--spacing)) * 2.5)}.tw\\:top-3\\.5{top:calc(calc(var(--spacing)) * 3.5)}.tw\\:top-\\[-1px\\]{top:-1px}.tw\\:top-full{top:100%}.tw\\:-right-1{right:calc(calc(var(--spacing)) * -1)}.tw\\:right-0{right:calc(calc(var(--spacing)) * 0)}.tw\\:right-1{right:calc(calc(var(--spacing)) * 1)}.tw\\:right-3{right:calc(calc(var(--spacing)) * 3)}.tw\\:bottom-0{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:-left-\\[1px\\]{left:-1px}.tw\\:left-0{left:calc(calc(var(--spacing)) * 0)}.tw\\:left-1\\/2{left:50%}.tw\\:left-2{left:calc(calc(var(--spacing)) * 2)}.tw\\:left-3{left:calc(calc(var(--spacing)) * 3)}.tw\\:isolate{isolation:isolate}.tw\\:z-10{z-index:10}.tw\\:z-20{z-index:20}.tw\\:z-50{z-index:50}.tw\\:order-first{order:-9999}.tw\\:order-last{order:9999}.tw\\:col-span-1{grid-column:span 1/span 1}.tw\\:col-span-2{grid-column:span 2/span 2}.tw\\:col-span-3{grid-column:span 3/span 3}.tw\\:col-start-1{grid-column-start:1}.tw\\:col-start-2{grid-column-start:2}.tw\\:row-span-2{grid-row:span 2/span 2}.tw\\:row-start-1{grid-row-start:1}.tw\\:row-start-2{grid-row-start:2}.tw\\:m-0{margin:calc(calc(var(--spacing)) * 0)}.tw\\:m-1{margin:calc(calc(var(--spacing)) * 1)}.tw\\:m-2{margin:calc(calc(var(--spacing)) * 2)}.tw\\:-mx-1{margin-inline:calc(calc(var(--spacing)) * -1)}.tw\\:-mx-4{margin-inline:calc(calc(var(--spacing)) * -4)}.tw\\:mx-0{margin-inline:calc(calc(var(--spacing)) * 0)}.tw\\:mx-1{margin-inline:calc(calc(var(--spacing)) * 1)}.tw\\:mx-2{margin-inline:calc(calc(var(--spacing)) * 2)}.tw\\:mx-3\\.5{margin-inline:calc(calc(var(--spacing)) * 3.5)}.tw\\:mx-4{margin-inline:calc(calc(var(--spacing)) * 4)}.tw\\:mx-8{margin-inline:calc(calc(var(--spacing)) * 8)}.tw\\:my-1{margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:my-2\\.5{margin-block:calc(calc(var(--spacing)) * 2.5)}.tw\\:my-4{margin-block:calc(calc(var(--spacing)) * 4)}.tw\\:my-auto{margin-block:auto}.tw\\:ms-1{margin-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:ms-2{margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ms-5{margin-inline-start:calc(calc(var(--spacing)) * 5)}.tw\\:ms-6{margin-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ms-auto{margin-inline-start:auto}.tw\\:me-1{margin-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:me-2{margin-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:prose{color:var(--tw-prose-body);max-width:65ch}.tw\\:prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tw\\:prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tw\\:prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tw\\:prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tw\\:prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tw\\:prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tw\\:prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tw\\:prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tw\\:prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tw\\:prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tw\\:prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tw\\:prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tw\\:prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tw\\:prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tw\\:prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tw\\:prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tw\\:prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tw\\:prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tw\\:prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.tw\\:prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tw\\:prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tw\\:prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tw\\:prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tw\\:prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tw\\:prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tw\\:prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tw\\:prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tw\\:prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tw\\:prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tw\\:prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tw\\:prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tw\\:prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--muted-foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-invert-body:var(--foreground);--tw-prose-invert-headings:var(--foreground);--tw-prose-invert-lead:var(--muted-foreground);--tw-prose-invert-links:var(--primary);--tw-prose-invert-bold:var(--foreground);--tw-prose-invert-counters:var(--muted-foreground);--tw-prose-invert-bullets:var(--muted-foreground);--tw-prose-invert-hr:var(--border);--tw-prose-invert-quotes:var(--foreground);--tw-prose-invert-quote-borders:var(--border);--tw-prose-invert-captions:var(--muted-foreground);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--foreground);--tw-prose-invert-pre-code:var(--muted-foreground);--tw-prose-invert-pre-bg:var(--muted);--tw-prose-invert-th-borders:var(--border);--tw-prose-invert-td-borders:var(--border);font-size:1rem;line-height:1.75}.tw\\:prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.tw\\:prose :where(.tw\\:prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(.tw\\:prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.tw\\:prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.tw\\:prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(.tw\\:prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(.tw\\:prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:prose-sm{font-size:.875rem;line-height:1.71429}.tw\\:prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tw\\:prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tw\\:prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tw\\:prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tw\\:prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tw\\:prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tw\\:prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tw\\:prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tw\\:prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tw\\:prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tw\\:prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tw\\:prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tw\\:prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tw\\:prose-sm :where(.tw\\:prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(.tw\\:prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:-mt-4{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:mt-0\\.5{margin-top:calc(calc(var(--spacing)) * .5)}.tw\\:mt-1{margin-top:calc(calc(var(--spacing)) * 1)}.tw\\:mt-2{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:mt-3{margin-top:calc(calc(var(--spacing)) * 3)}.tw\\:mt-4{margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:mt-6{margin-top:calc(calc(var(--spacing)) * 6)}.tw\\:mt-auto{margin-top:auto}.tw\\:mr-1{margin-right:calc(calc(var(--spacing)) * 1)}.tw\\:mr-2{margin-right:calc(calc(var(--spacing)) * 2)}.tw\\:mr-3{margin-right:calc(calc(var(--spacing)) * 3)}.tw\\:-mb-4{margin-bottom:calc(calc(var(--spacing)) * -4)}.tw\\:mb-1{margin-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:mb-2{margin-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:mb-3{margin-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:mb-4{margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:ml-1{margin-left:calc(calc(var(--spacing)) * 1)}.tw\\:ml-2{margin-left:calc(calc(var(--spacing)) * 2)}.tw\\:ml-4{margin-left:calc(calc(var(--spacing)) * 4)}.tw\\:ml-auto{margin-left:auto}.tw\\:box-border{box-sizing:border-box}.tw\\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tw\\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tw\\:no-scrollbar::-webkit-scrollbar{display:none}.tw\\:block{display:block}.tw\\:flex{display:flex}.tw\\:grid{display:grid}.tw\\:hidden{display:none}.tw\\:inline-block{display:inline-block}.tw\\:inline-flex{display:inline-flex}.tw\\:inline-grid{display:inline-grid}.tw\\:field-sizing-content{field-sizing:content}.tw\\:aspect-square{aspect-ratio:1}.tw\\:size-2{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:size-2\\.5{width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:size-3{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:size-3\\.5{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:size-4{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:size-5{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:size-6{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:size-7{width:calc(calc(var(--spacing)) * 7);height:calc(calc(var(--spacing)) * 7)}.tw\\:size-8{width:calc(calc(var(--spacing)) * 8);height:calc(calc(var(--spacing)) * 8)}.tw\\:size-9{width:calc(calc(var(--spacing)) * 9);height:calc(calc(var(--spacing)) * 9)}.tw\\:size-10{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:size-full{width:100%;height:100%}.tw\\:h-1{height:calc(calc(var(--spacing)) * 1)}.tw\\:h-2{height:calc(calc(var(--spacing)) * 2)}.tw\\:h-3{height:calc(calc(var(--spacing)) * 3)}.tw\\:h-3\\.5{height:calc(calc(var(--spacing)) * 3.5)}.tw\\:h-4{height:calc(calc(var(--spacing)) * 4)}.tw\\:h-5{height:calc(calc(var(--spacing)) * 5)}.tw\\:h-6{height:calc(calc(var(--spacing)) * 6)}.tw\\:h-7{height:calc(calc(var(--spacing)) * 7)}.tw\\:h-8{height:calc(calc(var(--spacing)) * 8)}.tw\\:h-8\\!{height:calc(calc(var(--spacing)) * 8)!important}.tw\\:h-8\\.5{height:calc(calc(var(--spacing)) * 8.5)}.tw\\:h-9{height:calc(calc(var(--spacing)) * 9)}.tw\\:h-10{height:calc(calc(var(--spacing)) * 10)}.tw\\:h-12{height:calc(calc(var(--spacing)) * 12)}.tw\\:h-14{height:calc(calc(var(--spacing)) * 14)}.tw\\:h-20{height:calc(calc(var(--spacing)) * 20)}.tw\\:h-24{height:calc(calc(var(--spacing)) * 24)}.tw\\:h-32{height:calc(calc(var(--spacing)) * 32)}.tw\\:h-40{height:calc(calc(var(--spacing)) * 40)}.tw\\:h-64{height:calc(calc(var(--spacing)) * 64)}.tw\\:h-80{height:calc(calc(var(--spacing)) * 80)}.tw\\:h-96{height:calc(calc(var(--spacing)) * 96)}.tw\\:h-\\[5px\\]{height:5px}.tw\\:h-\\[260px\\]{height:260px}.tw\\:h-\\[300px\\]{height:300px}.tw\\:h-\\[400px\\]{height:400px}.tw\\:h-\\[600px\\]{height:600px}.tw\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.tw\\:h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.tw\\:h-auto{height:auto}.tw\\:h-full{height:100%}.tw\\:h-px{height:1px}.tw\\:h-screen{height:100vh}.tw\\:h-svh{height:100svh}.tw\\:max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.tw\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\\:max-h-\\(--radix-popover-content-available-height\\){max-height:var(--radix-popover-content-available-height)}.tw\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tw\\:max-h-5{max-height:calc(calc(var(--spacing)) * 5)}.tw\\:max-h-10{max-height:calc(calc(var(--spacing)) * 10)}.tw\\:max-h-72{max-height:calc(calc(var(--spacing)) * 72)}.tw\\:max-h-80{max-height:calc(calc(var(--spacing)) * 80)}.tw\\:max-h-\\[96\\%\\]{max-height:96%}.tw\\:max-h-\\[300px\\]{max-height:300px}.tw\\:min-h-0{min-height:calc(calc(var(--spacing)) * 0)}.tw\\:min-h-11{min-height:calc(calc(var(--spacing)) * 11)}.tw\\:min-h-16{min-height:calc(calc(var(--spacing)) * 16)}.tw\\:min-h-\\[200px\\]{min-height:200px}.tw\\:min-h-full{min-height:100%}.tw\\:min-h-svh{min-height:100svh}.tw\\:w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-\\(--sidebar-width\\){width:var(--sidebar-width)}.tw\\:w-1{width:calc(calc(var(--spacing)) * 1)}.tw\\:w-1\\/2{width:50%}.tw\\:w-1\\/4{width:25%}.tw\\:w-1\\/6{width:16.6667%}.tw\\:w-2{width:calc(calc(var(--spacing)) * 2)}.tw\\:w-3{width:calc(calc(var(--spacing)) * 3)}.tw\\:w-3\\.5{width:calc(calc(var(--spacing)) * 3.5)}.tw\\:w-3\\/4{width:75%}.tw\\:w-4{width:calc(calc(var(--spacing)) * 4)}.tw\\:w-4\\/5{width:80%}.tw\\:w-4\\/6{width:66.6667%}.tw\\:w-5{width:calc(calc(var(--spacing)) * 5)}.tw\\:w-5\\/6{width:83.3333%}.tw\\:w-6{width:calc(calc(var(--spacing)) * 6)}.tw\\:w-7{width:calc(calc(var(--spacing)) * 7)}.tw\\:w-8{width:calc(calc(var(--spacing)) * 8)}.tw\\:w-9{width:calc(calc(var(--spacing)) * 9)}.tw\\:w-9\\/12{width:75%}.tw\\:w-10{width:calc(calc(var(--spacing)) * 10)}.tw\\:w-12{width:calc(calc(var(--spacing)) * 12)}.tw\\:w-14{width:calc(calc(var(--spacing)) * 14)}.tw\\:w-20{width:calc(calc(var(--spacing)) * 20)}.tw\\:w-24{width:calc(calc(var(--spacing)) * 24)}.tw\\:w-32{width:calc(calc(var(--spacing)) * 32)}.tw\\:w-48{width:calc(calc(var(--spacing)) * 48)}.tw\\:w-56{width:calc(calc(var(--spacing)) * 56)}.tw\\:w-60{width:calc(calc(var(--spacing)) * 60)}.tw\\:w-64{width:calc(calc(var(--spacing)) * 64)}.tw\\:w-72{width:calc(calc(var(--spacing)) * 72)}.tw\\:w-80{width:calc(calc(var(--spacing)) * 80)}.tw\\:w-96{width:calc(calc(var(--spacing)) * 96)}.tw\\:w-\\[1px\\]{width:1px}.tw\\:w-\\[5px\\]{width:5px}.tw\\:w-\\[70px\\]{width:70px}.tw\\:w-\\[100px\\]{width:100px}.tw\\:w-\\[116px\\]{width:116px}.tw\\:w-\\[124px\\]{width:124px}.tw\\:w-\\[150px\\]{width:150px}.tw\\:w-\\[180px\\]{width:180px}.tw\\:w-\\[200px\\]{width:200px}.tw\\:w-\\[250px\\]{width:250px}.tw\\:w-\\[260px\\]{width:260px}.tw\\:w-\\[280px\\]{width:280px}.tw\\:w-\\[300px\\]{width:300px}.tw\\:w-\\[320px\\]{width:320px}.tw\\:w-\\[350px\\]{width:350px}.tw\\:w-\\[380px\\]{width:380px}.tw\\:w-\\[400px\\]{width:400px}.tw\\:w-\\[420px\\]{width:420px}.tw\\:w-\\[500px\\]{width:500px}.tw\\:w-\\[560px\\]{width:560px}.tw\\:w-\\[600px\\]{width:600px}.tw\\:w-\\[calc\\(100\\%-2px\\)\\]{width:calc(100% - 2px)}.tw\\:w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\]{width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-auto{width:auto}.tw\\:w-fit{width:fit-content}.tw\\:w-full{width:100%}.tw\\:w-max{width:max-content}.tw\\:w-px{width:1px}.tw\\:max-w-\\(--skeleton-width\\){max-width:var(--skeleton-width)}.tw\\:max-w-0{max-width:calc(calc(var(--spacing)) * 0)}.tw\\:max-w-2xl{max-width:var(--tw-container-2xl)}.tw\\:max-w-3xl{max-width:var(--tw-container-3xl)}.tw\\:max-w-4xl{max-width:var(--tw-container-4xl)}.tw\\:max-w-5{max-width:calc(calc(var(--spacing)) * 5)}.tw\\:max-w-6xl{max-width:var(--tw-container-6xl)}.tw\\:max-w-40{max-width:calc(calc(var(--spacing)) * 40)}.tw\\:max-w-48{max-width:calc(calc(var(--spacing)) * 48)}.tw\\:max-w-64{max-width:calc(calc(var(--spacing)) * 64)}.tw\\:max-w-96{max-width:calc(calc(var(--spacing)) * 96)}.tw\\:max-w-\\[200px\\]{max-width:200px}.tw\\:max-w-\\[220px\\]{max-width:220px}.tw\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tw\\:max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.tw\\:max-w-fit{max-width:fit-content}.tw\\:max-w-full{max-width:100%}.tw\\:max-w-lg{max-width:var(--tw-container-lg)}.tw\\:max-w-md{max-width:var(--tw-container-md)}.tw\\:max-w-none{max-width:none}.tw\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:max-w-xs{max-width:var(--tw-container-xs)}.tw\\:min-w-0{min-width:calc(calc(var(--spacing)) * 0)}.tw\\:min-w-4{min-width:calc(calc(var(--spacing)) * 4)}.tw\\:min-w-5{min-width:calc(calc(var(--spacing)) * 5)}.tw\\:min-w-7{min-width:calc(calc(var(--spacing)) * 7)}.tw\\:min-w-8{min-width:calc(calc(var(--spacing)) * 8)}.tw\\:min-w-9{min-width:calc(calc(var(--spacing)) * 9)}.tw\\:min-w-16{min-width:calc(calc(var(--spacing)) * 16)}.tw\\:min-w-32{min-width:calc(calc(var(--spacing)) * 32)}.tw\\:min-w-36{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:min-w-80{min-width:calc(calc(var(--spacing)) * 80)}.tw\\:min-w-\\[12rem\\]{min-width:12rem}.tw\\:min-w-\\[26px\\]{min-width:26px}.tw\\:min-w-\\[96px\\]{min-width:96px}.tw\\:min-w-\\[140px\\]{min-width:140px}.tw\\:min-w-\\[215px\\]{min-width:215px}.tw\\:min-w-\\[500px\\]{min-width:500px}.tw\\:min-w-min{min-width:min-content}.tw\\:flex-1{flex:1}.tw\\:shrink{flex-shrink:1}.tw\\:shrink\\!{flex-shrink:1!important}.tw\\:shrink-0{flex-shrink:0}.tw\\:shrink-\\[9999\\]{flex-shrink:9999}.tw\\:flex-grow,.tw\\:grow,.tw\\:grow-\\[1\\]{flex-grow:1}.tw\\:grow-\\[10\\]{flex-grow:10}.tw\\:basis-0{flex-basis:calc(calc(var(--spacing)) * 0)}.tw\\:table-fixed{table-layout:fixed}.tw\\:caption-bottom{caption-side:bottom}.tw\\:border-collapse{border-collapse:collapse}.tw\\:origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.tw\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\\:origin-\\(--radix-menubar-content-transform-origin\\){transform-origin:var(--radix-menubar-content-transform-origin)}.tw\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tw\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tw\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-0{--tw-translate-y:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rotate-45{rotate:45deg}.tw\\:rotate-180{rotate:180deg}.tw\\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.tw\\:animate-none\\!{animation:none!important}.tw\\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\\:animate-spin{animation:var(--tw-animate-spin)}.tw\\:cursor-default{cursor:default}.tw\\:cursor-ew-resize{cursor:ew-resize}.tw\\:cursor-not-allowed{cursor:not-allowed}.tw\\:cursor-pointer{cursor:pointer}.tw\\:cursor-text{cursor:text}.tw\\:touch-none{touch-action:none}.tw\\:resize{resize:both}.tw\\:resize-none{resize:none}.tw\\:scroll-m-20{scroll-margin:calc(calc(var(--spacing)) * 20)}.tw\\:scroll-my-1{scroll-margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:scroll-py-1{scroll-padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:list-inside{list-style-position:inside}.tw\\:list-outside{list-style-position:outside}.tw\\:\\!list-\\[lower-alpha\\]{list-style-type:lower-alpha!important}.tw\\:\\!list-\\[lower-roman\\]{list-style-type:lower-roman!important}.tw\\:\\!list-\\[upper-alpha\\]{list-style-type:upper-alpha!important}.tw\\:\\!list-\\[upper-roman\\]{list-style-type:upper-roman!important}.tw\\:\\!list-decimal{list-style-type:decimal!important}.tw\\:\\!list-disc{list-style-type:disc!important}.tw\\:list-decimal{list-style-type:decimal}.tw\\:list-disc{list-style-type:disc}.tw\\:list-none{list-style-type:none}.tw\\:grid-flow-col{grid-auto-flow:column}.tw\\:grid-flow-row{grid-auto-flow:row}.tw\\:auto-rows-min{grid-auto-rows:min-content}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw\\:grid-cols-\\[25\\%_25\\%_50\\%\\]{grid-template-columns:25% 25% 50%}.tw\\:grid-cols-\\[25\\%_50\\%_25\\%\\]{grid-template-columns:25% 50% 25%}.tw\\:grid-cols-\\[auto_auto_auto_auto\\]{grid-template-columns:auto auto auto auto}.tw\\:grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.tw\\:grid-cols-\\[min-content_min-content_1fr\\]{grid-template-columns:min-content min-content 1fr}.tw\\:grid-cols-subgrid{grid-template-columns:subgrid}.tw\\:flex-col{flex-direction:column}.tw\\:flex-col-reverse{flex-direction:column-reverse}.tw\\:flex-row{flex-direction:row}.tw\\:flex-row-reverse{flex-direction:row-reverse}.tw\\:flex-nowrap{flex-wrap:nowrap}.tw\\:flex-wrap{flex-wrap:wrap}.tw\\:place-content-center{place-content:center}.tw\\:content-center{align-content:center}.tw\\:items-baseline{align-items:baseline}.tw\\:items-center{align-items:center}.tw\\:items-end{align-items:flex-end}.tw\\:items-start{align-items:flex-start}.tw\\:items-stretch{align-items:stretch}.tw\\:justify-between{justify-content:space-between}.tw\\:justify-center{justify-content:center}.tw\\:justify-end{justify-content:flex-end}.tw\\:justify-start{justify-content:flex-start}.tw\\:gap-0{gap:calc(calc(var(--spacing)) * 0)}.tw\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:gap-1{gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-1\\.5{gap:calc(calc(var(--spacing)) * 1.5)}.tw\\:gap-1\\.5\\!{gap:calc(calc(var(--spacing)) * 1.5)!important}.tw\\:gap-2{gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-2\\.5{gap:calc(calc(var(--spacing)) * 2.5)}.tw\\:gap-3{gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-4{gap:calc(calc(var(--spacing)) * 4)}.tw\\:gap-5{gap:calc(calc(var(--spacing)) * 5)}.tw\\:gap-6{gap:calc(calc(var(--spacing)) * 6)}.tw\\:gap-8{gap:calc(calc(var(--spacing)) * 8)}.tw\\:gap-16{gap:calc(calc(var(--spacing)) * 16)}.tw\\:gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(calc(var(--spacing)) * var(--gap))}.tw\\:gap-\\[12px\\]{gap:12px}:where(.tw\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-y-reverse)))}.tw\\:gap-x-1{column-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-x-2{column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-x-3{column-gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-x-4{column-gap:calc(calc(var(--spacing)) * 4)}:where(.tw\\:-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:gap-y-1{row-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-y-2{row-gap:calc(calc(var(--spacing)) * 2)}:where(.tw\\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.tw\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.tw\\:self-start{align-self:flex-start}.tw\\:self-stretch{align-self:stretch}.tw\\:justify-self-end{justify-self:flex-end}.tw\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:overflow-auto{overflow:auto}.tw\\:overflow-clip{overflow:clip}.tw\\:overflow-hidden{overflow:hidden}.tw\\:overflow-scroll{overflow:scroll}.tw\\:overflow-visible{overflow:visible}.tw\\:overflow-x-auto{overflow-x:auto}.tw\\:overflow-x-hidden{overflow-x:hidden}.tw\\:overflow-y-auto{overflow-y:auto}.tw\\:overflow-y-hidden{overflow-y:hidden}.tw\\:rounded{border-radius:.25rem}.tw\\:rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.tw\\:rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.tw\\:rounded-\\[4px\\]{border-radius:4px}.tw\\:rounded-\\[6px\\]{border-radius:6px}.tw\\:rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,12px\\)\\]{border-radius:min(var(--tw-radius-md), 12px)}.tw\\:rounded-full{border-radius:3.40282e38px}.tw\\:rounded-lg{border-radius:var(--radius)}.tw\\:rounded-lg\\!{border-radius:var(--radius)!important}.tw\\:rounded-md{border-radius:calc(var(--radius) * .8)}.tw\\:rounded-none{border-radius:0}.tw\\:rounded-sm{border-radius:calc(var(--radius) * .6)}.tw\\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-xl\\!{border-radius:calc(var(--radius) * 1.4)!important}.tw\\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\\:rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.tw\\:rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.tw\\:rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:rounded-r-xl{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:border-s-0{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.tw\\:border-s-4{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.tw\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.tw\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tw\\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tw\\:border-none{--tw-border-style:none;border-style:none}.tw\\:border-solid{--tw-border-style:solid;border-style:solid}.tw\\:border-black{border-color:var(--tw-color-black)}.tw\\:border-blue-400{border-color:var(--tw-color-blue-400)}.tw\\:border-blue-500{border-color:var(--tw-color-blue-500)}.tw\\:border-border,.tw\\:border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.tw\\:border-destructive{border-color:var(--destructive)}.tw\\:border-foreground{border-color:var(--foreground)}.tw\\:border-gray-300{border-color:var(--tw-color-gray-300)}.tw\\:border-input,.tw\\:border-input\\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-input\\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:border-muted-foreground,.tw\\:border-muted-foreground\\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-muted-foreground\\/40{border-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.tw\\:border-primary{border-color:var(--primary)}.tw\\:border-red-300{border-color:var(--tw-color-red-300)}.tw\\:border-red-400{border-color:var(--tw-color-red-400)}.tw\\:border-red-500{border-color:var(--tw-color-red-500)}.tw\\:border-red-600{border-color:var(--tw-color-red-600)}.tw\\:border-ring{border-color:var(--ring)}.tw\\:border-sidebar-border{border-color:var(--sidebar-border)}.tw\\:border-slate-300{border-color:var(--tw-color-slate-300)}.tw\\:border-transparent{border-color:#0000}.tw\\:border-yellow-400{border-color:var(--tw-color-yellow-400)}.tw\\:border-yellow-500{border-color:var(--tw-color-yellow-500)}.tw\\:border-s-amber-200{border-inline-start-color:var(--tw-color-amber-200)}.tw\\:border-s-indigo-200{border-inline-start-color:var(--tw-color-indigo-200)}.tw\\:border-s-purple-200{border-inline-start-color:var(--tw-color-purple-200)}.tw\\:border-s-red-200{border-inline-start-color:var(--tw-color-red-200)}.tw\\:\\!bg-destructive\\/50{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.tw\\:\\!bg-destructive\\/50{background-color:color-mix(in oklab, var(--destructive) 50%, transparent)!important}}.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:bg-accent,.tw\\:bg-accent\\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-accent\\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.tw\\:bg-amber-500,.tw\\:bg-amber-500\\/5{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/5{background-color:color-mix(in oklab, var(--tw-color-amber-500) 5%, transparent)}}.tw\\:bg-amber-500\\/15{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tw-color-amber-500) 15%, transparent)}}.tw\\:bg-background,.tw\\:bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-background\\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.tw\\:bg-black\\/10{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-black\\/10{background-color:color-mix(in oklab, var(--tw-color-black) 10%, transparent)}}.tw\\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\\:bg-blue-100{background-color:var(--tw-color-blue-100)}.tw\\:bg-blue-400{background-color:var(--tw-color-blue-400)}.tw\\:bg-blue-500{background-color:var(--tw-color-blue-500)}.tw\\:bg-border{background-color:var(--border)}.tw\\:bg-card{background-color:var(--card)}.tw\\:bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:bg-foreground{background-color:var(--foreground)}.tw\\:bg-gray-50{background-color:var(--tw-color-gray-50)}.tw\\:bg-gray-100{background-color:var(--tw-color-gray-100)}.tw\\:bg-gray-500{background-color:var(--tw-color-gray-500)}.tw\\:bg-green-50{background-color:var(--tw-color-green-50)}.tw\\:bg-green-100{background-color:var(--tw-color-green-100)}.tw\\:bg-green-500{background-color:var(--tw-color-green-500)}.tw\\:bg-input,.tw\\:bg-input\\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-input\\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:bg-muted,.tw\\:bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:bg-neutral-300{background-color:var(--tw-color-neutral-300)}.tw\\:bg-orange-100{background-color:var(--tw-color-orange-100)}.tw\\:bg-popover,.tw\\:bg-popover\\/70{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-popover\\/70{background-color:color-mix(in oklab, var(--popover) 70%, transparent)}}.tw\\:bg-primary{background-color:var(--primary)}.tw\\:bg-primary-foreground{background-color:var(--primary-foreground)}.tw\\:bg-primary\\/30{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-primary\\/30{background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.tw\\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\\:bg-red-100{background-color:var(--tw-color-red-100)}.tw\\:bg-red-500{background-color:var(--tw-color-red-500)}.tw\\:bg-rose-500,.tw\\:bg-rose-500\\/5{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/5{background-color:color-mix(in oklab, var(--tw-color-rose-500) 5%, transparent)}}.tw\\:bg-rose-500\\/15{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/15{background-color:color-mix(in oklab, var(--tw-color-rose-500) 15%, transparent)}}.tw\\:bg-secondary{background-color:var(--secondary)}.tw\\:bg-sidebar{background-color:var(--sidebar)}.tw\\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.tw\\:bg-sidebar-border{background-color:var(--sidebar-border)}.tw\\:bg-sky-500,.tw\\:bg-sky-500\\/5{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/5{background-color:color-mix(in oklab, var(--tw-color-sky-500) 5%, transparent)}}.tw\\:bg-sky-500\\/15{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/15{background-color:color-mix(in oklab, var(--tw-color-sky-500) 15%, transparent)}}.tw\\:bg-teal-500,.tw\\:bg-teal-500\\/5{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/5{background-color:color-mix(in oklab, var(--tw-color-teal-500) 5%, transparent)}}.tw\\:bg-teal-500\\/15{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/15{background-color:color-mix(in oklab, var(--tw-color-teal-500) 15%, transparent)}}.tw\\:bg-transparent{background-color:#0000}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:bg-yellow-50{background-color:var(--tw-color-yellow-50)}.tw\\:bg-yellow-100{background-color:var(--tw-color-yellow-100)}.tw\\:bg-yellow-500{background-color:var(--tw-color-yellow-500)}.tw\\:bg-zinc-400{background-color:var(--tw-color-zinc-400)}.tw\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\\:from-popover{--tw-gradient-from:var(--popover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:bg-clip-padding{background-clip:padding-box}.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:fill-destructive{fill:var(--destructive)}.tw\\:fill-foreground{fill:var(--foreground)}.tw\\:fill-yellow-400,.tw\\:fill-yellow-400\\/50{fill:var(--tw-color-yellow-400)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-yellow-400\\/50{fill:color-mix(in oklab, var(--tw-color-yellow-400) 50%, transparent)}}.tw\\:object-cover{object-fit:cover}.tw\\:\\!p-4{padding:calc(calc(var(--spacing)) * 4)!important}.tw\\:p-0{padding:calc(calc(var(--spacing)) * 0)}.tw\\:p-0\\.5{padding:calc(calc(var(--spacing)) * .5)}.tw\\:p-1{padding:calc(calc(var(--spacing)) * 1)}.tw\\:p-2{padding:calc(calc(var(--spacing)) * 2)}.tw\\:p-2\\.5{padding:calc(calc(var(--spacing)) * 2.5)}.tw\\:p-3{padding:calc(calc(var(--spacing)) * 3)}.tw\\:p-4{padding:calc(calc(var(--spacing)) * 4)}.tw\\:p-6{padding:calc(calc(var(--spacing)) * 6)}.tw\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:p-\\[1px\\]{padding:1px}.tw\\:p-\\[3px\\]{padding:3px}.tw\\:p-\\[10px\\]{padding:10px}.tw\\:p-\\[16px\\]{padding:16px}.tw\\:px-0{padding-inline:calc(calc(var(--spacing)) * 0)}.tw\\:px-0\\.5{padding-inline:calc(calc(var(--spacing)) * .5)}.tw\\:px-1{padding-inline:calc(calc(var(--spacing)) * 1)}.tw\\:px-1\\.5{padding-inline:calc(calc(var(--spacing)) * 1.5)}.tw\\:px-2{padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:px-2\\.5{padding-inline:calc(calc(var(--spacing)) * 2.5)}.tw\\:px-3{padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:px-4{padding-inline:calc(calc(var(--spacing)) * 4)}.tw\\:px-6{padding-inline:calc(calc(var(--spacing)) * 6)}.tw\\:py-0{padding-block:calc(calc(var(--spacing)) * 0)}.tw\\:py-0\\.5{padding-block:calc(calc(var(--spacing)) * .5)}.tw\\:py-1{padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:py-1\\.5{padding-block:calc(calc(var(--spacing)) * 1.5)}.tw\\:py-2{padding-block:calc(calc(var(--spacing)) * 2)}.tw\\:py-3{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:py-4{padding-block:calc(calc(var(--spacing)) * 4)}.tw\\:py-6{padding-block:calc(calc(var(--spacing)) * 6)}.tw\\:py-8{padding-block:calc(calc(var(--spacing)) * 8)}.tw\\:py-\\[2px\\]{padding-block:2px}.tw\\:ps-1\\.5{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:ps-2{padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ps-2\\.5{padding-inline-start:calc(calc(var(--spacing)) * 2.5)}.tw\\:ps-4{padding-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:ps-6{padding-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ps-7{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:ps-8{padding-inline-start:calc(calc(var(--spacing)) * 8)}.tw\\:ps-9{padding-inline-start:calc(calc(var(--spacing)) * 9)}.tw\\:ps-12{padding-inline-start:calc(calc(var(--spacing)) * 12)}.tw\\:ps-\\[85px\\]{padding-inline-start:85px}.tw\\:pe-1{padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:pe-1\\.5{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:pe-2{padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:pe-4{padding-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:pe-8{padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:pe-8\\!{padding-inline-end:calc(calc(var(--spacing)) * 8)!important}.tw\\:pe-9{padding-inline-end:calc(calc(var(--spacing)) * 9)}.tw\\:pe-\\[calc\\(138px\\+1rem\\)\\]{padding-inline-end:calc(138px + 1rem)}.tw\\:pe-\\[…\\]{padding-inline-end:…}.tw\\:pt-1{padding-top:calc(calc(var(--spacing)) * 1)}.tw\\:pt-2{padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:pt-3{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:pt-4{padding-top:calc(calc(var(--spacing)) * 4)}.tw\\:pt-6{padding-top:calc(calc(var(--spacing)) * 6)}.tw\\:pr-0{padding-right:calc(calc(var(--spacing)) * 0)}.tw\\:pr-3{padding-right:calc(calc(var(--spacing)) * 3)}.tw\\:pr-4{padding-right:calc(calc(var(--spacing)) * 4)}.tw\\:pb-0{padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:pb-1{padding-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:pb-2{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:pb-3{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:pb-4{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:pb-8{padding-bottom:calc(calc(var(--spacing)) * 8)}.tw\\:pb-12{padding-bottom:calc(calc(var(--spacing)) * 12)}.tw\\:pb-16{padding-bottom:calc(calc(var(--spacing)) * 16)}.tw\\:pb-24{padding-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:pl-2{padding-left:calc(calc(var(--spacing)) * 2)}.tw\\:pl-3{padding-left:calc(calc(var(--spacing)) * 3)}.tw\\:pl-4{padding-left:calc(calc(var(--spacing)) * 4)}.tw\\:pl-5{padding-left:calc(calc(var(--spacing)) * 5)}.tw\\:pl-6{padding-left:calc(calc(var(--spacing)) * 6)}.tw\\:pl-8{padding-left:calc(calc(var(--spacing)) * 8)}.tw\\:text-center{text-align:center}.tw\\:text-end{text-align:end}.tw\\:text-left{text-align:left}.tw\\:text-right{text-align:right}.tw\\:text-start{text-align:start}.tw\\:align-middle{vertical-align:middle}.tw\\:font-heading{font-family:var(--font-sans)}.tw\\:font-mono{font-family:var(--tw-font-mono)}.tw\\:font-sans{font-family:IBM Plex Sans Variable,sans-serif}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-4xl{font-size:var(--tw-text-4xl);line-height:var(--tw-leading,var(--tw-text-4xl--line-height))}.tw\\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-sm\\/relaxed{font-size:var(--tw-text-sm);line-height:var(--tw-leading-relaxed)}.tw\\:text-xl{font-size:var(--tw-text-xl);line-height:var(--tw-leading,var(--tw-text-xl--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tw\\:leading-6{--tw-leading:calc(calc(var(--spacing)) * 6);line-height:calc(calc(var(--spacing)) * 6)}.tw\\:leading-loose{--tw-leading:var(--tw-leading-loose);line-height:var(--tw-leading-loose)}.tw\\:leading-none{--tw-leading:1;line-height:1}.tw\\:leading-relaxed{--tw-leading:var(--tw-leading-relaxed);line-height:var(--tw-leading-relaxed)}.tw\\:leading-snug{--tw-leading:var(--tw-leading-snug);line-height:var(--tw-leading-snug)}.tw\\:leading-tight{--tw-leading:var(--tw-leading-tight);line-height:var(--tw-leading-tight)}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:font-extrabold{--tw-font-weight:var(--tw-font-weight-extrabold);font-weight:var(--tw-font-weight-extrabold)}.tw\\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:tracking-tight{--tw-tracking:var(--tw-tracking-tight);letter-spacing:var(--tw-tracking-tight)}.tw\\:tracking-wider{--tw-tracking:var(--tw-tracking-wider);letter-spacing:var(--tw-tracking-wider)}.tw\\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\\:text-balance{text-wrap:balance}.tw\\:text-nowrap{text-wrap:nowrap}.tw\\:break-words{overflow-wrap:break-word}.tw\\:text-clip{text-overflow:clip}.tw\\:text-ellipsis{text-overflow:ellipsis}.tw\\:whitespace-normal{white-space:normal}.tw\\:whitespace-nowrap{white-space:nowrap}.tw\\:whitespace-pre{white-space:pre}.tw\\:whitespace-pre-line{white-space:pre-line}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:\\[color\\:blue\\]{color:#00f}.tw\\:text-accent-foreground{color:var(--accent-foreground)}.tw\\:text-amber-600{color:var(--tw-color-amber-600)}.tw\\:text-background{color:var(--background)}.tw\\:text-blue-400{color:var(--tw-color-blue-400)}.tw\\:text-blue-500{color:var(--tw-color-blue-500)}.tw\\:text-blue-600{color:var(--tw-color-blue-600)}.tw\\:text-blue-800{color:var(--tw-color-blue-800)}.tw\\:text-card-foreground{color:var(--card-foreground)}.tw\\:text-current{color:currentColor}.tw\\:text-destructive{color:var(--destructive)}.tw\\:text-foreground{color:var(--foreground)}.tw\\:text-foreground\\!{color:var(--foreground)!important}.tw\\:text-foreground\\/30{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/30{color:color-mix(in oklab, var(--foreground) 30%, transparent)}}.tw\\:text-foreground\\/50{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/50{color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.tw\\:text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.tw\\:text-foreground\\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.tw\\:text-gray-300{color:var(--tw-color-gray-300)}.tw\\:text-gray-500{color:var(--tw-color-gray-500)}.tw\\:text-gray-600{color:var(--tw-color-gray-600)}.tw\\:text-gray-700{color:var(--tw-color-gray-700)}.tw\\:text-gray-800{color:var(--tw-color-gray-800)}.tw\\:text-green-600{color:var(--tw-color-green-600)}.tw\\:text-green-700{color:var(--tw-color-green-700)}.tw\\:text-green-800{color:var(--tw-color-green-800)}.tw\\:text-inherit{color:inherit}.tw\\:text-muted-foreground,.tw\\:text-muted-foreground\\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-muted-foreground\\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:text-orange-800{color:var(--tw-color-orange-800)}.tw\\:text-popover-foreground{color:var(--popover-foreground)}.tw\\:text-primary{color:var(--primary)}.tw\\:text-primary-foreground{color:var(--primary-foreground)}.tw\\:text-purple-900{color:var(--tw-color-purple-900)}.tw\\:text-red-500{color:var(--tw-color-red-500)}.tw\\:text-red-600{color:var(--tw-color-red-600)}.tw\\:text-red-700{color:var(--tw-color-red-700)}.tw\\:text-red-800{color:var(--tw-color-red-800)}.tw\\:text-rose-600{color:var(--tw-color-rose-600)}.tw\\:text-secondary-foreground{color:var(--secondary-foreground)}.tw\\:text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.tw\\:text-sidebar-foreground,.tw\\:text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.tw\\:text-sky-600{color:var(--tw-color-sky-600)}.tw\\:text-slate-900{color:var(--tw-color-slate-900)}.tw\\:text-teal-600{color:var(--tw-color-teal-600)}.tw\\:text-white{color:var(--tw-color-white)}.tw\\:text-yellow-400{color:var(--tw-color-yellow-400)}.tw\\:text-yellow-600{color:var(--tw-color-yellow-600)}.tw\\:text-yellow-700{color:var(--tw-color-yellow-700)}.tw\\:capitalize{text-transform:capitalize}.tw\\:uppercase{text-transform:uppercase}.tw\\:italic{font-style:italic}.tw\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tw\\:line-through{text-decoration-line:line-through}.tw\\:underline{text-decoration-line:underline}.tw\\:decoration-destructive{-webkit-text-decoration-color:var(--destructive);-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.tw\\:underline-offset-4{text-underline-offset:4px}.tw\\:opacity-0{opacity:0}.tw\\:opacity-40{opacity:.4}.tw\\:opacity-50{opacity:.5}.tw\\:opacity-60{opacity:.6}.tw\\:opacity-100{opacity:1}.tw\\:bg-blend-color{background-blend-mode:color}.tw\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none\\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tw\\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-background{--tw-ring-color:var(--background)}.tw\\:ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.tw\\:ring-primary{--tw-ring-color:var(--primary)}.tw\\:ring-ring\\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-ring\\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.tw\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:ring-offset-background{--tw-ring-offset-color:var(--background)}.tw\\:ring-offset-white{--tw-ring-offset-color:var(--tw-color-white)}.tw\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\\:drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--tw-drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tw\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-none{transition-property:none}.tw\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tw\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.tw\\:prose-quoteless :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose-quoteless :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:outline-none{--tw-outline-style:none;outline-style:none}.tw\\:select-none{-webkit-user-select:none;user-select:none}.tw\\:\\[unicode-bidi\\:plaintext\\]{unicode-bidi:plaintext}.tw\\:group-focus-within\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.tw\\:group-hover\\:visible:is(:where(.tw\\:group):hover *){visibility:visible}.tw\\:group-hover\\:hidden:is(:where(.tw\\:group):hover *){display:none}.tw\\:group-hover\\:opacity-100:is(:where(.tw\\:group):hover *),.tw\\:group-hover\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):hover *){opacity:1}}.tw\\:group-focus\\/context-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/context-menu-item):focus *),.tw\\:group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/dropdown-menu-item):focus *),.tw\\:group-focus\\/menubar-item\\:text-accent-foreground:is(:where(.tw\\:group\\/menubar-item):focus *){color:var(--accent-foreground)}.tw\\:group-has-disabled\\/field\\:opacity-50:is(:where(.tw\\:group\\/field):has(:disabled) *){opacity:.5}.tw\\:group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pe-8:is(:where(.tw\\:group\\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:size-10:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *){width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:size-6:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *){width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:group-has-data-\\[slot\\=command-shortcut\\]\\/command-item\\:hidden:is(:where(.tw\\:group\\/command-item):has([data-slot=command-shortcut]) *){display:none}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.tw\\:group\\/alert):has(>svg) *){grid-column-start:2}.tw\\:group-data-\\[checked\\=true\\]\\/command-item\\:opacity-100:is(:where(.tw\\:group\\/command-item)[data-checked=true] *){opacity:1}.tw\\:group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.tw\\:group)[data-collapsible=icon] *){margin-top:calc(calc(var(--spacing)) * -8)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){display:none}.tw\\:group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(calc(var(--spacing)) * 8)!important;height:calc(calc(var(--spacing)) * 8)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\):is(:where(.tw\\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)))}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)) + 2px)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){overflow:hidden}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 0)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 2)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.tw\\:group)[data-collapsible=icon] *){opacity:0}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){width:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tw\\:group)[data-disabled=true] *){pointer-events:none}.tw\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tw\\:group)[data-disabled=true] *),.tw\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.tw\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.tw\\:group-data-\\[side\\=primary\\]\\:-right-4:is(:where(.tw\\:group)[data-side=primary] *){right:calc(calc(var(--spacing)) * -4)}.tw\\:group-data-\\[side\\=primary\\]\\:border-e:is(:where(.tw\\:group)[data-side=primary] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:group-data-\\[side\\=secondary\\]\\:left-0:is(:where(.tw\\:group)[data-side=secondary] *){left:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[side\\=secondary\\]\\:rotate-180:is(:where(.tw\\:group)[data-side=secondary] *){rotate:180deg}.tw\\:group-data-\\[side\\=secondary\\]\\:border-s:is(:where(.tw\\:group)[data-side=secondary] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:size-2\\.5:is(:where(.tw\\:group\\/avatar)[data-size=default] *){width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:size-4:is(:where(.tw\\:group\\/switch)[data-size=default] *){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:size-3:is(:where(.tw\\:group\\/avatar)[data-size=lg] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:text-xs:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.tw\\:group\\/card)[data-size=sm] *){font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:size-3:is(:where(.tw\\:group\\/switch)[data-size=sm] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){border-radius:0}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.tw\\:group)[data-variant=floating] *){border-radius:var(--radius)}.tw\\:group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.tw\\:group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mt-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){text-align:center}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:me-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:ms-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mb-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.tw\\:group-data-selected\\/command-item\\:text-foreground:is(:where(.tw\\:group\\/command-item):where([data-selected=true]) *){color:var(--foreground)}.tw\\:group-data-horizontal\\/tabs\\:h-8:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *){height:calc(calc(var(--spacing)) * 8)}.tw\\:group-data-vertical\\/tabs\\:h-fit:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.tw\\:group-data-vertical\\/tabs\\:w-full:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){width:100%}.tw\\:group-data-vertical\\/tabs\\:flex-col:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.tw\\:group-data-vertical\\/tabs\\:justify-start:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.tw\\:peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.tw\\:peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}.tw\\:peer-focus\\:group-hover\\:text-blue-500:is(:where(.tw\\:peer):focus~*):is(:where(.tw\\:group):hover *){color:var(--tw-color-blue-500)}}.tw\\:peer-disabled\\:cursor-not-allowed:is(:where(.tw\\:peer):disabled~*){cursor:not-allowed}.tw\\:peer-disabled\\:opacity-50:is(:where(.tw\\:peer):disabled~*){opacity:.5}.tw\\:peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=default]~*){top:calc(calc(var(--spacing)) * 1.5)}.tw\\:peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=lg]~*){top:calc(calc(var(--spacing)) * 2.5)}.tw\\:peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.tw\\:peer\\/menu-button)[data-size=sm]~*){top:calc(calc(var(--spacing)) * 1)}.tw\\:peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.tw\\:peer\\/menu-button):where([data-state=active]),:where(.tw\\:peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.tw\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tw\\:file\\:h-6::file-selector-button{height:calc(calc(var(--spacing)) * 6)}.tw\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tw\\:file\\:text-sm::file-selector-button{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:file\\:text-foreground::file-selector-button{color:var(--foreground)}.tw\\:placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.tw\\:placeholder\\:text-slate-400::placeholder{color:var(--tw-color-slate-400)}.tw\\:before\\:absolute:before{content:var(--tw-content);position:absolute}.tw\\:before\\:top-0\\.5:before{content:var(--tw-content);top:calc(calc(var(--spacing)) * .5)}.tw\\:before\\:left-0:before{content:var(--tw-content);left:calc(calc(var(--spacing)) * 0)}.tw\\:before\\:block:before{content:var(--tw-content);display:block}.tw\\:before\\:hidden:before{content:var(--tw-content);display:none}.tw\\:before\\:h-4:before{content:var(--tw-content);height:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:w-4:before{content:var(--tw-content);width:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:cursor-pointer:before{content:var(--tw-content);cursor:pointer}.tw\\:before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.tw\\:before\\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:before\\:border-primary:before{content:var(--tw-content);border-color:var(--primary)}.tw\\:before\\:bg-primary:before{content:var(--tw-content);background-color:var(--primary)}.tw\\:before\\:bg-cover:before{content:var(--tw-content);background-size:cover}.tw\\:before\\:bg-no-repeat:before{content:var(--tw-content);background-repeat:no-repeat}.tw\\:before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.tw\\:before\\:content-\\[\\\\\\"\\\\\\"\\]:before{--tw-content:\\"\\";content:var(--tw-content)}.tw\\:after\\:absolute:after{content:var(--tw-content);position:absolute}.tw\\:after\\:-inset-2:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-0:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * -3)}.tw\\:after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.tw\\:after\\:top-\\[6px\\]:after{content:var(--tw-content);top:6px}.tw\\:after\\:right-\\[7px\\]:after{content:var(--tw-content);right:7px}.tw\\:after\\:left-\\[7px\\]:after{content:var(--tw-content);left:7px}.tw\\:after\\:block:after{content:var(--tw-content);display:block}.tw\\:after\\:hidden:after{content:var(--tw-content);display:none}.tw\\:after\\:h-0\\.5:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:after\\:h-\\[6px\\]:after{content:var(--tw-content);height:6px}.tw\\:after\\:w-1:after{content:var(--tw-content);width:calc(calc(var(--spacing)) * 1)}.tw\\:after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.tw\\:after\\:w-\\[3px\\]:after{content:var(--tw-content);width:3px}.tw\\:after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:after\\:rotate-45:after{content:var(--tw-content);rotate:45deg}.tw\\:after\\:cursor-pointer:after{content:var(--tw-content);cursor:pointer}.tw\\:after\\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.tw\\:after\\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:after\\:border-t-0:after{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:after\\:border-r-2:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.tw\\:after\\:border-b-2:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.tw\\:after\\:border-l-0:after{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:0}.tw\\:after\\:border-solid:after{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.tw\\:after\\:border-border:after{content:var(--tw-content);border-color:var(--border)}.tw\\:after\\:border-white:after{content:var(--tw-content);border-color:var(--tw-color-white)}.tw\\:after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.tw\\:after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.tw\\:after\\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\\:after\\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.tw\\:after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.tw\\:after\\:content-\\[\\\\\\"\\\\\\"\\]:after{--tw-content:\\"\\";content:var(--tw-content)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:after\\:start-full:is(:where(.tw\\:group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.tw\\:group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.tw\\:group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-vertical\\/tabs\\:after\\:-end-1:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-inline-end:calc(calc(var(--spacing)) * -1)}.tw\\:group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(calc(var(--spacing)) * .5)}.tw\\:first\\:mt-0:first-child{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:even\\:bg-muted:nth-child(2n){background-color:var(--muted)}.tw\\:focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.tw\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover:hover){.tw\\:hover\\:-mt-4:hover{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:hover\\:cursor-pointer:hover{cursor:pointer}.tw\\:hover\\:bg-accent:hover,.tw\\:hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.tw\\:hover\\:bg-accent\\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.tw\\:hover\\:bg-blue-600:hover{background-color:var(--tw-color-blue-600)}.tw\\:hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:hover\\:bg-gray-50:hover{background-color:var(--tw-color-gray-50)}.tw\\:hover\\:bg-input:hover{background-color:var(--input)}.tw\\:hover\\:bg-muted:hover,.tw\\:hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:hover\\:bg-muted\\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.tw\\:hover\\:bg-primary\\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.tw\\:hover\\:bg-primary\\/70:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/70:hover{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.tw\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.tw\\:hover\\:bg-red-500:hover{background-color:var(--tw-color-red-500)}.tw\\:hover\\:bg-secondary:hover,.tw\\:hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.tw\\:hover\\:bg-transparent:hover{background-color:#0000}.tw\\:hover\\:text-foreground:hover{color:var(--foreground)}.tw\\:hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.tw\\:hover\\:text-primary-foreground:hover{color:var(--primary-foreground)}.tw\\:hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.tw\\:hover\\:underline:hover{text-decoration-line:underline}.tw\\:hover\\:opacity-80:hover{opacity:.8}.tw\\:hover\\:opacity-100:hover{opacity:1}.tw\\:hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:ring-3:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.tw\\:hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.tw\\:focus\\:relative:focus{position:relative}.tw\\:focus\\:z-10:focus{z-index:10}.tw\\:focus\\:bg-accent:focus{background-color:var(--accent)}.tw\\:focus\\:bg-muted:focus{background-color:var(--muted)}.tw\\:focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.tw\\:focus\\:text-foreground:focus{color:var(--foreground)}.tw\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.tw\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus\\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.tw\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}:is(.tw\\:focus\\:\\*\\*\\:text-accent-foreground:focus *),:is(.tw\\:not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.tw\\:focus-visible\\:relative:focus-visible{position:relative}.tw\\:focus-visible\\:z-10:focus-visible{z-index:10}.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.tw\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-3:focus-visible,.tw\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-\\[color\\:hsl\\(240\\,5\\%\\,64\\.9\\%\\)\\]:focus-visible{--tw-ring-color:#a1a1aa}.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:focus-visible\\:ring-ring:focus-visible,.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:focus-visible\\:ring-slate-400:focus-visible{--tw-ring-color:var(--tw-color-slate-400)}.tw\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.tw\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.tw\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}:is(.tw\\:\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.tw\\:\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.tw\\:active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.tw\\:active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.tw\\:active\\:ring-3:active{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:transform-\\[translateY\\(1px\\)\\]:active:not([aria-haspopup]){transform:translateY(1px)}.tw\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tw\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\\:disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:disabled\\:bg-transparent:disabled{background-color:#0000}.tw\\:disabled\\:opacity-50:disabled{opacity:.5}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-side=primary]) .tw\\:in-data-\\[side\\=primary\\]\\:cursor-w-resize{cursor:w-resize}:where([data-side=secondary]) .tw\\:in-data-\\[side\\=secondary\\]\\:cursor-e-resize{cursor:e-resize}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-slot=button-group]) .tw\\:in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-slot=dialog-content]) .tw\\:in-data-\\[slot\\=dialog-content\\]\\:rounded-lg\\!{border-radius:var(--radius)!important}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-background{color:var(--background)}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-destructive{color:var(--destructive)}.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:has-disabled\\:opacity-50:has(:disabled){opacity:.5}.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-2:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-2:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.tw\\:has-data-\\[slot\\=alert-action\\]\\:pe-18:has([data-slot=alert-action]){padding-inline-end:calc(calc(var(--spacing)) * 18)}.tw\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\\:has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.tw\\:has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-0:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-1\\.5:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.tw\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>button\\]\\:ms-\\[-0\\.3rem\\]:has(>button){margin-inline-start:-.3rem}.tw\\:has-\\[\\>button\\]\\:me-\\[-0\\.3rem\\]:has(>button){margin-inline-end:-.3rem}.tw\\:has-\\[\\>img\\]\\:grid-cols-\\[auto_1fr\\]:has(>img){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>img\\]\\:gap-x-2:has(>img){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>kbd\\]\\:ms-\\[-0\\.15rem\\]:has(>kbd){margin-inline-start:-.15rem}.tw\\:has-\\[\\>kbd\\]\\:me-\\[-0\\.15rem\\]:has(>kbd){margin-inline-end:-.15rem}.tw\\:has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.tw\\:aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.tw\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tw\\:aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.tw\\:aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.tw\\:aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.tw\\:aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.tw\\:aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.tw\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.tw\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.tw\\:aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:h-px[aria-orientation=horizontal]{height:1px}.tw\\:aria-\\[orientation\\=horizontal\\]\\:w-full[aria-orientation=horizontal]{width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:start-0[aria-orientation=horizontal]:after{content:var(--tw-content);inset-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * 1)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-y-1\\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=vertical\\]\\:flex-col[aria-orientation=vertical]{flex-direction:column}.tw\\:data-inset\\:ps-7[data-inset]{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.tw\\:data-quiet-focus\\:focus-visible\\:border-transparent[data-quiet-focus]:focus-visible{border-color:#0000}.tw\\:data-quiet-focus\\:focus-visible\\:ring-0[data-quiet-focus]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-quiet-focus\\:focus-visible\\:outline-none[data-quiet-focus]:focus-visible{--tw-outline-style:none;outline-style:none}.tw\\:data-\\[align-trigger\\=false\\]\\:min-w-36[data-align-trigger=false]{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:data-\\[align-trigger\\=true\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-align-trigger=true]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.tw\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tw\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tw\\:data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.tw\\:data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.tw\\:data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\\:data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(calc(var(--spacing)) * 8)}.tw\\:data-\\[size\\=default\\]\\:h-\\[18\\.4px\\][data-size=default]{height:18.4px}.tw\\:data-\\[size\\=default\\]\\:w-\\[32px\\][data-size=default]{width:32px}.tw\\:data-\\[size\\=lg\\]\\:size-10[data-size=lg]{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:data-\\[size\\=sm\\]\\:size-6[data-size=sm]{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(calc(var(--spacing)) * 7)}.tw\\:data-\\[size\\=sm\\]\\:h-\\[14px\\][data-size=sm]{height:14px}.tw\\:data-\\[size\\=sm\\]\\:w-\\[24px\\][data-size=sm]{width:24px}.tw\\:data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.tw\\:\\*\\:data-\\[slot\\=input-group-addon\\]\\:ps-2\\!>*)[data-slot=input-group-addon]{padding-inline-start:calc(calc(var(--spacing)) * 2)!important}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:relative *)[data-slot=kbd]{position:relative}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:z-50 *)[data-slot=kbd]{z-index:50}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex-1>*)[data-slot=select-value]{flex:1}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:text-start>*)[data-slot=select-value]{text-align:start}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-s-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-e-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.tw\\:data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.tw\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.tw\\:data-\\[state\\=delayed-open\\]\\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-\\[state\\=delayed-open\\]\\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.tw\\:data-\\[state\\=delayed-open\\]\\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-approved\\)\\][data-state=on]{background-color:var(--inv-soft-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unapproved\\)\\][data-state=on]{background-color:var(--inv-soft-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unknown\\)\\][data-state=on]{background-color:var(--inv-soft-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-approved\\)\\][data-state=on]{background-color:var(--inv-vivid-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unapproved\\)\\][data-state=on]{background-color:var(--inv-vivid-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unknown\\)\\][data-state=on]{background-color:var(--inv-vivid-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-muted[data-state=on]{background-color:var(--muted)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-approved\\)\\][data-state=on]{color:var(--inv-icon-approved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unapproved\\)\\][data-state=on]{color:var(--inv-icon-unapproved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unknown\\)\\][data-state=on]{color:var(--inv-icon-unknown)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-on\\)\\][data-state=on]{color:var(--inv-on)}.tw\\:data-\\[state\\=on\\]\\:text-foreground[data-state=on]{color:var(--foreground)}.tw\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.tw\\:data-\\[state\\=open\\]\\:bg-muted[data-state=open]{background-color:var(--muted)}.tw\\:data-\\[state\\=open\\]\\:text-foreground[data-state=open]{color:var(--foreground)}.tw\\:data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.tw\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}:is(:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:\\*\\*\\:text-accent-foreground\\! *)[data-variant=destructive] *),:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:text-accent-foreground\\! *)[data-variant=destructive]{color:var(--accent-foreground)!important}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}.tw\\:data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-s-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-s:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-xl[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:flex-row[data-vaul-drawer-direction=left]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:rounded-r-xl[data-vaul-drawer-direction=left]{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\/right\\]\\:flex-row[data-vaul-drawer-direction=left\\/right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:flex-row[data-vaul-drawer-direction=right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:rounded-l-xl[data-vaul-drawer-direction=right]{border-top-left-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-xl[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.tw\\:supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--tw-blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.tw\\:sm\\:flex{display:flex}.tw\\:sm\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:sm\\:flex-row{flex-direction:row}.tw\\:sm\\:justify-end{justify-content:flex-end}.tw\\:sm\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:sm\\:text-start{text-align:start}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--tw-container-sm)}}@media (min-width:48rem){.tw\\:md\\:block{display:block}.tw\\:md\\:flex{display:flex}.tw\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:md\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:md\\:text-start{text-align:start}.tw\\:md\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:md\\:text-pretty{text-wrap:pretty}.tw\\:md\\:opacity-0{opacity:0}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.tw\\:peer)[data-variant=inset]~*){margin:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:ms-0:is(:where(.tw\\:peer)[data-variant=inset]~*){margin-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.tw\\:peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.tw\\:peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ms-2:is(:where(.tw\\:peer)[data-variant=inset]~*):is(:where(.tw\\:peer)[data-state=collapsed]~*){margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.tw\\:lg\\:flex{display:flex}.tw\\:lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tw\\:lg\\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:lg\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}}@media (min-width:48rem){@media (min-width:64rem){.tw\\:md\\:lg\\:hidden{display:none}}}@media (min-width:80rem){.tw\\:xl\\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.tw\\:xl\\:grid-flow-col{grid-auto-flow:column}.tw\\:xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:xl\\:grid-cols-none{grid-template-columns:none}.tw\\:xl\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}}@container search not (min-width:7rem){.tw\\:\\@max-\\[7rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[7rem\\]\\/search\\:ps-3{padding-inline-start:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:4rem){.tw\\:\\@max-\\[4rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[4rem\\]\\/search\\:pe-3{padding-inline-end:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:3rem){.tw\\:\\@max-\\[3rem\\]\\/search\\:ps-0{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\@max-\\[3rem\\]\\/search\\:pe-0{padding-inline-end:calc(calc(var(--spacing)) * 0)}}@container (min-width:24rem){.tw\\:\\@sm\\:basis-auto{flex-basis:auto}}.tw\\:ltr\\:left-2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){left:calc(calc(var(--spacing)) * 2)}.tw\\:ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:right-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:calc(calc(var(--spacing)) * 2)}.tw\\:rtl\\:flex:where(:dir(rtl),[dir=rtl],[dir=rtl] *){display:flex}.tw\\:rtl\\:-translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:after\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=primary]) .tw\\:rtl\\:in-data-\\[side\\=primary\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=secondary]) .tw\\:rtl\\:in-data-\\[side\\=secondary\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}.tw\\:rtl\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=left\\]\\:translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=right\\]\\:-translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:border-input:is(.dark *){border-color:var(--input)}.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:bg-transparent:is(.dark *){background-color:#0000}.tw\\:dark\\:text-amber-400:is(.dark *){color:var(--tw-color-amber-400)}.tw\\:dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.tw\\:dark\\:text-rose-400:is(.dark *){color:var(--tw-color-rose-400)}.tw\\:dark\\:text-sky-400:is(.dark *){color:var(--tw-color-sky-400)}.tw\\:dark\\:text-teal-400:is(.dark *){color:var(--tw-color-teal-400)}.tw\\:dark\\:after\\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.tw\\:dark\\:hover\\:bg-blue-500:is(.dark *):hover{background-color:var(--tw-color-blue-500)}.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:data-open\\:animate-in:where([data-state=open]),.tw\\:data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-open\\:bg-accent:where([data-state=open]),.tw\\:data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.tw\\:data-open\\:text-accent-foreground:where([data-state=open]),.tw\\:data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.tw\\:data-open\\:fade-in-0:where([data-state=open]),.tw\\:data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.tw\\:data-open\\:zoom-in-95:where([data-state=open]),.tw\\:data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.tw\\:data-closed\\:animate-out:where([data-state=closed]),.tw\\:data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-closed\\:fade-out-0:where([data-state=closed]),.tw\\:data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.tw\\:data-closed\\:zoom-out-95:where([data-state=closed]),.tw\\:data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.tw\\:data-checked\\:border-primary:where([data-state=checked]),.tw\\:data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.tw\\:data-checked\\:bg-primary:where([data-state=checked]),.tw\\:data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:data-checked\\:text-primary-foreground:where([data-state=checked]),.tw\\:data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(calc(100% - 2px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.tw\\:data-unchecked\\:bg-input:where([data-state=unchecked]),.tw\\:data-unchecked\\:bg-input:where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--foreground)}.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:data-selected\\:bg-muted:where([data-selected=true]),.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:data-selected\\:bg-primary:where([data-selected=true]){background-color:var(--primary)}.tw\\:data-selected\\:bg-transparent:where([data-selected=true]){background-color:#0000}.tw\\:data-selected\\:text-foreground:where([data-selected=true]){color:var(--foreground)}.tw\\:data-selected\\:text-inherit:where([data-selected=true]){color:inherit}.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:data-selected\\:text-primary-foreground:where([data-selected=true]){color:var(--primary-foreground)}.tw\\:data-selected\\:ring-2:where([data-selected=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:data-selected\\:ring-inset:where([data-selected=true]){--tw-ring-inset:inset}@media (forced-colors:active){.tw\\:forced-colors\\:data-selected\\:outline-2:where([data-selected=true]){outline-style:var(--tw-outline-style);outline-width:2px}.tw\\:forced-colors\\:data-selected\\:-outline-offset-2:where([data-selected=true]){outline-offset:calc(2px * -1)}.tw\\:forced-colors\\:data-selected\\:outline-\\[color\\:Highlight\\]:where([data-selected=true]){outline-color:highlight}}.tw\\:data-disabled\\:pointer-events-none:where([data-disabled=true]),.tw\\:data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled=true]),.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.tw\\:data-disabled\\:opacity-50:where([data-disabled=true]),.tw\\:data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.tw\\:data-active\\:bg-background:where([data-state=active]),.tw\\:data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.tw\\:data-active\\:bg-sidebar-accent:where([data-state=active]),.tw\\:data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.tw\\:data-active\\:font-medium:where([data-state=active]),.tw\\:data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:data-active\\:text-foreground:where([data-state=active]),.tw\\:data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.tw\\:data-horizontal\\:h-1:where([data-orientation=horizontal]){height:calc(calc(var(--spacing)) * 1)}.tw\\:data-horizontal\\:h-full:where([data-orientation=horizontal]){height:100%}.tw\\:data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.tw\\:data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.tw\\:data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.tw\\:data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.tw\\:data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.tw\\:data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.tw\\:data-vertical\\:h-full:where([data-orientation=vertical]){height:100%}.tw\\:data-vertical\\:min-h-40:where([data-orientation=vertical]){min-height:calc(calc(var(--spacing)) * 40)}.tw\\:data-vertical\\:w-1:where([data-orientation=vertical]){width:calc(calc(var(--spacing)) * 1)}.tw\\:data-vertical\\:w-auto:where([data-orientation=vertical]){width:auto}.tw\\:data-vertical\\:w-full:where([data-orientation=vertical]){width:100%}.tw\\:data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.tw\\:data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.tw\\:data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.tw\\:data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=true]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=true]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=true]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=true]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=true]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=true]>blockquote{font-style:normal}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=\\"true\\"]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=\\"true\\"]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=\\"true\\"]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=\\"true\\"]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=\\"true\\"]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=\\"true\\"]>blockquote{font-style:normal}.tw\\:\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.tw\\:\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.tw\\:\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.tw\\:\\[\\&_p\\]\\:my-0 p{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_s\\]\\:text-destructive s{color:var(--destructive)}.tw\\:\\[\\&_s\\]\\:line-through s{text-decoration-line:line-through}.tw\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tw\\:\\[\\&_svg\\]\\:size-4 svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.tw\\:\\[\\&_u\\]\\:font-semibold u{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:\\[\\&_u\\]\\:text-success-foreground u{color:var(--success-foreground)}.tw\\:\\[\\&_u\\]\\:no-underline u{text-decoration-line:none}.tw\\:\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pe-0:has([role=checkbox]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.tw\\:group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:px-2 *)[cmdk-group-heading]{padding-inline:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:py-1\\.5 *)[cmdk-group-heading]{padding-block:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-xs *)[cmdk-group-heading]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}:is(.tw\\:\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.tw\\:\\*\\:\\[img\\]\\:row-span-2>*):is(img){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[img\\]\\:translate-y-0\\.5>*):is(img){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[img\\]\\:text-current>*):is(img){color:currentColor}:is(.tw\\:\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(img:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}:is(.tw\\:focus\\:\\*\\:\\[svg\\]\\:text-accent-foreground:focus>*):is(svg){color:var(--accent-foreground)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.tw\\:data-selected\\:\\*\\:\\[svg\\]\\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}:is(.tw\\:\\*\\:\\[svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-s-none>:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-s-0>:not(:first-child){border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-e-none>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.tw\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-e-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-e-lg\\!>[data-slot]:not(:has(~[data-slot])){border-start-end-radius:var(--radius)!important;border-end-end-radius:var(--radius)!important}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.tw\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tw\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tw\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.tw\\:\\[\\&\\>blockquote\\]\\:my-0>blockquote{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:border-s-0>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>blockquote\\]\\:p-0>blockquote{padding:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:ps-0>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:font-normal>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&\\>blockquote\\]\\:text-foreground>blockquote{color:var(--foreground)}.tw\\:\\[\\&\\>blockquote\\]\\:not-italic>blockquote{font-style:normal}.tw\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pe-1\\.5:has(>[data-align=inline-end])>input{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:ps-1\\.5:has(>[data-align=inline-start])>input{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.tw\\:\\[\\&\\>li\\]\\:mt-2>li{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tw\\:\\[\\&\\>svg\\]\\:hidden>svg{display:none}.tw\\:\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(calc(var(--spacing)) * 3)!important;height:calc(calc(var(--spacing)) * 3)!important}.tw\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\]\\:size-4>svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.tw\\:\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-5:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *)>svg{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-3:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *)>svg{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=default] *)>svg,.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=lg] *)>svg{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:\\[\\&\\>svg\\]\\:hidden:is(:where(.tw\\:group\\/avatar)[data-size=sm] *)>svg,.tw\\:\\[\\&\\>svg\\:last-child\\]\\:hidden>svg:last-child{display:none}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.tw\\:\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}.tw\\:\\[\\&\\[aria-orientation\\=horizontal\\]\\>div\\]\\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}[data-side=primary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=primary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-end-2{inset-inline-end:calc(calc(var(--spacing)) * -2)}[data-side=primary][data-state=collapsed] .tw\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=primary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=secondary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-start-2{inset-inline-start:calc(calc(var(--spacing)) * -2)}[data-side=secondary][data-state=collapsed] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}[data-side=secondary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light,:root{--radius:.625rem;--spacing:.25rem;--background:oklch(100% 0 0);--foreground:oklch(13.71% .036 258.53);--card:oklch(100% 0 0);--card-foreground:oklch(13.71% .036 258.53);--popover:oklch(98.43% .0018 248.56);--popover-foreground:oklch(13.71% .036 258.53);--primary:oklch(20.79% .0399 265.73);--primary-foreground:oklch(98.38% .0036 248.23);--secondary:oklch(95.89% .011 248.06);--secondary-foreground:oklch(20.79% .0399 265.73);--muted:oklch(95.89% .011 248.06);--muted-foreground:oklch(55.47% .0408 257.45);--accent:oklch(95.89% .011 248.06);--accent-foreground:oklch(20.79% .0399 265.73);--destructive:oklch(63.69% .2077 25.32);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(92.9% .0127 255.58);--input:oklch(92.9% .0127 255.58);--ring:oklch(13.71% .036 258.53);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.43% .0018 248.56);--sidebar-foreground:oklch(13.71% .036 258.53);--sidebar-primary:oklch(20.79% .0399 265.73);--sidebar-primary-foreground:oklch(98.38% .0036 248.23);--sidebar-accent:oklch(95.89% .011 248.06);--sidebar-accent-foreground:oklch(20.79% .0399 265.73);--sidebar-border:oklch(92.9% .0127 255.58);--sidebar-ring:oklch(13.71% .036 258.53)}.dark{--background:oklch(13.71% .036 258.53);--foreground:oklch(98.38% .0036 248.23);--card:oklch(13.71% .036 258.53);--card-foreground:oklch(98.38% .0036 248.23);--popover:oklch(13.71% .036 258.53);--popover-foreground:oklch(98.38% .0036 248.23);--primary:oklch(98.38% .0036 248.23);--primary-foreground:oklch(20.79% .0399 265.73);--secondary:oklch(28% .037 259.98);--secondary-foreground:oklch(98.38% .0036 248.23);--muted:oklch(28% .037 259.98);--muted-foreground:oklch(71.07% .0351 256.8);--accent:oklch(28% .037 259.98);--accent-foreground:oklch(98.38% .0036 248.23);--destructive:oklch(39.6% .1331 25.71);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(44.54% .0374 257.3);--input:oklch(44.54% .0374 257.3);--ring:oklch(86.88% .0199 252.89);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(13.71% .036 258.53);--sidebar-foreground:oklch(71.07% .0351 256.8);--sidebar-primary:oklch(98.38% .0036 248.23);--sidebar-primary-foreground:oklch(20.79% .0399 265.73);--sidebar-accent:oklch(28% .037 259.98);--sidebar-accent-foreground:oklch(71.07% .0351 256.8);--sidebar-border:oklch(28% .037 259.98);--sidebar-ring:oklch(86.88% .0199 252.89)}.paratext-light{--background:oklch(100% 0 0);--foreground:oklch(15.3% .006 107.1);--card:oklch(100% 0 0);--card-foreground:oklch(15.3% .006 107.1);--popover:oklch(100% 0 0);--popover-foreground:oklch(15.3% .006 107.1);--primary:oklch(55.5% .163 48.998);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.6% .005 106.5);--muted-foreground:oklch(58% .031 107.3);--accent:oklch(96.6% .005 106.5);--accent-foreground:oklch(22.8% .013 107.4);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(93% .007 106.5);--input:oklch(93% .007 106.5);--ring:oklch(73.7% .021 106.9);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(98.8% .003 106.5);--sidebar-foreground:oklch(15.3% .006 107.1);--sidebar-primary:oklch(66.6% .179 58.318);--sidebar-primary-foreground:oklch(98.7% .022 95.277);--sidebar-accent:oklch(96.6% .005 106.5);--sidebar-accent-foreground:oklch(22.8% .013 107.4);--sidebar-border:oklch(93% .007 106.5);--sidebar-ring:oklch(73.7% .021 106.9)}.paratext-dark{--background:oklch(15.3% .006 107.1);--foreground:oklch(98.8% .003 106.5);--card:oklch(22.8% .013 107.4);--card-foreground:oklch(98.8% .003 106.5);--popover:oklch(22.8% .013 107.4);--popover-foreground:oklch(98.8% .003 106.5);--primary:oklch(47.3% .137 46.201);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(28.6% .016 107.4);--muted-foreground:oklch(73.7% .021 106.9);--accent:oklch(28.6% .016 107.4);--accent-foreground:oklch(98.8% .003 106.5);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(58% .031 107.3);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(22.8% .013 107.4);--sidebar-foreground:oklch(98.8% .003 106.5);--sidebar-primary:oklch(76.9% .188 70.08);--sidebar-primary-foreground:oklch(27.9% .077 45.635);--sidebar-accent:oklch(28.6% .016 107.4);--sidebar-accent-foreground:oklch(98.8% .003 106.5);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(58% .031 107.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--tw-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tw-color-red-100:oklch(93.6% .032 17.717);--tw-color-red-200:oklch(88.5% .062 18.334);--tw-color-red-300:oklch(80.8% .114 19.571);--tw-color-red-400:oklch(70.4% .191 22.216);--tw-color-red-500:oklch(63.7% .237 25.331);--tw-color-red-600:oklch(57.7% .245 27.325);--tw-color-red-700:oklch(50.5% .213 27.518);--tw-color-red-800:oklch(44.4% .177 26.899);--tw-color-orange-100:oklch(95.4% .038 75.164);--tw-color-orange-800:oklch(47% .157 37.304);--tw-color-amber-200:oklch(92.4% .12 95.746);--tw-color-amber-400:oklch(82.8% .189 84.429);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-yellow-50:oklch(98.7% .026 102.212);--tw-color-yellow-100:oklch(97.3% .071 103.193);--tw-color-yellow-400:oklch(85.2% .199 91.936);--tw-color-yellow-500:oklch(79.5% .184 86.047);--tw-color-yellow-600:oklch(68.1% .162 75.834);--tw-color-yellow-700:oklch(55.4% .135 66.442);--tw-color-green-50:oklch(98.2% .018 155.826);--tw-color-green-100:oklch(96.2% .044 156.743);--tw-color-green-500:oklch(72.3% .219 149.579);--tw-color-green-600:oklch(62.7% .194 149.214);--tw-color-green-700:oklch(52.7% .154 150.069);--tw-color-green-800:oklch(44.8% .119 151.328);--tw-color-teal-400:oklch(77.7% .152 181.912);--tw-color-teal-500:oklch(70.4% .14 182.503);--tw-color-teal-600:oklch(60% .118 184.704);--tw-color-sky-400:oklch(74.6% .16 232.661);--tw-color-sky-500:oklch(68.5% .169 237.323);--tw-color-sky-600:oklch(58.8% .158 241.966);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-100:oklch(93.2% .032 255.585);--tw-color-blue-400:oklch(70.7% .165 254.624);--tw-color-blue-500:oklch(62.3% .214 259.815);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-blue-800:oklch(42.4% .199 265.638);--tw-color-indigo-200:oklch(87% .065 274.039);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-200:oklch(90.2% .063 306.703);--tw-color-purple-900:oklch(38.1% .176 304.987);--tw-color-rose-400:oklch(71.2% .194 13.428);--tw-color-rose-500:oklch(64.5% .246 16.439);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-slate-300:oklch(86.9% .022 252.894);--tw-color-slate-400:oklch(70.4% .04 256.788);--tw-color-slate-900:oklch(20.8% .042 265.755);--tw-color-gray-50:oklch(98.5% .002 247.839);--tw-color-gray-100:oklch(96.7% .003 264.542);--tw-color-gray-300:oklch(87.2% .01 258.338);--tw-color-gray-500:oklch(55.1% .027 264.364);--tw-color-gray-600:oklch(44.6% .03 256.802);--tw-color-gray-700:oklch(37.3% .034 259.733);--tw-color-gray-800:oklch(27.8% .033 256.848);--tw-color-zinc-400:oklch(70.5% .015 286.067);--tw-color-neutral-300:oklch(87% 0 0);--tw-color-black:#000;--tw-color-white:#fff;--tw-container-xs:20rem;--tw-container-sm:24rem;--tw-container-md:28rem;--tw-container-lg:32rem;--tw-container-2xl:42rem;--tw-container-3xl:48rem;--tw-container-4xl:56rem;--tw-container-6xl:72rem;--tw-text-xs:.75rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm:.875rem;--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height:calc(1.5 / 1);--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-text-xl:1.25rem;--tw-text-xl--line-height:calc(1.75 / 1.25);--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2 / 1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height:calc(2.25 / 1.875);--tw-text-4xl:2.25rem;--tw-text-4xl--line-height:calc(2.5 / 2.25);--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-normal:400;--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-font-weight-bold:700;--tw-font-weight-extrabold:800;--tw-tracking-tight:-.025em;--tw-tracking-wider:.05em;--tw-tracking-widest:.1em;--tw-leading-tight:1.25;--tw-leading-snug:1.375;--tw-leading-relaxed:1.625;--tw-leading-loose:2;--tw-radius-xs:.125rem;--tw-radius-md:calc(var(--radius) * .8);--tw-drop-shadow-sm:0 1px 2px #00000026;--tw-animate-spin:spin 1s linear infinite;--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-blur-xs:4px;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tw-default-font-family:"IBM Plex Sans Variable", sans-serif;--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{.pr-twp,.pr-twp *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.pr-twp,.pr-twp *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body.pr-twp{background-color:var(--background);color:var(--foreground)}html.pr-twp{font-family:IBM Plex Sans Variable,sans-serif}:where(.pr-twp,.pr-twp *),:where(.pr-twp,.pr-twp *):after,:where(.pr-twp,.pr-twp *):before,:where(.pr-twp,.pr-twp *) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.pr-twp{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tw-default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--tw-default-font-feature-settings,normal);font-variation-settings:var(--tw-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr:where(.pr-twp,.pr-twp *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(.pr-twp,.pr-twp *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(.pr-twp,.pr-twp *),h2:where(.pr-twp,.pr-twp *),h3:where(.pr-twp,.pr-twp *),h4:where(.pr-twp,.pr-twp *),h5:where(.pr-twp,.pr-twp *),h6:where(.pr-twp,.pr-twp *){font-size:inherit;font-weight:inherit}a:where(.pr-twp,.pr-twp *){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b:where(.pr-twp,.pr-twp *),strong:where(.pr-twp,.pr-twp *){font-weight:bolder}code:where(.pr-twp,.pr-twp *),kbd:where(.pr-twp,.pr-twp *),samp:where(.pr-twp,.pr-twp *),pre:where(.pr-twp,.pr-twp *){font-family:var(--tw-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-variation-settings:var(--tw-default-mono-font-variation-settings,normal);font-size:1em}small:where(.pr-twp,.pr-twp *){font-size:80%}sub:where(.pr-twp,.pr-twp *),sup:where(.pr-twp,.pr-twp *){vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub:where(.pr-twp,.pr-twp *){bottom:-.25em}sup:where(.pr-twp,.pr-twp *){top:-.5em}table:where(.pr-twp,.pr-twp *){text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(.pr-twp,.pr-twp *){outline:auto}progress:where(.pr-twp,.pr-twp *){vertical-align:baseline}summary:where(.pr-twp,.pr-twp *){display:list-item}ol:where(.pr-twp,.pr-twp *),ul:where(.pr-twp,.pr-twp *),menu:where(.pr-twp,.pr-twp *){list-style:none}img:where(.pr-twp,.pr-twp *),svg:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *),canvas:where(.pr-twp,.pr-twp *),audio:where(.pr-twp,.pr-twp *),iframe:where(.pr-twp,.pr-twp *),embed:where(.pr-twp,.pr-twp *),object:where(.pr-twp,.pr-twp *){vertical-align:middle;display:block}img:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *){max-width:100%;height:auto}button:where(.pr-twp,.pr-twp *),input:where(.pr-twp,.pr-twp *),select:where(.pr-twp,.pr-twp *),optgroup:where(.pr-twp,.pr-twp *),textarea:where(.pr-twp,.pr-twp *){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup:where(.pr-twp,.pr-twp *){font-weight:bolder}:where(select:is([multiple],[size])) optgroup option:where(.pr-twp,.pr-twp *){padding-inline-start:20px}:where(.pr-twp,.pr-twp *) ::file-selector-button{margin-inline-end:4px}:where(.pr-twp,.pr-twp *) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where(.pr-twp,.pr-twp *) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where(.pr-twp,.pr-twp *) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea:where(.pr-twp,.pr-twp *){resize:vertical}:where(.pr-twp,.pr-twp *) ::-webkit-search-decoration{-webkit-appearance:none}:where(.pr-twp,.pr-twp *) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{display:inline-flex}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-year-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-month-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-day-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-hour-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-minute-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-second-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-millisecond-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid:where(.pr-twp,.pr-twp *){box-shadow:none}button:where(.pr-twp,.pr-twp *),input:where([type=button],[type=reset],[type=submit]):where(.pr-twp,.pr-twp *){appearance:button}:where(.pr-twp,.pr-twp *) ::file-selector-button{appearance:button}:where(.pr-twp,.pr-twp *) ::-webkit-inner-spin-button{height:auto}:where(.pr-twp,.pr-twp *) ::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])):where(.pr-twp,.pr-twp *){display:none!important}}@layer components;@layer utilities{.tw\\:\\@container\\/card-header{container:card-header/inline-size}.tw\\:\\@container\\/search{container:search/inline-size}.tw\\:\\@container\\/toolbar{container:toolbar/inline-size}.tw\\:pointer-events-auto{pointer-events:auto}.tw\\:pointer-events-none{pointer-events:none}.tw\\:invisible{visibility:hidden}.tw\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\\:absolute{position:absolute}.tw\\:fixed{position:fixed}.tw\\:relative{position:relative}.tw\\:sticky{position:sticky}.tw\\:inset-0{inset:calc(calc(var(--spacing)) * 0)}.tw\\:inset-x-0{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:inset-y-0{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:inset-s-3{inset-inline-start:calc(calc(var(--spacing)) * 3)}.tw\\:start-1\\.5{inset-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:start-1\\/2{inset-inline-start:50%}.tw\\:end-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:end-1{inset-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:end-2{inset-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:end-3{inset-inline-end:calc(calc(var(--spacing)) * 3)}.tw\\:inset-e-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:-top-\\[1px\\]{top:-1px}.tw\\:top-0{top:calc(calc(var(--spacing)) * 0)}.tw\\:top-1{top:calc(calc(var(--spacing)) * 1)}.tw\\:top-1\\.5{top:calc(calc(var(--spacing)) * 1.5)}.tw\\:top-1\\/2{top:50%}.tw\\:top-1\\/3{top:33.3333%}.tw\\:top-2{top:calc(calc(var(--spacing)) * 2)}.tw\\:top-2\\.5{top:calc(calc(var(--spacing)) * 2.5)}.tw\\:top-3\\.5{top:calc(calc(var(--spacing)) * 3.5)}.tw\\:top-\\[-1px\\]{top:-1px}.tw\\:top-full{top:100%}.tw\\:-right-1{right:calc(calc(var(--spacing)) * -1)}.tw\\:right-0{right:calc(calc(var(--spacing)) * 0)}.tw\\:right-1{right:calc(calc(var(--spacing)) * 1)}.tw\\:right-3{right:calc(calc(var(--spacing)) * 3)}.tw\\:bottom-0{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:-left-\\[1px\\]{left:-1px}.tw\\:left-0{left:calc(calc(var(--spacing)) * 0)}.tw\\:left-1\\/2{left:50%}.tw\\:left-2{left:calc(calc(var(--spacing)) * 2)}.tw\\:left-3{left:calc(calc(var(--spacing)) * 3)}.tw\\:isolate{isolation:isolate}.tw\\:z-10{z-index:10}.tw\\:z-20{z-index:20}.tw\\:z-50{z-index:50}.tw\\:order-first{order:-9999}.tw\\:order-last{order:9999}.tw\\:col-span-1{grid-column:span 1/span 1}.tw\\:col-span-2{grid-column:span 2/span 2}.tw\\:col-span-3{grid-column:span 3/span 3}.tw\\:col-start-1{grid-column-start:1}.tw\\:col-start-2{grid-column-start:2}.tw\\:row-span-2{grid-row:span 2/span 2}.tw\\:row-start-1{grid-row-start:1}.tw\\:row-start-2{grid-row-start:2}.tw\\:m-0{margin:calc(calc(var(--spacing)) * 0)}.tw\\:m-1{margin:calc(calc(var(--spacing)) * 1)}.tw\\:m-2{margin:calc(calc(var(--spacing)) * 2)}.tw\\:-mx-1{margin-inline:calc(calc(var(--spacing)) * -1)}.tw\\:-mx-4{margin-inline:calc(calc(var(--spacing)) * -4)}.tw\\:mx-0{margin-inline:calc(calc(var(--spacing)) * 0)}.tw\\:mx-1{margin-inline:calc(calc(var(--spacing)) * 1)}.tw\\:mx-2{margin-inline:calc(calc(var(--spacing)) * 2)}.tw\\:mx-3\\.5{margin-inline:calc(calc(var(--spacing)) * 3.5)}.tw\\:mx-4{margin-inline:calc(calc(var(--spacing)) * 4)}.tw\\:mx-8{margin-inline:calc(calc(var(--spacing)) * 8)}.tw\\:my-1{margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:my-2\\.5{margin-block:calc(calc(var(--spacing)) * 2.5)}.tw\\:my-4{margin-block:calc(calc(var(--spacing)) * 4)}.tw\\:my-auto{margin-block:auto}.tw\\:ms-1{margin-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:ms-2{margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ms-5{margin-inline-start:calc(calc(var(--spacing)) * 5)}.tw\\:ms-6{margin-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ms-auto{margin-inline-start:auto}.tw\\:me-1{margin-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:me-2{margin-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:prose{color:var(--tw-prose-body);max-width:65ch}.tw\\:prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tw\\:prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tw\\:prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tw\\:prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tw\\:prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tw\\:prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tw\\:prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tw\\:prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tw\\:prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tw\\:prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tw\\:prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tw\\:prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tw\\:prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tw\\:prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tw\\:prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tw\\:prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tw\\:prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tw\\:prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tw\\:prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.tw\\:prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tw\\:prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tw\\:prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tw\\:prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tw\\:prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tw\\:prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tw\\:prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tw\\:prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tw\\:prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tw\\:prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tw\\:prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tw\\:prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tw\\:prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--muted-foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-invert-body:var(--foreground);--tw-prose-invert-headings:var(--foreground);--tw-prose-invert-lead:var(--muted-foreground);--tw-prose-invert-links:var(--primary);--tw-prose-invert-bold:var(--foreground);--tw-prose-invert-counters:var(--muted-foreground);--tw-prose-invert-bullets:var(--muted-foreground);--tw-prose-invert-hr:var(--border);--tw-prose-invert-quotes:var(--foreground);--tw-prose-invert-quote-borders:var(--border);--tw-prose-invert-captions:var(--muted-foreground);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--foreground);--tw-prose-invert-pre-code:var(--muted-foreground);--tw-prose-invert-pre-bg:var(--muted);--tw-prose-invert-th-borders:var(--border);--tw-prose-invert-td-borders:var(--border);font-size:1rem;line-height:1.75}.tw\\:prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.tw\\:prose :where(.tw\\:prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(.tw\\:prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.tw\\:prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.tw\\:prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(.tw\\:prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(.tw\\:prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:prose-sm{font-size:.875rem;line-height:1.71429}.tw\\:prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tw\\:prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tw\\:prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tw\\:prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tw\\:prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tw\\:prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tw\\:prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tw\\:prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tw\\:prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tw\\:prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tw\\:prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tw\\:prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tw\\:prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tw\\:prose-sm :where(.tw\\:prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(.tw\\:prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:-mt-4{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:mt-0\\.5{margin-top:calc(calc(var(--spacing)) * .5)}.tw\\:mt-1{margin-top:calc(calc(var(--spacing)) * 1)}.tw\\:mt-2{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:mt-3{margin-top:calc(calc(var(--spacing)) * 3)}.tw\\:mt-4{margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:mt-6{margin-top:calc(calc(var(--spacing)) * 6)}.tw\\:mt-auto{margin-top:auto}.tw\\:mr-1{margin-right:calc(calc(var(--spacing)) * 1)}.tw\\:mr-2{margin-right:calc(calc(var(--spacing)) * 2)}.tw\\:mr-3{margin-right:calc(calc(var(--spacing)) * 3)}.tw\\:-mb-4{margin-bottom:calc(calc(var(--spacing)) * -4)}.tw\\:mb-1{margin-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:mb-2{margin-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:mb-3{margin-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:mb-4{margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:ml-1{margin-left:calc(calc(var(--spacing)) * 1)}.tw\\:ml-2{margin-left:calc(calc(var(--spacing)) * 2)}.tw\\:ml-4{margin-left:calc(calc(var(--spacing)) * 4)}.tw\\:ml-auto{margin-left:auto}.tw\\:box-border{box-sizing:border-box}.tw\\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tw\\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tw\\:no-scrollbar::-webkit-scrollbar{display:none}.tw\\:block{display:block}.tw\\:flex{display:flex}.tw\\:grid{display:grid}.tw\\:hidden{display:none}.tw\\:inline-block{display:inline-block}.tw\\:inline-flex{display:inline-flex}.tw\\:inline-grid{display:inline-grid}.tw\\:field-sizing-content{field-sizing:content}.tw\\:aspect-square{aspect-ratio:1}.tw\\:size-2{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:size-2\\.5{width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:size-3{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:size-3\\.5{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:size-4{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:size-5{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:size-6{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:size-7{width:calc(calc(var(--spacing)) * 7);height:calc(calc(var(--spacing)) * 7)}.tw\\:size-8{width:calc(calc(var(--spacing)) * 8);height:calc(calc(var(--spacing)) * 8)}.tw\\:size-9{width:calc(calc(var(--spacing)) * 9);height:calc(calc(var(--spacing)) * 9)}.tw\\:size-10{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:size-full{width:100%;height:100%}.tw\\:h-1{height:calc(calc(var(--spacing)) * 1)}.tw\\:h-2{height:calc(calc(var(--spacing)) * 2)}.tw\\:h-3{height:calc(calc(var(--spacing)) * 3)}.tw\\:h-3\\.5{height:calc(calc(var(--spacing)) * 3.5)}.tw\\:h-4{height:calc(calc(var(--spacing)) * 4)}.tw\\:h-5{height:calc(calc(var(--spacing)) * 5)}.tw\\:h-6{height:calc(calc(var(--spacing)) * 6)}.tw\\:h-7{height:calc(calc(var(--spacing)) * 7)}.tw\\:h-8{height:calc(calc(var(--spacing)) * 8)}.tw\\:h-8\\!{height:calc(calc(var(--spacing)) * 8)!important}.tw\\:h-8\\.5{height:calc(calc(var(--spacing)) * 8.5)}.tw\\:h-9{height:calc(calc(var(--spacing)) * 9)}.tw\\:h-10{height:calc(calc(var(--spacing)) * 10)}.tw\\:h-12{height:calc(calc(var(--spacing)) * 12)}.tw\\:h-14{height:calc(calc(var(--spacing)) * 14)}.tw\\:h-20{height:calc(calc(var(--spacing)) * 20)}.tw\\:h-24{height:calc(calc(var(--spacing)) * 24)}.tw\\:h-32{height:calc(calc(var(--spacing)) * 32)}.tw\\:h-40{height:calc(calc(var(--spacing)) * 40)}.tw\\:h-64{height:calc(calc(var(--spacing)) * 64)}.tw\\:h-80{height:calc(calc(var(--spacing)) * 80)}.tw\\:h-96{height:calc(calc(var(--spacing)) * 96)}.tw\\:h-\\[5px\\]{height:5px}.tw\\:h-\\[260px\\]{height:260px}.tw\\:h-\\[300px\\]{height:300px}.tw\\:h-\\[400px\\]{height:400px}.tw\\:h-\\[600px\\]{height:600px}.tw\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.tw\\:h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.tw\\:h-auto{height:auto}.tw\\:h-full{height:100%}.tw\\:h-px{height:1px}.tw\\:h-screen{height:100vh}.tw\\:h-svh{height:100svh}.tw\\:max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.tw\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\\:max-h-\\(--radix-popover-content-available-height\\){max-height:var(--radix-popover-content-available-height)}.tw\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tw\\:max-h-5{max-height:calc(calc(var(--spacing)) * 5)}.tw\\:max-h-10{max-height:calc(calc(var(--spacing)) * 10)}.tw\\:max-h-72{max-height:calc(calc(var(--spacing)) * 72)}.tw\\:max-h-80{max-height:calc(calc(var(--spacing)) * 80)}.tw\\:max-h-\\[96\\%\\]{max-height:96%}.tw\\:max-h-\\[300px\\]{max-height:300px}.tw\\:min-h-0{min-height:calc(calc(var(--spacing)) * 0)}.tw\\:min-h-11{min-height:calc(calc(var(--spacing)) * 11)}.tw\\:min-h-16{min-height:calc(calc(var(--spacing)) * 16)}.tw\\:min-h-\\[200px\\]{min-height:200px}.tw\\:min-h-full{min-height:100%}.tw\\:min-h-svh{min-height:100svh}.tw\\:w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-\\(--sidebar-width\\){width:var(--sidebar-width)}.tw\\:w-1{width:calc(calc(var(--spacing)) * 1)}.tw\\:w-1\\/2{width:50%}.tw\\:w-1\\/4{width:25%}.tw\\:w-1\\/6{width:16.6667%}.tw\\:w-2{width:calc(calc(var(--spacing)) * 2)}.tw\\:w-3{width:calc(calc(var(--spacing)) * 3)}.tw\\:w-3\\.5{width:calc(calc(var(--spacing)) * 3.5)}.tw\\:w-3\\/4{width:75%}.tw\\:w-4{width:calc(calc(var(--spacing)) * 4)}.tw\\:w-4\\/5{width:80%}.tw\\:w-4\\/6{width:66.6667%}.tw\\:w-5{width:calc(calc(var(--spacing)) * 5)}.tw\\:w-5\\/6{width:83.3333%}.tw\\:w-6{width:calc(calc(var(--spacing)) * 6)}.tw\\:w-7{width:calc(calc(var(--spacing)) * 7)}.tw\\:w-8{width:calc(calc(var(--spacing)) * 8)}.tw\\:w-9{width:calc(calc(var(--spacing)) * 9)}.tw\\:w-9\\/12{width:75%}.tw\\:w-10{width:calc(calc(var(--spacing)) * 10)}.tw\\:w-12{width:calc(calc(var(--spacing)) * 12)}.tw\\:w-14{width:calc(calc(var(--spacing)) * 14)}.tw\\:w-20{width:calc(calc(var(--spacing)) * 20)}.tw\\:w-24{width:calc(calc(var(--spacing)) * 24)}.tw\\:w-32{width:calc(calc(var(--spacing)) * 32)}.tw\\:w-48{width:calc(calc(var(--spacing)) * 48)}.tw\\:w-56{width:calc(calc(var(--spacing)) * 56)}.tw\\:w-60{width:calc(calc(var(--spacing)) * 60)}.tw\\:w-64{width:calc(calc(var(--spacing)) * 64)}.tw\\:w-72{width:calc(calc(var(--spacing)) * 72)}.tw\\:w-80{width:calc(calc(var(--spacing)) * 80)}.tw\\:w-96{width:calc(calc(var(--spacing)) * 96)}.tw\\:w-\\[1px\\]{width:1px}.tw\\:w-\\[5px\\]{width:5px}.tw\\:w-\\[70px\\]{width:70px}.tw\\:w-\\[100px\\]{width:100px}.tw\\:w-\\[116px\\]{width:116px}.tw\\:w-\\[124px\\]{width:124px}.tw\\:w-\\[150px\\]{width:150px}.tw\\:w-\\[180px\\]{width:180px}.tw\\:w-\\[200px\\]{width:200px}.tw\\:w-\\[250px\\]{width:250px}.tw\\:w-\\[260px\\]{width:260px}.tw\\:w-\\[280px\\]{width:280px}.tw\\:w-\\[300px\\]{width:300px}.tw\\:w-\\[320px\\]{width:320px}.tw\\:w-\\[350px\\]{width:350px}.tw\\:w-\\[380px\\]{width:380px}.tw\\:w-\\[400px\\]{width:400px}.tw\\:w-\\[420px\\]{width:420px}.tw\\:w-\\[500px\\]{width:500px}.tw\\:w-\\[560px\\]{width:560px}.tw\\:w-\\[600px\\]{width:600px}.tw\\:w-\\[calc\\(100\\%-2px\\)\\]{width:calc(100% - 2px)}.tw\\:w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\]{width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-auto{width:auto}.tw\\:w-fit{width:fit-content}.tw\\:w-full{width:100%}.tw\\:w-max{width:max-content}.tw\\:w-px{width:1px}.tw\\:max-w-\\(--skeleton-width\\){max-width:var(--skeleton-width)}.tw\\:max-w-0{max-width:calc(calc(var(--spacing)) * 0)}.tw\\:max-w-2xl{max-width:var(--tw-container-2xl)}.tw\\:max-w-3xl{max-width:var(--tw-container-3xl)}.tw\\:max-w-4xl{max-width:var(--tw-container-4xl)}.tw\\:max-w-5{max-width:calc(calc(var(--spacing)) * 5)}.tw\\:max-w-6xl{max-width:var(--tw-container-6xl)}.tw\\:max-w-40{max-width:calc(calc(var(--spacing)) * 40)}.tw\\:max-w-48{max-width:calc(calc(var(--spacing)) * 48)}.tw\\:max-w-64{max-width:calc(calc(var(--spacing)) * 64)}.tw\\:max-w-96{max-width:calc(calc(var(--spacing)) * 96)}.tw\\:max-w-\\[200px\\]{max-width:200px}.tw\\:max-w-\\[220px\\]{max-width:220px}.tw\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tw\\:max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.tw\\:max-w-fit{max-width:fit-content}.tw\\:max-w-full{max-width:100%}.tw\\:max-w-lg{max-width:var(--tw-container-lg)}.tw\\:max-w-md{max-width:var(--tw-container-md)}.tw\\:max-w-none{max-width:none}.tw\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:max-w-xs{max-width:var(--tw-container-xs)}.tw\\:min-w-0{min-width:calc(calc(var(--spacing)) * 0)}.tw\\:min-w-4{min-width:calc(calc(var(--spacing)) * 4)}.tw\\:min-w-5{min-width:calc(calc(var(--spacing)) * 5)}.tw\\:min-w-7{min-width:calc(calc(var(--spacing)) * 7)}.tw\\:min-w-8{min-width:calc(calc(var(--spacing)) * 8)}.tw\\:min-w-9{min-width:calc(calc(var(--spacing)) * 9)}.tw\\:min-w-16{min-width:calc(calc(var(--spacing)) * 16)}.tw\\:min-w-32{min-width:calc(calc(var(--spacing)) * 32)}.tw\\:min-w-36{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:min-w-80{min-width:calc(calc(var(--spacing)) * 80)}.tw\\:min-w-\\[12rem\\]{min-width:12rem}.tw\\:min-w-\\[26px\\]{min-width:26px}.tw\\:min-w-\\[96px\\]{min-width:96px}.tw\\:min-w-\\[140px\\]{min-width:140px}.tw\\:min-w-\\[215px\\]{min-width:215px}.tw\\:min-w-\\[500px\\]{min-width:500px}.tw\\:min-w-min{min-width:min-content}.tw\\:flex-1{flex:1}.tw\\:shrink{flex-shrink:1}.tw\\:shrink\\!{flex-shrink:1!important}.tw\\:shrink-0{flex-shrink:0}.tw\\:shrink-\\[9999\\]{flex-shrink:9999}.tw\\:flex-grow,.tw\\:grow,.tw\\:grow-\\[1\\]{flex-grow:1}.tw\\:grow-\\[10\\]{flex-grow:10}.tw\\:basis-0{flex-basis:calc(calc(var(--spacing)) * 0)}.tw\\:table-fixed{table-layout:fixed}.tw\\:caption-bottom{caption-side:bottom}.tw\\:border-collapse{border-collapse:collapse}.tw\\:origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.tw\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\\:origin-\\(--radix-menubar-content-transform-origin\\){transform-origin:var(--radix-menubar-content-transform-origin)}.tw\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tw\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tw\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-0{--tw-translate-y:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rotate-45{rotate:45deg}.tw\\:rotate-180{rotate:180deg}.tw\\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.tw\\:animate-none\\!{animation:none!important}.tw\\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\\:animate-spin{animation:var(--tw-animate-spin)}.tw\\:cursor-default{cursor:default}.tw\\:cursor-ew-resize{cursor:ew-resize}.tw\\:cursor-not-allowed{cursor:not-allowed}.tw\\:cursor-pointer{cursor:pointer}.tw\\:cursor-text{cursor:text}.tw\\:touch-none{touch-action:none}.tw\\:resize{resize:both}.tw\\:resize-none{resize:none}.tw\\:scroll-m-20{scroll-margin:calc(calc(var(--spacing)) * 20)}.tw\\:scroll-my-1{scroll-margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:scroll-py-1{scroll-padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:list-inside{list-style-position:inside}.tw\\:list-outside{list-style-position:outside}.tw\\:\\!list-\\[lower-alpha\\]{list-style-type:lower-alpha!important}.tw\\:\\!list-\\[lower-roman\\]{list-style-type:lower-roman!important}.tw\\:\\!list-\\[upper-alpha\\]{list-style-type:upper-alpha!important}.tw\\:\\!list-\\[upper-roman\\]{list-style-type:upper-roman!important}.tw\\:\\!list-decimal{list-style-type:decimal!important}.tw\\:\\!list-disc{list-style-type:disc!important}.tw\\:list-decimal{list-style-type:decimal}.tw\\:list-disc{list-style-type:disc}.tw\\:list-none{list-style-type:none}.tw\\:grid-flow-col{grid-auto-flow:column}.tw\\:grid-flow-row{grid-auto-flow:row}.tw\\:auto-rows-min{grid-auto-rows:min-content}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw\\:grid-cols-\\[25\\%_25\\%_50\\%\\]{grid-template-columns:25% 25% 50%}.tw\\:grid-cols-\\[25\\%_50\\%_25\\%\\]{grid-template-columns:25% 50% 25%}.tw\\:grid-cols-\\[auto_auto_auto_auto\\]{grid-template-columns:auto auto auto auto}.tw\\:grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.tw\\:grid-cols-\\[min-content_min-content_1fr\\]{grid-template-columns:min-content min-content 1fr}.tw\\:grid-cols-subgrid{grid-template-columns:subgrid}.tw\\:flex-col{flex-direction:column}.tw\\:flex-col-reverse{flex-direction:column-reverse}.tw\\:flex-row{flex-direction:row}.tw\\:flex-row-reverse{flex-direction:row-reverse}.tw\\:flex-nowrap{flex-wrap:nowrap}.tw\\:flex-wrap{flex-wrap:wrap}.tw\\:place-content-center{place-content:center}.tw\\:content-center{align-content:center}.tw\\:items-baseline{align-items:baseline}.tw\\:items-center{align-items:center}.tw\\:items-end{align-items:flex-end}.tw\\:items-start{align-items:flex-start}.tw\\:items-stretch{align-items:stretch}.tw\\:justify-between{justify-content:space-between}.tw\\:justify-center{justify-content:center}.tw\\:justify-end{justify-content:flex-end}.tw\\:justify-start{justify-content:flex-start}.tw\\:gap-0{gap:calc(calc(var(--spacing)) * 0)}.tw\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:gap-1{gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-1\\.5{gap:calc(calc(var(--spacing)) * 1.5)}.tw\\:gap-1\\.5\\!{gap:calc(calc(var(--spacing)) * 1.5)!important}.tw\\:gap-2{gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-2\\.5{gap:calc(calc(var(--spacing)) * 2.5)}.tw\\:gap-3{gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-4{gap:calc(calc(var(--spacing)) * 4)}.tw\\:gap-5{gap:calc(calc(var(--spacing)) * 5)}.tw\\:gap-6{gap:calc(calc(var(--spacing)) * 6)}.tw\\:gap-8{gap:calc(calc(var(--spacing)) * 8)}.tw\\:gap-16{gap:calc(calc(var(--spacing)) * 16)}.tw\\:gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(calc(var(--spacing)) * var(--gap))}.tw\\:gap-\\[12px\\]{gap:12px}:where(.tw\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-y-reverse)))}.tw\\:gap-x-1{column-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-x-2{column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-x-3{column-gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-x-4{column-gap:calc(calc(var(--spacing)) * 4)}:where(.tw\\:-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:gap-y-1{row-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-y-2{row-gap:calc(calc(var(--spacing)) * 2)}:where(.tw\\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.tw\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.tw\\:self-start{align-self:flex-start}.tw\\:self-stretch{align-self:stretch}.tw\\:justify-self-end{justify-self:flex-end}.tw\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:overflow-auto{overflow:auto}.tw\\:overflow-clip{overflow:clip}.tw\\:overflow-hidden{overflow:hidden}.tw\\:overflow-scroll{overflow:scroll}.tw\\:overflow-visible{overflow:visible}.tw\\:overflow-x-auto{overflow-x:auto}.tw\\:overflow-x-hidden{overflow-x:hidden}.tw\\:overflow-y-auto{overflow-y:auto}.tw\\:overflow-y-hidden{overflow-y:hidden}.tw\\:rounded{border-radius:.25rem}.tw\\:rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.tw\\:rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.tw\\:rounded-\\[4px\\]{border-radius:4px}.tw\\:rounded-\\[6px\\]{border-radius:6px}.tw\\:rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,12px\\)\\]{border-radius:min(var(--tw-radius-md), 12px)}.tw\\:rounded-full{border-radius:3.40282e38px}.tw\\:rounded-lg{border-radius:var(--radius)}.tw\\:rounded-lg\\!{border-radius:var(--radius)!important}.tw\\:rounded-md{border-radius:calc(var(--radius) * .8)}.tw\\:rounded-none{border-radius:0}.tw\\:rounded-sm{border-radius:calc(var(--radius) * .6)}.tw\\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-xl\\!{border-radius:calc(var(--radius) * 1.4)!important}.tw\\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\\:rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.tw\\:rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.tw\\:rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:rounded-r-xl{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:border-s-0{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.tw\\:border-s-4{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.tw\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.tw\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tw\\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tw\\:border-none{--tw-border-style:none;border-style:none}.tw\\:border-solid{--tw-border-style:solid;border-style:solid}.tw\\:border-black{border-color:var(--tw-color-black)}.tw\\:border-blue-400{border-color:var(--tw-color-blue-400)}.tw\\:border-blue-500{border-color:var(--tw-color-blue-500)}.tw\\:border-border,.tw\\:border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.tw\\:border-destructive{border-color:var(--destructive)}.tw\\:border-foreground{border-color:var(--foreground)}.tw\\:border-gray-300{border-color:var(--tw-color-gray-300)}.tw\\:border-input,.tw\\:border-input\\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-input\\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:border-muted-foreground,.tw\\:border-muted-foreground\\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-muted-foreground\\/40{border-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.tw\\:border-primary{border-color:var(--primary)}.tw\\:border-red-300{border-color:var(--tw-color-red-300)}.tw\\:border-red-400{border-color:var(--tw-color-red-400)}.tw\\:border-red-500{border-color:var(--tw-color-red-500)}.tw\\:border-red-600{border-color:var(--tw-color-red-600)}.tw\\:border-ring{border-color:var(--ring)}.tw\\:border-sidebar-border{border-color:var(--sidebar-border)}.tw\\:border-slate-300{border-color:var(--tw-color-slate-300)}.tw\\:border-transparent{border-color:#0000}.tw\\:border-yellow-400{border-color:var(--tw-color-yellow-400)}.tw\\:border-yellow-500{border-color:var(--tw-color-yellow-500)}.tw\\:border-s-amber-200{border-inline-start-color:var(--tw-color-amber-200)}.tw\\:border-s-indigo-200{border-inline-start-color:var(--tw-color-indigo-200)}.tw\\:border-s-purple-200{border-inline-start-color:var(--tw-color-purple-200)}.tw\\:border-s-red-200{border-inline-start-color:var(--tw-color-red-200)}.tw\\:\\!bg-destructive\\/50{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.tw\\:\\!bg-destructive\\/50{background-color:color-mix(in oklab, var(--destructive) 50%, transparent)!important}}.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:bg-accent,.tw\\:bg-accent\\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-accent\\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.tw\\:bg-amber-500,.tw\\:bg-amber-500\\/5{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/5{background-color:color-mix(in oklab, var(--tw-color-amber-500) 5%, transparent)}}.tw\\:bg-amber-500\\/15{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tw-color-amber-500) 15%, transparent)}}.tw\\:bg-background,.tw\\:bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-background\\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.tw\\:bg-black\\/10{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-black\\/10{background-color:color-mix(in oklab, var(--tw-color-black) 10%, transparent)}}.tw\\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\\:bg-blue-100{background-color:var(--tw-color-blue-100)}.tw\\:bg-blue-400{background-color:var(--tw-color-blue-400)}.tw\\:bg-blue-500{background-color:var(--tw-color-blue-500)}.tw\\:bg-border{background-color:var(--border)}.tw\\:bg-card{background-color:var(--card)}.tw\\:bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:bg-foreground{background-color:var(--foreground)}.tw\\:bg-gray-50{background-color:var(--tw-color-gray-50)}.tw\\:bg-gray-100{background-color:var(--tw-color-gray-100)}.tw\\:bg-gray-500{background-color:var(--tw-color-gray-500)}.tw\\:bg-green-50{background-color:var(--tw-color-green-50)}.tw\\:bg-green-100{background-color:var(--tw-color-green-100)}.tw\\:bg-green-500{background-color:var(--tw-color-green-500)}.tw\\:bg-input,.tw\\:bg-input\\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-input\\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:bg-muted,.tw\\:bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:bg-neutral-300{background-color:var(--tw-color-neutral-300)}.tw\\:bg-orange-100{background-color:var(--tw-color-orange-100)}.tw\\:bg-popover,.tw\\:bg-popover\\/70{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-popover\\/70{background-color:color-mix(in oklab, var(--popover) 70%, transparent)}}.tw\\:bg-primary{background-color:var(--primary)}.tw\\:bg-primary-foreground{background-color:var(--primary-foreground)}.tw\\:bg-primary\\/30{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-primary\\/30{background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.tw\\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\\:bg-red-100{background-color:var(--tw-color-red-100)}.tw\\:bg-red-500{background-color:var(--tw-color-red-500)}.tw\\:bg-rose-500,.tw\\:bg-rose-500\\/5{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/5{background-color:color-mix(in oklab, var(--tw-color-rose-500) 5%, transparent)}}.tw\\:bg-rose-500\\/15{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/15{background-color:color-mix(in oklab, var(--tw-color-rose-500) 15%, transparent)}}.tw\\:bg-secondary{background-color:var(--secondary)}.tw\\:bg-sidebar{background-color:var(--sidebar)}.tw\\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.tw\\:bg-sidebar-border{background-color:var(--sidebar-border)}.tw\\:bg-sky-500,.tw\\:bg-sky-500\\/5{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/5{background-color:color-mix(in oklab, var(--tw-color-sky-500) 5%, transparent)}}.tw\\:bg-sky-500\\/15{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/15{background-color:color-mix(in oklab, var(--tw-color-sky-500) 15%, transparent)}}.tw\\:bg-teal-500,.tw\\:bg-teal-500\\/5{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/5{background-color:color-mix(in oklab, var(--tw-color-teal-500) 5%, transparent)}}.tw\\:bg-teal-500\\/15{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/15{background-color:color-mix(in oklab, var(--tw-color-teal-500) 15%, transparent)}}.tw\\:bg-transparent{background-color:#0000}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:bg-yellow-50{background-color:var(--tw-color-yellow-50)}.tw\\:bg-yellow-100{background-color:var(--tw-color-yellow-100)}.tw\\:bg-yellow-500{background-color:var(--tw-color-yellow-500)}.tw\\:bg-zinc-400{background-color:var(--tw-color-zinc-400)}.tw\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\\:from-popover{--tw-gradient-from:var(--popover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:bg-clip-padding{background-clip:padding-box}.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:fill-destructive{fill:var(--destructive)}.tw\\:fill-foreground{fill:var(--foreground)}.tw\\:fill-yellow-400,.tw\\:fill-yellow-400\\/50{fill:var(--tw-color-yellow-400)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-yellow-400\\/50{fill:color-mix(in oklab, var(--tw-color-yellow-400) 50%, transparent)}}.tw\\:object-cover{object-fit:cover}.tw\\:\\!p-4{padding:calc(calc(var(--spacing)) * 4)!important}.tw\\:p-0{padding:calc(calc(var(--spacing)) * 0)}.tw\\:p-0\\.5{padding:calc(calc(var(--spacing)) * .5)}.tw\\:p-1{padding:calc(calc(var(--spacing)) * 1)}.tw\\:p-2{padding:calc(calc(var(--spacing)) * 2)}.tw\\:p-2\\.5{padding:calc(calc(var(--spacing)) * 2.5)}.tw\\:p-3{padding:calc(calc(var(--spacing)) * 3)}.tw\\:p-4{padding:calc(calc(var(--spacing)) * 4)}.tw\\:p-6{padding:calc(calc(var(--spacing)) * 6)}.tw\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:p-\\[1px\\]{padding:1px}.tw\\:p-\\[3px\\]{padding:3px}.tw\\:p-\\[10px\\]{padding:10px}.tw\\:p-\\[16px\\]{padding:16px}.tw\\:px-0{padding-inline:calc(calc(var(--spacing)) * 0)}.tw\\:px-0\\.5{padding-inline:calc(calc(var(--spacing)) * .5)}.tw\\:px-1{padding-inline:calc(calc(var(--spacing)) * 1)}.tw\\:px-1\\.5{padding-inline:calc(calc(var(--spacing)) * 1.5)}.tw\\:px-2{padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:px-2\\.5{padding-inline:calc(calc(var(--spacing)) * 2.5)}.tw\\:px-3{padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:px-4{padding-inline:calc(calc(var(--spacing)) * 4)}.tw\\:px-6{padding-inline:calc(calc(var(--spacing)) * 6)}.tw\\:py-0{padding-block:calc(calc(var(--spacing)) * 0)}.tw\\:py-0\\.5{padding-block:calc(calc(var(--spacing)) * .5)}.tw\\:py-1{padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:py-1\\.5{padding-block:calc(calc(var(--spacing)) * 1.5)}.tw\\:py-2{padding-block:calc(calc(var(--spacing)) * 2)}.tw\\:py-3{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:py-4{padding-block:calc(calc(var(--spacing)) * 4)}.tw\\:py-6{padding-block:calc(calc(var(--spacing)) * 6)}.tw\\:py-8{padding-block:calc(calc(var(--spacing)) * 8)}.tw\\:py-\\[2px\\]{padding-block:2px}.tw\\:ps-1\\.5{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:ps-2{padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ps-2\\.5{padding-inline-start:calc(calc(var(--spacing)) * 2.5)}.tw\\:ps-4{padding-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:ps-6{padding-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ps-7{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:ps-8{padding-inline-start:calc(calc(var(--spacing)) * 8)}.tw\\:ps-9{padding-inline-start:calc(calc(var(--spacing)) * 9)}.tw\\:ps-12{padding-inline-start:calc(calc(var(--spacing)) * 12)}.tw\\:ps-\\[85px\\]{padding-inline-start:85px}.tw\\:pe-1{padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:pe-1\\.5{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:pe-2{padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:pe-4{padding-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:pe-8{padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:pe-8\\!{padding-inline-end:calc(calc(var(--spacing)) * 8)!important}.tw\\:pe-9{padding-inline-end:calc(calc(var(--spacing)) * 9)}.tw\\:pe-\\[calc\\(138px\\+1rem\\)\\]{padding-inline-end:calc(138px + 1rem)}.tw\\:pe-\\[…\\]{padding-inline-end:…}.tw\\:pt-1{padding-top:calc(calc(var(--spacing)) * 1)}.tw\\:pt-2{padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:pt-3{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:pt-4{padding-top:calc(calc(var(--spacing)) * 4)}.tw\\:pt-6{padding-top:calc(calc(var(--spacing)) * 6)}.tw\\:pr-0{padding-right:calc(calc(var(--spacing)) * 0)}.tw\\:pr-3{padding-right:calc(calc(var(--spacing)) * 3)}.tw\\:pr-4{padding-right:calc(calc(var(--spacing)) * 4)}.tw\\:pb-0{padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:pb-1{padding-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:pb-2{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:pb-3{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:pb-4{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:pb-8{padding-bottom:calc(calc(var(--spacing)) * 8)}.tw\\:pb-12{padding-bottom:calc(calc(var(--spacing)) * 12)}.tw\\:pb-16{padding-bottom:calc(calc(var(--spacing)) * 16)}.tw\\:pb-24{padding-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:pl-2{padding-left:calc(calc(var(--spacing)) * 2)}.tw\\:pl-3{padding-left:calc(calc(var(--spacing)) * 3)}.tw\\:pl-4{padding-left:calc(calc(var(--spacing)) * 4)}.tw\\:pl-5{padding-left:calc(calc(var(--spacing)) * 5)}.tw\\:pl-6{padding-left:calc(calc(var(--spacing)) * 6)}.tw\\:pl-8{padding-left:calc(calc(var(--spacing)) * 8)}.tw\\:text-center{text-align:center}.tw\\:text-end{text-align:end}.tw\\:text-left{text-align:left}.tw\\:text-right{text-align:right}.tw\\:text-start{text-align:start}.tw\\:align-middle{vertical-align:middle}.tw\\:font-heading{font-family:var(--font-sans)}.tw\\:font-mono{font-family:var(--tw-font-mono)}.tw\\:font-sans{font-family:IBM Plex Sans Variable,sans-serif}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-4xl{font-size:var(--tw-text-4xl);line-height:var(--tw-leading,var(--tw-text-4xl--line-height))}.tw\\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-sm\\/relaxed{font-size:var(--tw-text-sm);line-height:var(--tw-leading-relaxed)}.tw\\:text-xl{font-size:var(--tw-text-xl);line-height:var(--tw-leading,var(--tw-text-xl--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tw\\:leading-6{--tw-leading:calc(calc(var(--spacing)) * 6);line-height:calc(calc(var(--spacing)) * 6)}.tw\\:leading-loose{--tw-leading:var(--tw-leading-loose);line-height:var(--tw-leading-loose)}.tw\\:leading-none{--tw-leading:1;line-height:1}.tw\\:leading-relaxed{--tw-leading:var(--tw-leading-relaxed);line-height:var(--tw-leading-relaxed)}.tw\\:leading-snug{--tw-leading:var(--tw-leading-snug);line-height:var(--tw-leading-snug)}.tw\\:leading-tight{--tw-leading:var(--tw-leading-tight);line-height:var(--tw-leading-tight)}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:font-extrabold{--tw-font-weight:var(--tw-font-weight-extrabold);font-weight:var(--tw-font-weight-extrabold)}.tw\\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:tracking-tight{--tw-tracking:var(--tw-tracking-tight);letter-spacing:var(--tw-tracking-tight)}.tw\\:tracking-wider{--tw-tracking:var(--tw-tracking-wider);letter-spacing:var(--tw-tracking-wider)}.tw\\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\\:text-balance{text-wrap:balance}.tw\\:text-nowrap{text-wrap:nowrap}.tw\\:break-words{overflow-wrap:break-word}.tw\\:text-clip{text-overflow:clip}.tw\\:text-ellipsis{text-overflow:ellipsis}.tw\\:whitespace-normal{white-space:normal}.tw\\:whitespace-nowrap{white-space:nowrap}.tw\\:whitespace-pre{white-space:pre}.tw\\:whitespace-pre-line{white-space:pre-line}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:\\[color\\:blue\\]{color:#00f}.tw\\:text-accent-foreground{color:var(--accent-foreground)}.tw\\:text-amber-600{color:var(--tw-color-amber-600)}.tw\\:text-background{color:var(--background)}.tw\\:text-blue-400{color:var(--tw-color-blue-400)}.tw\\:text-blue-500{color:var(--tw-color-blue-500)}.tw\\:text-blue-600{color:var(--tw-color-blue-600)}.tw\\:text-blue-800{color:var(--tw-color-blue-800)}.tw\\:text-card-foreground{color:var(--card-foreground)}.tw\\:text-current{color:currentColor}.tw\\:text-destructive{color:var(--destructive)}.tw\\:text-foreground{color:var(--foreground)}.tw\\:text-foreground\\!{color:var(--foreground)!important}.tw\\:text-foreground\\/30{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/30{color:color-mix(in oklab, var(--foreground) 30%, transparent)}}.tw\\:text-foreground\\/50{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/50{color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.tw\\:text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.tw\\:text-foreground\\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.tw\\:text-gray-300{color:var(--tw-color-gray-300)}.tw\\:text-gray-500{color:var(--tw-color-gray-500)}.tw\\:text-gray-600{color:var(--tw-color-gray-600)}.tw\\:text-gray-700{color:var(--tw-color-gray-700)}.tw\\:text-gray-800{color:var(--tw-color-gray-800)}.tw\\:text-green-600{color:var(--tw-color-green-600)}.tw\\:text-green-700{color:var(--tw-color-green-700)}.tw\\:text-green-800{color:var(--tw-color-green-800)}.tw\\:text-inherit{color:inherit}.tw\\:text-muted-foreground,.tw\\:text-muted-foreground\\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-muted-foreground\\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:text-orange-800{color:var(--tw-color-orange-800)}.tw\\:text-popover-foreground{color:var(--popover-foreground)}.tw\\:text-primary{color:var(--primary)}.tw\\:text-primary-foreground{color:var(--primary-foreground)}.tw\\:text-purple-900{color:var(--tw-color-purple-900)}.tw\\:text-red-500{color:var(--tw-color-red-500)}.tw\\:text-red-600{color:var(--tw-color-red-600)}.tw\\:text-red-700{color:var(--tw-color-red-700)}.tw\\:text-red-800{color:var(--tw-color-red-800)}.tw\\:text-rose-600{color:var(--tw-color-rose-600)}.tw\\:text-secondary-foreground{color:var(--secondary-foreground)}.tw\\:text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.tw\\:text-sidebar-foreground,.tw\\:text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.tw\\:text-sky-600{color:var(--tw-color-sky-600)}.tw\\:text-slate-900{color:var(--tw-color-slate-900)}.tw\\:text-teal-600{color:var(--tw-color-teal-600)}.tw\\:text-white{color:var(--tw-color-white)}.tw\\:text-yellow-400{color:var(--tw-color-yellow-400)}.tw\\:text-yellow-600{color:var(--tw-color-yellow-600)}.tw\\:text-yellow-700{color:var(--tw-color-yellow-700)}.tw\\:capitalize{text-transform:capitalize}.tw\\:uppercase{text-transform:uppercase}.tw\\:italic{font-style:italic}.tw\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tw\\:line-through{text-decoration-line:line-through}.tw\\:underline{text-decoration-line:underline}.tw\\:decoration-destructive{-webkit-text-decoration-color:var(--destructive);-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.tw\\:underline-offset-4{text-underline-offset:4px}.tw\\:opacity-0{opacity:0}.tw\\:opacity-40{opacity:.4}.tw\\:opacity-50{opacity:.5}.tw\\:opacity-60{opacity:.6}.tw\\:opacity-100{opacity:1}.tw\\:bg-blend-color{background-blend-mode:color}.tw\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none\\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tw\\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-background{--tw-ring-color:var(--background)}.tw\\:ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.tw\\:ring-primary{--tw-ring-color:var(--primary)}.tw\\:ring-ring\\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-ring\\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.tw\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:ring-offset-background{--tw-ring-offset-color:var(--background)}.tw\\:ring-offset-white{--tw-ring-offset-color:var(--tw-color-white)}.tw\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\\:drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--tw-drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tw\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-none{transition-property:none}.tw\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tw\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.tw\\:prose-quoteless :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose-quoteless :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:outline-none{--tw-outline-style:none;outline-style:none}.tw\\:select-none{-webkit-user-select:none;user-select:none}.tw\\:\\[unicode-bidi\\:plaintext\\]{unicode-bidi:plaintext}.tw\\:group-focus-within\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.tw\\:group-hover\\:visible:is(:where(.tw\\:group):hover *){visibility:visible}.tw\\:group-hover\\:hidden:is(:where(.tw\\:group):hover *){display:none}.tw\\:group-hover\\:opacity-100:is(:where(.tw\\:group):hover *),.tw\\:group-hover\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):hover *){opacity:1}}.tw\\:group-focus\\/context-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/context-menu-item):focus *),.tw\\:group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/dropdown-menu-item):focus *),.tw\\:group-focus\\/menubar-item\\:text-accent-foreground:is(:where(.tw\\:group\\/menubar-item):focus *){color:var(--accent-foreground)}.tw\\:group-has-disabled\\/field\\:opacity-50:is(:where(.tw\\:group\\/field):has(:disabled) *){opacity:.5}.tw\\:group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pe-8:is(:where(.tw\\:group\\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:size-10:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *){width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:size-6:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *){width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:group-has-data-\\[slot\\=command-shortcut\\]\\/command-item\\:hidden:is(:where(.tw\\:group\\/command-item):has([data-slot=command-shortcut]) *){display:none}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.tw\\:group\\/alert):has(>svg) *){grid-column-start:2}.tw\\:group-data-\\[checked\\=true\\]\\/command-item\\:opacity-100:is(:where(.tw\\:group\\/command-item)[data-checked=true] *){opacity:1}.tw\\:group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.tw\\:group)[data-collapsible=icon] *){margin-top:calc(calc(var(--spacing)) * -8)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){display:none}.tw\\:group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(calc(var(--spacing)) * 8)!important;height:calc(calc(var(--spacing)) * 8)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\):is(:where(.tw\\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)))}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)) + 2px)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){overflow:hidden}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 0)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 2)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.tw\\:group)[data-collapsible=icon] *){opacity:0}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){width:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tw\\:group)[data-disabled=true] *){pointer-events:none}.tw\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tw\\:group)[data-disabled=true] *),.tw\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.tw\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.tw\\:group-data-\\[side\\=primary\\]\\:-right-4:is(:where(.tw\\:group)[data-side=primary] *){right:calc(calc(var(--spacing)) * -4)}.tw\\:group-data-\\[side\\=primary\\]\\:border-e:is(:where(.tw\\:group)[data-side=primary] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:group-data-\\[side\\=secondary\\]\\:left-0:is(:where(.tw\\:group)[data-side=secondary] *){left:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[side\\=secondary\\]\\:rotate-180:is(:where(.tw\\:group)[data-side=secondary] *){rotate:180deg}.tw\\:group-data-\\[side\\=secondary\\]\\:border-s:is(:where(.tw\\:group)[data-side=secondary] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:size-2\\.5:is(:where(.tw\\:group\\/avatar)[data-size=default] *){width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:size-4:is(:where(.tw\\:group\\/switch)[data-size=default] *){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:size-3:is(:where(.tw\\:group\\/avatar)[data-size=lg] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:text-xs:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.tw\\:group\\/card)[data-size=sm] *){font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:size-3:is(:where(.tw\\:group\\/switch)[data-size=sm] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){border-radius:0}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.tw\\:group)[data-variant=floating] *){border-radius:var(--radius)}.tw\\:group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.tw\\:group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mt-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){text-align:center}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:me-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:ms-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mb-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.tw\\:group-data-selected\\/command-item\\:text-foreground:is(:where(.tw\\:group\\/command-item):where([data-selected=true]) *){color:var(--foreground)}.tw\\:group-data-horizontal\\/tabs\\:h-8:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *){height:calc(calc(var(--spacing)) * 8)}.tw\\:group-data-vertical\\/tabs\\:h-fit:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.tw\\:group-data-vertical\\/tabs\\:w-full:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){width:100%}.tw\\:group-data-vertical\\/tabs\\:flex-col:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.tw\\:group-data-vertical\\/tabs\\:justify-start:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.tw\\:peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.tw\\:peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}.tw\\:peer-focus\\:group-hover\\:text-blue-500:is(:where(.tw\\:peer):focus~*):is(:where(.tw\\:group):hover *){color:var(--tw-color-blue-500)}}.tw\\:peer-disabled\\:cursor-not-allowed:is(:where(.tw\\:peer):disabled~*){cursor:not-allowed}.tw\\:peer-disabled\\:opacity-50:is(:where(.tw\\:peer):disabled~*){opacity:.5}.tw\\:peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=default]~*){top:calc(calc(var(--spacing)) * 1.5)}.tw\\:peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=lg]~*){top:calc(calc(var(--spacing)) * 2.5)}.tw\\:peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.tw\\:peer\\/menu-button)[data-size=sm]~*){top:calc(calc(var(--spacing)) * 1)}.tw\\:peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.tw\\:peer\\/menu-button):where([data-state=active]),:where(.tw\\:peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.tw\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tw\\:file\\:h-6::file-selector-button{height:calc(calc(var(--spacing)) * 6)}.tw\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tw\\:file\\:text-sm::file-selector-button{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:file\\:text-foreground::file-selector-button{color:var(--foreground)}.tw\\:placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.tw\\:placeholder\\:text-slate-400::placeholder{color:var(--tw-color-slate-400)}.tw\\:before\\:absolute:before{content:var(--tw-content);position:absolute}.tw\\:before\\:top-0\\.5:before{content:var(--tw-content);top:calc(calc(var(--spacing)) * .5)}.tw\\:before\\:left-0:before{content:var(--tw-content);left:calc(calc(var(--spacing)) * 0)}.tw\\:before\\:block:before{content:var(--tw-content);display:block}.tw\\:before\\:hidden:before{content:var(--tw-content);display:none}.tw\\:before\\:h-4:before{content:var(--tw-content);height:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:w-4:before{content:var(--tw-content);width:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:cursor-pointer:before{content:var(--tw-content);cursor:pointer}.tw\\:before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.tw\\:before\\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:before\\:border-primary:before{content:var(--tw-content);border-color:var(--primary)}.tw\\:before\\:bg-primary:before{content:var(--tw-content);background-color:var(--primary)}.tw\\:before\\:bg-cover:before{content:var(--tw-content);background-size:cover}.tw\\:before\\:bg-no-repeat:before{content:var(--tw-content);background-repeat:no-repeat}.tw\\:before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.tw\\:after\\:absolute:after{content:var(--tw-content);position:absolute}.tw\\:after\\:-inset-2:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-0:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * -3)}.tw\\:after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.tw\\:after\\:top-\\[6px\\]:after{content:var(--tw-content);top:6px}.tw\\:after\\:right-\\[7px\\]:after{content:var(--tw-content);right:7px}.tw\\:after\\:left-\\[7px\\]:after{content:var(--tw-content);left:7px}.tw\\:after\\:block:after{content:var(--tw-content);display:block}.tw\\:after\\:hidden:after{content:var(--tw-content);display:none}.tw\\:after\\:h-0\\.5:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:after\\:h-\\[6px\\]:after{content:var(--tw-content);height:6px}.tw\\:after\\:w-1:after{content:var(--tw-content);width:calc(calc(var(--spacing)) * 1)}.tw\\:after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.tw\\:after\\:w-\\[3px\\]:after{content:var(--tw-content);width:3px}.tw\\:after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:after\\:rotate-45:after{content:var(--tw-content);rotate:45deg}.tw\\:after\\:cursor-pointer:after{content:var(--tw-content);cursor:pointer}.tw\\:after\\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.tw\\:after\\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:after\\:border-t-0:after{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:after\\:border-r-2:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.tw\\:after\\:border-b-2:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.tw\\:after\\:border-l-0:after{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:0}.tw\\:after\\:border-solid:after{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.tw\\:after\\:border-border:after{content:var(--tw-content);border-color:var(--border)}.tw\\:after\\:border-white:after{content:var(--tw-content);border-color:var(--tw-color-white)}.tw\\:after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.tw\\:after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.tw\\:after\\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\\:after\\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.tw\\:after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:after\\:start-full:is(:where(.tw\\:group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.tw\\:group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.tw\\:group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-vertical\\/tabs\\:after\\:-end-1:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-inline-end:calc(calc(var(--spacing)) * -1)}.tw\\:group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(calc(var(--spacing)) * .5)}.tw\\:first\\:mt-0:first-child{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:even\\:bg-muted:nth-child(2n){background-color:var(--muted)}.tw\\:focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.tw\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover:hover){.tw\\:hover\\:-mt-4:hover{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:hover\\:cursor-pointer:hover{cursor:pointer}.tw\\:hover\\:bg-accent:hover,.tw\\:hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.tw\\:hover\\:bg-accent\\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.tw\\:hover\\:bg-blue-600:hover{background-color:var(--tw-color-blue-600)}.tw\\:hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:hover\\:bg-gray-50:hover{background-color:var(--tw-color-gray-50)}.tw\\:hover\\:bg-input:hover{background-color:var(--input)}.tw\\:hover\\:bg-muted:hover,.tw\\:hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:hover\\:bg-muted\\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.tw\\:hover\\:bg-primary\\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.tw\\:hover\\:bg-primary\\/70:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/70:hover{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.tw\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.tw\\:hover\\:bg-red-500:hover{background-color:var(--tw-color-red-500)}.tw\\:hover\\:bg-secondary:hover,.tw\\:hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.tw\\:hover\\:bg-transparent:hover{background-color:#0000}.tw\\:hover\\:text-foreground:hover{color:var(--foreground)}.tw\\:hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.tw\\:hover\\:text-primary-foreground:hover{color:var(--primary-foreground)}.tw\\:hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.tw\\:hover\\:underline:hover{text-decoration-line:underline}.tw\\:hover\\:opacity-80:hover{opacity:.8}.tw\\:hover\\:opacity-100:hover{opacity:1}.tw\\:hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:ring-3:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.tw\\:hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.tw\\:focus\\:relative:focus{position:relative}.tw\\:focus\\:z-10:focus{z-index:10}.tw\\:focus\\:bg-accent:focus{background-color:var(--accent)}.tw\\:focus\\:bg-muted:focus{background-color:var(--muted)}.tw\\:focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.tw\\:focus\\:text-foreground:focus{color:var(--foreground)}.tw\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.tw\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus\\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.tw\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}:is(.tw\\:focus\\:\\*\\*\\:text-accent-foreground:focus *),:is(.tw\\:not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.tw\\:focus-visible\\:relative:focus-visible{position:relative}.tw\\:focus-visible\\:z-10:focus-visible{z-index:10}.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.tw\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-3:focus-visible,.tw\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-\\[color\\:hsl\\(240\\,5\\%\\,64\\.9\\%\\)\\]:focus-visible{--tw-ring-color:#a1a1aa}.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:focus-visible\\:ring-ring:focus-visible,.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:focus-visible\\:ring-slate-400:focus-visible{--tw-ring-color:var(--tw-color-slate-400)}.tw\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.tw\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.tw\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}:is(.tw\\:\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.tw\\:\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.tw\\:active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.tw\\:active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.tw\\:active\\:ring-3:active{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:transform-\\[translateY\\(1px\\)\\]:active:not([aria-haspopup]){transform:translateY(1px)}.tw\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tw\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\\:disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:disabled\\:bg-transparent:disabled{background-color:#0000}.tw\\:disabled\\:opacity-50:disabled{opacity:.5}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-side=primary]) .tw\\:in-data-\\[side\\=primary\\]\\:cursor-w-resize{cursor:w-resize}:where([data-side=secondary]) .tw\\:in-data-\\[side\\=secondary\\]\\:cursor-e-resize{cursor:e-resize}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-slot=button-group]) .tw\\:in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-slot=dialog-content]) .tw\\:in-data-\\[slot\\=dialog-content\\]\\:rounded-lg\\!{border-radius:var(--radius)!important}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-background{color:var(--background)}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-destructive{color:var(--destructive)}.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:has-disabled\\:opacity-50:has(:disabled){opacity:.5}.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-2:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-2:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.tw\\:has-data-\\[slot\\=alert-action\\]\\:pe-18:has([data-slot=alert-action]){padding-inline-end:calc(calc(var(--spacing)) * 18)}.tw\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\\:has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.tw\\:has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-0:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-1\\.5:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.tw\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>button\\]\\:ms-\\[-0\\.3rem\\]:has(>button){margin-inline-start:-.3rem}.tw\\:has-\\[\\>button\\]\\:me-\\[-0\\.3rem\\]:has(>button){margin-inline-end:-.3rem}.tw\\:has-\\[\\>img\\]\\:grid-cols-\\[auto_1fr\\]:has(>img){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>img\\]\\:gap-x-2:has(>img){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>kbd\\]\\:ms-\\[-0\\.15rem\\]:has(>kbd){margin-inline-start:-.15rem}.tw\\:has-\\[\\>kbd\\]\\:me-\\[-0\\.15rem\\]:has(>kbd){margin-inline-end:-.15rem}.tw\\:has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.tw\\:aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.tw\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tw\\:aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.tw\\:aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.tw\\:aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.tw\\:aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.tw\\:aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.tw\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.tw\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.tw\\:aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:h-px[aria-orientation=horizontal]{height:1px}.tw\\:aria-\\[orientation\\=horizontal\\]\\:w-full[aria-orientation=horizontal]{width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:start-0[aria-orientation=horizontal]:after{content:var(--tw-content);inset-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * 1)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-y-1\\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=vertical\\]\\:flex-col[aria-orientation=vertical]{flex-direction:column}.tw\\:data-inset\\:ps-7[data-inset]{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.tw\\:data-quiet-focus\\:focus-visible\\:border-transparent[data-quiet-focus]:focus-visible{border-color:#0000}.tw\\:data-quiet-focus\\:focus-visible\\:ring-0[data-quiet-focus]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-quiet-focus\\:focus-visible\\:outline-none[data-quiet-focus]:focus-visible{--tw-outline-style:none;outline-style:none}.tw\\:data-\\[align-trigger\\=false\\]\\:min-w-36[data-align-trigger=false]{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:data-\\[align-trigger\\=true\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-align-trigger=true]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.tw\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tw\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tw\\:data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.tw\\:data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.tw\\:data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\\:data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(calc(var(--spacing)) * 8)}.tw\\:data-\\[size\\=default\\]\\:h-\\[18\\.4px\\][data-size=default]{height:18.4px}.tw\\:data-\\[size\\=default\\]\\:w-\\[32px\\][data-size=default]{width:32px}.tw\\:data-\\[size\\=lg\\]\\:size-10[data-size=lg]{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:data-\\[size\\=sm\\]\\:size-6[data-size=sm]{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(calc(var(--spacing)) * 7)}.tw\\:data-\\[size\\=sm\\]\\:h-\\[14px\\][data-size=sm]{height:14px}.tw\\:data-\\[size\\=sm\\]\\:w-\\[24px\\][data-size=sm]{width:24px}.tw\\:data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.tw\\:\\*\\:data-\\[slot\\=input-group-addon\\]\\:ps-2\\!>*)[data-slot=input-group-addon]{padding-inline-start:calc(calc(var(--spacing)) * 2)!important}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:relative *)[data-slot=kbd]{position:relative}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:z-50 *)[data-slot=kbd]{z-index:50}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex-1>*)[data-slot=select-value]{flex:1}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:text-start>*)[data-slot=select-value]{text-align:start}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-s-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-e-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.tw\\:data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.tw\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.tw\\:data-\\[state\\=delayed-open\\]\\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-\\[state\\=delayed-open\\]\\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.tw\\:data-\\[state\\=delayed-open\\]\\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-approved\\)\\][data-state=on]{background-color:var(--inv-soft-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unapproved\\)\\][data-state=on]{background-color:var(--inv-soft-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unknown\\)\\][data-state=on]{background-color:var(--inv-soft-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-approved\\)\\][data-state=on]{background-color:var(--inv-vivid-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unapproved\\)\\][data-state=on]{background-color:var(--inv-vivid-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unknown\\)\\][data-state=on]{background-color:var(--inv-vivid-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-muted[data-state=on]{background-color:var(--muted)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-approved\\)\\][data-state=on]{color:var(--inv-icon-approved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unapproved\\)\\][data-state=on]{color:var(--inv-icon-unapproved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unknown\\)\\][data-state=on]{color:var(--inv-icon-unknown)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-on\\)\\][data-state=on]{color:var(--inv-on)}.tw\\:data-\\[state\\=on\\]\\:text-foreground[data-state=on]{color:var(--foreground)}.tw\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.tw\\:data-\\[state\\=open\\]\\:bg-muted[data-state=open]{background-color:var(--muted)}.tw\\:data-\\[state\\=open\\]\\:text-foreground[data-state=open]{color:var(--foreground)}.tw\\:data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.tw\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}:is(:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:\\*\\*\\:text-accent-foreground\\! *)[data-variant=destructive] *),:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:text-accent-foreground\\! *)[data-variant=destructive]{color:var(--accent-foreground)!important}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}.tw\\:data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-s-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-s:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-xl[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:flex-row[data-vaul-drawer-direction=left]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:rounded-r-xl[data-vaul-drawer-direction=left]{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\/right\\]\\:flex-row[data-vaul-drawer-direction=left\\/right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:flex-row[data-vaul-drawer-direction=right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:rounded-l-xl[data-vaul-drawer-direction=right]{border-top-left-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-xl[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.tw\\:supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--tw-blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.tw\\:sm\\:flex{display:flex}.tw\\:sm\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:sm\\:flex-row{flex-direction:row}.tw\\:sm\\:justify-end{justify-content:flex-end}.tw\\:sm\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:sm\\:text-start{text-align:start}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--tw-container-sm)}}@media (min-width:48rem){.tw\\:md\\:block{display:block}.tw\\:md\\:flex{display:flex}.tw\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:md\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:md\\:text-start{text-align:start}.tw\\:md\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:md\\:text-pretty{text-wrap:pretty}.tw\\:md\\:opacity-0{opacity:0}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.tw\\:peer)[data-variant=inset]~*){margin:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:ms-0:is(:where(.tw\\:peer)[data-variant=inset]~*){margin-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.tw\\:peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.tw\\:peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ms-2:is(:where(.tw\\:peer)[data-variant=inset]~*):is(:where(.tw\\:peer)[data-state=collapsed]~*){margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.tw\\:lg\\:flex{display:flex}.tw\\:lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tw\\:lg\\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:lg\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}}@media (min-width:48rem){@media (min-width:64rem){.tw\\:md\\:lg\\:hidden{display:none}}}@media (min-width:80rem){.tw\\:xl\\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.tw\\:xl\\:grid-flow-col{grid-auto-flow:column}.tw\\:xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:xl\\:grid-cols-none{grid-template-columns:none}.tw\\:xl\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}}@container search not (min-width:7rem){.tw\\:\\@max-\\[7rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[7rem\\]\\/search\\:ps-3{padding-inline-start:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:4rem){.tw\\:\\@max-\\[4rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[4rem\\]\\/search\\:pe-3{padding-inline-end:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:3rem){.tw\\:\\@max-\\[3rem\\]\\/search\\:ps-0{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\@max-\\[3rem\\]\\/search\\:pe-0{padding-inline-end:calc(calc(var(--spacing)) * 0)}}@container (min-width:24rem){.tw\\:\\@sm\\:basis-auto{flex-basis:auto}}.tw\\:ltr\\:left-2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){left:calc(calc(var(--spacing)) * 2)}.tw\\:ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:right-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:calc(calc(var(--spacing)) * 2)}.tw\\:rtl\\:flex:where(:dir(rtl),[dir=rtl],[dir=rtl] *){display:flex}.tw\\:rtl\\:-translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:after\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=primary]) .tw\\:rtl\\:in-data-\\[side\\=primary\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=secondary]) .tw\\:rtl\\:in-data-\\[side\\=secondary\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}.tw\\:rtl\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=left\\]\\:translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=right\\]\\:-translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:border-input:is(.dark *){border-color:var(--input)}.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:bg-transparent:is(.dark *){background-color:#0000}.tw\\:dark\\:text-amber-400:is(.dark *){color:var(--tw-color-amber-400)}.tw\\:dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.tw\\:dark\\:text-rose-400:is(.dark *){color:var(--tw-color-rose-400)}.tw\\:dark\\:text-sky-400:is(.dark *){color:var(--tw-color-sky-400)}.tw\\:dark\\:text-teal-400:is(.dark *){color:var(--tw-color-teal-400)}.tw\\:dark\\:after\\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.tw\\:dark\\:hover\\:bg-blue-500:is(.dark *):hover{background-color:var(--tw-color-blue-500)}.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:data-open\\:animate-in:where([data-state=open]),.tw\\:data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-open\\:bg-accent:where([data-state=open]),.tw\\:data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.tw\\:data-open\\:text-accent-foreground:where([data-state=open]),.tw\\:data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.tw\\:data-open\\:fade-in-0:where([data-state=open]),.tw\\:data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.tw\\:data-open\\:zoom-in-95:where([data-state=open]),.tw\\:data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.tw\\:data-closed\\:animate-out:where([data-state=closed]),.tw\\:data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-closed\\:fade-out-0:where([data-state=closed]),.tw\\:data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.tw\\:data-closed\\:zoom-out-95:where([data-state=closed]),.tw\\:data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.tw\\:data-checked\\:border-primary:where([data-state=checked]),.tw\\:data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.tw\\:data-checked\\:bg-primary:where([data-state=checked]),.tw\\:data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:data-checked\\:text-primary-foreground:where([data-state=checked]),.tw\\:data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(calc(100% - 2px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.tw\\:data-unchecked\\:bg-input:where([data-state=unchecked]),.tw\\:data-unchecked\\:bg-input:where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--foreground)}.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:data-selected\\:bg-muted:where([data-selected=true]),.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:data-selected\\:bg-primary:where([data-selected=true]){background-color:var(--primary)}.tw\\:data-selected\\:bg-transparent:where([data-selected=true]){background-color:#0000}.tw\\:data-selected\\:text-foreground:where([data-selected=true]){color:var(--foreground)}.tw\\:data-selected\\:text-inherit:where([data-selected=true]){color:inherit}.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:data-selected\\:text-primary-foreground:where([data-selected=true]){color:var(--primary-foreground)}.tw\\:data-selected\\:ring-2:where([data-selected=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:data-selected\\:ring-inset:where([data-selected=true]){--tw-ring-inset:inset}@media (forced-colors:active){.tw\\:forced-colors\\:data-selected\\:outline-2:where([data-selected=true]){outline-style:var(--tw-outline-style);outline-width:2px}.tw\\:forced-colors\\:data-selected\\:-outline-offset-2:where([data-selected=true]){outline-offset:calc(2px * -1)}.tw\\:forced-colors\\:data-selected\\:outline-\\[color\\:Highlight\\]:where([data-selected=true]){outline-color:highlight}}.tw\\:data-disabled\\:pointer-events-none:where([data-disabled=true]),.tw\\:data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled=true]),.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.tw\\:data-disabled\\:opacity-50:where([data-disabled=true]),.tw\\:data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.tw\\:data-active\\:bg-background:where([data-state=active]),.tw\\:data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.tw\\:data-active\\:bg-sidebar-accent:where([data-state=active]),.tw\\:data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.tw\\:data-active\\:font-medium:where([data-state=active]),.tw\\:data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:data-active\\:text-foreground:where([data-state=active]),.tw\\:data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.tw\\:data-horizontal\\:h-1:where([data-orientation=horizontal]){height:calc(calc(var(--spacing)) * 1)}.tw\\:data-horizontal\\:h-full:where([data-orientation=horizontal]){height:100%}.tw\\:data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.tw\\:data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.tw\\:data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.tw\\:data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.tw\\:data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.tw\\:data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.tw\\:data-vertical\\:h-full:where([data-orientation=vertical]){height:100%}.tw\\:data-vertical\\:min-h-40:where([data-orientation=vertical]){min-height:calc(calc(var(--spacing)) * 40)}.tw\\:data-vertical\\:w-1:where([data-orientation=vertical]){width:calc(calc(var(--spacing)) * 1)}.tw\\:data-vertical\\:w-auto:where([data-orientation=vertical]){width:auto}.tw\\:data-vertical\\:w-full:where([data-orientation=vertical]){width:100%}.tw\\:data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.tw\\:data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.tw\\:data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.tw\\:data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=true]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=true]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=true]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=true]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=true]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=true]>blockquote{font-style:normal}.tw\\:\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.tw\\:\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.tw\\:\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.tw\\:\\[\\&_p\\]\\:my-0 p{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_s\\]\\:text-destructive s{color:var(--destructive)}.tw\\:\\[\\&_s\\]\\:line-through s{text-decoration-line:line-through}.tw\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tw\\:\\[\\&_svg\\]\\:size-4 svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.tw\\:\\[\\&_u\\]\\:font-semibold u{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:\\[\\&_u\\]\\:text-success-foreground u{color:var(--success-foreground)}.tw\\:\\[\\&_u\\]\\:no-underline u{text-decoration-line:none}.tw\\:\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pe-0:has([role=checkbox]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.tw\\:group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:px-2 *)[cmdk-group-heading]{padding-inline:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:py-1\\.5 *)[cmdk-group-heading]{padding-block:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-xs *)[cmdk-group-heading]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}:is(.tw\\:\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.tw\\:\\*\\:\\[img\\]\\:row-span-2>*):is(img){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[img\\]\\:translate-y-0\\.5>*):is(img){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[img\\]\\:text-current>*):is(img){color:currentColor}:is(.tw\\:\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(img:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}:is(.tw\\:focus\\:\\*\\:\\[svg\\]\\:text-accent-foreground:focus>*):is(svg){color:var(--accent-foreground)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.tw\\:data-selected\\:\\*\\:\\[svg\\]\\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}:is(.tw\\:\\*\\:\\[svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-s-none>:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-s-0>:not(:first-child){border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-e-none>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.tw\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-e-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-e-lg\\!>[data-slot]:not(:has(~[data-slot])){border-start-end-radius:var(--radius)!important;border-end-end-radius:var(--radius)!important}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.tw\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tw\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tw\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.tw\\:\\[\\&\\>blockquote\\]\\:my-0>blockquote{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:border-s-0>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>blockquote\\]\\:p-0>blockquote{padding:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:ps-0>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:font-normal>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&\\>blockquote\\]\\:text-foreground>blockquote{color:var(--foreground)}.tw\\:\\[\\&\\>blockquote\\]\\:not-italic>blockquote{font-style:normal}.tw\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pe-1\\.5:has(>[data-align=inline-end])>input{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:ps-1\\.5:has(>[data-align=inline-start])>input{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.tw\\:\\[\\&\\>li\\]\\:mt-2>li{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tw\\:\\[\\&\\>svg\\]\\:hidden>svg{display:none}.tw\\:\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(calc(var(--spacing)) * 3)!important;height:calc(calc(var(--spacing)) * 3)!important}.tw\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\]\\:size-4>svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.tw\\:\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-5:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *)>svg{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-3:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *)>svg{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=default] *)>svg,.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=lg] *)>svg{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:\\[\\&\\>svg\\]\\:hidden:is(:where(.tw\\:group\\/avatar)[data-size=sm] *)>svg,.tw\\:\\[\\&\\>svg\\:last-child\\]\\:hidden>svg:last-child{display:none}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.tw\\:\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}.tw\\:\\[\\&\\[aria-orientation\\=horizontal\\]\\>div\\]\\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}[data-side=primary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=primary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-end-2{inset-inline-end:calc(calc(var(--spacing)) * -2)}[data-side=primary][data-state=collapsed] .tw\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=primary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=secondary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-start-2{inset-inline-start:calc(calc(var(--spacing)) * -2)}[data-side=secondary][data-state=collapsed] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}[data-side=secondary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light,:root{--radius:.625rem;--spacing:.25rem;--background:oklch(100% 0 0);--foreground:oklch(13.71% .036 258.53);--card:oklch(100% 0 0);--card-foreground:oklch(13.71% .036 258.53);--popover:oklch(98.43% .0018 248.56);--popover-foreground:oklch(13.71% .036 258.53);--primary:oklch(20.79% .0399 265.73);--primary-foreground:oklch(98.38% .0036 248.23);--secondary:oklch(95.89% .011 248.06);--secondary-foreground:oklch(20.79% .0399 265.73);--muted:oklch(95.89% .011 248.06);--muted-foreground:oklch(55.47% .0408 257.45);--accent:oklch(95.89% .011 248.06);--accent-foreground:oklch(20.79% .0399 265.73);--destructive:oklch(63.69% .2077 25.32);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(92.9% .0127 255.58);--input:oklch(92.9% .0127 255.58);--ring:oklch(13.71% .036 258.53);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.43% .0018 248.56);--sidebar-foreground:oklch(13.71% .036 258.53);--sidebar-primary:oklch(20.79% .0399 265.73);--sidebar-primary-foreground:oklch(98.38% .0036 248.23);--sidebar-accent:oklch(95.89% .011 248.06);--sidebar-accent-foreground:oklch(20.79% .0399 265.73);--sidebar-border:oklch(92.9% .0127 255.58);--sidebar-ring:oklch(13.71% .036 258.53)}.dark{--background:oklch(13.71% .036 258.53);--foreground:oklch(98.38% .0036 248.23);--card:oklch(13.71% .036 258.53);--card-foreground:oklch(98.38% .0036 248.23);--popover:oklch(13.71% .036 258.53);--popover-foreground:oklch(98.38% .0036 248.23);--primary:oklch(98.38% .0036 248.23);--primary-foreground:oklch(20.79% .0399 265.73);--secondary:oklch(28% .037 259.98);--secondary-foreground:oklch(98.38% .0036 248.23);--muted:oklch(28% .037 259.98);--muted-foreground:oklch(71.07% .0351 256.8);--accent:oklch(28% .037 259.98);--accent-foreground:oklch(98.38% .0036 248.23);--destructive:oklch(39.6% .1331 25.71);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(44.54% .0374 257.3);--input:oklch(44.54% .0374 257.3);--ring:oklch(86.88% .0199 252.89);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(13.71% .036 258.53);--sidebar-foreground:oklch(71.07% .0351 256.8);--sidebar-primary:oklch(98.38% .0036 248.23);--sidebar-primary-foreground:oklch(20.79% .0399 265.73);--sidebar-accent:oklch(28% .037 259.98);--sidebar-accent-foreground:oklch(71.07% .0351 256.8);--sidebar-border:oklch(28% .037 259.98);--sidebar-ring:oklch(86.88% .0199 252.89)}.paratext-light{--background:oklch(100% 0 0);--foreground:oklch(15.3% .006 107.1);--card:oklch(100% 0 0);--card-foreground:oklch(15.3% .006 107.1);--popover:oklch(100% 0 0);--popover-foreground:oklch(15.3% .006 107.1);--primary:oklch(55.5% .163 48.998);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.6% .005 106.5);--muted-foreground:oklch(58% .031 107.3);--accent:oklch(96.6% .005 106.5);--accent-foreground:oklch(22.8% .013 107.4);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(93% .007 106.5);--input:oklch(93% .007 106.5);--ring:oklch(73.7% .021 106.9);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(98.8% .003 106.5);--sidebar-foreground:oklch(15.3% .006 107.1);--sidebar-primary:oklch(66.6% .179 58.318);--sidebar-primary-foreground:oklch(98.7% .022 95.277);--sidebar-accent:oklch(96.6% .005 106.5);--sidebar-accent-foreground:oklch(22.8% .013 107.4);--sidebar-border:oklch(93% .007 106.5);--sidebar-ring:oklch(73.7% .021 106.9)}.paratext-dark{--background:oklch(15.3% .006 107.1);--foreground:oklch(98.8% .003 106.5);--card:oklch(22.8% .013 107.4);--card-foreground:oklch(98.8% .003 106.5);--popover:oklch(22.8% .013 107.4);--popover-foreground:oklch(98.8% .003 106.5);--primary:oklch(47.3% .137 46.201);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(28.6% .016 107.4);--muted-foreground:oklch(73.7% .021 106.9);--accent:oklch(28.6% .016 107.4);--accent-foreground:oklch(98.8% .003 106.5);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(58% .031 107.3);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(22.8% .013 107.4);--sidebar-foreground:oklch(98.8% .003 106.5);--sidebar-primary:oklch(76.9% .188 70.08);--sidebar-primary-foreground:oklch(27.9% .077 45.635);--sidebar-accent:oklch(28.6% .016 107.4);--sidebar-accent-foreground:oklch(98.8% .003 106.5);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(58% .031 107.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} `, "after-all"); export { Ha as ALL_BOOK_IDS, @@ -1019,9 +1019,9 @@ export { Qa as PROJECT_SELECTOR_STRING_KEYS, Wa as ProjectSelector, Ra as RESOURCE_PICKER_DIALOG_STRING_KEYS, - qa as ResourcePickerDialog, + Da as ResourcePickerDialog, Aa as SOURCE_LANGUAGE_INDEXED_LIST_STRING_KEYS, - Da as SourceLanguageIndexedList, + qa as SourceLanguageIndexedList, Xa as Z_INDEX_TOOLTIP, Za as buildBuiltInGroupingStrings, va as buildLanguageFilterOptions, diff --git a/lib/platform-bible-react/dist/index.cjs b/lib/platform-bible-react/dist/index.cjs index e482ce5dc55..be9c1f148f4 100644 --- a/lib/platform-bible-react/dist/index.cjs +++ b/lib/platform-bible-react/dist/index.cjs @@ -1,5 +1,5 @@ -"use strict";var Ln=Object.defineProperty;var An=(t,e,a)=>e in t?Ln(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var Vt=(t,e,a)=>An(t,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./resizable-CXc9rRuF.cjs"),r=require("react/jsx-runtime"),Ot=require("@sillsdev/scripture"),B=require("lucide-react"),L=require("platform-bible-utils"),s=require("react"),Mt=require("@tabler/icons-react"),v=require("lexical"),Gr=require("@lexical/rich-text"),Sa=require("react-dom"),Bn=require("@lexical/table"),V=require("radix-ui"),aa=require("class-variance-authority"),Ja=require("@lexical/headless"),Qa=require("@lexical/html"),Kt=require("@tanstack/react-table"),Vn=require("markdown-to-jsx"),$t=require("@eten-tech-foundation/platform-editor"),$n=require("react-hotkeys-hook"),_e=require("vaul"),Fn=require("next-themes"),to=require("sonner");function Kn({className:t,...e}){return r.jsx("textarea",{"data-slot":"textarea",className:o.cn("pr-twp tw:flex tw:field-sizing-content tw:min-h-16 tw:w-full tw:rounded-lg tw:border tw:border-input tw:bg-transparent tw:px-2.5 tw:py-2 tw:text-base tw:transition-colors tw:outline-none tw:placeholder:text-muted-foreground tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:disabled:cursor-not-allowed tw:disabled:bg-input/50 tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:md:text-sm tw:dark:bg-input/30 tw:dark:disabled:bg-input/80 tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40",t),...e})}function eo({ref:t,bookId:e,isSelected:a,onSelect:n,onMouseDown:i,section:l,className:c,showCheck:d=!1,localizedBookNames:u,commandValue:w,suppressKeyboardHighlight:p=!1,disabled:h=!1,dimmedReason:g,dimmedDescription:m}){const k=s.useRef(!1),x=()=>{h||(k.current||n==null||n(e),setTimeout(()=>{k.current=!1},100))},f=D=>{if(h){D.preventDefault();return}k.current=!0,i?i(D):n==null||n(e)},C=s.useMemo(()=>o.getLocalizedBookName(e,u),[e,u]),N=s.useMemo(()=>o.getLocalizedBookId(e,u),[e,u]),E=!!g&&!h,_=`${C} (${N})`,O=E?m||`${_}, ${g}`:_,T=r.jsxs(o.CommandItem,{ref:t,value:w||`${e} ${Ot.Canon.bookIdToEnglishName(e)}`,onSelect:x,onMouseDown:f,role:"option","aria-selected":a,"aria-disabled":h||void 0,"aria-label":O,disabled:h,className:o.cn(!p&&o.LIST_ITEM_KEYBOARD_FOCUS_RING,"tw:data-selected:bg-transparent tw:data-selected:text-inherit","tw:hover:bg-muted","tw:[&>svg:last-child]:hidden",c,h&&"tw:cursor-not-allowed tw:opacity-50",E&&"tw:bg-muted/50 tw:text-muted-foreground/50 tw:data-selected:bg-muted/50 tw:data-selected:text-muted-foreground/50"),children:[d&&r.jsx(B.Check,{className:o.cn("tw:me-2 tw:h-4 tw:w-4 tw:shrink-0",a?"tw:opacity-100":"tw:opacity-0")}),r.jsx("span",{className:"tw:min-w-0 tw:flex-1",children:C}),E&&r.jsx("span",{className:"tw:ms-2 tw:shrink-0 tw:text-xs tw:italic",children:g}),r.jsx("span",{className:o.cn("tw:ms-2 tw:shrink-0 tw:text-xs",!E&&"tw:text-muted-foreground"),children:N})]});return r.jsx("div",{className:o.cn("tw:mx-1 tw:my-1 tw:border-b-0 tw:border-e-0 tw:border-s-2 tw:border-t-0 tw:border-solid",{"tw:border-s-red-200":l===L.Section.OT,"tw:border-s-purple-200":l===L.Section.NT,"tw:border-s-indigo-200":l===L.Section.DC,"tw:border-s-amber-200":l===L.Section.Extra}),children:T})}const Un=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"];function Gn(t){return Un.some(e=>e===t)}function Ra(t){const e=new RegExp("^\\p{L}$","u").test(t),a=/^[0-9]$/.test(t);return{isLetter:e,isDigit:a}}const Be=Object.freeze({WIDE:0,TIGHT:1,TIGHTER:2,MINIMUM:3}),rr=s.createContext(Be.WIDE);function ro(){return s.useContext(rr)}const oa=s.createContext(void 0);function na(){return s.useContext(oa)}function ao(){s.useEffect(()=>{o.trackInteractionModality()},[])}function oo({primary:t,secondary:e,separator:a=" ",secondaryFirst:n=!1,showSecondary:i=!0,isPartial:l,fullText:c,className:d}){const{ref:u,open:w,onPointerEnter:p,onPointerLeave:h}=o.useTruncationTooltip(),{ref:g,open:m,onPointerEnter:k,onPointerLeave:x}=o.useTruncationTooltip(),[f,C]=s.useState(!1),[N,E]=s.useState(!1),_=s.useRef(null),O=i&&e!==void 0,T=l??(e!==void 0&&!i);ao(),s.useEffect(()=>{var z;const rt=(z=_.current)==null?void 0:z.closest('button, [role="combobox"], [tabindex]');if(!rt)return;const y=J=>!!J&&J.scrollWidth>J.clientWidth,tt=()=>{o.getLastInteractionModality()!=="pointer"&&(T||y(g.current)||y(u.current))&&E(!0)},W=()=>E(!1);return rt.addEventListener("focus",tt),rt.addEventListener("blur",W),()=>{rt.removeEventListener("focus",tt),rt.removeEventListener("blur",W)}},[T,g,u]);const D=s.useCallback(()=>{T&&C(!0),k(),O&&p()},[T,O,k,p]),I=s.useCallback(()=>{C(!1),E(!1),x(),h()},[x,h]);s.useEffect(()=>{T||C(!1)},[T]);const M=r.jsx("span",{ref:g,className:"tw:min-w-0 tw:shrink tw:truncate",children:t},"primary"),R=O?r.jsx("span",{ref:u,className:"tw:min-w-0 tw:shrink-[9999] tw:truncate",children:e},"secondary"):void 0,[Z,X]=n?[R,M]:[M,R];return r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{open:m||w||f||N,onOpenChange:rt=>{rt||I()},children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsxs("span",{ref:_,onPointerEnter:D,onPointerLeave:I,onPointerDown:I,className:o.cn("tw:flex tw:min-w-0 tw:items-center",d),children:[Z,Z&&X&&r.jsx("span",{className:"tw:shrink-0 tw:whitespace-pre",children:a},"separator"),X]})}),r.jsx(o.TooltipContent,{dir:"auto",children:c})]})})}function Hr(t,e){return`${t} ${o.ALL_ENGLISH_BOOK_NAMES[t]}${e?` ${o.getLocalizedBookId(t,e)} ${o.getLocalizedBookName(t,e)}`:""}`}function Ve(t,e){return`${t} ${o.ALL_ENGLISH_BOOK_NAMES[t]||""} ${e}`}function fr(t,e,a){return`${Ve(t,e)}:${a}`}function We(t){if(t.includes(":"))return;const e=/(\d+)$/.exec(t);if(!e)return;const a=parseInt(e[1],10),n=t.indexOf(" ");if(n<0)return;const i=t.slice(0,n);return t===Ve(i,a)?a:void 0}function wr(t){const e=/:(\d+)$/.exec(t);if(!e)return;const a=t.slice(0,t.length-e[0].length);if(We(a)!==void 0)return parseInt(e[1],10)}const Hn="top-match",qn="Show recent searches",Yn="Recent";function no({recentSearches:t,onSearchItemSelect:e,renderItem:a=g=>String(g),getItemKey:n=g=>String(g),ariaLabel:i,groupHeading:l,id:c,classNameForItems:d,buttonClassName:u="tw:absolute tw:end-0 tw:top-0 tw:h-full tw:px-3 tw:py-2",buttonVariant:w="ghost",open:p,onOpenChange:h}){const[g,m]=s.useState(!1),[k,x]=s.useState(!1),f=s.useId(),C=s.useRef(!1),N=p!==void 0,E=N?p:g,_=i===""?"":o.resolveLocalizedString(i,qn),O=o.resolveLocalizedString(l,Yn),T=R=>{R||(C.current=!0,x(!1)),N||m(R),h==null||h(R)},D=R=>{if(R&&C.current){C.current=!1;return}x(R)};if(t.length===0)return;const I=R=>{e(R)},M=r.jsx(o.Button,{variant:w,size:"icon",className:u,"aria-label":_,onPointerEnter:()=>{C.current=!1},children:r.jsx(B.Clock,{className:"tw:h-4 tw:w-4"})});return r.jsxs(o.DropdownMenu,{open:E,onOpenChange:T,modal:!1,children:[r.jsx(o.TooltipProvider,{children:_?r.jsxs(o.Tooltip,{open:k,onOpenChange:D,children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:M})}),r.jsx(o.TooltipContent,{children:_})]}):r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:M})}),r.jsxs(o.DropdownMenuContent,{id:c,"aria-labelledby":f,className:"tw:w-[300px]",align:"start",onKeyDown:R=>R.stopPropagation(),children:[r.jsx(o.DropdownMenuLabel,{id:f,children:O}),t.map(R=>r.jsxs(o.DropdownMenuItem,{onSelect:()=>I(R),className:o.cn("tw:flex tw:items-center",d),children:[r.jsx(B.Clock,{className:"tw:me-2 tw:h-4 tw:w-4 tw:opacity-50"}),r.jsx("span",{children:a(R)})]},n(R)))]})]})}function Zn(t,e,a=(i,l)=>i===l,n=15){return i=>{const l=t.filter(d=>!a(d,i)),c=[i,...l.slice(0,n-1)];e(c)}}function ur(t,e){return!e||L.compareScrRefs(t,e)===0}function Xn(t,e,a,n,i){const l=s.useMemo(()=>o.x(t,e),[t,e]),c=s.useMemo(()=>o.a(t,e),[t,e]),d=s.useMemo(()=>o.B(t,e),[t,e]),u=s.useMemo(()=>o.I(t,e),[t,e]),w=s.useCallback(p=>{p&&n(p)},[n]);return s.useMemo(()=>[{onClick:()=>w(l),disabled:ur(t,l),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_previousChapter%"],"Previous chapter"),icon:a==="ltr"?B.ChevronsLeft:B.ChevronsRight,group:"chapter"},{onClick:()=>w(c),disabled:ur(t,c),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_nextChapter%"],"Next chapter"),icon:a==="ltr"?B.ChevronsRight:B.ChevronsLeft,group:"chapter"},{onClick:()=>w(d),disabled:ur(t,d),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_previousVerse%"],"Previous verse"),icon:B.ChevronUp,group:"verse"},{onClick:()=>w(u),disabled:ur(t,u),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_nextVerse%"],"Next verse"),icon:B.ChevronDown,group:"verse"}],[t,a,w,l,d,u,c,i])}const mr={BOOK_ONLY:/^([^:\s]+(?:\s+[^:\s]+)*)$/i,BOOK_CHAPTER:/^([^:\s]+(?:\s+[^:\s]+)*)\s+(\d+)$/i,BOOK_CHAPTER_VERSE:/^([^:\s]+(?:\s+[^:\s]+)*)\s+(\d+):(\d*)$/i},Wn=[mr.BOOK_ONLY,mr.BOOK_CHAPTER,mr.BOOK_CHAPTER_VERSE];function Jn(t){return mr.BOOK_CHAPTER_VERSE.test(t.trim())}function Ma(t,e){return Ot.Canon.bookIdToNumber(t)0?!1:e0?!1:en.chapterNum?!1:a{if(i)return i;const c=l.exec(t.trim());if(c){const[d,u=void 0,w=void 0]=c.slice(1);let p;const h=e.filter(g=>o.doesBookMatchQuery(g,d,a));if(h.length===1&&([p]=h),!p&&u){if(Ot.Canon.isBookIdValid(d)){const g=d.toUpperCase();e.includes(g)&&(p=g)}if(!p&&a){const g=Array.from(a.entries()).find(([,m])=>m.localizedId.toLowerCase()===d.toLowerCase());g&&e.includes(g[0])&&([p]=g)}}if(!p&&u){const m=(k=>Object.keys(o.ALL_ENGLISH_BOOK_NAMES).find(x=>o.ALL_ENGLISH_BOOK_NAMES[x].toLowerCase()===k.toLowerCase()))(d);if(m&&e.includes(m)&&(p=m),!p&&a){const k=Array.from(a.entries()).find(([,x])=>x.localizedName.toLowerCase()===d.toLowerCase());k&&e.includes(k[0])&&([p]=k)}}if(p){let g=u?parseInt(u,10):void 0;g&&g>ke(p)&&(g=Math.max(ke(p),1));const m=w?parseInt(w,10):void 0;return{book:p,chapterNum:g,verseNum:m}}}},void 0);if(n)return n}function qr(t){return{[L.Section.OT]:t.filter(e=>Ot.Canon.isBookOT(e)),[L.Section.NT]:t.filter(e=>Ot.Canon.isBookNT(e)),[L.Section.DC]:t.filter(e=>Ot.Canon.isBookDC(e)),[L.Section.Extra]:t.filter(e=>Ot.Canon.extraBooks().includes(e))}}function ei(t,e){const a=new Set(t),n=e.filter(w=>!a.has(w)),i=new Set(n),l=i.size===0?t:Ot.Canon.allBookIds.filter(w=>a.has(w)||i.has(w)),c=qr(l),d=Object.values(c).flat(),u=qr(t);return{projectBooksBySection:u,reachableBooksBySection:c,reachableBooks:d,projectBooks:Object.values(u).flat(),booksOutsideProject:new Set(d.filter(w=>!a.has(w)))}}const Yr=6;function ri(t){return t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function ai({current:t,key:e,max:a,direction:n="ltr"}){if(a<=0)return t;if(t<1||t>a)return 1;switch(n==="rtl"?ri(e):e){case"ArrowLeft":return t>1?t-1:a;case"ArrowRight":return tp+1).map(w=>{const p=(i==null?void 0:i(w))??!1;return r.jsx(o.CommandItem,{value:e(w),onSelect:()=>{p||a(w)},ref:n(w),disabled:p,"aria-disabled":p||void 0,className:o.cn("tw:h-8 tw:w-8 tw:cursor-pointer tw:justify-center tw:rounded-md tw:text-center tw:text-sm","tw:[&>svg]:hidden tw:hover:bg-muted",!d&&o.LIST_ITEM_KEYBOARD_FOCUS_RING,"tw:data-selected:bg-transparent tw:data-selected:text-inherit",{"tw:bg-primary tw:text-primary-foreground tw:hover:bg-primary/90 tw:data-selected:bg-primary tw:data-selected:text-primary-foreground tw:data-selected:ring-primary-foreground/70":(c==null?void 0:c(w))??!1},{"tw:bg-muted/50 tw:text-muted-foreground/50 tw:data-selected:bg-muted/50 tw:data-selected:text-muted-foreground/50":((l==null?void 0:l(w))??!1)&&!p},p&&"tw:cursor-not-allowed tw:opacity-40"),children:w},w)})})})}function Da({bookId:t,scrRef:e,onChapterSelect:a,setChapterRef:n,isChapterDimmed:i,isChapterDisabled:l,suppressKeyboardHighlight:c,className:d}){if(t)return r.jsx(io,{count:ke(t),valueBuilder:u=>Ve(t,u),onSelect:a,itemRef:n,isDisabled:l,isDimmed:i,isSelected:u=>t===e.book&&u===e.chapterNum,suppressKeyboardHighlight:c,className:d})}function Ia({bookId:t,chapterNum:e,endVerse:a,scrRef:n,onVerseSelect:i,setVerseRef:l,isVerseDimmed:c,isVerseDisabled:d,suppressKeyboardHighlight:u,className:w}){if(!(!t||a<=0))return r.jsx(io,{count:a,valueBuilder:p=>fr(t,e,p),onSelect:i,itemRef:l,isDisabled:d,isDimmed:c,isSelected:p=>t===n.book&&e===n.chapterNum&&p===n.verseNum,suppressKeyboardHighlight:u,className:w})}const oi="a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]";function ni(t){return Array.from(t.querySelectorAll(oi)).filter(e=>e.tabIndex>=0)}function vr({scrRef:t,handleSubmit:e,className:a,getActiveBookIds:n,getAdditionalBookIds:i,localizedBookNames:l,localizedStrings:c,recentSearches:d,onAddRecentSearch:u,id:w,getEndVerse:p,disableReferencesUpTo:h,submitKeys:g,triggerContent:m,triggerVariant:k="outline",showTriggerChevron:x=!1,onOpenChange:f,onCloseAutoFocus:C,modal:N=!1,align:E="center",ref:_,disabled:O}){const T=o.readDirection(),D=ro(),[I,M]=s.useState(!1),[R,Z]=s.useState(""),[X,rt]=s.useState(""),[y,tt]=s.useState("books"),[W,z]=s.useState(void 0),[J,F]=s.useState(void 0),[Y,dt]=s.useState(void 0),[ht,G]=s.useState(!1),[ut,gt]=s.useState(!1),[st,Ct]=s.useState(!1),[yt,Nt]=s.useState(!1),Pt=s.useRef(null),At=s.useRef(!1),Et=s.useRef(void 0),kt=s.useRef(void 0),Tt=s.useRef(void 0),Zt=s.useRef(void 0),Ht=s.useRef({}),Xt=s.useRef({}),ft=s.useCallback(b=>{e(b),u&&u(b)},[e,u]),Wt=s.useMemo(()=>n?n():o.lt,[n]),ie=s.useMemo(()=>n&&i?i():[],[n,i]),{projectBooksBySection:ge,reachableBooksBySection:Jt,reachableBooks:Ut,projectBooks:se,booksOutsideProject:xt}=s.useMemo(()=>ei(Wt,ie),[Wt,ie]),Qt=xt.has(t.book),ae=s.useMemo(()=>X.trim()?qr(Ut.filter(b=>o.doesBookMatchQuery(b,X,l))):ut?Jt:ge,[ge,Jt,Ut,ut,X,l]),A=s.useMemo(()=>ti(X,Ut,l),[X,Ut,l]),j=s.useMemo(()=>{if(!A)return;const b=R.startsWith(`${A.book} `)?R:"",H=wr(b),nt=We(b);return{book:A.book,chapterNum:nt??A.chapterNum??1,verseNum:H??A.verseNum??1}},[A,R]),K=s.useRef(!1);s.useEffect(()=>{if(!K.current){K.current=!0;return}f==null||f(I)},[I,f]);const q=s.useCallback(()=>{j&&(h&&Or(j.book,j.chapterNum,j.verseNum,h)||(ft(j),M(!1),rt(""),Z("")))},[ft,j,h]),P=s.useCallback(b=>{const H=J??(A==null?void 0:A.book),nt=Y??(A==null?void 0:A.chapterNum);!H||!nt||(ft({book:H,chapterNum:nt,verseNum:b}),M(!1))},[ft,J,Y,A]),Q=s.useCallback(b=>{if(h&&Ma(b,h))return;if(ke(b)<=1){ft({book:b,chapterNum:1,verseNum:1}),M(!1),rt("");return}z(b),tt("chapters")},[ft,h]),U=s.useCallback(b=>{const H=y==="chapters"?W:A==null?void 0:A.book;if(H){if(p&&p(H,b)>1){F(H),dt(b),tt("verses"),Z("");return}ft({book:H,chapterNum:b,verseNum:1}),M(!1)}},[ft,y,W,A,p]),at=s.useCallback(b=>{ft(b),M(!1),rt("")},[ft]),vt=Xn(t,ut?Ut:se,T,e,c),_t=s.useCallback(b=>{rt(b),Nt(!1)},[]),ct=s.useCallback(()=>{tt("books"),z(void 0),F(void 0),dt(void 0),Nt(!1),setTimeout(()=>{var b;(b=kt.current)==null||b.focus()},0)},[]),bt=s.useCallback(()=>{const b=J;F(void 0),dt(void 0),b?(z(b),tt("chapters"),Z("")):ct()},[J,ct]),wt=s.useCallback(b=>{M(b),b&&(tt("books"),z(void 0),F(void 0),dt(void 0),rt(""),Nt(!1),Ct(!1),gt(Qt))},[Qt]);s.useEffect(()=>{O&&wt(!1)},[O,wt]);const[mt,be]=s.useState(0);s.useEffect(()=>{var b;mt!==0&&((b=kt.current)==null||b.focus())},[mt]),s.useImperativeHandle(_,()=>({open:()=>{O||(wt(!0),be(b=>b+1))}}),[wt,O]);const{otLong:ce,ntLong:le,dcLong:je,extraLong:Ce}={otLong:c==null?void 0:c["%scripture_section_ot_long%"],ntLong:c==null?void 0:c["%scripture_section_nt_long%"],dcLong:c==null?void 0:c["%scripture_section_dc_long%"],extraLong:c==null?void 0:c["%scripture_section_extra_long%"]},fe=s.useCallback(b=>o.getSectionLongName(b,ce,le,je,Ce),[ce,le,je,Ce]),de=s.useCallback(b=>A?!!A.chapterNum&&!b.toString().includes(A.chapterNum.toString()):!1,[A]),Ie=s.useMemo(()=>L.formatScrRef(t,l?o.getLocalizedBookName(t.book,l):"English"),[t,l]),Ge=s.useMemo(()=>D>=Be.TIGHT?o.getLocalizedBookId(t.book,l):o.getLocalizedBookName(t.book,l),[t.book,l,D]),He=`${t.chapterNum}:${t.verseNum}`,xe=s.useCallback(b=>H=>{Ht.current[b]=H},[]),S=s.useCallback(b=>H=>{Xt.current[b]=H},[]),ot=s.useMemo(()=>Jn(X),[X]),it=s.useMemo(()=>!p||!A||!A.chapterNum||!ot?!1:p(A.book,A.chapterNum)>0,[p,A,ot]),zt=y==="books"&&!ht&&!X.trim()&&xt.size>0,qe=s.useCallback(b=>h?Ma(b,h):!1,[h]),me=s.useCallback(b=>H=>h?Qn(b,H,h):!1,[h]),Oe=s.useCallback((b,H)=>nt=>h?Or(b,H,nt,h):!1,[h]),Pe=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_selectChapter%"],"Select chapter"),Mr=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_selectVerse%"],"Select verse"),nr=y==="verses"?o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_backToChapters%"],"Back to chapters"):o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_backToBooks%"],"Back to books"),Dr=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_bookNotInProject%"],"Not in project"),ir=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_bookNotInProjectDescription%"],"{book} is not in this project"),sr=s.useCallback(b=>L.formatReplacementString(ir,{book:`${o.getLocalizedBookName(b,l)} (${o.getLocalizedBookId(b,l)})`}),[ir,l]),cr=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_showMoreBooks%"],"Show more books"),ze=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_showProjectBooksOnly%"],"Show project books only"),lr=s.useCallback(b=>{(b.key==="Home"||b.key==="End")&&b.stopPropagation(),g&&g.includes(b.key)&&A&&A.chapterNum!==void 0&&A.verseNum!==void 0&&(b.preventDefault(),b.stopPropagation(),q())},[g,A,q]),dr=s.useCallback(b=>{var Na,Ea;if(b.ctrlKey)return;const H=b.target instanceof HTMLElement?b.target:void 0;if(!(!!H&&!!((Na=Et.current)!=null&&Na.contains(H)))&&(H!=null&&H.closest('[role="menu"], [role="menuitem"]')))return;if(b.key==="Tab"){const Rt=Et.current?ni(Et.current):[];if(Rt.length===0){b.preventDefault(),b.stopPropagation();return}const ee=Rt[Rt.length-1],Bt=b.shiftKey?Rt[0]:ee;document.activeElement===Bt&&(b.preventDefault(),b.stopPropagation(),(b.shiftKey?ee:Rt[0]).focus());return}const{isLetter:Dt,isDigit:Lt}=Ra(b.key);if((y==="chapters"||y==="verses")&&(b.key===" "||b.key==="Enter")){if(!!(H!=null&&H.closest('button, a, input, select, textarea, [role="button"]'))){b.stopPropagation();return}const ee=(()=>{if(y==="verses"){const Ye=J,Ta=Y,Ir=wr(R);return!Ye||!Ta||Ir===void 0?void 0:{isDisabled:Oe(Ye,Ta)(Ir),activate:()=>P(Ir)}}const Bt=W,ne=We(R);if(!(!Bt||ne===void 0))return{isDisabled:me(Bt)(ne),activate:()=>U(ne)}})();if(ee){b.preventDefault(),b.stopPropagation(),ee.isDisabled||ee.activate();return}}if(y==="books"&&A&&!ht&&b.key==="Enter"&&!(H!==kt.current&&!!(H!=null&&H.closest('button, a, input, select, textarea, [role="button"]')))){b.preventDefault(),b.stopPropagation(),q();return}if((y==="chapters"||y==="verses")&&(Dt||Lt)){b.preventDefault(),b.stopPropagation();return}if(b.key==="Backspace"&&(y==="chapters"||y==="verses")){b.preventDefault(),b.stopPropagation(),y==="verses"?bt():ct();return}if(!Gn(b.key)||ht)return;if(y==="books"&&!yt&&(b.key==="ArrowLeft"||b.key==="ArrowRight")){const Rt=H===kt.current?kt.current:void 0,ee=(Rt==null?void 0:Rt.selectionStart)??0,Bt=(Rt==null?void 0:Rt.selectionEnd)??0,ne=T==="rtl"?b.key==="ArrowRight":b.key==="ArrowLeft";if(!!Rt&&(ee!==Bt||(ne?ee>0:Bt{const Rt=y==="books"&&A&&it&&A.chapterNum?{bookId:A.book,chapterNum:A.chapterNum}:void 0,ee=y==="verses"?{bookId:J,chapterNum:Y}:Rt;if(ee){const{bookId:Bt,chapterNum:ne}=ee;return!Bt||!ne||!p?void 0:{max:p(Bt,ne),current:wr(R)??0,buildValue:Ye=>fr(Bt,ne,Ye),refs:Xt,takeFocus:y==="verses"}}if(y==="chapters"||y==="books"&&A&&ke(A.book)>1){const Bt=y==="chapters"?W:A==null?void 0:A.book;return Bt?{max:ke(Bt),current:We(R)??0,buildValue:ne=>Ve(Bt,ne),refs:Ht,takeFocus:y==="chapters"}:void 0}})();if(!jt||jt.max<=0)return;y==="books"&&Nt(!0),jt.takeFocus&&((Ea=Et.current)==null||Ea.focus());const Gt=ai({current:jt.current,key:b.key,max:jt.max,direction:T});if(b.preventDefault(),b.stopPropagation(),Gt===jt.current)return;Z(jt.buildValue(Gt));const Ca=jt.refs.current[Gt];Ca&&Ca.scrollIntoView({block:"nearest",behavior:"smooth"})},[y,A,it,ht,yt,T,ct,bt,U,q,P,me,Oe,W,J,Y,p,R]),$=s.useCallback(b=>{var Dt,Lt;if(b.shiftKey||b.key==="Tab"||b.key===" ")return;if(b.key==="Enter"){b.stopPropagation();return}if(b.key==="ArrowUp"||b.key==="ArrowDown"){(Dt=kt.current)==null||Dt.focus();return}const{isLetter:H,isDigit:nt}=Ra(b.key);(H||nt)&&(b.preventDefault(),rt(jt=>jt+b.key),(Lt=kt.current)==null||Lt.focus(),G(!1))},[]);s.useLayoutEffect(()=>{const b=setTimeout(()=>{if(I&&y==="books"&&Tt.current&&Zt.current){const H=Tt.current,nt=Zt.current,Dt=nt.offsetTop,Lt=H.clientHeight,jt=nt.clientHeight,Gt=Dt-Lt/2+jt/2;H.scrollTo({top:Math.max(0,Gt),behavior:"smooth"}),Z(Hr(t.book))}},0);return()=>{clearTimeout(b)}},[I,y,X,A,t.book]),s.useLayoutEffect(()=>{if(y==="chapters"&&W){const b=W===t.book,H=b?t.chapterNum:1;Z(Ve(W,H)),setTimeout(()=>{if(Tt.current)if(b){const nt=Ht.current[t.chapterNum];nt&&nt.scrollIntoView({block:"center",behavior:"smooth"})}else Tt.current.scrollTo({top:0});Et.current&&Et.current.focus()},0)}},[y,W,A,t.book,t.chapterNum]),s.useLayoutEffect(()=>{if(y==="verses"&&J&&Y!==void 0){const b=J===t.book&&Y===t.chapterNum,H=b?t.verseNum:1;Z(fr(J,Y,H)),setTimeout(()=>{if(Tt.current)if(b){const nt=Xt.current[t.verseNum];nt&&nt.scrollIntoView({block:"center",behavior:"smooth"})}else Tt.current.scrollTo({top:0});Et.current&&Et.current.focus()},0)}},[y,J,Y,t.book,t.chapterNum,t.verseNum]);const et=A?`${A.book} ${A.chapterNum??""} ${A.verseNum??""} ${it}`:"",St=s.useRef(""),te=s.useRef(""),oe=s.useMemo(()=>{if(y!=="books"||!A||ht)return;const{book:b,chapterNum:H,verseNum:nt}=A;if(it&&H&&p)return{max:p(b,H),initial:nt??(b===t.book&&H===t.chapterNum?t.verseNum:1),parse:wr,buildValue:Lt=>fr(b,H,Lt)};const Dt=ke(b);if(!(Dt<=1))return{max:Dt,initial:H??(b===t.book?t.chapterNum:1),parse:We,buildValue:Lt=>Ve(b,Lt)}},[y,A,ht,it,p,t.book,t.chapterNum,t.verseNum]);return s.useLayoutEffect(()=>{if(y!=="books"||!A||!oe||oe.max<=0){St.current="";return}const{max:b,initial:H,parse:nt,buildValue:Dt}=oe,Lt=jt=>{const Gt=nt(jt);return Gt!==void 0&&Gt>=1&&Gt<=b&&jt===Dt(Gt)?Gt:void 0};if(St.current!==et){St.current=et;const jt=Dt(Math.min(Math.max(H,1),b));te.current=jt,Z(jt);return}if(Lt(R)!==void 0){te.current=R;return}Z(Lt(te.current)!==void 0?te.current:Dt(Math.min(Math.max(H,1),b)))},[y,A,oe,et,R]),r.jsxs(o.Popover,{open:I,onOpenChange:wt,modal:N,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{ref:Pt,"aria-label":"book-chapter-trigger",variant:k,role:"combobox","aria-expanded":I,disabled:O,className:o.cn("tw:h-8 tw:w-full tw:min-w-16 tw:max-w-48 tw:shrink tw:overflow-hidden tw:px-1",a),onClick:b=>{At.current&&(At.current=!1,b.preventDefault())},children:[m??r.jsx(oo,{primary:Ge,secondary:He,showSecondary:D=Be.TIGHT,fullText:Ie}),x&&r.jsx(Mt.IconSelector,{"data-testid":"book-chapter-control-chevron",className:"tw:ms-2 tw:size-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.PopoverContent,{id:w,forceMount:!0,className:"tw:w-[280px] tw:p-0",align:E,onKeyDownCapture:dr,onKeyDown:b=>b.stopPropagation(),onPointerDownOutside:b=>{const{target:H}=b;I&&Pt.current&&H instanceof Node&&Pt.current.contains(H)&&(At.current=!0,wt(!1))},onCloseAutoFocus:C,children:r.jsx(o.TooltipProvider,{children:r.jsxs(o.Command,{ref:Et,loop:!0,value:R,onValueChange:Z,disablePointerSelection:!0,shouldFilter:!1,children:[y==="books"?r.jsxs("div",{className:o.cn("tw:flex tw:items-end",ht&&"tw:pb-1"),onFocus:b=>{Ct(b.target!==kt.current)},onBlur:b=>{b.currentTarget.contains(b.relatedTarget)||Ct(!1)},children:[r.jsxs("div",{className:"tw:relative tw:flex-1",children:[r.jsx(o.CommandInput,{ref:kt,value:X,onValueChange:_t,onKeyDown:lr,onFocus:()=>G(!1),className:d&&d.length>0?"tw:pe-8!":"",spaceSelectsHighlightedItem:!0}),d&&d.length>0&&r.jsx(no,{recentSearches:d,onSearchItemSelect:at,renderItem:b=>L.formatScrRef(b,"English"),getItemKey:b=>`${b.book}-${b.chapterNum}-${b.verseNum}`,ariaLabel:c==null?void 0:c["%history_recentSearches_ariaLabel%"],groupHeading:c==null?void 0:c["%history_recent%"],buttonClassName:"tw:absolute tw:end-1 tw:top-1"})]}),r.jsx(o.ButtonGroup,{className:"tw:translate-y-px tw:gap-1 tw:pe-2",children:vt.map(({onClick:b,disabled:H,title:nt,icon:Dt,group:Lt},jt)=>{const Gt=r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:()=>{G(!0),b()},disabled:H,className:"tw:h-8.5 tw:w-6 tw:rounded-lg! tw:p-0","aria-label":nt,onKeyDown:$,children:r.jsx(Dt,{})});return r.jsxs(s.Fragment,{children:[jt>0&&Lt!==vt[jt-1].group&&r.jsx(o.ButtonGroupSeparator,{}),H?r.jsx("span",{title:nt,className:"tw:inline-flex",children:Gt}):r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:Gt}),r.jsx(o.TooltipContent,{children:nt})]})]},`${Lt}-${jt}`)})})]}):r.jsxs("div",{className:"tw:flex tw:items-center tw:border-b tw:px-3 tw:py-1",children:[r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:y==="verses"?bt:ct,className:"tw:me-2 tw:h-6 tw:w-6 tw:p-0",tabIndex:-1,"aria-label":nr,children:T==="ltr"?r.jsx(B.ArrowLeft,{className:"tw:h-4 tw:w-4"}):r.jsx(B.ArrowRight,{className:"tw:h-4 tw:w-4"})})}),r.jsx(o.TooltipContent,{children:nr})]}),y==="chapters"&&W&&r.jsx("span",{tabIndex:-1,className:"tw:text-sm tw:font-medium",children:o.getLocalizedBookName(W,l)}),y==="verses"&&J&&Y!==void 0&&r.jsx("span",{tabIndex:-1,className:"tw:text-sm tw:font-medium",children:`${o.getLocalizedBookName(J,l)} ${Y}`}),r.jsx("span",{tabIndex:-1,className:"tw:ms-auto tw:text-sm tw:font-medium tw:text-muted-foreground",children:y==="verses"?Mr:Pe})]}),!ht&&r.jsxs(o.CommandList,{ref:Tt,children:[y==="books"&&r.jsxs(r.Fragment,{children:[!A&&Object.entries(ae).map(([b,H])=>{if(H.length!==0)return r.jsx(o.CommandGroup,{heading:fe(b),children:H.map(nt=>r.jsx(eo,{bookId:nt,onSelect:Dt=>Q(Dt),section:L.getSectionForBook(nt),commandValue:Hr(nt),suppressKeyboardHighlight:st,ref:nt===t.book?Zt:void 0,localizedBookNames:l,disabled:qe(nt),dimmedReason:xt.has(nt)?Dr:void 0,dimmedDescription:xt.has(nt)?sr(nt):void 0},nt))},b)}),A&&j&&r.jsx(o.CommandGroup,{children:r.jsxs(o.CommandItem,{value:Hn,onSelect:q,disabled:!!h&&Or(j.book,j.chapterNum,j.verseNum,h),className:"tw:font-semibold tw:text-primary tw:hover:bg-muted tw:[&>svg:last-child]:hidden",children:[r.jsx("span",{className:"tw:min-w-0 tw:flex-1",children:L.formatScrRef(j,o.getLocalizedBookName(A.book,l))}),r.jsx("span",{className:"tw:ms-2 tw:shrink-0 tw:text-xs tw:text-muted-foreground",children:o.getLocalizedBookId(A.book,l)})]},"top-match")}),A&&it&&A.chapterNum&&p&&r.jsx(Ia,{bookId:A.book,chapterNum:A.chapterNum,endVerse:p(A.book,A.chapterNum),scrRef:t,onVerseSelect:P,setVerseRef:S,isVerseDisabled:Oe(A.book,A.chapterNum),suppressKeyboardHighlight:st,className:"tw:px-4 tw:pb-4"}),A&&!it&&ke(A.book)>1&&r.jsx(Da,{bookId:A.book,scrRef:t,onChapterSelect:U,setChapterRef:xe,isChapterDimmed:de,isChapterDisabled:me(A.book),suppressKeyboardHighlight:st,className:"tw:px-4 tw:pb-4"})]}),y==="chapters"&&W&&r.jsx(Da,{bookId:W,scrRef:t,onChapterSelect:U,setChapterRef:xe,isChapterDisabled:me(W),className:"tw:p-4"}),y==="verses"&&J&&Y!==void 0&&p&&r.jsx(Ia,{bookId:J,chapterNum:Y,endVerse:p(J,Y),scrRef:t,onVerseSelect:P,setVerseRef:S,isVerseDisabled:Oe(J,Y),className:"tw:p-4"})]}),zt&&r.jsx("div",{className:"tw:border-t tw:p-1",children:r.jsx(o.Button,{variant:"ghost",size:"sm",className:"tw:w-full tw:justify-start tw:font-normal",onClick:()=>gt(b=>!b),children:ut?ze:cr})})]})})})]})}const ii=Object.freeze(["%scripture_section_ot_long%","%scripture_section_nt_long%","%scripture_section_dc_long%","%scripture_section_extra_long%","%history_recent%","%history_recentSearches_ariaLabel%","%webView_bookChapterControl_bookNotInProject%","%webView_bookChapterControl_bookNotInProjectDescription%","%webView_bookChapterControl_selectChapter%","%webView_bookChapterControl_selectVerse%","%webView_bookChapterControl_showMoreBooks%","%webView_bookChapterControl_showProjectBooksOnly%","%webView_bookChapterControl_previousChapter%","%webView_bookChapterControl_nextChapter%","%webView_bookChapterControl_previousVerse%","%webView_bookChapterControl_nextVerse%","%webView_bookChapterControl_backToBooks%","%webView_bookChapterControl_backToChapters%"]);function si(t){return typeof t=="string"?t:typeof t=="number"?t.toString():t.label}function Zr({id:t,options:e=[],className:a,buttonClassName:n,popoverContentClassName:i,popoverContentStyle:l,value:c,onChange:d=()=>{},getOptionLabel:u=si,getButtonLabel:w,icon:p=void 0,buttonPlaceholder:h="",textPlaceholder:g="",commandEmptyMessage:m="No option found",buttonVariant:k="outline",alignDropDown:x="start",isDisabled:f=!1,ariaLabel:C,...N}){const[E,_]=s.useState(!1),O=w??u,T=I=>I.length>0&&typeof I[0]=="object"&&"options"in I[0],D=(I,M)=>{const R=u(I),Z=typeof I=="object"&&"secondaryLabel"in I?I.secondaryLabel:void 0,X=`${M??""}${R}${Z??""}`;return r.jsxs(o.CommandItem,{value:R,onSelect:()=>{d(I),_(!1)},className:"tw:gap-1.5!",children:[r.jsx(B.Check,{className:o.cn("tw:h-4 tw:w-4 tw:shrink-0",{"tw:opacity-0":!c||u(c)!==R})}),r.jsxs("span",{className:"tw:flex-1 tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap",children:[R,Z&&r.jsxs("span",{className:"tw:text-muted-foreground",children:[" · ",Z]})]})]},X)};return r.jsxs(o.Popover,{open:E,onOpenChange:_,...N,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:k,role:"combobox","aria-expanded":E,"aria-label":C,id:t,className:o.cn("tw:flex tw:w-[200px] tw:items-center tw:justify-between tw:overflow-hidden",n??a),disabled:f,children:[r.jsxs("div",{className:"tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:overflow-hidden",children:[p&&r.jsx("div",{className:"tw:shrink-0 tw:pe-2",children:p}),r.jsx("span",{className:o.cn("tw:min-w-0 tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:text-start"),children:c?O(c):h})]}),r.jsx(B.ChevronDown,{className:"tw:ms-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.PopoverContent,{align:x,className:o.cn("tw:w-[200px] tw:p-0",i),style:l,children:r.jsxs(o.Command,{children:[r.jsx(o.CommandInput,{placeholder:g,className:"tw:text-inherit",spaceSelectsHighlightedItem:!0}),r.jsx(o.CommandEmpty,{children:m}),r.jsx(o.CommandList,{children:T(e)?e.map(I=>r.jsx(o.CommandGroup,{heading:I.groupHeading,children:I.options.map(M=>D(M,I.groupHeading))},I.groupHeading)):r.jsx(o.CommandGroup,{children:e.map(I=>D(I))})})]})})]})}function so({startChapter:t,endChapter:e,handleSelectStartChapter:a,handleSelectEndChapter:n,isDisabled:i=!1,chapterCount:l}){const c=s.useMemo(()=>Array.from({length:l},(w,p)=>p+1),[l]),d=w=>{a(w),w>e&&n(w)},u=w=>{n(w),ww.toString(),value:t},"start chapter"),r.jsx(o.Label,{htmlFor:"end-chapters-combobox",children:"to"}),r.jsx(Zr,{isDisabled:i,onChange:u,buttonClassName:"tw:ms-2 tw:w-20",options:c,getOptionLabel:w=>w.toString(),value:e},"end chapter")]})}exports.BookSelectionMode=(t=>(t.CurrentBook="current book",t.ChooseBooks="choose books",t))(exports.BookSelectionMode||{});(t=>{t.CURRENT_BOOK="current book",t.CHOOSE_BOOKS="choose books"})(exports.BookSelectionMode||(exports.BookSelectionMode={}));const ci=Object.freeze(["%webView_bookSelector_currentBook%","%webView_bookSelector_choose%","%webView_bookSelector_chooseBooks%"]),Pr=(t,e)=>t[e]??e;function li({handleBookSelectionModeChange:t,currentBookName:e,onSelectBooks:a,selectedBookIds:n,chapterCount:i,endChapter:l,handleSelectEndChapter:c,startChapter:d,handleSelectStartChapter:u,localizedStrings:w}){const p=Pr(w,"%webView_bookSelector_currentBook%"),h=Pr(w,"%webView_bookSelector_choose%"),g=Pr(w,"%webView_bookSelector_chooseBooks%"),[m,k]=s.useState("current book"),x=f=>{k(f),t(f)};return r.jsx(o.RadioGroup,{className:"pr-twp tw:flex",value:m,onValueChange:f=>x(f),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:flex-col tw:gap-4",children:[r.jsxs("div",{className:"tw:grid tw:grid-cols-[25%_25%_50%]",children:[r.jsxs("div",{className:"tw:flex tw:items-center",children:[r.jsx(o.RadioGroupItem,{value:"current book"}),r.jsx(o.Label,{className:"tw:ms-1",children:p})]}),r.jsx(o.Label,{className:"tw:flex tw:items-center",children:e}),r.jsx("div",{className:"tw:flex tw:items-center tw:justify-end",children:r.jsx(so,{isDisabled:m==="choose books",handleSelectStartChapter:u,handleSelectEndChapter:c,chapterCount:i,startChapter:d,endChapter:l})})]}),r.jsxs("div",{className:"tw:grid tw:grid-cols-[25%_50%_25%]",children:[r.jsxs("div",{className:"tw:flex tw:items-center",children:[r.jsx(o.RadioGroupItem,{value:"choose books"}),r.jsx(o.Label,{className:"tw:ms-1",children:g})]}),r.jsx(o.Label,{className:"tw:flex tw:items-center",children:n.map(f=>Ot.Canon.bookIdToEnglishName(f)).join(", ")}),r.jsx(o.Button,{disabled:m==="current book",onClick:()=>a(),children:h})]})]})})}const co=s.createContext(null);function di(t,e){return{getTheme:function(){return e??null}}}function he(){const t=s.useContext(co);return t==null&&function(e,...a){const n=new URL("https://lexical.dev/docs/error"),i=new URLSearchParams;i.append("code",e);for(const l of a)i.append("v",l);throw n.search=i.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(8),t}const lo=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,wi=lo?s.useLayoutEffect:s.useEffect,pr={tag:v.HISTORY_MERGE_TAG};function ui({initialConfig:t,children:e}){const a=s.useMemo(()=>{const{theme:n,namespace:i,nodes:l,onError:c,editorState:d,html:u}=t,w=di(null,n),p=v.createEditor({editable:t.editable,html:u,namespace:i,nodes:l,onError:h=>c(h,p),theme:n});return function(h,g){if(g!==null){if(g===void 0)h.update(()=>{const m=v.$getRoot();if(m.isEmpty()){const k=v.$createParagraphNode();m.append(k);const x=lo?document.activeElement:null;(v.$getSelection()!==null||x!==null&&x===h.getRootElement())&&k.select()}},pr);else if(g!==null)switch(typeof g){case"string":{const m=h.parseEditorState(g);h.setEditorState(m,pr);break}case"object":h.setEditorState(g,pr);break;case"function":h.update(()=>{v.$getRoot().isEmpty()&&g(h)},pr)}}}(p,d),[p,w]},[]);return wi(()=>{const n=t.editable,[i]=a;i.setEditable(n===void 0||n)},[]),r.jsx(co.Provider,{value:a,children:e})}const pi=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function hi({ignoreHistoryMergeTagChange:t=!0,ignoreSelectionChange:e=!1,onChange:a}){const[n]=he();return pi(()=>{if(a)return n.registerUpdateListener(({editorState:i,dirtyElements:l,dirtyLeaves:c,prevEditorState:d,tags:u})=>{e&&l.size===0&&c.size===0||t&&u.has(v.HISTORY_MERGE_TAG)||d.isEmpty()||a(i,n,u)})},[n,t,e,a]),null}const ia={ltr:"tw:text-left",rtl:"tw:text-right",heading:{h1:"tw:scroll-m-20 tw:text-4xl tw:font-extrabold tw:tracking-tight tw:lg:text-5xl",h2:"tw:scroll-m-20 tw:border-b tw:pb-2 tw:text-3xl tw:font-semibold tw:tracking-tight tw:first:mt-0",h3:"tw:scroll-m-20 tw:text-2xl tw:font-semibold tw:tracking-tight",h4:"tw:scroll-m-20 tw:text-xl tw:font-semibold tw:tracking-tight",h5:"tw:scroll-m-20 tw:text-lg tw:font-semibold tw:tracking-tight",h6:"tw:scroll-m-20 tw:text-base tw:font-semibold tw:tracking-tight"},paragraph:"tw:outline-hidden",quote:"tw:mt-6 tw:border-l-2 tw:pl-6 tw:italic",link:"tw:text-blue-600 tw:hover:underline tw:hover:cursor-pointer",list:{checklist:"tw:relative",listitem:"tw:mx-8",listitemChecked:'tw:relative tw:mx-2 tw:px-6 tw:list-none tw:outline-hidden tw:line-through tw:before:content-[""] tw:before:w-4 tw:before:h-4 tw:before:top-0.5 tw:before:left-0 tw:before:cursor-pointer tw:before:block tw:before:bg-cover tw:before:absolute tw:before:border tw:before:border-primary tw:before:rounded tw:before:bg-primary tw:before:bg-no-repeat tw:after:content-[""] tw:after:cursor-pointer tw:after:border-white tw:after:border-solid tw:after:absolute tw:after:block tw:after:top-[6px] tw:after:w-[3px] tw:after:left-[7px] tw:after:right-[7px] tw:after:h-[6px] tw:after:rotate-45 tw:after:border-r-2 tw:after:border-b-2 tw:after:border-l-0 tw:after:border-t-0',listitemUnchecked:'tw:relative tw:mx-2 tw:px-6 tw:list-none tw:outline-hidden tw:before:content-[""] tw:before:w-4 tw:before:h-4 tw:before:top-0.5 tw:before:left-0 tw:before:cursor-pointer tw:before:block tw:before:bg-cover tw:before:absolute tw:before:border tw:before:border-primary tw:before:rounded',nested:{listitem:"tw:list-none tw:before:hidden tw:after:hidden"},ol:"tw:m-0 tw:p-0 tw:list-decimal tw:[&>li]:mt-2",olDepth:["tw:list-outside tw:!list-decimal","tw:list-outside tw:!list-[upper-roman]","tw:list-outside tw:!list-[lower-roman]","tw:list-outside tw:!list-[upper-alpha]","tw:list-outside tw:!list-[lower-alpha]"],ul:"tw:m-0 tw:p-0 tw:list-outside tw:[&>li]:mt-2",ulDepth:["tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc"]},hashtag:"tw:text-blue-600 tw:bg-blue-100 tw:rounded-md tw:px-1",text:{bold:"tw:font-bold",code:"tw:bg-gray-100 tw:p-1 tw:rounded-md",italic:"tw:italic",strikethrough:"tw:line-through",subscript:"tw:sub",superscript:"tw:sup",underline:"tw:underline",underlineStrikethrough:"tw:underline tw:line-through"},image:"tw:relative tw:inline-block tw:user-select-none tw:cursor-default editor-image",inlineImage:"tw:relative tw:inline-block tw:user-select-none tw:cursor-default inline-editor-image",keyword:"tw:text-purple-900 tw:font-bold",code:"EditorTheme__code",codeHighlight:{atrule:"EditorTheme__tokenAttr",attr:"EditorTheme__tokenAttr",boolean:"EditorTheme__tokenProperty",builtin:"EditorTheme__tokenSelector",cdata:"EditorTheme__tokenComment",char:"EditorTheme__tokenSelector",class:"EditorTheme__tokenFunction","class-name":"EditorTheme__tokenFunction",comment:"EditorTheme__tokenComment",constant:"EditorTheme__tokenProperty",deleted:"EditorTheme__tokenProperty",doctype:"EditorTheme__tokenComment",entity:"EditorTheme__tokenOperator",function:"EditorTheme__tokenFunction",important:"EditorTheme__tokenVariable",inserted:"EditorTheme__tokenSelector",keyword:"EditorTheme__tokenAttr",namespace:"EditorTheme__tokenVariable",number:"EditorTheme__tokenProperty",operator:"EditorTheme__tokenOperator",prolog:"EditorTheme__tokenComment",property:"EditorTheme__tokenProperty",punctuation:"EditorTheme__tokenPunctuation",regex:"EditorTheme__tokenVariable",selector:"EditorTheme__tokenSelector",string:"EditorTheme__tokenSelector",symbol:"EditorTheme__tokenProperty",tag:"EditorTheme__tokenProperty",url:"EditorTheme__tokenOperator",variable:"EditorTheme__tokenVariable"},characterLimit:"tw:!bg-destructive/50",table:"EditorTheme__table tw:w-fit tw:overflow-scroll tw:border-collapse",tableCell:"EditorTheme__tableCell tw:w-24 tw:relative tw:border tw:px-4 tw:py-2 tw:text-left tw:[&[align=center]]:text-center tw:[&[align=right]]:text-right",tableCellActionButton:"EditorTheme__tableCellActionButton tw:bg-background tw:block tw:border-0 tw:rounded-2xl tw:w-5 tw:h-5 tw:text-foreground tw:cursor-pointer",tableCellActionButtonContainer:"EditorTheme__tableCellActionButtonContainer tw:block tw:right-1 tw:top-1.5 tw:absolute tw:z-10 tw:w-5 tw:h-5",tableCellEditing:"EditorTheme__tableCellEditing tw:rounded-sm tw:shadow-sm",tableCellHeader:"EditorTheme__tableCellHeader tw:bg-muted tw:border tw:px-4 tw:py-2 tw:text-left tw:font-bold tw:[&[align=center]]:text-center tw:[&[align=right]]:text-right",tableCellPrimarySelected:"EditorTheme__tableCellPrimarySelected tw:border tw:border-primary tw:border-solid tw:block tw:h-[calc(100%-2px)] tw:w-[calc(100%-2px)] tw:absolute tw:-left-[1px] tw:-top-[1px] tw:z-10 ",tableCellResizer:"EditorTheme__tableCellResizer tw:absolute tw:-right-1 tw:h-full tw:w-2 tw:cursor-ew-resize tw:z-10 tw:top-0",tableCellSelected:"EditorTheme__tableCellSelected tw:bg-muted",tableCellSortedIndicator:"EditorTheme__tableCellSortedIndicator tw:block tw:opacity-50 tw:absolute tw:bottom-0 tw:left-0 tw:w-full tw:h-1 tw:bg-muted",tableResizeRuler:"EditorTheme__tableCellResizeRuler tw:block tw:absolute tw:w-[1px] tw:h-full tw:bg-primary tw:top-0",tableRowStriping:"EditorTheme__tableRowStriping tw:m-0 tw:border-t tw:p-0 tw:even:bg-muted",tableSelected:"EditorTheme__tableSelected tw:ring-2 tw:ring-primary tw:ring-offset-2",tableSelection:"EditorTheme__tableSelection tw:bg-transparent",layoutItem:"tw:border tw:border-dashed tw:px-4 tw:py-2",layoutContainer:"tw:grid tw:gap-2.5 tw:my-2.5 tw:mx-0",autocomplete:"tw:text-muted-foreground",blockCursor:"",embedBlock:{base:"tw:user-select-none",focus:"tw:ring-2 tw:ring-primary tw:ring-offset-2"},hr:'tw:p-0.5 tw:border-none tw:my-1 tw:mx-0 tw:cursor-pointer tw:after:content-[""] tw:after:block tw:after:h-0.5 tw:after:bg-muted tw:selected:ring-2 tw:selected:ring-primary tw:selected:ring-offset-2 tw:selected:user-select-none',indent:"[--lexical-indent-base-value:40px]",mark:"",markOverlap:""},sa=[Gr.HeadingNode,v.ParagraphNode,v.TextNode,Gr.QuoteNode],gi=s.createContext(null),zr={didCatch:!1,error:null};class fi extends s.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=zr}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var a,n,i=arguments.length,l=new Array(i),c=0;c0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.length!==e.length||t.some((a,n)=>!Object.is(a,e[n]))}function vi({children:t,onError:e}){return r.jsx(fi,{fallback:r.jsx("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:e,children:t})}const bi=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function xi(t){return{initialValueFn:()=>t.isEditable(),subscribe:e=>t.registerEditableListener(e)}}function yi(){return function(t){const[e]=he(),a=s.useMemo(()=>t(e),[e,t]),[n,i]=s.useState(()=>a.initialValueFn()),l=s.useRef(n);return bi(()=>{const{initialValueFn:c,subscribe:d}=a,u=c();return l.current!==u&&(l.current=u,i(u)),d(w=>{l.current=w,i(w)})},[a,t]),n}(xi)}function ki(t,e){const a=t.getRootElement();if(a===null)return[];const n=a.getBoundingClientRect(),i=getComputedStyle(a),l=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight),c=Array.from(e.getClientRects());let d,u=c.length;c.sort((w,p)=>{const h=w.top-p.top;return Math.abs(h)<=3?w.left-p.left:h});for(let w=0;wp.top&&d.left+d.width>p.left,g=p.width+l===n.width;h||g?(c.splice(w--,1),u--):d=p}return c}function _r(t,...e){const a=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",t);for(const i of e)n.append("v",i);throw a.search=n.toString(),Error(`Minified Lexical error #${t}; visit ${a.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const wo=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,_i=wo&&"documentMode"in document?document.documentMode:null;!(!wo||!("InputEvent"in window)||_i)&&"getTargetRanges"in new window.InputEvent("input");function ue(t){return`${t}px`}const ji={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ci(t,e,a){let n=null,i=null,l=null,c=[];const d=document.createElement("div");function u(){n===null&&_r(182),i===null&&_r(183);const{left:h,top:g}=i.getBoundingClientRect(),m=ki(t,e);var k,x;d.isConnected||(x=d,(k=i).insertBefore(x,k.firstChild));let f=!1;for(let C=0;Cm.length;)c.pop();f&&a(c)}function w(){i=null,n=null,l!==null&&l.disconnect(),l=null,d.remove();for(const h of c)h.remove();c=[]}d.style.position="relative";const p=t.registerRootListener(function h(){const g=t.getRootElement();if(g===null)return w();const m=g.parentElement;if(!v.isHTMLElement(m))return w();w(),n=g,i=m,l=new MutationObserver(k=>{const x=t.getRootElement(),f=x&&x.parentElement;if(x!==n||f!==i)return h();for(const C of k)if(!d.contains(C.target))return u()}),l.observe(m,ji),u()});return()=>{p(),w()}}function Oa(t,e,a){if(t.type!=="text"&&v.$isElementNode(e)){const n=e.getDOMSlot(a);return[n.element,n.getFirstChildOffset()+t.offset]}return[v.getDOMTextNode(a)||a,t.offset]}function Ni(t){for(const e of t){const a=e.style;a.background!=="Highlight"&&(a.background="Highlight"),a.color!=="HighlightText"&&(a.color="HighlightText"),a.marginTop!==ue(-1.5)&&(a.marginTop=ue(-1.5)),a.paddingTop!==ue(4)&&(a.paddingTop=ue(4)),a.paddingBottom!==ue(0)&&(a.paddingBottom=ue(0))}}function Ei(t,e=Ni){let a=null,n=null,i=null,l=null,c=null,d=null,u=()=>{};function w(p){p.read(()=>{const h=v.$getSelection();if(!v.$isRangeSelection(h))return a=null,i=null,l=null,d=null,u(),void(u=()=>{});const[g,m]=function(I){const M=I.getStartEndPoints();return I.isBackward()?[M[1],M[0]]:M}(h),k=g.getNode(),x=k.getKey(),f=g.offset,C=m.getNode(),N=C.getKey(),E=m.offset,_=t.getElementByKey(x),O=t.getElementByKey(N),T=a===null||_!==n||f!==i||x!==a.getKey(),D=l===null||O!==c||E!==d||N!==l.getKey();if((T||D)&&_!==null&&O!==null){const I=function(M,R,Z,X,rt,y,tt){const W=(M._window?M._window.document:document).createRange();return W.setStart(...Oa(R,Z,X)),W.setEnd(...Oa(rt,y,tt)),W}(t,g,k,_,m,C,O);u(),u=Ci(t,I,e)}a=k,n=_,i=f,l=C,c=O,d=E})}return w(t.getEditorState()),v.mergeRegister(t.registerUpdateListener(({editorState:p})=>w(p)),()=>{u()})}function Ti(t,e){let a=null;const n=()=>{const i=getSelection(),l=i&&i.anchorNode,c=t.getRootElement();l!==null&&c!==null&&c.contains(l)?a!==null&&(a(),a=null):a===null&&(a=Ei(t,e))};return t.registerRootListener(i=>{if(i){const l=i.ownerDocument;return l.addEventListener("selectionchange",n),n(),()=>{a!==null&&a(),l.removeEventListener("selectionchange",n)}}})}function Si(t){const e=v.$findMatchingParent(t,a=>v.$isElementNode(a)&&!a.isInline());return v.$isElementNode(e)||_r(4,t.__key),e}function Ri(t){const e=v.$getSelection()||v.$getPreviousSelection();let a;if(v.$isRangeSelection(e))a=v.$caretFromPoint(e.focus,"next");else{if(e!=null){const c=e.getNodes(),d=c[c.length-1];d&&(a=v.$getSiblingCaret(d,"next"))}a=a||v.$getChildCaret(v.$getRoot(),"previous").getFlipped().insert(v.$createParagraphNode())}const n=Mi(t,a),i=v.$getAdjacentChildCaret(n),l=v.$isChildCaret(i)?v.$normalizeCaret(i):n;return v.$setSelectionFromCaretRange(v.$getCollapsedCaretRange(l)),t.getLatest()}function Mi(t,e,a){let n=v.$getCaretInDirection(e,"next");for(let i=n;i;i=v.$splitAtPointCaretNext(i,a))n=i;return v.$isTextPointCaret(n)&&_r(283),n.insert(t.isInline()?v.$createParagraphNode().append(t):t),v.$getCaretInDirection(v.$getSiblingCaret(t.getLatest(),"next"),e.direction)}function Di(t){const e=v.$getSelection();if(!v.$isRangeSelection(e))return!1;const a=new Set,n=e.getNodes();for(let i=0;iv.$isElementNode(w)&&!w.isInline());if(d===null)continue;const u=d.getKey();d.canIndent()&&!a.has(u)&&(a.add(u),t(d))}return a.size>0}const Ii=Symbol.for("preact-signals");function Rr(){if(ve>1)return void ve--;let t,e=!1;for(!function(){let a=jr;for(jr=void 0;a!==void 0;)a.S.v===a.v&&(a.S.i=a.i),a=a.o}();Qe!==void 0;){let a=Qe;for(Qe=void 0,Cr++;a!==void 0;){const n=a.u;if(a.u=void 0,a.f&=-3,!(8&a.f)&&uo(a))try{a.c()}catch(i){e||(t=i,e=!0)}a=n}}if(Cr=0,ve--,e)throw t}function Oi(t){if(ve>0)return t();Xr=++Pi,ve++;try{return t()}finally{Rr()}}let lt,Qe;function Pa(t){const e=lt;lt=void 0;try{return t()}finally{lt=e}}let jr,ve=0,Cr=0,Pi=0,Xr=0,br=0;function za(t){if(lt===void 0)return;let e=t.n;return e===void 0||e.t!==lt?(e={i:0,S:t,p:lt.s,n:void 0,t:lt,e:void 0,x:void 0,r:e},lt.s!==void 0&&(lt.s.n=e),lt.s=e,t.n=e,32<.f&&t.S(e),e):e.i===-1?(e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=lt.s,e.n=void 0,lt.s.n=e,lt.s=e),e):void 0}function Ft(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}function er(t,e){return new Ft(t,e)}function uo(t){for(let e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function La(t){for(let e=t.s;e!==void 0;e=e.n){const a=e.S.n;if(a!==void 0&&(e.r=a),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function po(t){let e,a=t.s;for(;a!==void 0;){const n=a.p;a.i===-1?(a.S.U(a),n!==void 0&&(n.n=a.n),a.n!==void 0&&(a.n.p=n)):e=a,a.S.n=a.r,a.r!==void 0&&(a.r=void 0),a=n}t.s=e}function Ne(t,e){Ft.call(this,void 0),this.x=t,this.s=void 0,this.g=br-1,this.f=4,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}function zi(t,e){return new Ne(t,e)}function ho(t){const e=t.m;if(t.m=void 0,typeof e=="function"){ve++;const a=lt;lt=void 0;try{e()}catch(n){throw t.f&=-2,t.f|=8,ca(t),n}finally{lt=a,Rr()}}}function ca(t){for(let e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,ho(t)}function Li(t){if(lt!==this)throw new Error("Out-of-order effect");po(this),lt=t,this.f&=-2,8&this.f&&ca(this),Rr()}function Ae(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e==null?void 0:e.name}function pe(t,e){const a=new Ae(t,e);try{a.c()}catch(i){throw a.d(),i}const n=a.d.bind(a);return n[Symbol.dispose]=n,n}function Ue(t,e={}){const a={};for(const n in t){const i=e[n],l=er(i===void 0?t[n]:i);a[n]=l}return a}Ft.prototype.brand=Ii,Ft.prototype.h=function(){return!0},Ft.prototype.S=function(t){const e=this.t;e!==t&&t.e===void 0&&(t.x=e,this.t=t,e!==void 0?e.e=t:Pa(()=>{var a;(a=this.W)==null||a.call(this)}))},Ft.prototype.U=function(t){if(this.t!==void 0){const e=t.e,a=t.x;e!==void 0&&(e.x=a,t.e=void 0),a!==void 0&&(a.e=e,t.x=void 0),t===this.t&&(this.t=a,a===void 0&&Pa(()=>{var n;(n=this.Z)==null||n.call(this)}))}},Ft.prototype.subscribe=function(t){return pe(()=>{const e=this.value,a=lt;lt=void 0;try{t(e)}finally{lt=a}},{name:"sub"})},Ft.prototype.valueOf=function(){return this.value},Ft.prototype.toString=function(){return this.value+""},Ft.prototype.toJSON=function(){return this.value},Ft.prototype.peek=function(){const t=lt;lt=void 0;try{return this.value}finally{lt=t}},Object.defineProperty(Ft.prototype,"value",{get(){const t=za(this);return t!==void 0&&(t.i=this.i),this.v},set(t){if(t!==this.v){if(Cr>100)throw new Error("Cycle detected");(function(e){ve!==0&&Cr===0&&e.l!==Xr&&(e.l=Xr,jr={S:e,v:e.v,i:e.i,o:jr})})(this),this.v=t,this.i++,br++,ve++;try{for(let e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Rr()}}}}),Ne.prototype=new Ft,Ne.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===br))return!0;if(this.g=br,this.f|=1,this.i>0&&!uo(this))return this.f&=-2,!0;const t=lt;try{La(this),lt=this;const e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return lt=t,po(this),this.f&=-2,!0},Ne.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(let e=this.s;e!==void 0;e=e.n)e.S.S(e)}Ft.prototype.S.call(this,t)},Ne.prototype.U=function(t){if(this.t!==void 0&&(Ft.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(let e=this.s;e!==void 0;e=e.n)e.S.U(e)}},Ne.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(Ne.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const t=za(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}}),Ae.prototype.c=function(){const t=this.S();try{if(8&this.f||this.x===void 0)return;const e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}},Ae.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,ho(this),La(this),ve++;const t=lt;return lt=this,Li.bind(this,t)},Ae.prototype.N=function(){2&this.f||(this.f|=2,this.u=Qe,Qe=this)},Ae.prototype.d=function(){this.f|=8,1&this.f||ca(this)},Ae.prototype.dispose=function(){this.d()};v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({defaultSelection:"rootEnd",disabled:!1}),name:"@lexical/extension/AutoFocus",register(t,e,a){const n=a.getOutput();return pe(()=>n.disabled.value?void 0:t.registerRootListener(i=>{t.focus(()=>{const l=document.activeElement;i===null||l!==null&&i.contains(l)||i.focus({preventScroll:!0})},{defaultSelection:n.defaultSelection.peek()})}))}});function go(){const t=v.$getRoot(),e=v.$getSelection(),a=v.$createParagraphNode();t.clear(),t.append(a),e!==null&&a.select(),v.$isRangeSelection(e)&&(e.format=0)}function fo(t,e=go){return t.registerCommand(v.CLEAR_EDITOR_COMMAND,a=>(t.update(e),!0),v.COMMAND_PRIORITY_EDITOR)}v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({$onClear:go}),name:"@lexical/extension/ClearEditor",register(t,e,a){const{$onClear:n}=a.getOutput();return pe(()=>fo(t,n.value))}});function Ai(t){return(typeof t.nodes=="function"?t.nodes():t.nodes)||[]}const Lr=v.createState("format",{parse:t=>typeof t=="number"?t:0});class mo extends v.DecoratorNode{$config(){return this.config("decorator-text",{extends:v.DecoratorNode,stateConfigs:[{flat:!0,stateConfig:Lr}]})}getFormat(){return v.$getState(this,Lr)}getFormatFlags(e,a){return v.toggleTextFormatType(this.getFormat(),e,a)}hasFormat(e){const a=v.TEXT_TYPE_TO_FORMAT[e];return(this.getFormat()&a)!==0}setFormat(e){return v.$setState(this,Lr,e)}toggleFormat(e){const a=this.getFormat(),n=v.toggleTextFormatType(a,e,null);return this.setFormat(n)}isInline(){return!0}createDOM(){return document.createElement("span")}updateDOM(){return!1}}function Bi(t){return t instanceof mo}v.defineExtension({name:"@lexical/extension/DecoratorText",nodes:()=>[mo],register:(t,e,a)=>t.registerCommand(v.FORMAT_TEXT_COMMAND,n=>{const i=v.$getSelection();if(v.$isNodeSelection(i)||v.$isRangeSelection(i))for(const l of i.getNodes())Bi(l)&&l.toggleFormat(n);return!1},v.COMMAND_PRIORITY_LOW)});function vo(t,e){let a;return er(t(),{unwatched(){a&&(a(),a=void 0)},watched(){this.value=t(),a=e(this)}})}const Wr=v.defineExtension({build:t=>vo(()=>t.getEditorState(),e=>t.registerUpdateListener(a=>{e.value=a.editorState})),name:"@lexical/extension/EditorState"});function pt(t,...e){const a=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",t);for(const i of e)n.append("v",i);throw a.search=n.toString(),Error(`Minified Lexical error #${t}; visit ${a.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function bo(t,e){if(t&&e&&!Array.isArray(e)&&typeof t=="object"&&typeof e=="object"){const a=t,n=e;for(const i in n)a[i]=bo(a[i],n[i]);return t}return e}const la=0,Jr=1,xo=2,Ar=3,hr=4,Le=5,Br=6,Ze=7;function Vr(t){return t.id===la}function yo(t){return t.id===xo}function Vi(t){return function(e){return e.id===Jr}(t)||pt(305,String(t.id),String(Jr)),Object.assign(t,{id:xo})}const $i=new Set;class Fi{constructor(e,a){Vt(this,"builder");Vt(this,"configs");Vt(this,"_dependency");Vt(this,"_peerNameSet");Vt(this,"extension");Vt(this,"state");Vt(this,"_signal");this.builder=e,this.extension=a,this.configs=new Set,this.state={id:la}}mergeConfigs(){let e=this.extension.config||{};const a=this.extension.mergeConfig?this.extension.mergeConfig.bind(this.extension):v.shallowMergeConfig;for(const n of this.configs)e=a(e,n);return e}init(e){const a=this.state;yo(a)||pt(306,String(a.id));const n={getDependency:this.getInitDependency.bind(this),getDirectDependentNames:this.getDirectDependentNames.bind(this),getPeer:this.getInitPeer.bind(this),getPeerNameSet:this.getPeerNameSet.bind(this)},i={...n,getDependency:this.getDependency.bind(this),getInitResult:this.getInitResult.bind(this),getPeer:this.getPeer.bind(this)},l=function(d,u,w){return Object.assign(d,{config:u,id:Ar,registerState:w})}(a,this.mergeConfigs(),n);let c;this.state=l,this.extension.init&&(c=this.extension.init(e,l.config,n)),this.state=function(d,u,w){return Object.assign(d,{id:hr,initResult:u,registerState:w})}(l,c,i)}build(e){const a=this.state;let n;a.id!==hr&&pt(307,String(a.id),String(Le)),this.extension.build&&(n=this.extension.build(e,a.config,a.registerState));const i={...a.registerState,getOutput:()=>n,getSignal:this.getSignal.bind(this)};this.state=function(l,c,d){return Object.assign(l,{id:Le,output:c,registerState:d})}(a,n,i)}register(e,a){this._signal=a;const n=this.state;n.id!==Le&&pt(308,String(n.id),String(Le));const i=this.extension.register&&this.extension.register(e,n.config,n.registerState);return this.state=function(l){return Object.assign(l,{id:Br})}(n),()=>{const l=this.state;l.id!==Ze&&pt(309,String(n.id),String(Ze)),this.state=function(c){return Object.assign(c,{id:Le})}(l),i&&i()}}afterRegistration(e){const a=this.state;let n;return a.id!==Br&&pt(310,String(a.id),String(Br)),this.extension.afterRegistration&&(n=this.extension.afterRegistration(e,a.config,a.registerState)),this.state=function(i){return Object.assign(i,{id:Ze})}(a),n}getSignal(){return this._signal===void 0&&pt(311),this._signal}getInitResult(){this.extension.init===void 0&&pt(312,this.extension.name);const e=this.state;return function(a){return a.id>=hr}(e)||pt(313,String(e.id),String(hr)),e.initResult}getInitPeer(e){const a=this.builder.extensionNameMap.get(e);return a?a.getExtensionInitDependency():void 0}getExtensionInitDependency(){const e=this.state;return function(a){return a.id>=Ar}(e)||pt(314,String(e.id),String(Ar)),{config:e.config}}getPeer(e){const a=this.builder.extensionNameMap.get(e);return a?a.getExtensionDependency():void 0}getInitDependency(e){const a=this.builder.getExtensionRep(e);return a===void 0&&pt(315,this.extension.name,e.name),a.getExtensionInitDependency()}getDependency(e){const a=this.builder.getExtensionRep(e);return a===void 0&&pt(315,this.extension.name,e.name),a.getExtensionDependency()}getState(){const e=this.state;return function(a){return a.id>=Ze}(e)||pt(316,String(e.id),String(Ze)),e}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||$i}getPeerNameSet(){let e=this._peerNameSet;return e||(e=new Set((this.extension.peerDependencies||[]).map(([a])=>a)),this._peerNameSet=e),e}getExtensionDependency(){if(!this._dependency){const e=this.state;(function(a){return a.id>=Le})(e)||pt(317,this.extension.name),this._dependency={config:e.config,init:e.initResult,output:e.output}}return this._dependency}}const Aa={tag:v.HISTORY_MERGE_TAG};function Ki(){const t=v.$getRoot();t.isEmpty()&&t.append(v.$createParagraphNode())}const Ui=v.defineExtension({config:v.safeCast({setOptions:Aa,updateOptions:Aa}),init:({$initialEditorState:t=Ki})=>({$initialEditorState:t,initialized:!1}),afterRegistration(t,{updateOptions:e,setOptions:a},n){const i=n.getInitResult();if(!i.initialized){i.initialized=!0;const{$initialEditorState:l}=i;if(v.$isEditorState(l))t.setEditorState(l,a);else if(typeof l=="function")t.update(()=>{l(t)},e);else if(l&&(typeof l=="string"||typeof l=="object")){const c=t.parseEditorState(l);t.setEditorState(c,a)}}return()=>{}},name:"@lexical/extension/InitialState",nodes:[v.RootNode,v.TextNode,v.LineBreakNode,v.TabNode,v.ParagraphNode]}),Ba=Symbol.for("@lexical/extension/LexicalBuilder");function Va(){}function Gi(t){throw t}function gr(t){return Array.isArray(t)?t:[t]}const $r="0.43.0+prod.esm";class $e{constructor(e){Vt(this,"roots");Vt(this,"extensionNameMap");Vt(this,"outgoingConfigEdges");Vt(this,"incomingEdges");Vt(this,"conflicts");Vt(this,"_sortedExtensionReps");Vt(this,"PACKAGE_VERSION");this.outgoingConfigEdges=new Map,this.incomingEdges=new Map,this.extensionNameMap=new Map,this.conflicts=new Map,this.PACKAGE_VERSION=$r,this.roots=e;for(const a of e)this.addExtension(a)}static fromExtensions(e){const a=[gr(Ui)];for(const n of e)a.push(gr(n));return new $e(a)}static maybeFromEditor(e){const a=e[Ba];return a&&(a.PACKAGE_VERSION!==$r&&pt(292,a.PACKAGE_VERSION,$r),a instanceof $e||pt(293)),a}static fromEditor(e){const a=$e.maybeFromEditor(e);return a===void 0&&pt(294),a}constructEditor(){const{$initialEditorState:e,onError:a,...n}=this.buildCreateEditorArgs(),i=Object.assign(v.createEditor({...n,...a?{onError:l=>{a(l,i)}}:{}}),{[Ba]:this});for(const l of this.sortedExtensionReps())l.build(i);return i}buildEditor(){let e=Va;function a(){try{e()}finally{e=Va}}const n=Object.assign(this.constructEditor(),{dispose:a,[Symbol.dispose]:a});return e=v.mergeRegister(this.registerEditor(n),()=>n.setRootElement(null)),n}hasExtensionByName(e){return this.extensionNameMap.has(e)}getExtensionRep(e){const a=this.extensionNameMap.get(e.name);if(a)return a.extension!==e&&pt(295,e.name),a}addEdge(e,a,n){const i=this.outgoingConfigEdges.get(e);i?i.set(a,n):this.outgoingConfigEdges.set(e,new Map([[a,n]]));const l=this.incomingEdges.get(a);l?l.add(e):this.incomingEdges.set(a,new Set([e]))}addExtension(e){this._sortedExtensionReps!==void 0&&pt(296);const a=gr(e),[n]=a;typeof n.name!="string"&&pt(297,typeof n.name);let i=this.extensionNameMap.get(n.name);if(i!==void 0&&i.extension!==n&&pt(298,n.name),!i){i=new Fi(this,n),this.extensionNameMap.set(n.name,i);const l=this.conflicts.get(n.name);typeof l=="string"&&pt(299,n.name,l);for(const c of n.conflictsWith||[])this.extensionNameMap.has(c)&&pt(299,n.name,c),this.conflicts.set(c,n.name);for(const c of n.dependencies||[]){const d=gr(c);this.addEdge(n.name,d[0].name,d.slice(1)),this.addExtension(d)}for(const[c,d]of n.peerDependencies||[])this.addEdge(n.name,c,d?[d]:[])}}sortedExtensionReps(){if(this._sortedExtensionReps)return this._sortedExtensionReps;const e=[],a=(n,i)=>{let l=n.state;if(yo(l))return;const c=n.extension.name;var d;Vr(l)||pt(300,c,i||"[unknown]"),Vr(d=l)||pt(304,String(d.id),String(la)),l=Object.assign(d,{id:Jr}),n.state=l;const u=this.outgoingConfigEdges.get(c);if(u)for(const w of u.keys()){const p=this.extensionNameMap.get(w);p&&a(p,c)}l=Vi(l),n.state=l,e.push(n)};for(const n of this.extensionNameMap.values())Vr(n.state)&&a(n);for(const n of e)for(const[i,l]of this.outgoingConfigEdges.get(n.extension.name)||[])if(l.length>0){const c=this.extensionNameMap.get(i);if(c)for(const d of l)c.configs.add(d)}for(const[n,...i]of this.roots)if(i.length>0){const l=this.extensionNameMap.get(n.name);l===void 0&&pt(301,n.name);for(const c of i)l.configs.add(c)}return this._sortedExtensionReps=e,this._sortedExtensionReps}registerEditor(e){const a=this.sortedExtensionReps(),n=new AbortController,i=[()=>n.abort()],l=n.signal;for(const c of a){const d=c.register(e,l);d&&i.push(d)}for(const c of a){const d=c.afterRegistration(e);d&&i.push(d)}return v.mergeRegister(...i)}buildCreateEditorArgs(){const e={},a=new Set,n=new Map,i=new Map,l={},c={},d=this.sortedExtensionReps();for(const p of d){const{extension:h}=p;if(h.onError!==void 0&&(e.onError=h.onError),h.disableEvents!==void 0&&(e.disableEvents=h.disableEvents),h.parentEditor!==void 0&&(e.parentEditor=h.parentEditor),h.editable!==void 0&&(e.editable=h.editable),h.namespace!==void 0&&(e.namespace=h.namespace),h.$initialEditorState!==void 0&&(e.$initialEditorState=h.$initialEditorState),h.nodes)for(const g of Ai(h)){if(typeof g!="function"){const m=n.get(g.replace);m&&pt(302,h.name,g.replace.name,m.extension.name),n.set(g.replace,p)}a.add(g)}if(h.html){if(h.html.export)for(const[g,m]of h.html.export.entries())i.set(g,m);h.html.import&&Object.assign(l,h.html.import)}h.theme&&bo(c,h.theme)}Object.keys(c).length>0&&(e.theme=c),a.size&&(e.nodes=[...a]);const u=Object.keys(l).length>0,w=i.size>0;(u||w)&&(e.html={},u&&(e.html.import=l),w&&(e.html.export=i));for(const p of d)p.init(e);return e.onError||(e.onError=Gi),e}}const Hi=new Set,$a=v.defineExtension({build(t,e,a){const n=a.getDependency(Wr).output,i=er({watchedNodeKeys:new Map}),l=vo(()=>{},()=>pe(()=>{const c=l.peek(),{watchedNodeKeys:d}=i.value;let u,w=!1;n.value.read(()=>{if(v.$getSelection())for(const[p,h]of d.entries()){if(h.size===0){d.delete(p);continue}const g=v.$getNodeByKey(p),m=g&&g.isSelected()||!1;w=w||m!==(!!c&&c.has(p)),m&&(u=u||new Set,u.add(p))}}),!w&&u&&c&&u.size===c.size||(l.value=u)}));return{watchNodeKey:function(c){const d=zi(()=>(l.value||Hi).has(c)),{watchedNodeKeys:u}=i.peek();let w=u.get(c);const p=w!==void 0;return w=w||new Set,w.add(d),p||(u.set(c,w),i.value={watchedNodeKeys:u}),d}}},dependencies:[Wr],name:"@lexical/extension/NodeSelection"}),qi=v.createCommand("INSERT_HORIZONTAL_RULE_COMMAND");class Fe extends v.DecoratorNode{static getType(){return"horizontalrule"}static clone(e){return new Fe(e.__key)}static importJSON(e){return da().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:Yi,priority:0})}}exportDOM(){return{element:document.createElement("hr")}}createDOM(e){const a=document.createElement("hr");return v.addClassNamesToElement(a,e.theme.hr),a}getTextContent(){return` -`}isInline(){return!1}updateDOM(){return!1}}function Yi(){return{node:da()}}function da(){return v.$create(Fe)}function Zi(t){return t instanceof Fe}v.defineExtension({dependencies:[Wr,$a],name:"@lexical/extension/HorizontalRule",nodes:()=>[Fe],register(t,e,a){const{watchNodeKey:n}=a.getDependency($a).output,i=er({nodeSelections:new Map}),l=t._config.theme.hrSelected??"selected";return v.mergeRegister(t.registerCommand(qi,c=>{const d=v.$getSelection();if(!v.$isRangeSelection(d))return!1;if(d.focus.getNode()!==null){const u=da();Ri(u)}return!0},v.COMMAND_PRIORITY_EDITOR),t.registerCommand(v.CLICK_COMMAND,c=>{if(v.isDOMNode(c.target)){const d=v.$getNodeFromDOMNode(c.target);if(Zi(d))return function(u,w=!1){const p=v.$getSelection(),h=u.isSelected(),g=u.getKey();let m;w&&v.$isNodeSelection(p)?m=p:(m=v.$createNodeSelection(),v.$setSelection(m)),h?m.delete(g):m.add(g)}(d,c.shiftKey),!0}return!1},v.COMMAND_PRIORITY_LOW),t.registerMutationListener(Fe,(c,d)=>{Oi(()=>{let u=!1;const{nodeSelections:w}=i.peek();for(const[p,h]of c.entries())if(h==="destroyed")w.delete(p),u=!0;else{const g=w.get(p),m=t.getElementByKey(p);g?g.domNode.value=m:(u=!0,w.set(p,{domNode:er(m),selectedSignal:n(p)}))}u&&(i.value={nodeSelections:w})})}),pe(()=>{const c=[];for(const{domNode:d,selectedSignal:u}of i.value.nodeSelections.values())c.push(pe(()=>{const w=d.value;w&&(u.value?v.addClassNamesToElement(w,l):v.removeClassNamesFromElement(w,l))}));return v.mergeRegister(...c)}))}});v.defineExtension({build:(t,e)=>Ue({inheritEditableFromParent:e.inheritEditableFromParent}),config:v.safeCast({$getParentEditor:function(){const t=v.$getEditor();return $e.fromEditor(t),t},inheritEditableFromParent:!1}),init:(t,e,a)=>{const n=e.$getParentEditor();t.parentEditor=n,t.theme=t.theme||n._config.theme},name:"@lexical/extension/NestedEditor",register:(t,e,a)=>pe(()=>{const n=t._parentEditor;if(n&&a.getOutput().inheritEditableFromParent.value)return t.setEditable(n.isEditable()),n.registerEditableListener(t.setEditable.bind(t))})});v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({disabled:!1,onReposition:void 0}),name:"@lexical/utils/SelectionAlwaysOnDisplay",register:(t,e,a)=>{const n=a.getOutput();return pe(()=>{if(!n.disabled.value)return Ti(t,n.onReposition.value)})}});function ko(t){return t.canBeEmpty()}function Xi(t,e,a=ko){return v.mergeRegister(t.registerCommand(v.KEY_TAB_COMMAND,n=>{const i=v.$getSelection();if(!v.$isRangeSelection(i))return!1;n.preventDefault();const l=function(c){if(c.getNodes().filter(g=>v.$isBlockElementNode(g)&&g.canIndent()).length>0)return!0;const d=c.anchor,u=c.focus,w=u.isBefore(d)?u:d,p=w.getNode(),h=Si(p);if(h.canIndent()){const g=h.getKey();let m=v.$createRangeSelection();if(m.anchor.set(g,0,"element"),m.focus.set(g,0,"element"),m=v.$normalizeSelection__EXPERIMENTAL(m),m.anchor.is(w))return!0}return!1}(i)?n.shiftKey?v.OUTDENT_CONTENT_COMMAND:v.INDENT_CONTENT_COMMAND:v.INSERT_TAB_COMMAND;return t.dispatchCommand(l,void 0)},v.COMMAND_PRIORITY_EDITOR),t.registerCommand(v.INDENT_CONTENT_COMMAND,()=>{const n=typeof e=="number"?e:e?e.peek():null,i=v.$getSelection();if(!v.$isRangeSelection(i))return!1;const l=typeof a=="function"?a:a.peek();return Di(c=>{if(l(c)){const d=c.getIndent()+1;(!n||dUe(e),config:v.safeCast({$canIndent:ko,disabled:!1,maxIndent:null}),name:"@lexical/extension/TabIndentation",register(t,e,a){const{disabled:n,maxIndent:i,$canIndent:l}=a.getOutput();return pe(()=>{if(!n.value)return Xi(t,i,l)})}});const Wi=v.defineExtension({name:"@lexical/react/ReactProvider"});function Ji(){return v.$getRoot().getTextContent()}function Qi(t,e=!0){if(t)return!1;let a=Ji();return e&&(a=a.trim()),a===""}function ts(t){if(!Qi(t,!1))return!1;const e=v.$getRoot().getChildren(),a=e.length;if(a>1)return!1;for(let n=0;nts(t)}function jo(t){const e=window.location.origin,a=n=>{if(n.origin!==e)return;const i=t.getRootElement();if(document.activeElement!==i)return;const l=n.data;if(typeof l=="string"){let c;try{c=JSON.parse(l)}catch{return}if(c&&c.protocol==="nuanria_messaging"&&c.type==="request"){const d=c.payload;if(d&&d.functionId==="makeChanges"){const u=d.args;if(u){const[w,p,h,g,m]=u;t.update(()=>{const k=v.$getSelection();if(v.$isRangeSelection(k)){const x=k.anchor;let f=x.getNode(),C=0,N=0;if(v.$isTextNode(f)&&w>=0&&p>=0&&(C=w,N=w+p,k.setTextNodeRange(f,C,f,N)),C===N&&h===""||(k.insertRawText(h),f=x.getNode()),v.$isTextNode(f)){C=g,N=g+m;const E=f.getTextContentSize();C=C>E?E:C,N=N>E?E:N,k.setTextNodeRange(f,C,f,N)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",a,!0),()=>{window.removeEventListener("message",a,!0)}}v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({disabled:typeof window>"u"}),name:"@lexical/dragon",register:(t,e,a)=>pe(()=>a.getOutput().disabled.value?void 0:jo(t))});function es(t,...e){const a=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",t);for(const i of e)n.append("v",i);throw a.search=n.toString(),Error(`Minified Lexical error #${t}; visit ${a.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const wa=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function rs({editor:t,ErrorBoundary:e}){return function(a,n){const[i,l]=s.useState(()=>a.getDecorators());return wa(()=>a.registerDecoratorListener(c=>{Sa.flushSync(()=>{l(c)})}),[a]),s.useEffect(()=>{l(a.getDecorators())},[a]),s.useMemo(()=>{const c=[],d=Object.keys(i);for(let u=0;ua._onError(g),children:r.jsx(s.Suspense,{fallback:null,children:i[w]})}),h=a.getElementByKey(w);h!==null&&c.push(Sa.createPortal(p,h,w))}return c},[n,i,a])}(t,e)}function as({editor:t,ErrorBoundary:e}){return function(a){const n=$e.maybeFromEditor(a);if(n&&n.hasExtensionByName(Wi.name)){for(const i of["@lexical/plain-text","@lexical/rich-text"])n.hasExtensionByName(i)&&es(320,i);return!0}return!1}(t)?null:r.jsx(rs,{editor:t,ErrorBoundary:e})}function Fa(t){return t.getEditorState().read(_o(t.isComposing()))}function os({contentEditable:t,placeholder:e=null,ErrorBoundary:a}){const[n]=he();return function(i){wa(()=>v.mergeRegister(Gr.registerRichText(i),jo(i)),[i])}(n),r.jsxs(r.Fragment,{children:[t,r.jsx(ns,{content:e}),r.jsx(as,{editor:n,ErrorBoundary:a})]})}function ns({content:t}){const[e]=he(),a=function(i){const[l,c]=s.useState(()=>Fa(i));return wa(()=>{function d(){const u=Fa(i);c(u)}return d(),v.mergeRegister(i.registerUpdateListener(()=>{d()}),i.registerEditableListener(()=>{d()}))},[i]),l}(e),n=yi();return a?typeof t=="function"?t(n):t:null}function is({defaultSelection:t}){const[e]=he();return s.useEffect(()=>{e.focus(()=>{const a=document.activeElement,n=e.getRootElement();n===null||a!==null&&n.contains(a)||n.focus({preventScroll:!0})},{defaultSelection:t})},[t,e]),null}const ss=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function cs({onClear:t}){const[e]=he();return ss(()=>fo(e,t),[e,t]),null}const Co=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function ls({editor:t,ariaActiveDescendant:e,ariaAutoComplete:a,ariaControls:n,ariaDescribedBy:i,ariaErrorMessage:l,ariaExpanded:c,ariaInvalid:d,ariaLabel:u,ariaLabelledBy:w,ariaMultiline:p,ariaOwns:h,ariaRequired:g,autoCapitalize:m,className:k,id:x,role:f="textbox",spellCheck:C=!0,style:N,tabIndex:E,"data-testid":_,...O},T){const[D,I]=s.useState(t.isEditable()),M=s.useCallback(Z=>{Z&&Z.ownerDocument&&Z.ownerDocument.defaultView?t.setRootElement(Z):t.setRootElement(null)},[t]),R=s.useMemo(()=>function(...Z){return X=>{for(const rt of Z)typeof rt=="function"?rt(X):rt!=null&&(rt.current=X)}}(T,M),[M,T]);return Co(()=>(I(t.isEditable()),t.registerEditableListener(Z=>{I(Z)})),[t]),r.jsx("div",{"aria-activedescendant":D?e:void 0,"aria-autocomplete":D?a:"none","aria-controls":D?n:void 0,"aria-describedby":i,...l!=null?{"aria-errormessage":l}:{},"aria-expanded":D&&f==="combobox"?!!c:void 0,...d!=null?{"aria-invalid":d}:{},"aria-label":u,"aria-labelledby":w,"aria-multiline":p,"aria-owns":D?h:void 0,"aria-readonly":!D||void 0,"aria-required":g,autoCapitalize:m,className:k,contentEditable:D,"data-testid":_,id:x,ref:R,role:f,spellCheck:C,style:N,tabIndex:E,...O})}const ds=s.forwardRef(ls);function Ka(t){return t.getEditorState().read(_o(t.isComposing()))}const ws=s.forwardRef(us);function us(t,e){const{placeholder:a,...n}=t,[i]=he();return r.jsxs(r.Fragment,{children:[r.jsx(ds,{editor:i,...n,ref:e}),a!=null&&r.jsx(ps,{editor:i,content:a})]})}function ps({content:t,editor:e}){const a=function(c){const[d,u]=s.useState(()=>Ka(c));return Co(()=>{function w(){const p=Ka(c);u(p)}return w(),v.mergeRegister(c.registerUpdateListener(()=>{w()}),c.registerEditableListener(()=>{w()}))},[c]),d}(e),[n,i]=s.useState(e.isEditable());if(s.useLayoutEffect(()=>(i(e.isEditable()),e.registerEditableListener(c=>{i(c)})),[e]),!a)return null;let l=null;return typeof t=="function"?l=t(n):t!==null&&(l=t),l===null?null:r.jsx("div",{"aria-hidden":!0,children:l})}function hs({placeholder:t,className:e,placeholderClassName:a}){return r.jsx(ws,{className:e??"ContentEditable__root tw:relative tw:block tw:min-h-11 tw:overflow-auto tw:px-3 tw:py-3 tw:text-sm tw:outline-hidden","aria-placeholder":t,placeholder:r.jsx("div",{className:a??"tw:pointer-events-none tw:absolute tw:top-0 tw:select-none tw:overflow-hidden tw:text-ellipsis tw:px-3 tw:py-3 tw:text-sm tw:text-muted-foreground",children:t})})}const No=s.createContext(void 0);function gs({activeEditor:t,$updateToolbar:e,blockType:a,setBlockType:n,showModal:i,children:l}){const c=s.useMemo(()=>({activeEditor:t,$updateToolbar:e,blockType:a,setBlockType:n,showModal:i}),[t,e,a,n,i]);return r.jsx(No.Provider,{value:c,children:l})}function Eo(){const t=s.useContext(No);if(!t)throw new Error("useToolbarContext must be used within a ToolbarContext provider");return t}function fs(){const[t,e]=s.useState(void 0),a=s.useCallback(()=>{e(void 0)},[]),n=s.useMemo(()=>{if(t===void 0)return;const{title:l,content:c}=t;return r.jsx(o.Dialog,{open:!0,onOpenChange:a,children:r.jsxs(o.DialogContent,{children:[r.jsx(o.DialogHeader,{children:r.jsx(o.DialogTitle,{children:l})}),c]})})},[t,a]),i=s.useCallback((l,c,d=!1)=>{e({closeOnClickOutside:d,content:c(a),title:l})},[a]);return[n,i]}function ms({children:t}){const[e]=he(),[a,n]=s.useState(e),[i,l]=s.useState("paragraph"),[c,d]=fs(),u=()=>{};return s.useEffect(()=>a.registerCommand(v.SELECTION_CHANGE_COMMAND,(w,p)=>(n(p),!1),v.COMMAND_PRIORITY_CRITICAL),[a]),r.jsxs(gs,{activeEditor:a,$updateToolbar:u,blockType:i,setBlockType:l,showModal:d,children:[c,t({blockType:i})]})}function vs(t){const[e]=he(),{activeEditor:a}=Eo();s.useEffect(()=>a.registerCommand(v.SELECTION_CHANGE_COMMAND,()=>{const n=v.$getSelection();return n&&t(n),!1},v.COMMAND_PRIORITY_CRITICAL),[e,t]),s.useEffect(()=>{a.getEditorState().read(()=>{const n=v.$getSelection();n&&t(n)})},[a,t])}const bs=aa.cva("pr-twp tw:group/toggle tw:inline-flex tw:items-center tw:justify-center tw:gap-1 tw:rounded-lg tw:text-sm tw:font-medium tw:whitespace-nowrap tw:transition-all tw:outline-none tw:hover:bg-muted tw:hover:text-foreground tw:focus-visible:border-ring tw:focus-visible:ring-[3px] tw:focus-visible:ring-ring/50 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-destructive/20 tw:aria-pressed:bg-muted tw:data-[state=on]:bg-muted tw:dark:aria-invalid:ring-destructive/40 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",{variants:{variant:{default:"tw:bg-transparent",outline:"tw:border tw:border-input tw:bg-transparent tw:hover:bg-muted"},size:{default:"tw:h-8 tw:min-w-8 tw:px-2.5 tw:has-data-[icon=inline-end]:pe-2 tw:has-data-[icon=inline-start]:ps-2",sm:"tw:h-7 tw:min-w-7 tw:rounded-[min(var(--tw-radius-md),12px)] tw:px-2.5 tw:text-[0.8rem] tw:has-data-[icon=inline-end]:pe-1.5 tw:has-data-[icon=inline-start]:ps-1.5 tw:[&_svg:not([class*=size-])]:size-3.5",lg:"tw:h-9 tw:min-w-9 tw:px-2.5 tw:has-data-[icon=inline-end]:pe-2 tw:has-data-[icon=inline-start]:ps-2"}},defaultVariants:{variant:"default",size:"default"}}),To=s.createContext({size:"default",variant:"default",spacing:0,orientation:"horizontal"});function ua({className:t,variant:e,size:a,spacing:n=0,orientation:i="horizontal",children:l,...c}){const d=o.readDirection();return r.jsx(V.ToggleGroup.Root,{"data-slot":"toggle-group","data-variant":e,"data-size":a,"data-spacing":n,"data-orientation":i,style:{"--gap":n},className:o.cn("pr-twp tw:group/toggle-group tw:flex tw:w-fit tw:flex-row tw:items-center tw:gap-[--spacing(var(--gap))] tw:rounded-lg tw:data-[size=sm]:rounded-[min(var(--tw-radius-md),10px)] tw:data-vertical:flex-col tw:data-vertical:items-stretch",t),dir:d,...c,children:r.jsx(To.Provider,{value:s.useMemo(()=>({variant:e,size:a,spacing:n,orientation:i}),[e,a,n,i]),children:l})})}function tr({className:t,children:e,variant:a="default",size:n="default",...i}){const l=s.useContext(To);return r.jsx(V.ToggleGroup.Item,{"data-slot":"toggle-group-item","data-variant":l.variant||a,"data-size":l.size||n,"data-spacing":l.spacing,className:o.cn("tw:shrink-0 tw:group-data-[spacing=0]/toggle-group:rounded-none tw:group-data-[spacing=0]/toggle-group:px-2 tw:focus:z-10 tw:focus-visible:z-10 tw:group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pe-1.5 tw:group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:ps-1.5 tw:group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-s-lg tw:group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg tw:group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-e-lg tw:group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg tw:group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-s-0 tw:group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 tw:group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-s tw:group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t",bs({variant:l.variant||a,size:l.size||n}),t),...i,children:e})}const Ua=[{format:"bold",icon:B.BoldIcon,label:"Bold"},{format:"italic",icon:B.ItalicIcon,label:"Italic"}];function xs(){const{activeEditor:t}=Eo(),[e,a]=s.useState([]),n=s.useCallback(i=>{if(v.$isRangeSelection(i)||Bn.$isTableSelection(i)){const l=[];Ua.forEach(({format:c})=>{i.hasFormat(c)&&l.push(c)}),a(c=>c.length!==l.length||!l.every(d=>c.includes(d))?l:c)}},[]);return vs(n),r.jsx(ua,{type:"multiple",value:e,onValueChange:a,variant:"outline",size:"sm",children:Ua.map(({format:i,icon:l,label:c})=>r.jsx(tr,{value:i,"aria-label":c,onClick:()=>{t.dispatchCommand(v.FORMAT_TEXT_COMMAND,i)},children:r.jsx(l,{className:"tw:h-4 tw:w-4"})},i))})}const pa="data-platform-content-zoom-root",ys="data-platform-content-zoom-scope",ha="data-platform-content-zoom-label",So=s.createContext(void 0);function ks({area:t,label:e,children:a}){const n=s.useMemo(()=>({[pa]:t??"",...e?{[ha]:e}:{}}),[t,e]);return r.jsx(So.Provider,{value:n,children:a})}function De(){return s.useContext(So)??{}}function _s({onClear:t}){const[e]=he();s.useEffect(()=>{t&&t(()=>{e.dispatchCommand(v.CLEAR_EDITOR_COMMAND,void 0)})},[e,t])}function js({placeholder:t="Start typing ...",autoFocus:e=!1,onClear:a,actions:n}){const i=De(),[,l]=s.useState(void 0),c=d=>{d!==void 0&&l(d)};return r.jsxs("div",{className:"tw:relative",children:[r.jsx(ms,{children:()=>r.jsx("div",{"data-testid":"editor-format-toolbar",className:"tw:sticky tw:top-0 tw:flex tw:gap-2 tw:overflow-auto tw:border-b tw:p-1",children:r.jsx(xs,{})})}),r.jsxs("div",{className:"tw:relative",children:[r.jsx(os,{contentEditable:r.jsx("div",{ref:c,...i,children:r.jsx(hs,{placeholder:t})}),ErrorBoundary:vi}),e&&r.jsx(is,{defaultSelection:"rootEnd"}),r.jsx(_s,{onClear:a}),r.jsx(cs,{})]}),n&&r.jsx("div",{"data-slot":"editor-actions",className:"tw:flex tw:flex-row tw:items-center tw:gap-2 tw:border-t tw:px-2 tw:py-1.5",children:n})]})}const Cs={namespace:"commentEditor",theme:ia,nodes:sa,onError:t=>{console.error(t)}};function Nr({editorState:t,editorSerializedState:e,onChange:a,onSerializedChange:n,placeholder:i="Start typing…",autoFocus:l=!1,onClear:c,className:d,actions:u}){const[w]=s.useState(()=>({...Cs,...t?{editorState:t}:{},...e?{editorState:JSON.stringify(e)}:{}})),p=s.useCallback(h=>{a==null||a(h),n==null||n(h.toJSON())},[a,n]);return r.jsx("div",{className:o.cn("pr-twp tw:overflow-hidden tw:rounded-lg tw:border tw:bg-background tw:shadow",d),children:r.jsx(ui,{initialConfig:w,children:r.jsxs(o.TooltipProvider,{children:[r.jsx(js,{placeholder:i,autoFocus:l,onClear:c,actions:u}),r.jsx(hi,{ignoreSelectionChange:!0,onChange:p})]})})})}function Ro(t){const e=t.querySelector('[contenteditable="true"]');if(!e)return!1;e.focus();const a=window.getSelection(),n=document.createRange();return n.selectNodeContents(e),n.collapse(!1),a==null||a.removeAllRanges(),a==null||a.addRange(n),!0}function Mo(t){return t?t.some(e=>e&&"text"in e&&e.text.trim().length>0?!0:!e||!("children"in e)?!1:Mo(e.children)):!1}function qt(t){var e;return(e=t==null?void 0:t.root)!=null&&e.children?Mo(t.root.children):!1}function Ns(t){if(!t||t.trim()==="")throw new Error("Input HTML is empty");const e=Ja.createHeadlessEditor({namespace:"EditorUtils",theme:ia,nodes:sa,onError:n=>{console.error(n)}});let a;if(e.update(()=>{const i=new DOMParser().parseFromString(t,"text/html"),l=Qa.$generateNodesFromDOM(e,i);v.$getRoot().clear(),v.$insertNodes(l)},{discrete:!0}),e.getEditorState().read(()=>{a=e.getEditorState().toJSON()}),!a)throw new Error("Failed to convert HTML to editor state");return a}function Er(t){const e=Ja.createHeadlessEditor({namespace:"EditorUtils",theme:ia,nodes:sa,onError:i=>{console.error(i)}}),a=e.parseEditorState(JSON.stringify(t));e.setEditorState(a);let n="";return e.getEditorState().read(()=>{n=Qa.$generateHtmlFromNodes(e)}),n=n.replace(/\s+style="[^"]*"/g,"").replace(/\s+class="[^"]*"/g,"").replace(/(.*?)<\/span>/g,"$1").replace(/]*>(.*?)<\/strong><\/b>/g,"$1").replace(/]*>(.*?)<\/b><\/strong>/g,"$1").replace(/]*>(.*?)<\/em><\/i>/g,"$1").replace(/]*>(.*?)<\/i><\/em>/g,"$1").replace(/]*>(.*?)<\/span><\/u>/g,"$1").replace(/]*>(.*?)<\/span><\/s>/g,"$1").replace(//gi,"
"),n}function ga(t){return["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End"].includes(t.key)?(t.stopPropagation(),!0):!1}const fa=Object.freeze(["%cancelButton_tooltip%","%acceptButton_tooltip%"]),Ga=(t,e)=>t[e]??e;function ma({onCancelClick:t,onAcceptClick:e,canAccept:a=!0,localizedStrings:n={},className:i="tw:h-6 tw:w-6",acceptLabel:l}){const c=Ga(n,"%cancelButton_tooltip%"),d=l??Ga(n,"%acceptButton_tooltip%");return r.jsxs(o.ButtonGroup,{children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":c,className:i,size:"icon",onClick:t,variant:"secondary",children:r.jsx(B.X,{})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:c})})]})}),r.jsx(o.ButtonGroupSeparator,{}),r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":d,className:i,size:"icon",onClick:e,disabled:!a,children:r.jsx(B.Check,{})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:d})})]})})]})}const Es="verseText",Ts=Object.freeze(["%conflict_note_description_verseText%","%conflict_note_choose_aria_label%","%conflict_note_stale_notice%","%conflict_note_resolve_failed%","%conflict_note_choose_prompt%","%conflict_note_option_keep_current%","%conflict_note_option_use_other%","%conflict_note_option_combine%","%conflict_note_save_and_resolve%","%conflict_note_save_disabled_tooltip%","%conflict_note_save_warning%","%conflict_note_no_result%","%conflict_note_outcome_used_other%","%conflict_note_outcome_combined%","%conflict_note_summary_unresolved%","%conflict_note_summary_resolved_kept_current%","%conflict_note_summary_resolved_used_other%","%conflict_note_summary_resolved_combined%"]);function Je(t){return t!==void 0&&Object.keys(t).length>0}function Qr(t){return t.editorState===void 0&&t.assignedUser===void 0&&!Je(t.commentEdits)}const Do=["tw:prose tw:max-w-none tw:break-words tw:text-sm tw:font-normal tw:text-foreground","tw:[&>blockquote]:border-s-0 tw:[&>blockquote]:p-0 tw:[&>blockquote]:ps-0 tw:[&>blockquote]:font-normal tw:[&>blockquote]:not-italic tw:[&>blockquote]:text-foreground","tw:prose-quoteless"].join(" ");function Io(t){return(t==null?void 0:t.conflictType)===Es}function Oo(t){return t==="replaced"?"reject":t==="merged"?"merged":"accept"}function xr(t,e){return t===""?e["%comment_assign_unassigned%"]??"Unassigned":t==="Team"?e["%comment_assign_team%"]??"Team":t}function va(t){const e=o.isMacOs();return t.key==="Enter"&&(e&&t.metaKey||!e&&t.ctrlKey)}function Yt(t,e,a){const n=e[t];return n===void 0||n===t?a:n}const Ss={root:{children:[{children:[],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1}},Rs={root:{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1}};function Fr(t,e){return t===""?e["%commentEditor_unassigned%"]??"Unassigned":t==="Team"?e["%commentEditor_team%"]??"Team":t}function Ms({assignableUsers:t,onSave:e,onClose:a,localizedStrings:n,initialAssignedUser:i}){const[l,c]=s.useState(Rs),[d,u]=s.useState(i),[w,p]=s.useState(!1),h=s.useRef(void 0),g=s.useRef(null);s.useEffect(()=>{let f=!0;const C=g.current;if(!C)return;const N=setTimeout(()=>{f&&Ro(C)},300);return()=>{f=!1,clearTimeout(N)}},[]);const m=s.useCallback(()=>{if(!qt(l))return;const f=Er(l);e(f,d)},[l,e,d]),k=n["%commentEditor_placeholder%"]??"Type your comment here...",x=n["%commentEditor_assignTo_label%"]??"Assign to";return r.jsxs("div",{className:"pr-twp tw:grid tw:gap-3",children:[r.jsxs("div",{className:"tw:flex tw:items-center tw:justify-between",children:[r.jsx("span",{className:"tw:text-sm tw:font-medium",children:x}),r.jsx(ma,{onCancelClick:a,onAcceptClick:m,canAccept:qt(l),localizedStrings:n,acceptLabel:n["%commentEditor_saveButton_tooltip%"]})]}),r.jsx("div",{className:"tw:flex tw:items-center tw:gap-2",children:r.jsxs(o.Popover,{open:w,onOpenChange:p,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"outline",className:"tw:flex tw:w-full tw:items-center tw:justify-start tw:gap-2",disabled:t.length===0,children:[r.jsx(B.AtSign,{className:"tw:h-4 tw:w-4"}),r.jsx("span",{children:Fr(d!==void 0?d:"",n)})]})}),r.jsx(o.PopoverContent,{className:"tw:w-auto tw:p-0",align:"start",onKeyDown:f=>{f.key==="Escape"&&(f.stopPropagation(),p(!1))},children:r.jsx(o.Command,{children:r.jsx(o.CommandList,{children:t.map(f=>r.jsx(o.CommandItem,{onSelect:()=>{u(f||void 0),p(!1)},className:"tw:flex tw:items-center",children:r.jsx("span",{children:Fr(f,n)})},f||"unassigned"))})})})]})}),r.jsx("div",{ref:g,role:"textbox",tabIndex:-1,className:"tw:outline-hidden",onKeyDownCapture:f=>{f.key==="Escape"?(f.preventDefault(),f.stopPropagation(),a()):va(f)&&(f.preventDefault(),f.stopPropagation(),qt(l)&&m())},onKeyDown:f=>{ga(f),(f.key==="Enter"||f.key===" ")&&f.stopPropagation()},children:r.jsx(Nr,{editorSerializedState:l,onSerializedChange:f=>c(f),placeholder:k,onClear:f=>{h.current=f}})})]})}const Ds=Object.freeze(["%commentEditor_placeholder%","%commentEditor_assignTo_label%","%commentEditor_saveButton_tooltip%","%commentEditor_unassigned%","%commentEditor_team%",...fa]),Is=Object.freeze(["%comment_assign_team%","%comment_assign_unassigned%","%comment_assigned_to%","%comment_assigning_to%","%comment_dateAtTime%","%comment_date_today%","%comment_date_yesterday%","%comment_deleteComment%","%comment_editComment%","%comment_replyOrAssign%","%comment_reopenResolved%","%comment_status_resolved%","%comment_status_todo%","%comment_thread_multiple_replies%","%comment_thread_single_reply%","%comment_aria_assign_user%","%comment_aria_submit_comment%","%comment_aria_mark_as_read%","%comment_aria_mark_as_unread%","%comment_aria_resolve_thread%","%comment_aria_cancel_edit%","%comment_aria_save_edit%"]),Po="comment-list";function Os(t){return t}function zo({className:t,size:e="default",...a}){return r.jsx("div",{"data-slot":"card","data-size":e,className:o.cn("pr-twp tw:group/card tw:flex tw:flex-col tw:gap-4 tw:overflow-hidden tw:rounded-xl tw:bg-card tw:py-4 tw:text-sm tw:text-card-foreground tw:ring-1 tw:ring-foreground/10 tw:has-data-[slot=card-footer]:pb-0 tw:has-[>img:first-child]:pt-0 tw:data-[size=sm]:gap-3 tw:data-[size=sm]:py-3 tw:data-[size=sm]:has-data-[slot=card-footer]:pb-0 tw:*:[img:first-child]:rounded-t-xl tw:*:[img:last-child]:rounded-b-xl",t),...a})}function Ps({className:t,...e}){return r.jsx("div",{"data-slot":"card-header",className:o.cn("pr-twp tw:group/card-header tw:@container/card-header tw:grid tw:auto-rows-min tw:items-start tw:gap-1 tw:rounded-t-xl tw:px-4 tw:group-data-[size=sm]/card:px-3 tw:has-data-[slot=card-action]:grid-cols-[1fr_auto] tw:has-data-[slot=card-description]:grid-rows-[auto_auto] tw:[.border-b]:pb-4 tw:group-data-[size=sm]/card:[.border-b]:pb-3",t),...e})}function zs({className:t,...e}){return r.jsx("div",{"data-slot":"card-title",className:o.cn("pr-twp tw:font-heading tw:text-base tw:leading-snug tw:font-medium tw:group-data-[size=sm]/card:text-sm",t),...e})}function Ls({className:t,...e}){return r.jsx("div",{"data-slot":"card-description",className:o.cn("pr-twp tw:text-sm tw:text-muted-foreground",t),...e})}function Lo({className:t,...e}){return r.jsx("div",{"data-slot":"card-content",className:o.cn("pr-twp tw:px-4 tw:group-data-[size=sm]/card:px-3",t),...e})}function As({className:t,...e}){return r.jsx("div",{"data-slot":"card-footer",className:o.cn("pr-twp tw:flex tw:items-center tw:rounded-b-xl tw:border-t tw:bg-muted/50 tw:p-4 tw:group-data-[size=sm]/card:p-3",t),...e})}function Ke({children:t,isDisabled:e,disabledExplanation:a,...n}){return r.jsx("div",{...n,role:e?"group":void 0,tabIndex:e?0:void 0,"aria-label":e?a:void 0,children:t})}function Ao({className:t,size:e="default",...a}){return r.jsx(V.Avatar.Root,{"data-slot":"avatar","data-size":e,className:o.cn("pr-twp tw:group/avatar tw:relative tw:flex tw:size-8 tw:shrink-0 tw:rounded-full tw:select-none tw:after:absolute tw:after:inset-0 tw:after:rounded-full tw:after:border tw:after:border-border tw:after:mix-blend-darken tw:data-[size=lg]:size-10 tw:data-[size=sm]:size-6 tw:dark:after:mix-blend-lighten",t),...a})}function Bs({className:t,...e}){return r.jsx(V.Avatar.Image,{"data-slot":"avatar-image",className:o.cn("pr-twp tw:aspect-square tw:size-full tw:rounded-full tw:object-cover",t),...e})}function Bo({className:t,...e}){return r.jsx(V.Avatar.Fallback,{"data-slot":"avatar-fallback",className:o.cn("pr-twp tw:flex tw:size-full tw:items-center tw:justify-center tw:rounded-full tw:bg-muted tw:text-sm tw:text-muted-foreground tw:group-data-[size=sm]/avatar:text-xs",t),...e})}function Ha({comment:t,isReply:e=!1,localizedStrings:a,isThreadExpanded:n=!1,handleUpdateComment:i,handleDeleteComment:l,onEditingChange:c,canEditOrDelete:d=!1,draftEditorState:u,onDraftEditorStateChange:w}){const p=De(),[h,g]=s.useState(),m=u??h,x=m!==void 0&&n,f=w!==void 0,C=s.useCallback(y=>{f||g(y),w==null||w(y)},[f,w]),N=s.useRef(null),E=s.useRef(!1);s.useEffect(()=>{if(!x||!E.current)return;E.current=!1;let y=!0;const tt=N.current;if(!tt)return;const W=setTimeout(()=>{y&&Ro(tt)},300);return()=>{y=!1,clearTimeout(W)}},[x]);const _=s.useCallback(y=>{y&&y.stopPropagation(),C(void 0),c==null||c(!1)},[c,C]),O=s.useCallback(async y=>{if(y&&y.stopPropagation(),!m||!i)return;await i(t.id,Er(m))&&(C(void 0),c==null||c(!1))},[m,i,t.id,c,C]),T=s.useMemo(()=>{const y=new Date(t.date),tt=L.formatRelativeDate(y,a["%comment_date_today%"],a["%comment_date_yesterday%"]),W=y.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"});return L.formatReplacementString(a["%comment_dateAtTime%"],{date:tt,time:W})},[t.date,a]),D=s.useMemo(()=>t.user,[t.user]),I=s.useMemo(()=>t.user.split(" ").map(y=>y[0]).join("").toUpperCase().slice(0,2),[t.user]),M=s.useMemo(()=>L.sanitizeHtml(t.contents),[t.contents]),R=s.useMemo(()=>t.contents.replace(/<[^>]*>/g,"").trim().length>0,[t.contents]),Z=!!t.conflictResolutionAction&&!R,X=s.useMemo(()=>{if(n&&d)return r.jsxs(r.Fragment,{children:[r.jsxs(o.DropdownMenuItem,{onClick:y=>{y.stopPropagation(),E.current=!0;const tt=t.contents.trim()!=="";C(tt?Ns(t.contents):Ss),c==null||c(!0)},children:[r.jsx(B.Pencil,{className:"tw:me-2 tw:h-4 tw:w-4"}),a["%comment_editComment%"]]}),r.jsxs(o.DropdownMenuItem,{onClick:async y=>{y.stopPropagation(),l&&await l(t.id)},children:[r.jsx(B.Trash2,{className:"tw:me-2 tw:h-4 tw:w-4"}),a["%comment_deleteComment%"]]})]})},[d,n,a,t.contents,t.id,l,c,C]),rt=!qt(m);return r.jsxs("div",{className:o.cn("tw:flex tw:w-full tw:flex-row tw:items-baseline tw:gap-2",{"tw:text-sm":e}),children:[r.jsx(Ao,{className:"tw:h-8 tw:w-8",children:r.jsx(Bo,{className:"tw:text-xs tw:font-medium",children:I})}),r.jsxs("div",{className:"tw:flex tw:flex-1 tw:flex-col tw:gap-1",children:[r.jsxs("div",{className:"tw:flex tw:w-full tw:flex-row tw:flex-wrap tw:items-baseline tw:gap-x-2",children:[r.jsx("p",{className:"tw:text-sm tw:font-medium",children:D}),r.jsx("p",{className:"tw:text-xs tw:font-normal tw:text-muted-foreground",children:T}),r.jsx("div",{className:"tw:flex-1"}),e&&t.assignedUser!==void 0&&r.jsxs(o.Badge,{variant:"secondary",className:"tw:text-xs tw:font-normal",children:["→ ",xr(t.assignedUser,a)]})]}),x&&r.jsx("div",{role:"textbox",tabIndex:-1,className:"tw:flex tw:flex-col tw:gap-2",ref:N,onKeyDownCapture:y=>{y.key==="Escape"?(y.preventDefault(),y.stopPropagation(),_()):va(y)&&(y.preventDefault(),y.stopPropagation(),qt(m)&&O())},onKeyDown:y=>{ga(y),(y.key==="Enter"||y.key===" ")&&y.stopPropagation()},onClick:y=>{y.stopPropagation()},children:r.jsx(Nr,{className:o.cn('tw:[&_[data-lexical-editor="true"]>blockquote]:mt-0 tw:[&_[data-lexical-editor="true"]>blockquote]:border-s-0 tw:[&_[data-lexical-editor="true"]>blockquote]:ps-0 tw:[&_[data-lexical-editor="true"]>blockquote]:font-normal tw:[&_[data-lexical-editor="true"]>blockquote]:not-italic tw:[&_[data-lexical-editor="true"]>blockquote]:text-foreground'),editorSerializedState:m,onSerializedChange:y=>C(y),actions:r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"tw:flex-1"}),r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{size:"icon-sm",onClick:_,variant:"outline",className:"tw:flex tw:items-center tw:justify-center tw:rounded-md","aria-label":Yt("%comment_aria_cancel_edit%",a,"Cancel edit"),children:r.jsx(B.Undo2,{})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_cancel_edit%",a,"Cancel edit")})]}),r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:rt,disabledExplanation:Yt("%comment_aria_save_edit%",a,"Save edit"),className:"tw:inline-flex",children:r.jsx(o.Button,{size:"icon-sm",onClick:O,className:"tw:flex tw:items-center tw:justify-center tw:rounded-md",disabled:rt,"aria-label":Yt("%comment_aria_save_edit%",a,"Save edit"),children:r.jsx(B.ArrowUp,{})})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_save_edit%",a,"Save edit")})]})]})})}),!x&&r.jsxs(r.Fragment,{children:[t.status==="Resolved"&&!Z&&r.jsx("div",{className:"tw:text-sm tw:italic",children:a["%comment_status_resolved%"]}),t.status==="Todo"&&e&&r.jsx("div",{className:"tw:text-sm tw:italic",children:a["%comment_status_todo%"]}),Z?r.jsx("div",{className:"tw:text-sm tw:italic",children:Oo(t.conflictResolutionAction)==="merged"?a["%conflict_note_outcome_combined%"]??"Combined both changes.":a["%conflict_note_outcome_used_other%"]??"Used the other change instead of the current text."}):r.jsx("div",{className:o.cn(Do,"tw:items-start tw:gap-2",{"tw:line-clamp-3":!n}),...p,dangerouslySetInnerHTML:{__html:M}})]})]}),X&&r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"ghost",size:"icon",children:r.jsx(B.MoreHorizontal,{})})}),r.jsx(o.DropdownMenuContent,{align:"end",children:X})]})]})}function Vo({show:t,disabled:e=!1,onClick:a,ariaLabel:n}){if(t)return r.jsx(o.Button,{variant:"ghost",size:"icon",disabled:e,className:o.cn("tw:ms-auto","tw:text-primary tw:transition-opacity tw:duration-200 tw:hover:bg-primary/10","tw:opacity-0 tw:group-hover:opacity-100"),onClick:i=>{i.stopPropagation(),a()},"aria-label":n,children:r.jsx(B.Check,{className:"tw:h-4 tw:w-4"})})}const Vs={root:{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1}},$o=s.memo(function({classNameForVerseText:e,comments:a,localizedStrings:n,isSelected:i=!1,verseRef:l,assignedUser:c,currentUser:d,handleSelectThread:u,threadId:w,thread:p,threadStatus:h,handleAddCommentToThread:g,handleUpdateComment:m,handleDeleteComment:k,handleReadStatusChange:x,assignableUsers:f,canUserAddCommentToThread:C,canUserAssignThreadCallback:N,canUserResolveThreadCallback:E,canUserEditOrDeleteCommentCallback:_,isRead:O=!1,autoReadDelay:T=5,onVerseRefClick:D,initialAssignedUser:I,activeComments:M,rootContentSlot:R,resolveActionSlot:Z,spaceRootContentFromReplies:X=!1,draft:rt,onDraftChange:y}){var xe;const tt=De(),[W,z]=s.useState({}),J=rt??W,F=J.editorState??Vs,Y=J.assignedUser,dt=y!==void 0,ht=s.useRef(J);ht.current=J;const G=s.useCallback(S=>{const ot={...ht.current,...S};ht.current=ot,dt||z(ot),y==null||y(w,Qr(ot)?void 0:ot)},[dt,y,w]),ut=s.useCallback((S,ot)=>{const it={...J.commentEdits};ot===void 0?delete it[S]:it[S]=ot,G({commentEdits:Je(it)?it:void 0})},[J.commentEdits,G]),[gt,st]=s.useState(),Ct=i,[yt,Nt]=s.useState(!1),[Pt,At]=s.useState(!1),[Et,kt]=s.useState(!1),[Tt,Zt]=s.useState(!1),[Ht,Xt]=s.useState(!1),[ft,Wt]=s.useState(O),[ie,ge]=s.useState(!1),Jt=s.useRef(void 0),[Ut,se]=s.useState(new Map);s.useEffect(()=>{let S=!0;return(async()=>{const it=E?await E(w):!1;S&&Xt(it)})(),()=>{S=!1}},[w,E]),s.useEffect(()=>{let S=!0;if(!i){Zt(!1),se(new Map);return}return(async()=>{const it=N?await N(w):!1;S&&Zt(it)})(),()=>{S=!1}},[i,w,N]);const xt=s.useRef("idle");s.useEffect(()=>{if(!i){xt.current!=="idle"&&(G({assignedUser:void 0}),st(void 0),xt.current="idle");return}xt.current==="idle"&&(xt.current="pending"),Tt?xt.current==="pending"&&I!==void 0&&I!==c&&(G({assignedUser:I}),xt.current="auto-populated"):xt.current==="auto-populated"&&(G({assignedUser:void 0}),xt.current="pending")},[i,I,Tt,c,G]);const Qt=s.useRef(gt);Qt.current=gt;const ae=s.useRef(y);ae.current=y;const A=s.useRef(w);A.current=w,s.useEffect(()=>()=>{var ot;const{current:S}=ht;S.assignedUser!==void 0&&S.assignedUser===Qt.current&&S.editorState===void 0&&!Je(S.commentEdits)&&((ot=ae.current)==null||ot.call(ae,A.current,void 0))},[]);const j=s.useMemo(()=>M??a.filter(S=>!S.deleted),[M,a]),K=s.useMemo(()=>{const{commentEdits:S}=J;if(!S)return S;const ot=new Set(j.map(zt=>zt.id)),it=Object.fromEntries(Object.entries(S).filter(([zt])=>ot.has(zt)));return Je(it)?it:void 0},[J,j]),q=Pt||Je(K);s.useEffect(()=>{let S=!0;if(!i||!_){se(new Map);return}return(async()=>{const it=new Map;await Promise.all(j.map(async zt=>{const qe=await _(zt.id);S&&it.set(zt.id,qe)})),S&&se(it)})(),()=>{S=!1}},[i,j,_]);const P=s.useMemo(()=>j[0],[j]),Q=s.useRef(null),U=s.useRef(void 0),at=s.useCallback(()=>{var S;(S=U.current)==null||S.call(U),G({editorState:void 0})},[G]),vt=s.useCallback(S=>{G({editorState:qt(S)?S:void 0})},[G]),_t=s.useCallback(()=>{const S=!ft;Wt(S),ge(!S),x==null||x(w,S)},[ft,x,w]);s.useEffect(()=>{Nt(!1)},[i]),s.useEffect(()=>{if(i&&!ft&&!ie&&Qr(J)){const S=setTimeout(()=>{Wt(!0),x==null||x(w,!0)},T*1e3);return Jt.current=S,()=>clearTimeout(S)}Jt.current&&(clearTimeout(Jt.current),Jt.current=void 0)},[i,ft,ie,T,w,x,J]);const ct=s.useMemo(()=>({singleReply:n["%comment_thread_single_reply%"],multipleReplies:n["%comment_thread_multiple_replies%"]}),[n]),bt=s.useMemo(()=>{if(c===void 0)return;if(c==="")return n["%comment_assign_unassigned%"]??"Unassigned";const S=xr(c,n);return L.formatReplacementString(n["%comment_assigned_to%"],{assignedUser:S})},[c,n]),wt=s.useMemo(()=>j.slice(1),[j]),mt=s.useMemo(()=>wt.length??0,[wt.length]),be=s.useMemo(()=>mt>0,[mt]),ce=s.useMemo(()=>{if(yt||mt<=2)return wt;const S=new Set(wt.slice(-2).map(ot=>ot.id));return wt.filter(ot=>{var it;return S.has(ot.id)||((it=J.commentEdits)==null?void 0:it[ot.id])!==void 0})},[wt,mt,yt,J.commentEdits]),le=s.useMemo(()=>yt||mt<=2?0:mt-ce.length,[mt,yt,ce.length]),je=s.useMemo(()=>mt===1?ct.singleReply:L.formatReplacementString(ct.multipleReplies,{count:mt}),[mt,ct]),Ce=s.useMemo(()=>le===1?ct.singleReply:L.formatReplacementString(ct.multipleReplies,{count:le}),[le,ct]);s.useEffect(()=>{!i&&q&&be&&At(!1)},[i,q,be]);const fe=s.useCallback(async S=>{S&&S.stopPropagation();const ot=qt(F)?Er(F):void 0;if(Y!==void 0){await g({threadId:w,contents:ot,assignedUser:Y})&&(st(Y),ot&&at());return}ot&&await g({threadId:w,contents:ot})&&at()},[at,F,g,Y,w]),de=s.useCallback(async S=>{const ot=qt(F)?Er(F):void 0,it=S.status?S.assignedUser:Y??S.assignedUser,zt=await g({...S,contents:ot,assignedUser:it});return zt&&(it!==void 0&&st(it),ot&&at()),zt},[at,F,g,Y]);if(j.length===0)return;const Ie=!Tt||!f||f.length===0||!f.includes(d),Ge=!qt(F)&&(Y===void 0||Y===gt),He=r.jsx(Ha,{comment:P,localizedStrings:n,isThreadExpanded:i,threadStatus:h,handleAddCommentToThread:de,handleUpdateComment:m,handleDeleteComment:k,onEditingChange:At,canEditOrDelete:(!q&&Ut.get(P.id))??!1,canUserResolveThread:Ht,draftEditorState:(xe=J.commentEdits)==null?void 0:xe[P.id],onDraftEditorStateChange:S=>ut(P.id,S)});return r.jsx(zo,{role:"option","aria-selected":i,id:w,className:o.cn("tw:group tw:w-full tw:rounded-none tw:border-s-4 tw:p-3 tw:outline-hidden tw:transition-all tw:duration-200 tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background",{"tw:cursor-pointer tw:hover:shadow-md":!i},{"tw:border-foreground tw:shadow-md":i,"tw:border-transparent":!i},{"tw:bg-card":h!=="Resolved"&&ft,"tw:bg-muted":h==="Resolved","tw:bg-accent":!ft&&h!=="Resolved"}),onClick:()=>{u(w)},tabIndex:-1,children:r.jsxs(Lo,{className:"tw:flex tw:flex-col tw:gap-2 tw:p-0",children:[r.jsxs("div",{className:"tw:flex tw:flex-col tw:content-center tw:items-start tw:gap-2",children:[r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",children:[bt&&r.jsx(o.Badge,{className:"tw:rounded-sm tw:bg-input tw:text-sm tw:font-normal tw:text-primary tw:hover:bg-input",children:bt}),r.jsx(o.Button,{variant:"ghost",size:"icon",onClick:S=>{S.stopPropagation(),_t()},className:"tw:text-muted-foreground tw:transition tw:hover:text-foreground","aria-label":ft?n["%comment_aria_mark_as_unread%"]??"Mark as unread":n["%comment_aria_mark_as_read%"]??"Mark as read",children:ft?r.jsx(B.MailOpen,{}):r.jsx(B.Mail,{})}),Z===void 0?r.jsx(Vo,{show:Ht&&h!=="Resolved",onClick:()=>de({threadId:w,status:"Resolved"}),ariaLabel:n["%comment_aria_resolve_thread%"]??"Resolve thread"}):Z]}),r.jsx("div",{className:"tw:flex tw:max-w-full tw:flex-wrap tw:items-baseline tw:gap-2",children:r.jsxs("p",{ref:Q,className:o.cn("tw:flex-1 tw:overflow-hidden tw:text-ellipsis tw:text-sm tw:font-normal tw:text-muted-foreground",{"tw:overflow-visible tw:text-clip tw:whitespace-normal tw:break-words":Ct},{"tw:whitespace-nowrap":!Ct}),children:[l&&D?r.jsx(o.Button,{variant:"ghost",size:"sm",className:"tw:h-auto tw:px-1 tw:py-0 tw:text-sm tw:font-normal tw:text-muted-foreground",onClick:S=>{S.stopPropagation(),D(p)},children:l}):l,r.jsxs("span",{className:e,...tt,children:[P.contextBefore,r.jsx("span",{className:"tw:font-bold",children:P.selectedText}),P.contextAfter]})]})}),R??He]}),r.jsxs(r.Fragment,{children:[be&&!i&&r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-5",children:[r.jsx("div",{className:"tw:w-8",children:r.jsx(o.Separator,{})}),r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:je})]}),!i&&qt(F)&&r.jsx(Nr,{editorSerializedState:F,onSerializedChange:vt,placeholder:n["%comment_replyOrAssign%"]}),i&&r.jsxs(r.Fragment,{children:[X&&ce.length>0&&r.jsx("div",{className:"tw:h-2","data-slot":"root-content-reply-gap","aria-hidden":"true"}),le>0&&r.jsxs("div",{className:"tw:flex tw:cursor-pointer tw:items-center tw:gap-5 tw:py-2",onClick:S=>{S.stopPropagation(),Nt(!0)},role:"button",tabIndex:0,onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),S.stopPropagation(),Nt(!0))},children:[r.jsx("div",{className:"tw:w-8",children:r.jsx(o.Separator,{})}),r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",children:[r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:Ce}),yt?r.jsx(B.ChevronUp,{}):r.jsx(B.ChevronDown,{})]})]}),ce.map(S=>{var ot;return r.jsx("div",{children:r.jsx(Ha,{comment:S,localizedStrings:n,isReply:!0,isThreadExpanded:i,handleUpdateComment:m,handleDeleteComment:k,onEditingChange:At,canEditOrDelete:(!q&&Ut.get(S.id))??!1,draftEditorState:(ot=J.commentEdits)==null?void 0:ot[S.id],onDraftEditorStateChange:it=>ut(S.id,it)})},S.id)}),C!==!1&&(!q||qt(F))&&r.jsx("div",{role:"textbox",tabIndex:-1,className:"tw:w-full tw:space-y-2",onClick:S=>S.stopPropagation(),onKeyDownCapture:S=>{va(S)&&(S.preventDefault(),S.stopPropagation(),(qt(F)||Y!==void 0&&Y!==gt)&&fe())},onKeyDown:S=>{ga(S),(S.key==="Enter"||S.key===" ")&&S.stopPropagation()},children:r.jsx(Nr,{editorSerializedState:F,onSerializedChange:vt,placeholder:h==="Resolved"?n["%comment_reopenResolved%"]:n["%comment_replyOrAssign%"],autoFocus:!0,onClear:S=>{U.current=S},actions:r.jsxs(r.Fragment,{children:[Y!==void 0&&(qt(F)||Y!==gt)?r.jsx("span",{className:"tw:flex-1 tw:text-sm tw:text-muted-foreground",children:L.formatReplacementString(Yt("%comment_assigning_to%",n,"Assigning to: {assignedUser}"),{assignedUser:xr(Y,n)})}):r.jsx("div",{className:"tw:flex-1"}),r.jsxs(o.Popover,{open:Et,onOpenChange:kt,children:[r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:Ie,disabledExplanation:Yt("%comment_aria_assign_user%",n,"Assign user"),children:r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsx(o.Button,{size:"icon-sm",variant:"outline",className:"tw:flex tw:items-center tw:justify-center tw:rounded-md",disabled:Ie,"aria-label":Yt("%comment_aria_assign_user%",n,"Assign user"),children:r.jsx(B.AtSign,{})})})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_assign_user%",n,"Assign user")})]}),r.jsx(o.PopoverContent,{className:"tw:w-auto tw:p-0",align:"end",onKeyDown:S=>{S.key==="Escape"&&(S.stopPropagation(),kt(!1))},children:r.jsx(o.Command,{children:r.jsx(o.CommandList,{children:f==null?void 0:f.map(S=>r.jsx(o.CommandItem,{onSelect:()=>{G({assignedUser:S!==c?S:void 0}),xt.current="user-selected",st(void 0),kt(!1)},className:"tw:flex tw:items-center",children:r.jsx("span",{children:xr(S,n)})},S||"unassigned"))})})})]}),r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:Ge,disabledExplanation:Yt("%comment_aria_submit_comment%",n,"Submit comment"),className:"tw:inline-flex",children:r.jsx(o.Button,{size:"icon-sm",onClick:fe,className:"tw:flex tw:items-center tw:justify-center tw:rounded-md",disabled:Ge,"aria-label":Yt("%comment_aria_submit_comment%",n,"Submit comment"),children:r.jsx(B.ArrowUp,{})})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_submit_comment%",n,"Submit comment")})]})]})})})]})]})]})})}),$s=o.cn(Do,"tw:[&>blockquote]:my-0 tw:[&_p]:my-0","tw:[&_u]:font-semibold tw:[&_u]:text-success-foreground tw:[&_u]:no-underline","tw:[&_s]:text-destructive tw:[&_s]:line-through"),Fs=t=>t.replace(/(\s+)(<\/[us]>)/g,"$2$1"),yr=t=>Fs(L.sanitizeHtml(t));function kr({html:t}){const e=De();return r.jsx("div",{className:$s,...e,dangerouslySetInnerHTML:{__html:t}})}function Fo({comment:t,localizedStrings:e,availableActions:a="acceptOrReject",resolvedResolution:n,onResolve:i,isResolving:l=!1}){const[c,d]=s.useState("accept"),u=s.useId(),w=s.useId(),p=De(),h=a==="loading",g=a==="accept",m=a==="none",k=a==="acceptRejectOrMerge",x=g?"accept":c,f=s.useMemo(()=>yr(t.rejectedText??""),[t.rejectedText]),C=s.useMemo(()=>yr(t.acceptedText??""),[t.acceptedText]),N=s.useMemo(()=>yr(t.mergedText??""),[t.mergedText]),E=s.useMemo(()=>L.sanitizeHtml(t.contents),[t.contents]);if(!Io(t))return r.jsx(kr,{html:E});const _=z=>{d(z==="reject"||z==="merge"?z:"accept")},O=e["%conflict_note_stale_notice%"]??"The verse was edited after this conflict was recorded, so 'Use the other change' is no longer available. Keep the current text to resolve.",T=k?[{value:"merge",label:e["%conflict_note_option_combine%"]??"Combine both changes",html:N}]:[],D=[{value:"accept",label:e["%conflict_note_option_keep_current%"]??"Keep the current text",html:C},{value:"reject",label:e["%conflict_note_option_use_other%"]??"Use the other change",html:f},...T],I=x==="accept",M=l||I;let R;I?R=e["%conflict_note_save_disabled_tooltip%"]??"Keeping the current text makes no change — resolve the thread with the ✓ to keep it.":l||(R=e["%conflict_note_save_warning%"]??"This can't be undone.");const Z=e["%conflict_note_no_result%"]??"No result preview available.",X=r.jsx("p",{className:"tw:text-muted-foreground",children:Z}),rt=z=>z?r.jsx("p",{className:"tw:whitespace-pre-wrap tw:text-foreground",...p,children:z}):X,y=()=>{const z=n??"accept";return z==="merged"?t.mergedText?r.jsx(kr,{html:N}):X:rt(z==="reject"?t.rejectedResultText:t.resultText)},tt=z=>g&&z.value==="reject",W=z=>{const J=x===z.value,F=`${w}-${z.value}`,Y=tt(z);return r.jsxs("label",{htmlFor:F,"data-slot":"conflict-resolution-option","data-value":z.value,className:o.cn("tw:flex tw:flex-col tw:gap-1 tw:rounded-md tw:border tw:p-2","tw:focus-within:ring-2 tw:focus-within:ring-ring tw:focus-within:ring-offset-1",J?"tw:border-border tw:bg-accent/50":"tw:border-transparent tw:hover:bg-accent/30",Y?"tw:cursor-not-allowed tw:opacity-60":"tw:cursor-pointer"),children:[r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",children:[r.jsx(o.RadioGroupItem,{id:F,value:z.value,"aria-label":z.label,disabled:Y,"aria-describedby":Y?u:void 0}),r.jsx("span",{"aria-hidden":!0,className:"tw:font-medium",children:z.label})]}),Y&&r.jsx("span",{id:u,className:"tw:sr-only",children:O}),r.jsx(kr,{html:z.html})]},z.value)};return r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-3 tw:text-sm",onClick:z=>z.stopPropagation(),children:[r.jsx("p",{children:e["%conflict_note_description_verseText%"]??"Conflicting changes were made to the verse text."}),h&&r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2","data-slot":"conflict-loading",children:[r.jsx(o.Skeleton,{className:"tw:h-8 tw:w-full"}),r.jsx(o.Skeleton,{className:"tw:h-8 tw:w-full"}),r.jsx(o.Skeleton,{className:"tw:h-8 tw:w-24"})]}),!h&&m&&y(),!h&&!m&&r.jsxs(r.Fragment,{children:[r.jsx("p",{children:e["%conflict_note_choose_prompt%"]??"Select which change to keep:"}),r.jsx(o.RadioGroup,{value:x,onValueChange:_,disabled:l,"aria-label":e["%conflict_note_choose_aria_label%"]??"Choose resolution",children:D.map(z=>tt(z)?r.jsx(o.TooltipProvider,{delayDuration:0,children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:W(z)}),r.jsx(o.TooltipContent,{children:O})]})},z.value):W(z))}),r.jsx(o.TooltipProvider,{delayDuration:0,children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:M&&R!==void 0,disabledExplanation:R,className:"tw:inline-flex tw:self-start",children:r.jsx(o.Button,{size:"sm",disabled:M,onClick:()=>i==null?void 0:i(x),children:e["%conflict_note_save_and_resolve%"]??"Save and resolve"})})}),R&&r.jsx(o.TooltipContent,{children:R})]})})]})]})}const Ks={accept:{key:"%conflict_note_summary_resolved_kept_current%",fallback:"Conflicting edits were resolved. Kept the current text."},reject:{key:"%conflict_note_summary_resolved_used_other%",fallback:"Conflicting edits were resolved. Used the other change."},merged:{key:"%conflict_note_summary_resolved_combined%",fallback:"Conflicting edits were resolved. Combined both changes."}};function Us({comment:t,localizedStrings:e,resolvedResolution:a}){const n=s.useMemo(()=>yr(t.rejectedText??""),[t.rejectedText]);if(a){const{key:l,fallback:c}=Ks[a];return r.jsx("p",{className:"tw:text-sm tw:font-normal tw:text-muted-foreground",children:e[l]??c})}const i=e["%conflict_note_summary_unresolved%"]??"Conflicting edits. Choose which change to keep.";return r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-1",children:[r.jsx("p",{className:"tw:text-sm tw:font-normal tw:text-muted-foreground",children:i}),n?r.jsx(kr,{html:n}):void 0]})}function Gs(t){return t==="reject"?"reject":t==="merge"?"merged":"accept"}function Hs({threadId:t,threadStatus:e,isSelected:a,activeComments:n,conflictResolution:i}){const[l,c]=s.useState("loading"),[d,u]=s.useState(!1),[w,p]=s.useState(),h=i==null?void 0:i.getOptions,g=i==null?void 0:i.resolve;s.useEffect(()=>{let N=!0;if(!a){c("loading");return}return(async()=>{let _;try{_=h?await h(t):"none"}catch{_="none"}N&&(c(_),_!=="none"&&p(void 0))})(),()=>{N=!1}},[a,t,e,h]);const m=s.useRef(!1),k=s.useCallback(async N=>{if(!(!g||m.current)){m.current=!0,u(!0);try{await g(t,N)&&(p(Gs(N)),c("none"))}catch{}finally{m.current=!1,u(!1)}}},[g,t]),f=s.useMemo(()=>{if(e==="Resolved"){for(let N=n.length-1;N>=0;N-=1)if(n[N].status==="Resolved")return Oo(n[N].conflictResolutionAction);return"accept"}},[e,n])??w;return{conflictOptions:l,isResolving:d,resolve:k,resolvedResolution:f,showResolveCheck:l!=="loading"&&l!=="none"}}const qs=s.memo(function(e){const{comments:a,localizedStrings:n,isSelected:i=!1,threadId:l,threadStatus:c,conflictResolution:d}=e,u=s.useMemo(()=>a.filter(N=>!N.deleted),[a]),w=s.useMemo(()=>u.find(N=>N.conflictType)??u[0],[u]),{conflictOptions:p,isResolving:h,resolve:g,resolvedResolution:m,showResolveCheck:k}=Hs({threadId:l,threadStatus:c,isSelected:i,activeComments:u,conflictResolution:d}),x=Io(w);let f;x&&w&&(f=i?r.jsx(Fo,{comment:w,localizedStrings:n,availableActions:p,resolvedResolution:m,onResolve:g,isResolving:h}):r.jsx(Us,{comment:w,localizedStrings:n,resolvedResolution:m}));let C;return x&&(C=r.jsx(Vo,{show:k,disabled:h,onClick:()=>g("accept"),ariaLabel:n["%comment_aria_resolve_thread%"]??"Resolve thread"})),r.jsx($o,{...e,activeComments:u,rootContentSlot:f,resolveActionSlot:C,spaceRootContentFromReplies:x&&i})});function Ys({className:t="",classNameForVerseText:e,threads:a,currentUser:n,localizedStrings:i,handleAddCommentToThread:l,handleUpdateComment:c,handleDeleteComment:d,handleReadStatusChange:u,assignableUsers:w,canUserAddCommentToThread:p,canUserAssignThreadCallback:h,canUserResolveThreadCallback:g,canUserEditOrDeleteCommentCallback:m,selectedThreadId:k,onSelectedThreadChange:x,onVerseRefClick:f,conflictResolution:C,drafts:N,onDraftChange:E}){const[_,O]=s.useState(new Set),[T,D]=s.useState(),[I,M]=s.useState(),R=s.useCallback(async F=>{const Y=await l(F);return Y!==void 0&&F.assignedUser!==void 0&&F.assignedUser!==""&&M(F.assignedUser),Y},[l]);s.useEffect(()=>{k&&(O(F=>new Set(F).add(k)),D(k))},[k]);const Z=a.filter(F=>F.comments.some(Y=>!Y.deleted)),X=Z.map(F=>({id:F.id})),rt=s.useCallback(F=>{O(Y=>new Set(Y).add(F.id)),D(F.id),x==null||x(F.id)},[x]),y=s.useCallback(F=>{const Y=_.has(F);O(dt=>{const ht=new Set(dt);return ht.has(F)?ht.delete(F):ht.add(F),ht}),D(F),x==null||x(Y?void 0:F)},[_,x]),{listboxRef:tt,activeId:W,handleKeyDown:z}=o.useListbox({options:X,onOptionSelect:rt}),J=s.useCallback(F=>{F.key==="Escape"?(T&&_.has(T)&&(O(Y=>{const dt=new Set(Y);return dt.delete(T),dt}),D(void 0),x==null||x(void 0)),F.preventDefault(),F.stopPropagation()):z(F)},[T,_,z,x]);return r.jsx("div",{id:Po,role:"listbox",tabIndex:0,ref:tt,"aria-activedescendant":W??void 0,"aria-label":"Comments",className:o.cn("tw:flex tw:w-full tw:flex-col tw:outline-hidden tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background",t),onKeyDown:J,children:Z.map(F=>{const Y={classNameForVerseText:e,comments:F.comments,localizedStrings:i,verseRef:F.verseRef,handleSelectThread:y,threadId:F.id,thread:F,isRead:F.isRead,isSelected:_.has(F.id),currentUser:n,assignedUser:F.assignedUser,threadStatus:F.status,handleAddCommentToThread:R,handleUpdateComment:c,handleDeleteComment:d,handleReadStatusChange:u,assignableUsers:w,canUserAddCommentToThread:p,canUserAssignThreadCallback:h,canUserResolveThreadCallback:g,canUserEditOrDeleteCommentCallback:m,onVerseRefClick:f,initialAssignedUser:I,draft:N==null?void 0:N[F.id],onDraftChange:E};return r.jsx("div",{className:o.cn("tw:border-b tw:border-border tw:last:border-b-0",{"tw:opacity-60":F.status==="Resolved"}),children:F.type==="Conflict"?r.jsx(qs,{...Y,conflictResolution:C}):r.jsx($o,{...Y})},F.id)})})}const Ko=s.forwardRef(function({area:e,as:a="div",label:n,...i},l){const c={[pa]:e??"",...n?{[ha]:n}:{}};return s.createElement(a,{...i,...c,ref:l})});Ko.displayName="ContentZoomRoot";function Zs({table:t}){return r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"outline",size:"sm",className:"tw:ml-auto tw:hidden tw:h-8 tw:lg:flex",children:[r.jsx(B.FilterIcon,{className:"tw:mr-2 tw:h-4 tw:w-4"}),"View"]})}),r.jsxs(o.DropdownMenuContent,{align:"end",className:"tw:w-[150px]",children:[r.jsx(o.DropdownMenuLabel,{children:"Toggle columns"}),r.jsx(o.DropdownMenuSeparator,{}),t.getAllColumns().filter(e=>e.getCanHide()).map(e=>r.jsx(o.DropdownMenuCheckboxItem,{className:"tw:capitalize",checked:e.getIsVisible(),onCheckedChange:a=>e.toggleVisibility(!!a),children:e.id},e.id))]})]})}function Te({...t}){return r.jsx(V.Select.Root,{"data-slot":"select",...t})}function Uo({className:t,...e}){return r.jsx(V.Select.Group,{"data-slot":"select-group",className:o.cn("tw:scroll-my-1 tw:p-1",t),...e})}function Se({...t}){return r.jsx(V.Select.Value,{"data-slot":"select-value",...t})}function Re({className:t,size:e="default",children:a,...n}){const i=o.readDirection();return r.jsxs(V.Select.Trigger,{"data-slot":"select-trigger","data-size":e,className:o.cn("pr-twp tw:flex tw:w-fit tw:items-center tw:gap-2 tw:rounded-lg tw:border tw:border-input tw:bg-transparent tw:py-2 tw:pe-2 tw:ps-2.5 tw:text-sm tw:whitespace-nowrap tw:transition-colors tw:outline-none tw:select-none tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:disabled:cursor-not-allowed tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:data-placeholder:text-muted-foreground tw:data-[size=default]:h-8 tw:data-[size=sm]:h-7 tw:data-[size=sm]:rounded-[min(var(--tw-radius-md),10px)] tw:*:data-[slot=select-value]:line-clamp-1 tw:*:data-[slot=select-value]:flex tw:*:data-[slot=select-value]:flex-1 tw:*:data-[slot=select-value]:items-center tw:*:data-[slot=select-value]:gap-1.5 tw:*:data-[slot=select-value]:text-start tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),dir:i,...n,children:[a,r.jsx(V.Select.Icon,{asChild:!0,children:r.jsx(Mt.IconSelector,{className:"tw:pointer-events-none tw:size-4 tw:text-muted-foreground"})})]})}function Me({className:t,children:e,position:a="popper",align:n="center",style:i,...l}){const c=o.readDirection();return r.jsx(V.Select.Portal,{children:r.jsxs(V.Select.Content,{"data-slot":"select-content","data-align-trigger":a==="item-aligned",className:o.cn("pr-twp tw:relative tw:max-h-(--radix-select-content-available-height) tw:data-[align-trigger=true]:min-w-(--radix-select-trigger-width) tw:data-[align-trigger=false]:min-w-36 tw:origin-(--radix-select-content-transform-origin) tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-lg tw:bg-popover tw:text-popover-foreground tw:shadow-md tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[align-trigger=true]:animate-none tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",a==="popper"&&"tw:data-[side=bottom]:translate-y-1 tw:data-[side=left]:-translate-x-1 tw:rtl:data-[side=left]:translate-x-1 tw:data-[side=right]:translate-x-1 tw:rtl:data-[side=right]:-translate-x-1 tw:data-[side=top]:-translate-y-1",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...i},position:a,align:n,...l,children:[r.jsx(Go,{}),r.jsx(V.Select.Viewport,{"data-position":a,className:o.cn("tw:data-[position=popper]:h-(--radix-select-trigger-height) tw:data-[position=popper]:w-full tw:data-[position=popper]:min-w-(--radix-select-trigger-width)",a==="popper"&&"tw:"),children:r.jsx("div",{dir:c,children:e})}),r.jsx(Ho,{})]})})}function Xs({className:t,...e}){return r.jsx(V.Select.Label,{"data-slot":"select-label",className:o.cn("pr-twp tw:px-1.5 tw:py-1 tw:text-xs tw:text-muted-foreground",t),...e})}function re({className:t,children:e,...a}){return r.jsxs(V.Select.Item,{"data-slot":"select-item",className:o.cn("pr-twp tw:relative tw:flex tw:w-full tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:py-1 tw:pe-8 tw:ps-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:not-data-[variant=destructive]:focus:**:text-accent-foreground tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4 tw:*:[span]:last:flex tw:*:[span]:last:items-center tw:*:[span]:last:gap-2",t),...a,children:[r.jsx("span",{className:"tw:pointer-events-none tw:absolute tw:end-2 tw:flex tw:size-4 tw:items-center tw:justify-center",children:r.jsx(V.Select.ItemIndicator,{children:r.jsx(Mt.IconCheck,{className:"tw:pointer-events-none"})})}),r.jsx(V.Select.ItemText,{children:e})]})}function Ws({className:t,...e}){return r.jsx(V.Select.Separator,{"data-slot":"select-separator",className:o.cn("pr-twp tw:pointer-events-none tw:-mx-1 tw:my-1 tw:h-px tw:bg-border",t),...e})}function Go({className:t,...e}){return r.jsx(V.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o.cn("pr-twp tw:z-10 tw:flex tw:cursor-default tw:items-center tw:justify-center tw:bg-popover tw:py-1 tw:[&_svg:not([class*=size-])]:size-4",t),...e,children:r.jsx(Mt.IconChevronUp,{})})}function Ho({className:t,...e}){return r.jsx(V.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o.cn("pr-twp tw:z-10 tw:flex tw:cursor-default tw:items-center tw:justify-center tw:bg-popover tw:py-1 tw:[&_svg:not([class*=size-])]:size-4",t),...e,children:r.jsx(Mt.IconChevronDown,{})})}function Js({table:t}){return r.jsx("div",{className:"tw:flex tw:items-center tw:justify-between tw:px-2 tw:pb-3 tw:pt-3",children:r.jsxs("div",{className:"tw:flex tw:items-center tw:space-x-6 tw:lg:space-x-8",children:[r.jsxs("div",{className:"tw:flex-1 tw:text-sm tw:text-muted-foreground",children:[t.getFilteredSelectedRowModel().rows.length," of"," ",t.getFilteredRowModel().rows.length," row(s) selected"]}),r.jsxs("div",{className:"tw:flex tw:items-center tw:space-x-2",children:[r.jsx("p",{className:"tw:text-nowrap tw:text-sm tw:font-medium",children:"Rows per page"}),r.jsxs(Te,{value:`${t.getState().pagination.pageSize}`,onValueChange:e=>{t.setPageSize(Number(e))},children:[r.jsx(Re,{className:"tw:h-8 tw:w-[70px]",children:r.jsx(Se,{placeholder:t.getState().pagination.pageSize})}),r.jsx(Me,{side:"top",children:[10,20,30,40,50].map(e=>r.jsx(re,{value:`${e}`,children:e},e))})]})]}),r.jsxs("div",{className:"tw:flex tw:w-[100px] tw:items-center tw:justify-center tw:text-sm tw:font-medium",children:["Page ",t.getState().pagination.pageIndex+1," of ",t.getPageCount()]}),r.jsxs("div",{className:"tw:flex tw:items-center tw:space-x-2",children:[r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:hidden tw:h-8 tw:w-8 tw:p-0 tw:lg:flex",onClick:()=>t.setPageIndex(0),disabled:!t.getCanPreviousPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to first page"}),r.jsx(B.ArrowLeftIcon,{className:"tw:h-4 tw:w-4"})]}),r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:h-8 tw:w-8 tw:p-0",onClick:()=>t.previousPage(),disabled:!t.getCanPreviousPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to previous page"}),r.jsx(B.ChevronLeftIcon,{className:"tw:h-4 tw:w-4"})]}),r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:h-8 tw:w-8 tw:p-0",onClick:()=>t.nextPage(),disabled:!t.getCanNextPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to next page"}),r.jsx(B.ChevronRightIcon,{className:"tw:h-4 tw:w-4"})]}),r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:hidden tw:h-8 tw:w-8 tw:p-0 tw:lg:flex",onClick:()=>t.setPageIndex(t.getPageCount()-1),disabled:!t.getCanNextPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to last page"}),r.jsx(B.ArrowRightIcon,{className:"tw:h-4 tw:w-4"})]})]})]})})}function qo({columns:t,data:e,enablePagination:a=!1,showPaginationControls:n=!1,showColumnVisibilityControls:i=!1,stickyHeader:l=!1,onRowClickHandler:c=()=>{},id:d,isLoading:u=!1,noResultsMessage:w}){var T;const[p,h]=s.useState([]),[g,m]=s.useState([]),[k,x]=s.useState({}),[f,C]=s.useState({}),N=s.useMemo(()=>e??[],[e]),E=Kt.useReactTable({data:N,columns:t,getCoreRowModel:Kt.getCoreRowModel(),...a&&{getPaginationRowModel:Kt.getPaginationRowModel()},onSortingChange:h,getSortedRowModel:Kt.getSortedRowModel(),onColumnFiltersChange:m,getFilteredRowModel:Kt.getFilteredRowModel(),onColumnVisibilityChange:x,onRowSelectionChange:C,state:{sorting:p,columnFilters:g,columnVisibility:k,rowSelection:f}}),_=E.getVisibleFlatColumns();let O;return u?O=Array.from({length:10}).map((M,R)=>`skeleton-row-${R}`).map(M=>r.jsx(o.TableRow,{className:"tw:hover:bg-transparent",children:r.jsx(o.TableCell,{colSpan:_.length??t.length,className:"tw:border-0 tw:p-0",children:r.jsx("div",{className:"tw:w-full tw:py-2",children:r.jsx(o.Skeleton,{className:"tw:h-14 tw:w-full tw:rounded-md"})})})},M)):((T=E.getRowModel().rows)==null?void 0:T.length)>0?O=E.getRowModel().rows.map(D=>r.jsx(o.TableRow,{onClick:()=>c(D,E),"data-state":D.getIsSelected()&&"selected",children:D.getVisibleCells().map(I=>r.jsx(o.TableCell,{children:Kt.flexRender(I.column.columnDef.cell,I.getContext())},I.id))},D.id)):O=r.jsx(o.TableRow,{children:r.jsx(o.TableCell,{colSpan:t.length,className:"tw:h-24 tw:text-center",children:w})}),r.jsxs("div",{className:"pr-twp",id:d,children:[i&&r.jsx(Zs,{table:E}),r.jsxs(o.Table,{stickyHeader:l,children:[r.jsx(o.TableHeader,{stickyHeader:l,children:E.getHeaderGroups().map(D=>r.jsx(o.TableRow,{children:D.headers.map(I=>r.jsx(o.TableHead,{className:"tw:p-0",children:I.isPlaceholder?void 0:Kt.flexRender(I.column.columnDef.header,I.getContext())},I.id))},D.id))}),r.jsx(o.TableBody,{children:O})]}),a&&r.jsxs("div",{className:"tw:flex tw:items-center tw:justify-end tw:space-x-2 tw:py-4",children:[r.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>E.previousPage(),disabled:!E.getCanPreviousPage(),children:"Previous"}),r.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>E.nextPage(),disabled:!E.getCanNextPage(),children:"Next"})]}),a&&n&&r.jsx(Js,{table:E})]})}function Qs({id:t,markdown:e,className:a,anchorTarget:n,truncate:i}){const l=s.useMemo(()=>({overrides:{a:{props:{target:n,rel:n==="_blank"?"noopener noreferrer":void 0}}}}),[n]);return r.jsx("div",{id:t,className:o.cn("pr-twp tw:prose",{"tw:line-clamp-3 tw:max-h-10 tw:overflow-hidden tw:text-ellipsis tw:break-words":i},a),children:r.jsx(Vn,{options:l,children:e})})}const Yo=Object.freeze(["%webView_error_dump_header%","%webView_error_dump_info_message%"]),qa=(t,e)=>t[e]??e;function Zo({errorDetails:t,handleCopyNotify:e,localizedStrings:a,id:n}){const i=qa(a,"%webView_error_dump_header%"),l=qa(a,"%webView_error_dump_info_message%");function c(){navigator.clipboard.writeText(t),e&&e()}return r.jsxs("div",{id:n,className:"tw:inline-flex tw:w-full tw:flex-col tw:items-start tw:justify-start tw:gap-4",children:[r.jsxs("div",{className:"tw:inline-flex tw:items-start tw:justify-start tw:gap-4 tw:self-stretch",children:[r.jsxs("div",{className:"tw:inline-flex tw:flex-1 tw:flex-col tw:items-start tw:justify-start",children:[r.jsx("div",{className:"tw:text-color-text tw:justify-center tw:text-center tw:text-lg tw:font-semibold tw:leading-loose",children:i}),r.jsx("div",{className:"tw:justify-center tw:self-stretch tw:text-sm tw:font-normal tw:leading-tight tw:text-muted-foreground",children:l})]}),r.jsx(o.Button,{variant:"secondary",size:"icon",className:"size-8",onClick:()=>c(),children:r.jsx(B.Copy,{})})]}),r.jsx("div",{className:"tw:prose tw:w-full",children:r.jsx("pre",{className:"tw:text-xs",children:t})})]})}const tc=Object.freeze([...Yo,"%webView_error_dump_copied_message%"]);function ec({errorDetails:t,handleCopyNotify:e,localizedStrings:a,children:n,className:i,id:l}){const[c,d]=s.useState(!1),u=()=>{d(!0),e&&e()},w=p=>{p||d(!1)};return r.jsxs(o.Popover,{onOpenChange:w,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:n}),r.jsxs(o.PopoverContent,{id:l,className:o.cn("tw:min-w-80 tw:max-w-96",i),children:[c&&a["%webView_error_dump_copied_message%"]&&r.jsx(o.Label,{children:a["%webView_error_dump_copied_message%"]}),r.jsx(Zo,{errorDetails:t,handleCopyNotify:u,localizedStrings:a})]})]})}var Xo=(t=>(t[t.Check=0]="Check",t[t.Radio=1]="Radio",t))(Xo||{});function rc({id:t,label:e,groups:a}){const[n,i]=s.useState(Object.fromEntries(a.map((w,p)=>w.itemType===0?[p,[]]:void 0).filter(w=>!!w))),[l,c]=s.useState({}),d=(w,p)=>{const h=!n[w][p];i(m=>(m[w][p]=h,{...m}));const g=a[w].items[p];g.onUpdate(g.id,h)},u=(w,p)=>{c(g=>(g[w]=p,{...g}));const h=a[w].items.find(g=>g.id===p);h?h.onUpdate(p):console.error(`Could not find dropdown radio item with id '${p}'!`)};return r.jsx("div",{id:t,children:r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"default",children:[r.jsx(B.Filter,{size:16,className:"tw:mr-2 tw:h-4 tw:w-4"}),e,r.jsx(B.ChevronDown,{size:16,className:"tw:ml-2 tw:h-4 tw:w-4"})]})}),r.jsx(o.DropdownMenuContent,{children:a.map((w,p)=>r.jsxs("div",{children:[r.jsx(o.DropdownMenuLabel,{children:w.label}),r.jsx(o.DropdownMenuGroup,{children:w.itemType===0?r.jsx(r.Fragment,{children:w.items.map((h,g)=>r.jsx("div",{children:r.jsx(o.DropdownMenuCheckboxItem,{checked:n[p][g],onCheckedChange:()=>d(p,g),children:h.label})},h.id))}):r.jsx(o.DropdownMenuRadioGroup,{value:l[p],onValueChange:h=>u(p,h),children:w.items.map(h=>r.jsx("div",{children:r.jsx(o.DropdownMenuRadioItem,{value:h.id,children:h.label})},h.id))})}),r.jsx(o.DropdownMenuSeparator,{})]},w.label))})]})})}function ac({id:t,category:e,downloads:a,languages:n,moreInfoUrl:i,handleMoreInfoLinkClick:l,supportUrl:c,handleSupportLinkClick:d}){const u=new L.NumberFormat("en",{notation:"compact",compactDisplay:"short"}).format(Object.values(a).reduce((p,h)=>p+h,0)),w=()=>{window.scrollTo(0,document.body.scrollHeight)};return r.jsxs("div",{id:t,className:"pr-twp tw:flex tw:items-center tw:justify-center tw:divide-x tw:border-b tw:border-t tw:py-2 tw:text-center",children:[e&&r.jsxs("div",{className:"tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-4",children:[r.jsx("div",{className:"tw:flex",children:r.jsx("span",{className:"tw:text-xs tw:font-semibold tw:text-foreground",children:e})}),r.jsx("span",{className:"tw:text-xs tw:text-foreground",children:"CATEGORY"})]}),r.jsxs("div",{className:"tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-4",children:[r.jsxs("div",{className:"tw:flex tw:gap-1",children:[r.jsx(B.User,{className:"tw:h-4 tw:w-4"}),r.jsx("span",{className:"tw:text-xs tw:font-semibold tw:text-foreground",children:u})]}),r.jsx("span",{className:"tw:text-xs tw:text-foreground",children:"USERS"})]}),r.jsxs("div",{className:"tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-4",children:[r.jsx("div",{className:"tw:flex tw:gap-2",children:n.slice(0,3).map(p=>r.jsx("span",{className:"tw:text-xs tw:font-semibold tw:text-foreground",children:p.toUpperCase()},p))}),n.length>3&&r.jsxs("button",{type:"button",onClick:()=>w(),className:"tw:text-xs tw:text-foreground tw:underline",children:["+",n.length-3," more languages"]})]}),(i||c)&&r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-1 tw:px-4",children:[i&&r.jsx("div",{className:"tw:flex tw:gap-1",children:r.jsxs(o.Button,{onClick:()=>l(),variant:"link",className:"tw:flex tw:h-auto tw:gap-1 tw:py-0 tw:text-xs tw:font-semibold tw:text-foreground",children:["Website",r.jsx(B.Link,{className:"tw:h-4 tw:w-4"})]})}),c&&r.jsx("div",{className:"tw:flex tw:gap-1",children:r.jsxs(o.Button,{onClick:()=>d(),variant:"link",className:"tw:flex tw:h-auto tw:gap-1 tw:py-0 tw:text-xs tw:font-semibold tw:text-foreground",children:["Support",r.jsx(B.CircleHelp,{className:"tw:h-4 tw:w-4"})]})})]})]})}function oc({id:t,versionHistory:e}){const[a,n]=s.useState(!1),i=new Date;function l(d){const u=new Date(d),w=new Date(i.getTime()-u.getTime()),p=w.getUTCFullYear()-1970,h=w.getUTCMonth(),g=w.getUTCDate()-1;let m="";return p>0?m=`${p.toString()} year${p===1?"":"s"} ago`:h>0?m=`${h.toString()} month${h===1?"":"s"} ago`:g===0?m="today":m=`${g.toString()} day${g===1?"":"s"} ago`,m}const c=Object.entries(e).sort((d,u)=>u[0].localeCompare(d[0]));return r.jsxs("div",{className:"pr-twp",id:t,children:[r.jsx("h3",{className:"tw:text-md tw:font-semibold",children:"What`s New"}),r.jsx("ul",{className:"tw:list-disc tw:pl-5 tw:pr-4 tw:text-xs tw:text-foreground",children:(a?c:c.slice(0,5)).map(d=>r.jsxs("div",{className:"tw:mt-3 tw:flex tw:justify-between",children:[r.jsx("div",{className:"tw:text-foreground",children:r.jsx("li",{className:"tw:prose tw:text-xs",children:r.jsx("span",{children:d[1].description})})}),r.jsxs("div",{className:"tw:justify-end tw:text-right",children:[r.jsxs("div",{children:["Version ",d[0]]}),r.jsx("div",{children:l(d[1].date)})]})]},d[0]))}),c.length>5&&r.jsx("button",{type:"button",onClick:()=>n(!a),className:"tw:text-xs tw:text-foreground tw:underline",children:a?"Show Less Version History":"Show All Version History"})]})}function nc({id:t,publisherDisplayName:e,fileSize:a,locales:n,versionHistory:i,currentVersion:l}){const c=s.useMemo(()=>L.formatBytes(a),[a]),u=(w=>{const p=new Intl.DisplayNames(L.getCurrentLocale(),{type:"language"});return w.map(h=>p.of(h))})(n);return r.jsx("div",{id:t,className:"pr-twp tw:border-t tw:py-2",children:r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2 tw:divide-y",children:[Object.entries(i).length>0&&r.jsx(oc,{versionHistory:i}),r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2 tw:py-2",children:[r.jsx("h2",{className:"tw:text-md tw:font-semibold",children:"Information"}),r.jsxs("div",{className:"tw:flex tw:items-start tw:justify-between tw:text-xs tw:text-foreground",children:[r.jsxs("p",{className:"tw:flex tw:flex-col tw:justify-start tw:gap-1",children:[r.jsx("span",{children:"Publisher"}),r.jsx("span",{className:"tw:font-semibold",children:e}),r.jsx("span",{children:"Size"}),r.jsx("span",{className:"tw:font-semibold",children:c})]}),r.jsx("div",{className:"tw:flex tw:w-3/4 tw:items-center tw:justify-between tw:text-xs tw:text-foreground",children:r.jsxs("p",{className:"tw:flex tw:flex-col tw:justify-start tw:gap-1",children:[r.jsx("span",{children:"Version"}),r.jsx("span",{className:"tw:font-semibold",children:l}),r.jsx("span",{children:"Languages"}),r.jsx("span",{className:"tw:font-semibold",children:u.join(", ")})]})})]})]})]})})}function ic({entries:t,selected:e,onChange:a,placeholder:n,searchPlaceholder:i,commandEmptyMessage:l,customSelectedText:c,isDisabled:d,sortSelected:u,showScrollCue:w,icon:p,className:h,badgesPlaceholder:g,id:m}){return r.jsxs("div",{id:m,className:"tw:flex tw:items-center tw:gap-2",children:[r.jsx(o.MultiSelectComboBox,{entries:t,selected:e,onChange:a,placeholder:n,searchPlaceholder:i,commandEmptyMessage:l,customSelectedText:c,isDisabled:d,sortSelected:u,showScrollCue:w,icon:p,className:h}),e.length>0?r.jsx("div",{className:"tw:flex tw:flex-wrap tw:items-center tw:gap-2",children:e.map(k=>{var x;return r.jsxs(o.Badge,{variant:"muted",className:"tw:flex tw:items-center tw:gap-1",children:[r.jsx(o.Button,{variant:"ghost",size:"icon",className:"tw:h-4 tw:w-4 tw:p-0 tw:hover:bg-transparent",onClick:()=>a(e.filter(f=>f!==k)),children:r.jsx(B.X,{className:"tw:h-3 tw:w-3"})}),(x=t.find(f=>f.value===k))==null?void 0:x.label]},k)})}):r.jsx(o.Label,{children:g})]})}const Wo=Object.freeze(["%undoButton_tooltip%","%redoButton_tooltip%"]),Ya=(t,e)=>t[e]??e;function Jo({onUndoClick:t,onRedoClick:e,canUndo:a=!0,canRedo:n=!0,localizedStrings:i={},showKeyboardShortcuts:l=!0,className:c="tw:h-6 tw:w-6",variant:d="ghost"}){const u=o.isMacOs(),w=Ya(i,"%undoButton_tooltip%"),p=Ya(i,"%redoButton_tooltip%"),h=d==="secondary"||d==="default";return r.jsxs(o.ButtonGroup,{children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":w,className:c,size:"icon",onClick:t,disabled:!a,variant:d,children:r.jsx(B.Undo,{})})}),r.jsx(o.TooltipContent,{children:r.jsxs("p",{children:[w,l&&r.jsxs(r.Fragment,{children:[" ",r.jsx(o.Kbd,{children:u?"⌘Z":"Ctrl+Z"})]})]})})]})}),e&&h&&r.jsx(o.ButtonGroupSeparator,{}),e&&r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":p,className:c,size:"icon",onClick:e,disabled:!n,variant:d,children:r.jsx(B.Redo,{})})}),r.jsx(o.TooltipContent,{children:r.jsxs("p",{children:[p,l&&r.jsxs(r.Fragment,{children:[" ",r.jsx(o.Kbd,{children:u?"⌘⇧Z":"Ctrl+Y"})]})]})})]})})]})}function Qo({children:t,editorRef:e,canUndo:a=!0,canRedo:n=!0}){const i=s.useRef(null);return s.useEffect(()=>{var u;const l=o.isMacOs(),c=((u=i.current)==null?void 0:u.querySelector(".editor-input"))??void 0,d=w=>{var h,g,m,k;if(!c||document.activeElement!==c)return;const p=w.key.toLowerCase();if(l){if(!w.metaKey)return;!w.shiftKey&&p==="z"?(w.preventDefault(),a&&((h=e.current)==null||h.undo())):w.shiftKey&&p==="z"&&(w.preventDefault(),n&&((g=e.current)==null||g.redo()))}else{if(!w.ctrlKey)return;!w.shiftKey&&p==="z"?(w.preventDefault(),a&&((m=e.current)==null||m.undo())):(p==="y"||w.shiftKey&&p==="z")&&(w.preventDefault(),n&&((k=e.current)==null||k.redo()))}};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[n,a,e]),r.jsx("div",{ref:i,children:t})}function tn(){const t=s.useRef(void 0),e=s.useRef(new DOMRect),a=s.useRef({getBoundingClientRect:()=>{var l;const i=(l=t.current)==null?void 0:l.measure();return i&&(e.current=i),e.current},get contextElement(){var i;return(i=t.current)==null?void 0:i.contextElement}}),n=s.useCallback(i=>{t.current=i,e.current=i.measure()??new DOMRect},[]);return s.useMemo(()=>({virtualRef:a,setSource:n}),[n])}function en(t){if(t.getClientRects().length!==0)return t.getBoundingClientRect()}function rn(t){return new DOMRect(t.left,t.top,0,t.height)}const sc=(t,e,a)=>t==="generated"?r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"+"})," ",e["%footnoteEditor_callerDropdown_item_generated%"]]}):t==="hidden"?r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"-"})," ",e["%footnoteEditor_callerDropdown_item_hidden%"]]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{children:a})," ",e["%footnoteEditor_callerDropdown_item_custom%"]]});function cc({callerType:t,customCaller:e,updateCaller:a,localizedStrings:n,focusNoteText:i}){const l=s.useRef(!1),c=s.useRef(null),d=s.useRef(null),u=s.useRef(!1),[w,p]=s.useState(t),[h,g]=s.useState(e),[m,k]=s.useState(!1),x=s.useRef(!1),f=s.useRef(w);f.current=w;const C=s.useRef(h);C.current=h,s.useEffect(()=>{p(t)},[t]),s.useEffect(()=>{h!==e&&g(e)},[e]);const N=_=>{if(u.current=!1,k(_),!_){const O=f.current,T=C.current;O!=="custom"||T?(O!==t||T!==e)&&(l.current=!0,a(O,T)):(p(t),g(e))}},E=_=>{var O,T,D,I;_.stopPropagation(),document.activeElement===d.current&&_.key==="ArrowDown"||_.key==="ArrowRight"?((O=c.current)==null||O.focus(),u.current=!0):document.activeElement===c.current&&_.key==="ArrowUp"?((T=d.current)==null||T.focus(),u.current=!1):document.activeElement===c.current&&_.key==="ArrowLeft"&&((D=c.current)==null?void 0:D.selectionStart)===0&&((I=d.current)==null||I.focus(),u.current=!1),w==="custom"&&_.key==="Enter"&&(document.activeElement===d.current||document.activeElement===c.current)&&N(!1)};return r.jsxs(o.DropdownMenu,{open:m,onOpenChange:N,children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"outline",className:"tw:h-6",children:sc(t,n,e)})})}),r.jsx(o.TooltipContent,{children:n["%footnoteEditor_callerDropdown_tooltip%"]})]})}),r.jsxs(o.DropdownMenuContent,{style:{zIndex:o.Z_INDEX_ABOVE_POPOVER},onEscapeKeyDown:()=>{f.current=t,C.current=e,p(t),g(e)},onCloseAutoFocus:_=>{l.current&&(l.current=!1,_.preventDefault(),i())},onClick:()=>{u.current&&(u.current=!1)},onKeyDown:E,onMouseMove:()=>{var _;u.current&&((_=c.current)==null||_.focus())},children:[r.jsx(o.DropdownMenuLabel,{children:n["%footnoteEditor_callerDropdown_label%"]}),r.jsx(o.DropdownMenuSeparator,{}),r.jsx(o.DropdownMenuCheckboxItem,{checked:w==="generated",onCheckedChange:()=>p("generated"),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:justify-between",children:[r.jsx("span",{children:n["%footnoteEditor_callerDropdown_item_generated%"]}),r.jsx("span",{className:"tw:w-10 tw:text-center",children:$t.GENERATOR_NOTE_CALLER})]})}),r.jsx(o.DropdownMenuCheckboxItem,{checked:w==="hidden",onCheckedChange:()=>p("hidden"),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:justify-between",children:[r.jsx("span",{children:n["%footnoteEditor_callerDropdown_item_hidden%"]}),r.jsx("span",{className:"tw:w-10 tw:text-center",children:$t.HIDDEN_NOTE_CALLER})]})}),r.jsx(o.DropdownMenuCheckboxItem,{ref:d,checked:w==="custom",onCheckedChange:()=>p("custom"),onPointerDown:()=>{x.current=w==="custom"},onClick:_=>{var O;if(_.stopPropagation(),x.current&&_.target!==c.current){N(!1);return}u.current=!0,(O=c.current)==null||O.focus()},onSelect:_=>_.preventDefault(),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:justify-between",children:[r.jsx("span",{children:n["%footnoteEditor_callerDropdown_item_custom%"]}),r.jsx(o.Input,{tabIndex:0,onMouseDown:_=>{_.stopPropagation(),p("custom"),u.current=!0},ref:c,className:"tw:h-auto tw:w-10 tw:p-0 tw:text-center",value:h,onKeyDown:_=>{_.key==="Enter"||_.key==="ArrowUp"||_.key==="ArrowDown"||_.key==="ArrowLeft"||_.key==="ArrowRight"||_.stopPropagation()},maxLength:1,onChange:_=>g(_.target.value)})]})})]})]})}const lc=(t,e)=>t==="f"?r.jsxs(r.Fragment,{children:[r.jsx(B.FunctionSquare,{})," ",e["%footnoteEditor_noteType_footnote_label%"]]}):t==="fe"?r.jsxs(r.Fragment,{children:[r.jsx(B.SquareSigma,{})," ",e["%footnoteEditor_noteType_endNote_label%"]]}):r.jsxs(r.Fragment,{children:[r.jsx(B.SquareX,{})," ",e["%footnoteEditor_noteType_crossReference_label%"]]}),dc=(t,e)=>{if(t==="x")return e["%footnoteEditor_noteType_crossReference_label%"];let a=e["%footnoteEditor_noteType_endNote_label%"];return t==="f"&&(a=e["%footnoteEditor_noteType_footnote_label%"]),L.formatReplacementString(e["%footnoteEditor_noteType_tooltip%"]??"",{noteType:a})};function wc({noteType:t,handleNoteTypeChange:e,localizedStrings:a,isTypeSwitchable:n,focusNoteText:i}){const l=s.useRef(!1),c=d=>{d!==t&&(l.current=!0,e(d))};return r.jsxs(o.DropdownMenu,{children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"outline",className:"tw:h-6",children:lc(t,a)})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:dc(t,a)})})]})}),r.jsxs(o.DropdownMenuContent,{style:{zIndex:o.Z_INDEX_ABOVE_POPOVER},onCloseAutoFocus:d=>{l.current&&(l.current=!1,d.preventDefault(),i())},children:[r.jsx(o.DropdownMenuLabel,{children:a["%footnoteEditor_noteTypeDropdown_label%"]}),r.jsx(o.DropdownMenuSeparator,{}),r.jsxs(o.DropdownMenuCheckboxItem,{disabled:t!=="x"&&!n,checked:t==="x",onCheckedChange:()=>c("x"),className:"tw:gap-2",children:[r.jsx(B.SquareX,{}),r.jsx("span",{children:a["%footnoteEditor_noteType_crossReference_label%"]})]}),r.jsxs(o.DropdownMenuCheckboxItem,{disabled:t==="x"&&!n,checked:t==="f",onCheckedChange:()=>c("f"),className:"tw:gap-2",children:[r.jsx(B.FunctionSquare,{}),r.jsx("span",{children:a["%footnoteEditor_noteType_footnote_label%"]})]}),r.jsxs(o.DropdownMenuCheckboxItem,{disabled:t==="x"&&!n,checked:t==="fe",onCheckedChange:()=>c("fe"),className:"tw:gap-2",children:[r.jsx(B.SquareSigma,{}),r.jsx("span",{children:a["%footnoteEditor_noteType_endNote_label%"]})]})]})]})}const an=Object.freeze(["%markerMenu_deprecated_label%","%markerMenu_disallowed_label%","%markerMenu_noResults%","%markerMenu_searchPlaceholder%","%markerMenu_searchPlaceholder_character%","%markerMenu_searchPlaceholder_insert%","%markerMenu_searchPlaceholder_paragraph%"]);function uc({icon:t,className:e}){const a=t??B.Ban;return r.jsx(a,{className:e,size:16})}function pc({state:t}){return r.jsx("div",{"data-slot":"marker-selection-state",className:"tw:flex tw:w-4 tw:min-w-4 tw:items-center tw:justify-center",children:t!=="none"&&r.jsx(B.Check,{size:16})})}function Za({item:t,localizedStrings:e}){return r.jsxs(o.CommandItem,{className:"tw:flex tw:gap-2 tw:hover:bg-accent",disabled:t.isDisallowed||t.isDeprecated||t.isDisabled,"aria-checked":t.selectionState===void 0?void 0:{all:!0,partial:"mixed",none:!1}[t.selectionState],onSelect:t.action,children:[t.selectionState!==void 0&&r.jsx(pc,{state:t.selectionState}),r.jsx("div",{className:"tw:w-8 tw:min-w-8",children:t.marker?r.jsx("span",{className:"tw:font-mono tw:text-xs",children:t.marker}):r.jsx("div",{children:r.jsx(uc,{icon:t.icon})})}),r.jsxs("div",{className:"tw:flex tw:min-w-0 tw:flex-1 tw:items-baseline tw:gap-2",children:[r.jsx("p",{className:"tw:min-w-0 tw:shrink tw:truncate tw:text-sm",title:t.title,children:t.title}),t.subtitle&&r.jsx("p",{className:"tw:min-w-0 tw:shrink-[9999] tw:truncate tw:text-end tw:text-xs tw:text-muted-foreground",title:t.subtitle,children:t.subtitle})]}),(t.isDisallowed||t.isDeprecated)&&r.jsx(o.CommandShortcut,{className:"tw:font-sans",children:t.isDisallowed?e["%markerMenu_disallowed_label%"]:e["%markerMenu_deprecated_label%"]})]})}function on({localizedStrings:t,markerMenuItems:e,searchRef:a,searchPlaceholder:n}){const[i,l]=s.useState(""),[c,d]=s.useMemo(()=>{const u=o.stripMarkerNestingPrefix(i.trim().toLowerCase());if(!u){const h=e.filter(g=>!g.isDisallowed);return[h.length>0?h:e,[]]}const w=e.filter(h=>{var m;const g=(m=h.marker)==null?void 0:m.toLowerCase();return h.isDisallowed?g===u:g==null?void 0:g.includes(u)}),p=e.filter(h=>h.title.toLowerCase().includes(u)&&!w.includes(h));return[w,p]},[i,e]);return r.jsxs(o.Command,{className:"tw:p-1",shouldFilter:!1,loop:!0,children:[r.jsx(o.CommandInput,{className:"marker-menu-search",ref:a,value:i,onValueChange:u=>l(u),placeholder:n??t["%markerMenu_searchPlaceholder%"],spaceSelectsHighlightedItem:!0}),r.jsxs(o.CommandList,{children:[r.jsx(o.CommandEmpty,{children:t["%markerMenu_noResults%"]}),r.jsx(o.CommandGroup,{children:c.map(u=>{var w;return r.jsx(Za,{item:u,localizedStrings:t},`item-${u.marker??((w=u.icon)==null?void 0:w.displayName)}-${u.title.replaceAll(" ","")}`)})}),d.length>0&&r.jsxs(r.Fragment,{children:[c.length>0&&r.jsx(o.CommandSeparator,{alwaysRender:!0}),r.jsx(o.CommandGroup,{children:d.map(u=>{var w;return r.jsx(Za,{item:u,localizedStrings:t},`item-${u.marker??((w=u.icon)==null?void 0:w.displayName)}-${u.title.replaceAll(" ","")}`)})})]})]})]})}function hc(t,e,a,n,i){if(!n||n==="p")return[];const l=L.usfmMarkers[n],c=l!=null&&l.children?l:i&&L.usfmMarkers[i];if(!c||!c.children)return[];const d=[];return Object.entries(c.children).forEach(([,u])=>{d.push(...u.map(w=>({marker:w,title:a[L.usfmMarkers[w].description]??L.usfmMarkers[w].description,action:()=>{var p;(p=t.current)==null||p.insertMarker(w),e()}})))}),d.sort((u,w)=>(u.marker??u.title).localeCompare(w.marker??w.title))}function nn(t){return{id:t.marker,label:t.marker,description:t.description,badge:t.kind==="closeTag"?"%markerMenu_endTag_label%":void 0,muted:!t.isBasic}}function gc(t){var a;const e=(a=t.attributes)==null?void 0:a.char;e!=null&&e.style&&(e.style==="ft"&&(e.style="xt"),e.style==="fr"&&(e.style="xo"),e.style==="fq"&&(e.style="xq"))}function fc(t){var a;const e=(a=t.attributes)==null?void 0:a.char;e!=null&&e.style&&(e.style==="xt"&&(e.style="ft"),e.style==="xo"&&(e.style="fr"),e.style==="xq"&&(e.style="fq"))}const mc={type:"USJ",version:"3.1",content:[{type:"para"}]};function vc({classNameForEditor:t,noteOps:e,onChange:a,onClose:n,scrRef:i,noteKey:l,editorOptions:c,defaultMarkerMenuTrigger:d,localizedStrings:u,parentEditorRef:w,markerPalette:p,onNoteEdit:h}){var A;const g=s.useRef(null),m=s.useRef(null),k=s.useRef(null);s.useLayoutEffect(()=>{if(!k.current)return;const j=parseFloat(getComputedStyle(k.current).width);j>0&&(k.current.style.width=`${j}px`)},[]);const[x,f]=s.useState("generated"),[C,N]=s.useState("generated"),[E,_]=s.useState("*"),[O,T]=s.useState("*"),[D,I]=s.useState("f"),[M,R]=s.useState(!1),[Z,X]=s.useState(!0),[rt,y]=s.useState(!1),tt=s.useRef(!1),W=s.useRef(""),[z,J]=s.useState(!1),F=tn(),[Y,dt]=s.useState(),ht=s.useRef(null),G=s.useRef(void 0),ut=s.useRef(0),gt=s.useRef(void 0),st=s.useCallback(()=>{var K,q,P;if((K=g.current)!=null&&K.getSelection())return;const j=gt.current;j?(q=g.current)==null||q.setSelection(j):(P=g.current)==null||P.selectNote(0)},[]),Ct=s.useCallback(()=>{var j;st(),(j=g.current)==null||j.focus()},[st]),yt=s.useMemo(()=>({...c,contextMenu:void 0,markerMenuTrigger:d,hasExternalUI:!0,view:{...c.view??$t.getDefaultViewOptions(),noteMode:"expanded",isNoteShellEditable:!1,showParaMarkerPrefixes:!1}}),[c,d]),Nt=s.useMemo(()=>hc(g,()=>J(!1),u,Y,D),[u,Y,D]);s.useEffect(()=>{var j;z||(j=g.current)==null||j.focus()},[D,z]);const Pt=s.useCallback(()=>{var P,Q,U;const j=(P=m.current)==null?void 0:P.querySelector(".editor-input"),K=j==null?void 0:j.querySelector("span.note"),q=(U=(Q=m.current)==null?void 0:Q.ownerDocument.getSelection())==null?void 0:U.anchorNode;return!!K&&!!q&&K.contains(q)},[]);s.useEffect(()=>{var Q,U;let j,K,q;tt.current=!1,gt.current=void 0,X(!0);const P=e==null?void 0:e.at(0);if(P&&$t.isInsertEmbedOpOfType("note",P)){const at=(Q=P.insert.note)==null?void 0:Q.caller;let vt="custom";at===$t.GENERATOR_NOTE_CALLER?vt="generated":at===$t.HIDDEN_NOTE_CALLER?vt="hidden":at&&(_(at),T(at)),f(vt),N(vt),I(((U=P.insert.note)==null?void 0:U.style)??"f"),j=setTimeout(()=>{var _t,ct,bt;(_t=g.current)==null||_t.applyUpdate([P]),(ct=g.current)==null||ct.selectNote(0),(bt=g.current)==null||bt.focus(),K=requestAnimationFrame(()=>{q=setTimeout(()=>{var wt,mt;Pt()||((wt=g.current)==null||wt.selectNote(0),(mt=g.current)==null||mt.focus())},0)})},0)}return()=>{j&&clearTimeout(j),K!==void 0&&cancelAnimationFrame(K),q!==void 0&&clearTimeout(q)}},[e,l,Pt]);const At=s.useCallback((j=!1)=>{var q,P,Q;h==null||h();const K=(P=(q=g.current)==null?void 0:q.getNoteOps(0))==null?void 0:P.at(0);K&&$t.isInsertEmbedOpOfType("note",K)&&(a==null||a([K]),j&&w&&l&&((Q=w.current)==null||Q.replaceEmbedUpdate(l,[K])))},[l,a,h,w]),Et=s.useCallback(j=>{var q,P,Q;const K=(q=g.current)==null?void 0:q.getSelection();(P=g.current)==null||P.applyUpdate([j,{delete:1}]),K&&((Q=g.current)==null||Q.setSelection(K)),Ct()},[Ct]),kt=s.useCallback((j,K)=>{var Q,U;const q=(U=(Q=g.current)==null?void 0:Q.getNoteOps(0))==null?void 0:U.at(0);if(!q||!$t.isInsertEmbedOpOfType("note",q)||!q.insert.note)return;let P;j==="custom"?P=K:j==="generated"?P=$t.GENERATOR_NOTE_CALLER:P=$t.HIDDEN_NOTE_CALLER,q.insert.note.caller!==P&&(q.insert.note.caller=P,Et(q))},[Et]),Tt=s.useCallback(()=>{var j;G.current||(j=g.current)==null||j.commitPendingMarkerEdits(),At(!0),n()},[n,At]),Zt=s.useRef(Tt);s.useLayoutEffect(()=>{Zt.current=Tt});const Ht=s.useRef({book:i.book,chapterNum:i.chapterNum});s.useLayoutEffect(()=>{(Ht.current.book!==i.book||Ht.current.chapterNum!==i.chapterNum)&&(Ht.current={book:i.book,chapterNum:i.chapterNum},Zt.current())},[i.book,i.chapterNum]);const Xt=()=>{var K;const j=(K=m.current)==null?void 0:K.getElementsByClassName("editor-input")[0];j!=null&&j.textContent&&navigator.clipboard.writeText(j.textContent)},ft=s.useCallback((j,K)=>{h==null||h(),f(j),_(K),kt(j,K)},[kt,h]),Wt=j=>{var q,P,Q,U;I(j);const K=(P=(q=g.current)==null?void 0:q.getNoteOps(0))==null?void 0:P.at(0);if(K&&$t.isInsertEmbedOpOfType("note",K)){K.insert.note&&(K.insert.note.style=j);const at=(U=(Q=K.insert.note)==null?void 0:Q.contents)==null?void 0:U.ops;D!=="x"&&j==="x"?at==null||at.forEach(vt=>gc(vt)):D==="x"&&j!=="x"&&(at==null||at.forEach(vt=>fc(vt))),Et(K)}},ie=j=>{dt(j.contextMarker),y(j.canRedo)},ge=s.useCallback(j=>{var q,P,Q,U,at;const K=(P=(q=g.current)==null?void 0:q.getNoteOps(0))==null?void 0:P.at(0);if(K&&$t.isInsertEmbedOpOfType("note",K)){j.content.length>1&&setTimeout(()=>{var ct;(ct=g.current)==null||ct.applyUpdate([{retain:2},{delete:1}])},0);const vt=(Q=K.insert.note)==null?void 0:Q.style,_t=(at=(U=K.insert.note)==null?void 0:U.contents)==null?void 0:at.ops;if(vt||R(!1),R(vt==="x"?!!(_t!=null&&_t.every(ct=>{var wt,mt;if(!((wt=ct.attributes)!=null&&wt.char))return!0;const bt=((mt=ct.attributes)==null?void 0:mt.char).style;return bt==="xt"||bt==="xo"||bt==="xq"})):!!(_t!=null&&_t.every(ct=>{var wt,mt;if(!((wt=ct.attributes)!=null&&wt.char))return!0;const bt=((mt=ct.attributes)==null?void 0:mt.char).style;return bt==="ft"||bt==="fr"||bt==="fq"}))),!tt.current){tt.current=!0,W.current=JSON.stringify(K),X(!0);return}X(JSON.stringify(K)===W.current),At()}else R(!1),X(!0)},[At]),Jt=s.useCallback(()=>{const j=window.getSelection();if(!Nt.length||!j||j.rangeCount===0)return;const K=m.current;if(!K)return;const q=j.getRangeAt(0).cloneRange();F.setSource({measure:()=>{const P=en(q);return P&&rn(P)},contextElement:K}),J(!0)},[Nt,F]),Ut=s.useRef(()=>{}),se=s.useCallback((j,K,q)=>{const{anchorRect:P}=j;if(!p||!P)return;const{passive:Q}=q;o.runMarkerPaletteSession({items:K,passive:Q,sessionCounterRef:ut,setSession:U=>{G.current=U},clearSessionIfCurrent:U=>o.clearPaletteSessionIfCurrent(G,U),runSessionKey:U=>Ut.current(U),show:U=>p.show(K.map(nn),P,Q,U),restoreSelectionIfLost:st,focusEditor:()=>{var U;return(U=g.current)==null?void 0:U.focus()},applyItem:U=>{var at;return(at=g.current)==null?void 0:at.applyMarkerMenuSelection(U,{trigger:"backslash",literalPrefixLanded:!1})},onShowError:U=>{(!L.isPlatformError(U)||U.code!==L.ABORTED)&&console.warn(`FootnoteEditor: the marker palette did not open: ${L.getErrorMessage(U)}`)}})},[p,st]),xt=s.useCallback(()=>{var q;const j=(q=g.current)==null?void 0:q.getMarkerMenuContext();if(!j)return!1;const K=$t.getMarkerMenuItems(yt.styleInfo??$t.defaultStyleInfo,j);return K.length===0?!1:(se(j,K,{passive:!j.hasTextSelection}),!0)},[se,yt.styleInfo]),Qt=s.useCallback(j=>{const K=G.current;if(!K||!p)return;o.handleMarkerPaletteSessionKeyDown(j,K,{update:P=>p.update(P),commit:()=>p.commit(),dismiss:()=>p.dismiss(),commitTyped:P=>{var Q;return(Q=g.current)==null?void 0:Q.commitTypedMarker(P)},commitTypedAndReopen:P=>{var Q;(Q=g.current)==null||Q.commitTypedMarker(P,{trailingSpace:!1}),xt()},commitTypedCloser:P=>{var Q;return(Q=g.current)==null?void 0:Q.commitTypedCloser(P)},commitItem:P=>{var U;const Q=K.items.find(at=>at.marker===P);Q&&((U=g.current)==null||U.applyMarkerMenuSelection(Q,{trigger:"backslash",literalPrefixLanded:!1}))}})==="ended"&&o.clearPaletteSessionIfCurrent(G,K.token)},[p,xt]);s.useEffect(()=>{Ut.current=Qt},[Qt]),s.useEffect(()=>{const j=K=>{var Q,U;const q=(Q=m.current)==null?void 0:Q.querySelector(".editor-input");if(!q||K.target!==q)return;const P=(U=g.current)==null?void 0:U.getSelection();P&&(gt.current=P)};return document.addEventListener("focusout",j),()=>document.removeEventListener("focusout",j)},[]),s.useEffect(()=>{const j=()=>{z&&J(!1)};return window.addEventListener("click",j),()=>{window.removeEventListener("click",j)}},[z]),s.useEffect(()=>{var j;z&&((j=ht.current)==null||j.focus())},[z]),s.useEffect(()=>{var q;const j=()=>{var P;return((P=m.current)==null?void 0:P.querySelector(".editor-input"))??void 0};if(((q=yt.view)==null?void 0:q.markerMode)==="editable"){const P=U=>{var _t,ct,bt,wt;if(o.isImeCompositionKeyEvent(U))return;const at=j();if(!at||document.activeElement!==at)return;if(G.current&&p){Ut.current(U);return}if(U.key==="Enter"&&!Pt()){U.preventDefault(),U.stopPropagation(),(_t=g.current)==null||_t.selectNote(0),(ct=g.current)==null||ct.focus();return}if(p&&U.key===d){if(!Pt()){U.preventDefault(),U.stopPropagation(),(bt=g.current)==null||bt.selectNote(0),(wt=g.current)==null||wt.focus();return}xt()&&(U.preventDefault(),U.stopPropagation())}},Q=()=>{var at,vt;const U=j();!U||document.activeElement!==U||Pt()||((at=g.current)==null||at.selectNote(0),(vt=g.current)==null||vt.focus())};return document.addEventListener("keydown",P,{capture:!0}),document.addEventListener("paste",Q,{capture:!0}),()=>{document.removeEventListener("keydown",P,{capture:!0}),document.removeEventListener("paste",Q,{capture:!0})}}const K=P=>{const Q=j();!z&&Q&&document.activeElement===Q&&P.key===d?(P.preventDefault(),Jt()):z&&P.key==="Escape"&&(P.preventDefault(),J(!1))};return document.addEventListener("keydown",K),()=>{document.removeEventListener("keydown",K)}},[z,Jt,d,(A=yt.view)==null?void 0:A.markerMode,yt.styleInfo,p,xt,Pt]),s.useEffect(()=>{const j=()=>{var P,Q,U;const K=((P=m.current)==null?void 0:P.querySelector(".editor-input"))??void 0;if(!K||document.activeElement!==K)return;const q=document.getSelection();q&&!q.isCollapsed||Pt()||((Q=g.current)==null||Q.selectNote(0),(U=g.current)==null||U.focus())};return document.addEventListener("pointerup",j),document.addEventListener("selectionchange",j),()=>{document.removeEventListener("pointerup",j),document.removeEventListener("selectionchange",j)}},[Pt]);const ae=u["%footnoteEditor_copyButton_tooltip%"];return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:k,className:"footnote-editor tw:grid tw:max-w-full tw:gap-[12px]",children:[r.jsxs("div",{className:"tw:flex tw:flex-wrap tw:gap-y-2",children:[r.jsxs("div",{className:"tw:flex tw:gap-4",children:[r.jsx(wc,{isTypeSwitchable:M,noteType:D,handleNoteTypeChange:Wt,localizedStrings:u,focusNoteText:Ct}),r.jsx(cc,{callerType:x,customCaller:E,updateCaller:ft,localizedStrings:u,focusNoteText:Ct})]}),r.jsx("div",{className:"tw:flex tw:flex-1 tw:justify-end",children:r.jsxs(o.ButtonGroup,{children:[r.jsx(Jo,{onUndoClick:()=>{var j;return(j=g.current)==null?void 0:j.undo()},onRedoClick:()=>{var j;return(j=g.current)==null?void 0:j.redo()},canUndo:!Z,canRedo:rt,localizedStrings:u}),r.jsx(ma,{onCancelClick:n,onAcceptClick:Tt,canAccept:!Z||C!==x||x==="custom"&&E!==O,localizedStrings:u,acceptLabel:u["%footnoteEditor_saveButton_tooltip%"]})]})})]}),r.jsxs("div",{ref:m,className:"tw:relative tw:rounded-[6px] tw:border-2 tw:border-ring",children:[r.jsx("div",{className:t,children:r.jsx(Qo,{editorRef:g,canUndo:!Z,canRedo:rt,children:r.jsx($t.Editorial,{options:yt,onStateChange:ie,onUsjChange:ge,defaultUsj:mc,onScrRefChange:()=>{},scrRef:i,ref:g})})}),r.jsx("div",{className:"tw:absolute tw:bottom-0 tw:right-0",children:r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":ae,onClick:Xt,className:"tw:h-6 tw:w-6",variant:"ghost",size:"icon",children:r.jsx(B.Copy,{})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:ae})})]})})})]})]}),r.jsxs(o.Popover,{open:z,children:[r.jsx(o.PopoverAnchor,{virtualRef:F.virtualRef}),r.jsx(o.PopoverContent,{className:"tw:w-[500px] tw:p-0",onClick:j=>{j.preventDefault(),j.stopPropagation()},children:r.jsx(on,{markerMenuItems:Nt,localizedStrings:u,searchRef:ht})})]})]})}const bc=Object.freeze([...an,...Object.entries(L.usfmMarkers).map(([,t])=>t.description).filter(t=>!!t),"%footnoteEditor_callerDropdown_item_custom%","%footnoteEditor_callerDropdown_item_generated%","%footnoteEditor_callerDropdown_item_hidden%","%footnoteEditor_callerDropdown_label%","%footnoteEditor_callerDropdown_tooltip%","%footnoteEditor_copyButton_tooltip%","%footnoteEditor_noteType_crossReference_label%","%footnoteEditor_noteType_endNote_label%","%footnoteEditor_noteType_footnote_label%","%footnoteEditor_noteType_tooltip%","%footnoteEditor_noteTypeDropdown_label%","%footnoteEditor_saveButton_tooltip%",...Wo,...fa]);function xc(t,e,a=!0,n=void 0){if(!e||e.length===0)return;const i=[],l=[];let c=[];return e.forEach(d=>{typeof d!="string"&&d.marker==="fp"?(c.length>0&&l.push(c),c=[d]):c.push(d)}),c.length>0&&l.push(c),l.map((d,u)=>{const w=u===l.length-1;return r.jsxs("p",{children:[ba(t,d,a,!0,i),w&&n]},`para-${u}`)})}function ba(t,e,a=!0,n=!0,i=[]){if(!(!e||e.length===0))return e.map((l,c)=>{const d=`part-${c}`;if(typeof l=="string"){if(n){const u=o.cn(`usfm_${t}`);return r.jsx("span",{className:u,children:l},d)}return r.jsxs("span",{className:"tw:inline-flex tw:items-center tw:gap-1 tw:underline tw:decoration-destructive",children:[r.jsx(B.AlertCircle,{className:"tw:h-4 tw:w-4 tw:fill-destructive"}),r.jsx("span",{children:l}),r.jsx(B.AlertCircle,{className:"tw:h-4 tw:w-4 tw:fill-destructive"})]},d)}return yc(l,d,a,[...i,t??"unknown"])})}function yc(t,e,a,n=[]){const{marker:i}=t;return r.jsxs("span",{children:[i?a&&r.jsx("span",{className:"marker",children:`\\${i} `}):r.jsx(B.AlertCircle,{className:"tw:text-error tw:mr-1 tw:inline-block tw:h-4 tw:w-4","aria-label":"Missing marker"}),ba(i,t.content,a,!0,[...n,i??"unknown"])]},e)}function sn({footnote:t,layout:e="horizontal",formatCaller:a,showMarkers:n=!0}){const i=a?a(t.caller):t.caller,l=i!==t.caller;let c,d=t.content;Array.isArray(t.content)&&t.content.length>0&&typeof t.content[0]!="string"&&(t.content[0].marker==="fr"||t.content[0].marker==="xo")&&([c,...d]=t.content);const u=n?r.jsx("span",{className:"marker",children:`\\${t.marker}`}):void 0,w=n?r.jsx("span",{className:"marker",children:` \\${t.marker}*`}):void 0,p=i&&r.jsx("span",{className:o.cn("note-caller tw:inline-block",{formatted:l}),children:i}),h=t.category&&r.jsxs("span",{className:"note-category tw:inline-block",children:[n&&r.jsx("span",{className:"marker",children:"\\cat "}),t.category,n&&r.jsx("span",{className:"marker",children:"\\cat*"})]}),g=c&&r.jsxs(r.Fragment,{children:[ba(t.marker,[c],n,!1)," "]}),m=!!u,k=!!p,x=!!h,f=e==="horizontal"?"horizontal":"vertical",C=n?"marker-visible":"",N=e==="horizontal"?"tw:col-span-1":"tw:col-span-2 tw:col-start-1 tw:row-start-2",E=o.cn(f,C);return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:o.cn("textual-note-header tw:col-span-1 tw:w-fit tw:text-nowrap",E),children:[u,m&&(k||x)&&" ",p,k&&x&&" ",h]}),r.jsx("div",{className:o.cn("textual-note-header tw:col-span-1 tw:w-fit tw:text-nowrap",E),children:g}),r.jsx("div",{className:o.cn("textual-note-body tw:flex tw:flex-col tw:gap-1",N,E),children:d&&d.length>0&&r.jsx(r.Fragment,{children:xc(t.marker,d,n,w)})})]})}function kc({className:t,classNameForItems:e,footnotes:a,layout:n="horizontal",listId:i,selectedFootnote:l,selectionRequest:c,showMarkers:d=!0,suppressFormatting:u=!1,formatCaller:w,onFootnoteSelected:p}){const h=w??L.getFormatCallerFunction(a,void 0),g=(_,O)=>{p==null||p(_,O,i)},m=l?a.findIndex(_=>_===l):-1,[k,x]=s.useState(m),f=(_,O,T)=>{if(a.length)switch(_.key){case"Enter":case" ":_.preventDefault(),p==null||p(O,T,i);break}},C=_=>{if(a.length)switch(_.key){case"ArrowDown":_.preventDefault(),x(O=>Math.min(O+1,a.length-1));break;case"ArrowUp":_.preventDefault(),x(O=>Math.max(O-1,0));break}},N=s.useRef([]);s.useEffect(()=>{var _;k>=0&&k_===l):-1;return s.useEffect(()=>{var _;E<0||E>=N.current.length||(_=N.current[E])==null||_.scrollIntoView({block:"nearest"})},[E,c]),r.jsx("div",{role:"listbox","aria-label":"Footnotes",tabIndex:k<0?0:-1,className:o.cn("tw:h-full tw:overflow-y-auto",t),onKeyDown:C,children:r.jsx("ul",{className:o.cn("tw:p-0.5 tw:pt-1","tw:grid",n==="horizontal"?"tw:grid-cols-[min-content_min-content_1fr]":"tw:grid-cols-[min-content_1fr]",!u&&"formatted-font"),children:a.map((_,O)=>{const T=_===l,D=`${i}-${O}`;return r.jsxs(s.Fragment,{children:[r.jsx("li",{ref:I=>{N.current[O]=I},role:"option","aria-selected":T,"data-marker":_.marker,"data-state":T?"selected":void 0,tabIndex:O===k?0:-1,className:o.cn("tw:gap-x-3 tw:gap-y-1 tw:p-2 tw:data-[state=selected]:bg-muted",p&&"tw:hover:bg-muted/50","tw:w-full tw:rounded-sm tw:border-0 tw:bg-transparent tw:shadow-none","tw:focus:outline-hidden tw:focus-visible:outline-hidden","tw:focus-visible:ring-offset-0.5 tw:focus-visible:relative tw:focus-visible:z-10 tw:focus-visible:ring-2 tw:focus-visible:ring-ring","tw:grid tw:grid-flow-col tw:grid-cols-subgrid",n==="horizontal"?"tw:col-span-3":"tw:col-span-2 tw:row-span-2",e),onClick:()=>g(_,O),onKeyDown:I=>f(I,_,O),children:r.jsx(sn,{footnote:_,layout:n,formatCaller:()=>h(_.caller,O),showMarkers:d})}),Oa&&e.push(t.substring(a,i.index)),e.push(r.jsx("strong",{children:i[1]},i.index)),a=n.lastIndex;return a0?e:[t]}function jc({occurrenceData:t,setScriptureReference:e,localizedStrings:a,classNameForText:n}){const i=De(),l=a["%webView_inventory_occurrences_table_header_reference%"],c=a["%webView_inventory_occurrences_table_header_occurrence%"],d=s.useMemo(()=>{const u=[],w=new Set;return t.forEach(p=>{const h=`${p.reference.book}:${p.reference.chapterNum}:${p.reference.verseNum}:${p.text}`;w.has(h)||(w.add(h),u.push(p))}),u},[t]);return r.jsxs(o.Table,{stickyHeader:!0,children:[r.jsx(o.TableHeader,{stickyHeader:!0,children:r.jsxs(o.TableRow,{children:[r.jsx(o.TableHead,{children:l}),r.jsx(o.TableHead,{children:c})]})}),r.jsx(o.TableBody,{children:d.length>0&&d.map(u=>r.jsxs(o.TableRow,{onClick:()=>{e(u.reference)},children:[r.jsx(o.TableCell,{children:L.formatScrRef(u.reference,"English")}),r.jsx(o.TableCell,{className:n,"data-platform-content-zoom-root":i["data-platform-content-zoom-root"],"data-platform-content-zoom-label":i["data-platform-content-zoom-label"],children:_c(u.text)})]},`${u.reference.book} ${u.reference.chapterNum}:${u.reference.verseNum}-${u.text}`))})]})}function xa({className:t,...e}){return r.jsx(V.Checkbox.Root,{"data-slot":"checkbox",className:o.cn("pr-twp tw:peer tw:relative tw:flex tw:size-4 tw:shrink-0 tw:items-center tw:justify-center tw:rounded-[4px] tw:border tw:border-input tw:transition-colors tw:outline-none tw:group-has-disabled/field:opacity-50 tw:after:absolute tw:after:-inset-x-3 tw:after:-inset-y-2 tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:disabled:cursor-not-allowed tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:aria-invalid:aria-checked:border-primary tw:dark:bg-input/30 tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40 tw:data-checked:border-primary tw:data-checked:bg-primary tw:data-checked:text-primary-foreground tw:dark:data-checked:bg-primary",t),...e,children:r.jsx(V.Checkbox.Indicator,{"data-slot":"checkbox-indicator",className:"tw:grid tw:place-content-center tw:text-current tw:transition-none tw:[&>svg]:size-3.5",children:r.jsx(Mt.IconCheck,{})})})}const Cc=t=>{if(t==="asc")return r.jsx(B.ArrowUpIcon,{className:"tw:h-4 tw:w-4"});if(t==="desc")return r.jsx(B.ArrowDownIcon,{className:"tw:h-4 tw:w-4"})},ar=(t,e,a)=>r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsxs(o.TooltipTrigger,{className:o.cn("tw:flex tw:w-full tw:justify-start",a),variant:"ghost",onClick:()=>t.toggleSorting(void 0),children:[r.jsx("span",{className:"tw:w-6 tw:max-w-fit tw:flex-1 tw:overflow-hidden tw:text-ellipsis",children:e}),Cc(t.getIsSorted())]}),r.jsx(o.TooltipContent,{side:"bottom",children:e})]})}),Nc=t=>({accessorKey:"item",accessorFn:e=>e.items[0],header:({column:e})=>ar(e,t)}),Ec=(t,e)=>({accessorKey:`item${e}`,accessorFn:a=>a.items[e],header:({column:a})=>ar(a,t)}),Tc=t=>({accessorKey:"count",header:({column:e})=>ar(e,t,"tw:justify-end"),cell:({row:e})=>r.jsx("div",{className:"tw:flex tw:justify-end tw:tabular-nums",children:e.getValue("count")})}),Kr=(t,e,a,n,i,l)=>{let c=[...a];t.forEach(u=>{e==="approved"?c.includes(u)||c.push(u):c=c.filter(w=>w!==u)}),n(c);let d=[...i];t.forEach(u=>{e==="unapproved"?d.includes(u)||d.push(u):d=d.filter(w=>w!==u)}),l(d)},Sc=(t,e,a,n,i)=>({accessorKey:"status",header:({column:l})=>ar(l,t,"tw:justify-center"),cell:({row:l})=>{const c=l.getValue("status"),d=l.getValue("item");return r.jsx("div",{className:"tw:flex tw:justify-center",children:r.jsxs(ua,{value:c,variant:"outline",type:"single",className:"tw:gap-0",children:[r.jsx(tr,{onClick:u=>{u.stopPropagation(),Kr([d],"approved",e,a,n,i)},value:"approved",className:"tw:rounded-e-none tw:border-e-0",children:r.jsx(B.CircleCheckIcon,{})}),r.jsx(tr,{onClick:u=>{u.stopPropagation(),Kr([d],"unapproved",e,a,n,i)},value:"unapproved",className:"tw:rounded-none",children:r.jsx(B.CircleXIcon,{})}),r.jsx(tr,{onClick:u=>{u.stopPropagation(),Kr([d],"unknown",e,a,n,i)},value:"unknown",className:"tw:rounded-s-none tw:border-s-0",children:r.jsx(B.CircleHelpIcon,{})})]})})}}),Rc=t=>t.split(/(?:\r?\n|\r)|(?=(?:\\(?:v|c|id)))/g),Mc=t=>{const e=/^\\[vc]\s+(\d+)/,a=t.match(e);if(a)return+a[1]},Dc=t=>{const e=t.match(/^\\id\s+([A-Za-z]+)/);return e?e[1]:""},cn=(t,e,a)=>a.includes(t)?"unapproved":e.includes(t)?"approved":"unknown",Ic=Object.freeze(["%webView_inventory_all%","%webView_inventory_approved%","%webView_inventory_unapproved%","%webView_inventory_unknown%","%webView_inventory_scope_currentBook%","%webView_inventory_scope_chapter%","%webView_inventory_scope_verse%","%webView_inventory_filter_text%","%webView_inventory_show_additional_items%","%webView_inventory_occurrences_table_header_reference%","%webView_inventory_occurrences_table_header_occurrence%","%webView_inventory_no_results%"]),Oc=(t,e,a)=>{let n=t;return e!=="all"&&(n=n.filter(i=>e==="approved"&&i.status==="approved"||e==="unapproved"&&i.status==="unapproved"||e==="unknown"&&i.status==="unknown")),a!==""&&(n=n.filter(i=>i.items[0].includes(a))),n},Pc=(t,e,a)=>t.map(n=>{const i=L.isString(n.key)?n.key:n.key[0];return{items:L.isString(n.key)?[n.key]:n.key,count:n.count,status:n.status||cn(i,e,a),occurrences:n.occurrences||[]}}),we=(t,e)=>t[e]??e;function zc({inventoryItems:t,setVerseRef:e,localizedStrings:a,additionalItemsLabels:n,approvedItems:i,unapprovedItems:l,scope:c,onScopeChange:d,columns:u,id:w,areInventoryItemsLoading:p=!1,classNameForVerseText:h,onItemSelected:g}){const m=we(a,"%webView_inventory_all%"),k=we(a,"%webView_inventory_approved%"),x=we(a,"%webView_inventory_unapproved%"),f=we(a,"%webView_inventory_unknown%"),C=we(a,"%webView_inventory_scope_currentBook%"),N=we(a,"%webView_inventory_scope_chapter%"),E=we(a,"%webView_inventory_scope_verse%"),_=we(a,"%webView_inventory_filter_text%"),O=we(a,"%webView_inventory_show_additional_items%"),T=we(a,"%webView_inventory_no_results%"),[D,I]=s.useState(!1),[M,R]=s.useState("all"),[Z,X]=s.useState(""),[rt,y]=s.useState([]),tt=s.useMemo(()=>{const G=t??[];return G.length===0?[]:Pc(G,i,l)},[t,i,l]),W=s.useMemo(()=>{if(D)return tt;const G=[];return tt.forEach(ut=>{const gt=ut.items[0],st=G.find(Ct=>Ct.items[0]===gt);st?(st.count+=ut.count,st.occurrences=st.occurrences.concat(ut.occurrences)):G.push({items:[gt],count:ut.count,occurrences:ut.occurrences,status:ut.status})}),G},[D,tt]),z=s.useMemo(()=>W.length===0?[]:Oc(W,M,Z),[W,M,Z]),J=s.useMemo(()=>{var gt,st;if(!D)return u;const G=(gt=n==null?void 0:n.tableHeaders)==null?void 0:gt.length;if(!G)return u;const ut=[];for(let Ct=0;Ct{z.length===0?y([]):z.length===1&&y(z[0].items)},[z]);const F=(G,ut)=>{ut.setRowSelection(()=>{const st={};return st[G.index]=!0,st});const gt=G.original.items;y(gt),g&>.length>0&&g(gt[0])},Y=G=>{if(G==="book"||G==="chapter"||G==="verse")d(G);else throw new Error(`Invalid scope value: ${G}`)},dt=G=>{if(G==="all"||G==="approved"||G==="unapproved"||G==="unknown")R(G);else throw new Error(`Invalid status filter value: ${G}`)},ht=s.useMemo(()=>{if(W.length===0||rt.length===0)return[];const G=W.filter(ut=>L.deepEqual(D?ut.items:[ut.items[0]],rt));if(G.length>1)throw new Error("Selected item is not unique");return G.length===0?[]:G[0].occurrences},[rt,D,W]);return r.jsx("div",{id:w,className:"pr-twp tw:h-full tw:overflow-auto",children:r.jsxs("div",{className:"tw:flex tw:h-full tw:w-full tw:min-w-min tw:flex-col",children:[r.jsxs("div",{className:"tw:flex tw:items-stretch",style:{contain:"inline-size"},children:[r.jsxs(Te,{onValueChange:G=>dt(G),defaultValue:M,children:[r.jsx(Re,{className:"tw:m-1 tw:w-auto tw:flex-1",children:r.jsx(Se,{placeholder:"Select filter"})}),r.jsxs(Me,{children:[r.jsx(re,{value:"all",children:m}),r.jsx(re,{value:"approved",children:k}),r.jsx(re,{value:"unapproved",children:x}),r.jsx(re,{value:"unknown",children:f})]})]}),r.jsxs(Te,{onValueChange:G=>Y(G),defaultValue:c,children:[r.jsx(Re,{className:"tw:m-1 tw:w-auto tw:flex-1",children:r.jsx(Se,{placeholder:"Select scope"})}),r.jsxs(Me,{children:[r.jsx(re,{value:"book",children:C}),r.jsx(re,{value:"chapter",children:N}),r.jsx(re,{value:"verse",children:E})]})]}),r.jsx(o.Input,{className:"tw:m-1 tw:flex-1 tw:rounded-md tw:border",placeholder:_,value:Z,onChange:G=>{X(G.target.value)}}),n&&r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsxs("div",{className:"tw:m-1 tw:flex tw:w-fit tw:min-w-[26px] tw:items-center tw:rounded-md tw:border",children:[r.jsx(xa,{className:"tw:m-1 tw:shrink-0",checked:D,onCheckedChange:G=>{I(G)}}),r.jsx(o.Label,{className:"tw:m-1 tw:truncate",children:(n==null?void 0:n.checkboxText)??O})]})}),r.jsx(o.TooltipContent,{children:(n==null?void 0:n.checkboxText)??O})]})})]}),r.jsx("div",{className:"tw:m-1 tw:flex-1 tw:overflow-auto tw:rounded-md tw:border",children:r.jsx(qo,{columns:J,data:z,onRowClickHandler:F,stickyHeader:!0,isLoading:p,noResultsMessage:T})}),ht.length>0&&r.jsx("div",{className:"tw:m-1 tw:flex-1 tw:overflow-auto tw:rounded-md tw:border",children:r.jsx(jc,{classNameForText:h,occurrenceData:ht,setScriptureReference:e,localizedStrings:a})})]})})}const Lc="16rem",Ac="3rem",ln=s.createContext(void 0);function or(){const t=s.useContext(ln);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function dn({defaultOpen:t=!0,open:e,onOpenChange:a,className:n,style:i,children:l,side:c="primary",...d}){const[u,w]=s.useState(t),p=e??u,h=s.useCallback(E=>{const _=typeof E=="function"?E(p):E;a?a(_):w(_)},[a,p]),g=s.useCallback(()=>h(E=>!E),[h]),m=p?"expanded":"collapsed",f=o.readDirection()==="ltr"?c:c==="primary"?"secondary":"primary",C=s.useMemo(()=>({state:m,open:p,setOpen:h,toggleSidebar:g,side:f}),[m,p,h,g,f]),N={"--sidebar-width":Lc,"--sidebar-width-icon":Ac,...i};return r.jsx(ln.Provider,{value:C,children:r.jsx("div",{"data-slot":"sidebar-wrapper",style:N,className:o.cn("pr-twp tw:group/sidebar-wrapper tw:flex tw:w-full tw:has-data-[variant=inset]:bg-sidebar",n),...d,children:l})})}function wn({variant:t="sidebar",collapsible:e="offcanvas",className:a,children:n,...i}){const l=or();return e==="none"?r.jsx("div",{"data-slot":"sidebar",className:o.cn("tw:flex tw:h-full tw:w-(--sidebar-width) tw:flex-col tw:bg-sidebar tw:text-sidebar-foreground",a),...i,children:n}):r.jsxs("div",{className:"tw:group tw:peer tw:hidden tw:text-sidebar-foreground tw:md:block","data-state":l.state,"data-collapsible":l.state==="collapsed"?e:"","data-variant":t,"data-side":l.side,"data-slot":"sidebar",children:[r.jsx("div",{"data-slot":"sidebar-gap",className:o.cn("tw:relative tw:w-(--sidebar-width) tw:bg-transparent tw:transition-[width] tw:duration-200 tw:ease-linear","tw:group-data-[collapsible=offcanvas]:w-0","tw:group-data-[side=secondary]:rotate-180",t==="floating"||t==="inset"?"tw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"tw:group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),r.jsx("div",{"data-slot":"sidebar-container","data-side":l.side,className:o.cn("tw:absolute tw:inset-y-0 tw:z-10 tw:hidden tw:h-svh tw:w-(--sidebar-width) tw:transition-[left,right,width] tw:duration-200 tw:ease-linear tw:md:flex",l.side==="primary"?"tw:left-0 tw:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"tw:right-0 tw:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"tw:p-2 tw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"tw:group-data-[collapsible=icon]:w-(--sidebar-width-icon) tw:group-data-[side=primary]:border-e tw:group-data-[side=secondary]:border-s",a),...i,children:r.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"tw:flex tw:size-full tw:flex-col tw:bg-sidebar tw:group-data-[variant=floating]:rounded-lg tw:group-data-[variant=floating]:shadow-sm tw:group-data-[variant=floating]:ring-1 tw:group-data-[variant=floating]:ring-sidebar-border",children:n})})]})}function Bc({className:t,onClick:e,...a}){const{toggleSidebar:n,side:i}=or();return r.jsxs(o.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:o.cn(t),onClick:l=>{e==null||e(l),n()},...a,children:[i==="primary"?r.jsx(Mt.IconLayoutSidebar,{}):r.jsx(Mt.IconLayoutSidebarRight,{}),r.jsx("span",{className:"tw:sr-only",children:"Toggle Sidebar"})]})}function Vc({className:t,...e}){const{toggleSidebar:a}=or();return r.jsx("button",{type:"button","data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:a,title:"Toggle Sidebar",className:o.cn("tw:absolute tw:inset-y-0 tw:z-20 tw:hidden tw:w-4 tw:transition-all tw:ease-linear tw:group-data-[side=primary]:-right-4 tw:group-data-[side=secondary]:left-0 tw:after:absolute tw:after:inset-y-0 tw:after:start-1/2 tw:after:w-[2px] tw:hover:after:bg-sidebar-border tw:sm:flex tw:ltr:-translate-x-1/2 tw:rtl:translate-x-1/2","tw:in-data-[side=primary]:cursor-w-resize tw:rtl:in-data-[side=primary]:cursor-e-resize tw:in-data-[side=secondary]:cursor-e-resize tw:rtl:in-data-[side=secondary]:cursor-w-resize","tw:[[data-side=primary][data-state=collapsed]_&]:cursor-e-resize tw:rtl:[[data-side=primary][data-state=collapsed]_&]:cursor-w-resize tw:[[data-side=secondary][data-state=collapsed]_&]:cursor-w-resize tw:rtl:[[data-side=secondary][data-state=collapsed]_&]:cursor-e-resize","tw:group-data-[collapsible=offcanvas]:translate-x-0 tw:group-data-[collapsible=offcanvas]:after:start-full tw:hover:group-data-[collapsible=offcanvas]:bg-sidebar","tw:[[data-side=primary][data-collapsible=offcanvas]_&]:-end-2","tw:[[data-side=secondary][data-collapsible=offcanvas]_&]:-start-2",t),...e})}function un({className:t,...e}){return r.jsx("main",{"data-slot":"sidebar-inset",className:o.cn("tw:relative tw:flex tw:w-full tw:flex-1 tw:flex-col tw:bg-background tw:md:peer-data-[variant=inset]:m-2 tw:md:peer-data-[variant=inset]:ms-0 tw:md:peer-data-[variant=inset]:rounded-xl tw:md:peer-data-[variant=inset]:shadow-sm tw:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",t),...e})}function $c({className:t,...e}){return r.jsx(o.Input,{"data-slot":"sidebar-input","data-sidebar":"input",className:o.cn("tw:h-8 tw:w-full tw:bg-background tw:shadow-none",t),...e})}function Fc({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:o.cn("tw:flex tw:flex-col tw:gap-2 tw:p-2",t),...e})}function Kc({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:o.cn("tw:flex tw:flex-col tw:gap-2 tw:p-2",t),...e})}function Uc({className:t,...e}){return r.jsx(o.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:o.cn("tw:mx-2 tw:w-auto tw:bg-sidebar-border",t),...e})}function pn({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:o.cn("tw:no-scrollbar tw:flex tw:min-h-0 tw:flex-1 tw:flex-col tw:gap-0 tw:overflow-auto tw:group-data-[collapsible=icon]:overflow-hidden",t),...e})}function ta({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:o.cn("tw:relative tw:flex tw:w-full tw:min-w-0 tw:flex-col tw:p-2",t),...e})}function ea({className:t,asChild:e=!1,...a}){const n=e?V.Slot.Root:"div";return r.jsx(n,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:o.cn("tw:flex tw:h-8 tw:shrink-0 tw:items-center tw:rounded-md tw:px-2 tw:text-xs tw:font-medium tw:text-sidebar-foreground/70 tw:ring-sidebar-ring tw:outline-hidden tw:transition-[margin,opacity] tw:duration-200 tw:ease-linear tw:group-data-[collapsible=icon]:-mt-8 tw:group-data-[collapsible=icon]:opacity-0 tw:focus-visible:ring-2 tw:[&>svg]:size-4 tw:[&>svg]:shrink-0",t),...a})}function Gc({className:t,asChild:e=!1,...a}){const n=e?V.Slot.Root:"button";return r.jsx(n,{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:o.cn("tw:absolute tw:top-3.5 tw:end-3 tw:flex tw:aspect-square tw:w-5 tw:items-center tw:justify-center tw:rounded-md tw:p-0 tw:text-sidebar-foreground tw:ring-sidebar-ring tw:outline-hidden tw:transition-transform tw:group-data-[collapsible=icon]:hidden tw:after:absolute tw:after:-inset-2 tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:md:after:hidden tw:[&>svg]:size-4 tw:[&>svg]:shrink-0",t),...a})}function ra({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:o.cn("tw:w-full tw:text-sm",t),...e})}function hn({className:t,...e}){return r.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:o.cn("tw:flex tw:w-full tw:min-w-0 tw:flex-col tw:gap-0",t),...e})}function gn({className:t,...e}){return r.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:o.cn("tw:group/menu-item tw:relative",t),...e})}const Hc=aa.cva("tw:peer/menu-button tw:group/menu-button tw:flex tw:w-full tw:items-center tw:gap-2 tw:overflow-hidden tw:rounded-md tw:p-2 tw:text-start tw:text-sm tw:ring-sidebar-ring tw:outline-hidden tw:transition-[width,height,padding] tw:group-has-data-[sidebar=menu-action]/menu-item:pe-8 tw:group-data-[collapsible=icon]:size-8! tw:group-data-[collapsible=icon]:p-2! tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:active:bg-sidebar-accent tw:active:text-sidebar-accent-foreground tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-disabled:pointer-events-none tw:aria-disabled:opacity-50 tw:data-open:hover:bg-sidebar-accent tw:data-open:hover:text-sidebar-accent-foreground tw:data-active:bg-sidebar-accent tw:data-active:font-medium tw:data-active:text-sidebar-accent-foreground tw:[&_svg]:size-4 tw:[&_svg]:shrink-0 tw:[&>span:last-child]:truncate",{variants:{variant:{default:"tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground",outline:"tw:bg-background tw:shadow-[0_0_0_1px_var(--sidebar-border)] tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"tw:h-8 tw:text-sm",sm:"tw:h-7 tw:text-xs",lg:"tw:h-12 tw:text-sm tw:group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function fn({asChild:t=!1,isActive:e=!1,variant:a="default",size:n="default",tooltip:i,className:l,...c}){const d=t?V.Slot.Root:"button",{state:u}=or(),w=r.jsx(d,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":n,"data-active":e,className:o.cn(Hc({variant:a,size:n}),l),...c});if(!i)return w;const p=typeof i=="string"?{children:i}:i;return r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:w}),r.jsx(o.TooltipContent,{side:"right",align:"center",hidden:u!=="collapsed",...p})]})}function qc({className:t,asChild:e=!1,showOnHover:a=!1,...n}){const i=e?V.Slot.Root:"button";return r.jsx(i,{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:o.cn("tw:absolute tw:top-1.5 tw:end-1 tw:flex tw:aspect-square tw:w-5 tw:items-center tw:justify-center tw:rounded-md tw:p-0 tw:text-sidebar-foreground tw:ring-sidebar-ring tw:outline-hidden tw:transition-transform tw:group-data-[collapsible=icon]:hidden tw:peer-hover/menu-button:text-sidebar-accent-foreground tw:peer-data-[size=default]/menu-button:top-1.5 tw:peer-data-[size=lg]/menu-button:top-2.5 tw:peer-data-[size=sm]/menu-button:top-1 tw:after:absolute tw:after:-inset-2 tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:md:after:hidden tw:[&>svg]:size-4 tw:[&>svg]:shrink-0",a&&"tw:group-focus-within/menu-item:opacity-100 tw:group-hover/menu-item:opacity-100 tw:peer-data-active/menu-button:text-sidebar-accent-foreground tw:aria-expanded:opacity-100 tw:md:opacity-0",t),...n})}function Yc({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:o.cn("tw:pointer-events-none tw:absolute tw:end-1 tw:flex tw:h-5 tw:min-w-5 tw:items-center tw:justify-center tw:rounded-md tw:px-1 tw:text-xs tw:font-medium tw:text-sidebar-foreground tw:tabular-nums tw:select-none tw:group-data-[collapsible=icon]:hidden tw:peer-hover/menu-button:text-sidebar-accent-foreground tw:peer-data-[size=default]/menu-button:top-1.5 tw:peer-data-[size=lg]/menu-button:top-2.5 tw:peer-data-[size=sm]/menu-button:top-1 tw:peer-data-active/menu-button:text-sidebar-accent-foreground",t),...e})}function Zc({className:t,showIcon:e=!1,...a}){const[n]=s.useState(()=>`${Math.floor(Math.random()*40)+50}%`),i={"--skeleton-width":n};return r.jsxs("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:o.cn("tw:flex tw:h-8 tw:items-center tw:gap-2 tw:rounded-md tw:px-2",t),...a,children:[e&&r.jsx(o.Skeleton,{className:"tw:size-4 tw:rounded-md","data-sidebar":"menu-skeleton-icon"}),r.jsx(o.Skeleton,{className:"tw:h-4 tw:max-w-(--skeleton-width) tw:flex-1","data-sidebar":"menu-skeleton-text",style:i})]})}function Xc({className:t,...e}){return r.jsx("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:o.cn("tw:mx-3.5 tw:flex tw:min-w-0 tw:translate-x-px tw:rtl:-translate-x-px tw:flex-col tw:gap-1 tw:border-s tw:border-sidebar-border tw:px-2.5 tw:py-0.5 tw:group-data-[collapsible=icon]:hidden",t),...e})}function Wc({className:t,...e}){return r.jsx("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:o.cn("tw:group/menu-sub-item tw:relative",t),...e})}function Jc({asChild:t=!1,size:e="md",isActive:a=!1,className:n,...i}){const l=t?V.Slot.Root:"a";return r.jsx(l,{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":e,"data-active":a,className:o.cn("tw:flex tw:h-7 tw:min-w-0 tw:-translate-x-px tw:rtl:translate-x-px tw:items-center tw:gap-2 tw:overflow-hidden tw:rounded-md tw:px-2 tw:text-sidebar-foreground tw:ring-sidebar-ring tw:outline-hidden tw:group-data-[collapsible=icon]:hidden tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:active:bg-sidebar-accent tw:active:text-sidebar-accent-foreground tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-disabled:pointer-events-none tw:aria-disabled:opacity-50 tw:data-[size=md]:text-sm tw:data-[size=sm]:text-xs tw:data-active:bg-sidebar-accent tw:data-active:text-sidebar-accent-foreground tw:[&>span:last-child]:truncate tw:[&>svg]:size-4 tw:[&>svg]:shrink-0 tw:[&>svg]:text-sidebar-accent-foreground",n),...i})}function mn({id:t,extensionLabels:e,projectInfo:a,handleSelectSidebarItem:n,selectedSidebarItem:i,extensionsSidebarGroupLabel:l,projectsSidebarGroupLabel:c,buttonPlaceholderText:d,searchPlaceholderText:u,noResultsText:w,className:p}){const h=s.useCallback((f,C)=>{n(f,C)},[n]),g=s.useCallback(f=>{const C=a.find(N=>N.projectId===f);return C?C.projectName:f},[a]),m=s.useMemo(()=>a.map(f=>({id:f.projectId,shortName:f.projectName,fullName:f.projectFullName})),[a]),k=s.useMemo(()=>{const f={buttonPlaceholder:d,ariaLabel:c};return u&&(f.searchPlaceholder=u),w&&(f.commandEmptyMessage=w),f},[d,c,u,w]),x=s.useCallback(f=>!i.projectId&&f===i.label,[i]);return r.jsx(wn,{id:t,collapsible:"none",variant:"inset",className:o.cn("tw:w-96 tw:gap-2 tw:overflow-y-auto",p),children:r.jsxs(pn,{children:[r.jsxs(ta,{children:[r.jsx(ea,{className:"tw:text-sm",children:l}),r.jsx(ra,{children:r.jsx(hn,{children:Object.entries(e).map(([f,C])=>r.jsx(gn,{children:r.jsx(fn,{onClick:()=>h(f),isActive:x(f),children:r.jsx("span",{className:"tw:pl-3",children:C})})},f))})})]}),r.jsxs(ta,{children:[r.jsx(ea,{className:"tw:text-sm",children:c}),r.jsx(ra,{className:"tw:pl-3",children:r.jsxs("div",{className:o.cn("tw:flex tw:w-full tw:items-center tw:gap-2 tw:rounded-md tw:px-2 tw:py-1",{"tw:bg-sidebar-accent tw:text-sidebar-accent-foreground":i==null?void 0:i.projectId}),children:[r.jsx(B.ScrollText,{className:"tw:h-4 tw:w-4 tw:shrink-0"}),r.jsx(o.ProjectSelector,{mode:"project",projects:m,openTabs:[],selection:{projectId:(i==null?void 0:i.projectId)??""},onChangeSelection:({projectId:f})=>{if(!f)return;const C=g(f);h(C,f)},buttonVariant:"ghost",buttonClassName:"tw:h-8 tw:w-full tw:flex-1 tw:justify-start tw:font-normal",localizedStrings:k,triggerLabelFormat:"shortNameAndFullName"})]})})]})]})})}function Qc({id:t,children:e,searchValue:a,onSearch:n,className:i,...l}){return r.jsxs("div",{className:"tw:box-border tw:flex tw:h-full tw:flex-col",children:[r.jsx("div",{className:"tw:box-border tw:flex tw:items-center tw:justify-center tw:py-4",children:r.jsx(o.SearchBar,{className:"tw:w-9/12",value:a,onSearch:n,placeholder:"Search app settings, extension settings, and project settings"})}),r.jsxs(dn,{id:t,className:"tw:h-full tw:flex-1 tw:gap-4 tw:overflow-auto tw:border-t",children:[r.jsx(mn,{className:o.cn("tw:w-1/2 tw:min-w-[140px] tw:max-w-[220px] tw:border-e",i),...l}),r.jsx(un,{className:"tw:min-w-[215px]",children:e})]})]})}const ye="scrBook",tl="scrRef",Ee="source",el="details",rl="Scripture Reference",al="Scripture Book",vn="Type",ol="Details";function nl(t,e){const a=e??!1;return[{accessorFn:n=>`${n.start.book} ${n.start.chapterNum}:${n.start.verseNum}`,id:ye,header:(t==null?void 0:t.scriptureReferenceColumnName)??rl,cell:n=>{const i=n.row.original;return n.row.getIsGrouped()?Ot.Canon.bookIdToEnglishName(i.start.book):n.row.groupingColumnId===ye?L.formatScrRef(i.start):void 0},getGroupingValue:n=>Ot.Canon.bookIdToNumber(n.start.book),sortingFn:(n,i)=>L.compareScrRefs(n.original.start,i.original.start),enableGrouping:!0},{accessorFn:n=>L.formatScrRef(n.start),id:tl,header:void 0,cell:n=>{const i=n.row.original;return n.row.getIsGrouped()?void 0:L.formatScrRef(i.start)},sortingFn:(n,i)=>L.compareScrRefs(n.original.start,i.original.start),enableGrouping:!1},{accessorFn:n=>n.source.displayName,id:Ee,header:a?(t==null?void 0:t.typeColumnName)??vn:void 0,cell:n=>a||n.row.getIsGrouped()?n.getValue():void 0,getGroupingValue:n=>n.source.id,sortingFn:(n,i)=>n.original.source.displayName.localeCompare(i.original.source.displayName),enableGrouping:!0},{accessorFn:n=>n.detail,id:el,header:(t==null?void 0:t.detailsColumnName)??ol,cell:n=>n.getValue(),enableGrouping:!1}]}const il=t=>{if(!("offset"in t.start))throw new Error("No offset available in range start");if(t.end&&!("offset"in t.end))throw new Error("No offset available in range end");const{offset:e}=t.start;let a=0;return t.end&&({offset:a}=t.end),!t.end||L.compareScrRefs(t.start,t.end)===0?`${L.scrRefToBBBCCCVVV(t.start)}+${e}`:`${L.scrRefToBBBCCCVVV(t.start)}+${e}-${L.scrRefToBBBCCCVVV(t.end)}+${a}`},Xa=t=>`${il({start:t.start,end:t.end})} ${t.source.displayName} ${t.detail}`;function sl({sources:t,showColumnHeaders:e=!1,showSourceColumn:a=!1,scriptureReferenceColumnName:n,scriptureBookGroupName:i,typeColumnName:l,detailsColumnName:c,onRowSelected:d,id:u}){const[w,p]=s.useState([]),[h,g]=s.useState([{id:ye,desc:!1}]),[m,k]=s.useState({}),x=s.useMemo(()=>t.flatMap(M=>M.data.map(R=>({...R,source:M.source}))),[t]),f=s.useMemo(()=>nl({scriptureReferenceColumnName:n,typeColumnName:l,detailsColumnName:c},a),[n,l,c,a]);s.useEffect(()=>{w.includes(Ee)?g([{id:Ee,desc:!1},{id:ye,desc:!1}]):g([{id:ye,desc:!1}])},[w]);const C=Kt.useReactTable({data:x,columns:f,state:{grouping:w,sorting:h,rowSelection:m},onGroupingChange:p,onSortingChange:g,onRowSelectionChange:k,getExpandedRowModel:Kt.getExpandedRowModel(),getGroupedRowModel:Kt.getGroupedRowModel(),getCoreRowModel:Kt.getCoreRowModel(),getSortedRowModel:Kt.getSortedRowModel(),getRowId:Xa,autoResetExpanded:!1,enableMultiRowSelection:!1,enableSubRowSelection:!1});s.useEffect(()=>{if(d){const M=C.getSelectedRowModel().rowsById,R=Object.keys(M);if(R.length===1){const Z=x.find(X=>Xa(X)===R[0])||void 0;Z&&d(Z)}}},[m,x,d,C]);const N=i??al,E=l??vn,_=[{label:"No Grouping",value:[]},{label:`Group by ${N}`,value:[ye]},{label:`Group by ${E}`,value:[Ee]},{label:`Group by ${N} and ${E}`,value:[ye,Ee]},{label:`Group by ${E} and ${N}`,value:[Ee,ye]}],O=M=>{p(JSON.parse(M))},T=(M,R)=>{!M.getIsGrouped()&&!M.getIsSelected()&&M.getToggleSelectedHandler()(R)},D=(M,R)=>M.getIsGrouped()?"":o.cn("banded-row",R%2===0?"even":"odd"),I=(M,R,Z)=>{if(!((M==null?void 0:M.length)===0||R.depth{O(M)},children:[r.jsx(Re,{className:"tw:mb-1 tw:mt-2",children:r.jsx(Se,{})}),r.jsx(Me,{position:"item-aligned",children:r.jsx(Uo,{children:_.map(M=>r.jsx(re,{value:JSON.stringify(M.value),children:M.label},M.label))})})]}),r.jsxs(o.Table,{className:"tw:relative tw:flex tw:flex-col tw:overflow-y-auto tw:p-0",children:[e&&r.jsx(o.TableHeader,{children:C.getHeaderGroups().map(M=>r.jsx(o.TableRow,{children:M.headers.filter(R=>R.column.columnDef.header).map(R=>r.jsx(o.TableHead,{colSpan:R.colSpan,className:"tw:sticky top-0",children:R.isPlaceholder?void 0:r.jsxs("div",{children:[R.column.getCanGroup()?r.jsx(o.Button,{variant:"ghost",title:`Toggle grouping by ${R.column.columnDef.header}`,onClick:R.column.getToggleGroupingHandler(),type:"button",children:R.column.getIsGrouped()?"🛑":"👊 "}):void 0," ",Kt.flexRender(R.column.columnDef.header,R.getContext())]})},R.id))},M.id))}),r.jsx(o.TableBody,{children:C.getRowModel().rows.map((M,R)=>{const Z=o.readDirection();return r.jsx(o.TableRow,{"data-state":M.getIsSelected()?"selected":"",className:o.cn(D(M,R)),onClick:X=>T(M,X),children:M.getVisibleCells().map(X=>{if(!(X.getIsPlaceholder()||X.column.columnDef.enableGrouping&&!X.getIsGrouped()&&(X.column.columnDef.id!==Ee||!a)))return r.jsx(o.TableCell,{className:o.cn(X.column.columnDef.id,"tw:p-[1px]",I(w,M,X)),children:X.getIsGrouped()?r.jsxs(o.Button,{variant:"link",onClick:M.getToggleExpandedHandler(),type:"button",children:[M.getIsExpanded()&&r.jsx(B.ChevronDown,{}),!M.getIsExpanded()&&(Z==="ltr"?r.jsx(B.ChevronRight,{}):r.jsx(B.ChevronLeft,{}))," ",Kt.flexRender(X.column.columnDef.cell,X.getContext())," (",M.subRows.length,")"]}):Kt.flexRender(X.column.columnDef.cell,X.getContext())},X.id)})},M.id)})})]})]})}function bn({availableBookInfo:t,selectedBookIds:e,onChangeSelectedBookIds:a,localizedStrings:n,localizedBookNames:i,disabledSectionExplanations:l}){const c=n["%webView_book_selector_books_selected%"],d=n["%webView_book_selector_select_books%"],u=n["%webView_book_selector_search_books%"],w=n["%webView_book_selector_select_all%"],p=n["%webView_book_selector_clear_all%"],h=n["%webView_book_selector_no_book_found%"],{otLong:g,ntLong:m,dcLong:k,extraLong:x}={otLong:n==null?void 0:n["%scripture_section_ot_long%"],ntLong:n==null?void 0:n["%scripture_section_nt_long%"],dcLong:n==null?void 0:n["%scripture_section_dc_long%"],extraLong:n==null?void 0:n["%scripture_section_extra_long%"]},[f,C]=s.useState(!1),[N,E]=s.useState(""),_=s.useRef(void 0),O=s.useRef(!1),T=s.useMemo(()=>o.getAvailableBookIds(t),[t]),D=s.useMemo(()=>{if(!N.trim()){const W={[L.Section.OT]:[],[L.Section.NT]:[],[L.Section.DC]:[],[L.Section.Extra]:[]};return T.forEach(z=>{const J=L.getSectionForBook(z);W[J].push(z)}),W}const y=T.filter(W=>o.doesBookMatchQuery(W,N,i)),tt={[L.Section.OT]:[],[L.Section.NT]:[],[L.Section.DC]:[],[L.Section.Extra]:[]};return y.forEach(W=>{const z=L.getSectionForBook(W);tt[z].push(W)}),tt},[T,N,i]),I=s.useCallback((y,tt=!1)=>{if(!tt||!_.current){a(e.includes(y)?e.filter(dt=>dt!==y):[...e,y]),_.current=y;return}const W=T.findIndex(dt=>dt===_.current),z=T.findIndex(dt=>dt===y);if(W===-1||z===-1)return;const[J,F]=[Math.min(W,z),Math.max(W,z)],Y=T.slice(J,F+1).map(dt=>dt);a(e.includes(y)?e.filter(dt=>!Y.includes(dt)):[...new Set([...e,...Y])])},[e,a,T]),M=y=>{I(y,O.current),O.current=!1},R=(y,tt)=>{y.preventDefault(),I(tt,y.shiftKey)},Z=()=>{a(T.map(y=>y))},X=()=>{a([])},rt=s.useMemo(()=>Object.values(L.Section).filter(y=>(l==null?void 0:l[y])!==void 0&&o.getBooksForSection(T,y).length===0).map(y=>({section:y,explanation:l==null?void 0:l[y]})),[l,T]);return r.jsxs(o.Popover,{open:f,onOpenChange:y=>{C(y),y||E("")},children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"outline",role:"combobox","aria-expanded":f,className:"tw:max-w-64 tw:justify-between",children:[e.length>0?`${c}: ${e.length}`:d,r.jsx(B.ChevronsUpDown,{className:"tw:ml-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.PopoverContent,{className:"tw:max-h-(--radix-popover-content-available-height) tw:w-[500px] tw:max-w-[calc(100vw-2rem)] tw:p-0",align:"start",collisionPadding:8,children:r.jsxs(o.Command,{className:"tw:min-h-0",shouldFilter:!1,onKeyDown:y=>{y.key==="Enter"&&(O.current=y.shiftKey)},children:[r.jsx(o.CommandInput,{className:"tw:shrink-0",placeholder:u,value:N,onValueChange:E,spaceSelectsHighlightedItem:!0}),r.jsxs("div",{className:"tw:flex tw:shrink-0 tw:justify-between tw:border-b tw:p-2",children:[r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:Z,disabled:T.length===0,children:w}),r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:X,children:p})]}),r.jsxs(o.CommandList,{className:"tw:max-h-72 tw:min-h-0 tw:flex-1",children:[r.jsx(o.CommandEmpty,{children:h}),Object.values(L.Section).filter(y=>D[y].length>0).map((y,tt)=>{const W=D[y];return r.jsxs(s.Fragment,{children:[tt>0&&r.jsx(o.CommandSeparator,{alwaysRender:!0}),r.jsx(o.CommandGroup,{heading:o.getSectionLongName(y,g,m,k,x),children:W.map(z=>r.jsx(eo,{bookId:z,isSelected:e.includes(z),onSelect:()=>M(z),onMouseDown:J=>R(J,z),section:L.getSectionForBook(z),showCheck:!0,localizedBookNames:i,commandValue:Hr(z,i),className:"tw:flex tw:items-center"},z))})]},y)})]}),rt.length>0&&r.jsx("div",{className:"tw:shrink-0 tw:border-t tw:p-2",children:rt.map(({section:y,explanation:tt})=>r.jsx("p",{className:"tw:text-xs tw:text-muted-foreground",children:tt},y))})]})})]})}function xn({disabled:t,tooltipText:e,children:a,className:n}){return r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{className:n,isDisabled:t,disabledExplanation:e,children:a})}),t&&r.jsx(o.TooltipContent,{children:r.jsx("p",{className:"tw:max-w-xs tw:whitespace-pre-line",children:e})})]})})}function cl({section:t,availableBookIds:e,selectedBookIds:a,onToggle:n,localizedStrings:i,disabledExplanation:l}){const c=o.getBooksForSection(e,t).length===0,d=i["%scripture_section_ot_short%"],u=i["%scripture_section_nt_short%"],w=i["%scripture_section_dc_short%"],p=i["%scripture_section_extra_short%"],h=r.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>n(t),className:o.cn(o.isSectionFullySelected(e,t,a)&&!c&&"tw:bg-primary tw:text-primary-foreground tw:hover:bg-primary/70 tw:hover:text-primary-foreground"),disabled:c,children:o.getSectionShortName(t,d,u,w,p)});return l?r.jsx(xn,{className:"tw:flex",disabled:c,tooltipText:l,children:h}):h}const Wa=5,Ur=6;function yn({availableBookInfo:t,selectedBookIds:e,onChangeSelectedBookIds:a,localizedStrings:n,localizedBookNames:i,disabledSectionExplanations:l}){const c=n["%webView_book_selector_more%"],d=s.useMemo(()=>o.getAvailableBookIds(t),[t]),u=s.useCallback(w=>{const p=o.getBooksForSection(d,w).map(h=>h);a(o.isSectionFullySelected(d,w,e)?e.filter(h=>!p.includes(h)):[...new Set([...e,...p])])},[e,a,d]);return r.jsxs("div",{className:"tw:space-y-2",children:[r.jsx("div",{className:"tw:flex tw:flex-wrap tw:gap-2",children:Object.values(L.Section).map(w=>r.jsx(cl,{section:w,availableBookIds:d,selectedBookIds:e,onToggle:u,localizedStrings:n,disabledExplanation:l==null?void 0:l[w]},w))}),r.jsx(bn,{availableBookInfo:t,selectedBookIds:e,onChangeSelectedBookIds:a,localizedStrings:n,localizedBookNames:i,disabledSectionExplanations:l}),e.length>0&&r.jsxs("div",{className:"tw:mt-2 tw:flex tw:flex-wrap tw:gap-1",children:[e.slice(0,e.length===Ur?Ur:Wa).map(w=>r.jsx(o.Badge,{className:"tw:hover:bg-secondary",variant:"secondary",children:o.getLocalizedBookName(w,i)},w)),e.length>Ur&&r.jsx(o.Badge,{className:"tw:hover:bg-secondary",variant:"secondary",children:`+${e.length-Wa} ${c}`})]})]})}const kn=Object.freeze(["%webView_book_selector_books_selected%","%webView_book_selector_select_books%","%webView_book_selector_search_books%","%webView_book_selector_select_all%","%webView_book_selector_clear_all%","%webView_book_selector_no_book_found%","%webView_book_selector_more%","%scripture_section_ot_long%","%scripture_section_ot_short%","%scripture_section_nt_long%","%scripture_section_nt_short%","%scripture_section_dc_long%","%scripture_section_dc_short%","%scripture_section_extra_long%","%scripture_section_extra_short%"]),ll=Object.freeze(["%webView_scope_selector_selected_text%","%webView_scope_selector_verse%","%webView_scope_selector_chapter%","%webView_scope_selector_book%","%webView_scope_selector_current_verse%","%webView_scope_selector_current_chapter%","%webView_scope_selector_current_book%","%webView_scope_selector_choose_books%","%webView_scope_selector_scope%","%webView_scope_selector_select_books%","%webView_scope_selector_range%","%webView_scope_selector_select_range%","%webView_scope_selector_range_start%","%webView_scope_selector_range_end%","%webView_scope_selector_ok%","%webView_scope_selector_cancel%","%webView_scope_selector_navigate%",...kn]),It=(t,e)=>t[e]??e,dl=Object.freeze([" ","-"]);function wl({scope:t,availableScopes:e,onScopeChange:a,availableBookInfo:n,selectedBookIds:i,onSelectedBookIdsChange:l,localizedStrings:c,localizedBookNames:d,disabledSectionExplanations:u,disabledScopeExplanations:w,id:p,variant:h="radio",rangeStart:g,rangeEnd:m,onRangeStartChange:k,onRangeEndChange:x,currentScrRef:f,onCurrentScrRefChange:C,bookChapterControlLocalizedStrings:N,getEndVerse:E,hideLabel:_=!1,buttonClassName:O}){const T=It(c,"%webView_scope_selector_selected_text%"),D=It(c,"%webView_scope_selector_verse%"),I=It(c,"%webView_scope_selector_chapter%"),M=It(c,"%webView_scope_selector_book%"),R=It(c,"%webView_scope_selector_current_verse%"),Z=It(c,"%webView_scope_selector_current_chapter%"),X=It(c,"%webView_scope_selector_current_book%"),rt=It(c,"%webView_scope_selector_choose_books%"),y=It(c,"%webView_scope_selector_scope%"),tt=It(c,"%webView_scope_selector_select_books%"),W=It(c,"%webView_scope_selector_range%"),z=It(c,"%webView_scope_selector_select_range%"),J=It(c,"%webView_scope_selector_range_start%"),F=It(c,"%webView_scope_selector_range_end%"),Y=It(c,"%webView_scope_selector_ok%"),dt=It(c,"%webView_scope_selector_cancel%"),ht=It(c,"%webView_scope_selector_navigate%"),G=$=>{if(!f)return;const et=f.book.toUpperCase();switch($){case"verse":return L.formatScrRef(f,"id");case"chapter":return`${et} ${f.chapterNum}`;case"book":return et;default:return}},ut=[{value:"selectedText",label:T,id:"scope-selected-text"},{value:"verse",label:D,dropdownLabel:R,scrRefSuffix:G("verse"),id:"scope-verse"},{value:"chapter",label:I,dropdownLabel:Z,scrRefSuffix:G("chapter"),id:"scope-chapter"},{value:"book",label:M,dropdownLabel:X,scrRefSuffix:G("book"),id:"scope-book"},{value:"selectedBooks",label:rt,id:"scope-selected"},{value:"range",label:W,id:"scope-range"}],gt=($,et,St=!1)=>r.jsxs(r.Fragment,{children:[$,et&&!St&&r.jsxs("span",{className:"tw:text-muted-foreground",children:[": ",et]})]}),st=e?ut.filter($=>e.includes($.value)):ut,Ct=f??L.defaultScrRef,yt=g??Ct,Nt=m??Ct,Pt=()=>{},At=s.useRef(null),Et=s.useRef(null),kt=s.useRef(!1),Tt=s.useRef(null),Zt=s.useRef(!1),[Ht,Xt]=s.useState(void 0),ft=s.useRef(!1),Wt=s.useRef(!1),ie=s.useRef(null),ge=s.useCallback($=>{if($){Xt("start"),ft.current=!1;return}Xt(et=>et==="start"?void 0:et),ft.current&&(ft.current=!1,requestAnimationFrame(()=>{var St;const et=(St=At.current)==null?void 0:St.querySelector("button");et==null||et.click()}))},[]),Jt=s.useCallback($=>{if($){Xt("end"),Wt.current=!1;return}Xt(et=>et==="end"?void 0:et)},[]),Ut=s.useCallback($=>{k==null||k($),x==null||x($),ft.current=!0},[k,x]),se=s.useCallback($=>{x==null||x($),Wt.current=!0},[x]),xt=s.useCallback($=>{a($),$==="selectedBooks"&&i.length===0&&(f!=null&&f.book)&&l([f.book])},[a,i,f,l]),Qt=st.find($=>$.value===t),ae=()=>t==="selectedBooks"&&i.length>0?i.map($=>$.toUpperCase()).join(", "):t==="range"?L.formatScrRefRange(yt,Nt,{optionOrLocalizedBookName:"id",endRefOptionOrLocalizedBookName:"id",repeatBookName:!0}):Qt?gt(Qt.label,Qt.scrRefSuffix):t,A=st.filter($=>$.value!=="selectedBooks"&&$.value!=="range"),j=st.find($=>$.value==="selectedBooks"),K=st.find($=>$.value==="range"),[q,P]=s.useState(!1),[Q,U]=s.useState(void 0),[at,vt]=s.useState(void 0),[_t,ct]=s.useState(void 0),[bt,wt]=s.useState(void 0),[mt,be]=s.useState([]),ce=h==="dropdown"&&Q==="selectedBooks",le=r.jsx(yn,{availableBookInfo:n,selectedBookIds:ce?mt:i,onChangeSelectedBookIds:ce?be:l,localizedStrings:c,localizedBookNames:d,disabledSectionExplanations:u}),je=Ht==="end",Ce=Ht==="start",fe="tw:text-muted-foreground",de=h==="dropdown"&&Q==="range",Ie=de?ct:Ut,He=de?wt:x?se:Pt,xe=r.jsxs("div",{className:"tw:flex tw:flex-wrap tw:items-end tw:gap-4",children:[r.jsxs("div",{className:"tw:grid tw:gap-2",children:[r.jsx(o.Label,{htmlFor:"scope-range-start",className:o.cn(je&&fe),children:J}),r.jsx(vr,{id:"scope-range-start",scrRef:de?_t??yt:yt,handleSubmit:Ie,localizedBookNames:d,localizedStrings:N,getEndVerse:E,submitKeys:dl,onOpenChange:ge,className:o.cn(je&&fe),modal:!0})]}),r.jsxs("div",{ref:At,className:"tw:grid tw:gap-2",children:[r.jsx(o.Label,{htmlFor:"scope-range-end",className:o.cn(Ce&&fe),children:F}),r.jsx(vr,{id:"scope-range-end",scrRef:de?bt??Nt:Nt,handleSubmit:He,localizedBookNames:d,localizedStrings:N,getEndVerse:E,disableReferencesUpTo:de?_t??yt:yt,onOpenChange:Jt,onCloseAutoFocus:$=>{var et;Wt.current&&(Wt.current=!1,$.preventDefault(),(et=ie.current)==null||et.focus())},className:o.cn(Ce&&fe),modal:!0,align:"start"})]})]}),S=s.useRef({}),ot=s.useCallback($=>et=>{S.current[$]=et},[]),it=s.useRef(null);s.useEffect(()=>{if(!q)return;let $=0;const et=requestAnimationFrame(()=>{$=requestAnimationFrame(()=>{var St;(St=S.current[t])==null||St.focus()})});return()=>{cancelAnimationFrame(et),$&&cancelAnimationFrame($)}},[q,t]);const[zt,qe]=s.useState(null),[me,Oe]=s.useState(null),[Pe,Mr]=s.useState(null),nr=200,[Dr,ir]=s.useState(!1);s.useEffect(()=>{if(!Pe||typeof ResizeObserver>"u")return;const $=new ResizeObserver(([et])=>{ir(et.contentRect.width$.disconnect()},[Pe]);const sr=s.useCallback($=>{vt($),ct(yt),wt(Nt),be(i),P(!1),U($)},[yt,Nt,i]),cr=s.useCallback(()=>{at!==void 0&&(at==="range"?(_t&&(k==null||k(_t)),bt&&(x==null||x(bt))):at==="selectedBooks"&&l(mt),xt(at),U(void 0),vt(void 0))},[at,_t,bt,mt,k,x,l,xt]),ze=s.useCallback($=>{$||(U(void 0),vt(void 0))},[]),lr=s.useCallback($=>{var et;$.preventDefault(),(et=it.current)==null||et.focus()},[]),dr=$=>t===$?r.jsx("span",{className:"tw:absolute tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:ltr:left-2 tw:rtl:right-2",children:r.jsx(B.Check,{className:"tw:h-4 tw:w-4"})}):void 0;return r.jsxs("div",{id:p,className:"tw:grid tw:gap-4",children:[r.jsxs("div",{className:"tw:grid tw:gap-2",children:[!_&&r.jsx(o.Label,{children:y}),h==="dropdown"?r.jsxs(o.DropdownMenu,{open:q,onOpenChange:P,children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsxs(o.Button,{ref:it,variant:"outline",role:"combobox",className:o.cn("tw:w-full tw:justify-between tw:overflow-hidden tw:font-normal",O),children:[r.jsx("span",{className:"tw:min-w-0 tw:flex-1 tw:truncate tw:text-start",children:ae()}),r.jsx(B.ChevronDown,{className:"tw:ms-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.DropdownMenuContent,{ref:Mr,className:"tw:w-[var(--radix-dropdown-menu-trigger-width)] tw:min-w-[12rem]",align:"start",children:r.jsxs(o.PopoverPortalContainerProvider,{container:Pe,children:[A.map(({value:$,label:et,dropdownLabel:St,scrRefSuffix:te,id:oe})=>{const b=w==null?void 0:w[$];return r.jsxs(o.DropdownMenuItem,{ref:ot($),disabled:!!b,className:"tw:relative tw:ps-8 data-[highlighted]:tw:bg-accent data-[highlighted]:tw:text-accent-foreground",onSelect:()=>xt($),"data-selected":t===$?"true":void 0,children:[t===$&&r.jsx("span",{className:"tw:absolute tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:ltr:left-2 tw:rtl:right-2",children:r.jsx(B.Check,{className:"tw:h-4 tw:w-4"})}),r.jsxs("span",{className:"tw:flex tw:min-w-0 tw:flex-col tw:gap-0.5",children:[r.jsx("span",{className:"tw:flex tw:items-center tw:gap-1.5",children:gt(St??et,te,Dr)}),b&&r.jsx("span",{className:"tw:text-xs tw:whitespace-normal tw:text-foreground",children:b})]})]},oe)}),(j||K)&&r.jsx(o.DropdownMenuSeparator,{}),j&&r.jsxs(o.DropdownMenuItem,{ref:ot("selectedBooks"),className:o.cn("tw:relative tw:ps-8","data-[highlighted]:tw:bg-accent data-[highlighted]:tw:text-accent-foreground"),onSelect:()=>sr("selectedBooks"),"data-selected":t==="selectedBooks"?"true":void 0,children:[dr("selectedBooks"),`${j.label}…`]}),K&&r.jsxs(o.DropdownMenuItem,{ref:ot("range"),className:o.cn("tw:relative tw:ps-8","data-[highlighted]:tw:bg-accent data-[highlighted]:tw:text-accent-foreground"),onSelect:()=>sr("range"),"data-selected":t==="range"?"true":void 0,children:[dr("range"),`${K.label}…`]}),C&&r.jsxs(r.Fragment,{children:[r.jsx(o.DropdownMenuSeparator,{}),r.jsx(o.DropdownMenuLabel,{className:"tw:px-2 tw:py-1.5 tw:text-xs tw:font-medium tw:text-muted-foreground",children:ht}),r.jsx(o.DropdownMenuItem,{ref:Tt,className:"tw:p-0",onSelect:$=>{var et,St;if($.preventDefault(),kt.current){kt.current=!1;return}Zt.current||(St=(et=Et.current)==null?void 0:et.querySelector("button"))==null||St.click()},children:r.jsx("div",{ref:Et,className:"tw:w-full tw:px-1 tw:pb-1",onPointerDownCapture:$=>{const et=$.target instanceof HTMLElement?$.target:void 0;et!=null&&et.closest("button")&&(kt.current=!0,requestAnimationFrame(()=>{kt.current=!1}))},children:r.jsx(vr,{id:"scope-navigate",scrRef:f??L.defaultScrRef,handleSubmit:C,localizedBookNames:d,localizedStrings:N,getEndVerse:E,triggerVariant:"ghost",onOpenChange:$=>{Zt.current=$},onCloseAutoFocus:$=>{var et;$.preventDefault(),(et=Tt.current)==null||et.focus()},modal:!0,className:"tw:w-full tw:min-w-0 tw:max-w-none tw:justify-between tw:px-2 tw:font-normal",triggerContent:r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"tw:min-w-0 tw:flex-1 tw:truncate tw:text-start",children:L.formatScrRef(f??L.defaultScrRef,"id")}),r.jsx(B.ChevronDown,{className:"tw:ms-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})})})})]})]})})]}):r.jsx(o.RadioGroup,{value:t,onValueChange:xt,className:"tw:flex tw:flex-col tw:space-y-1",children:st.map(({value:$,label:et,scrRefSuffix:St,id:te})=>{const oe=w==null?void 0:w[$];return r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-0.5",children:[r.jsxs("div",{className:"tw:flex tw:items-center",children:[r.jsx(o.RadioGroupItem,{className:"tw:me-2",value:$,id:te,disabled:!!oe,"aria-describedby":oe?`${te}-explanation`:void 0}),r.jsx(o.Label,{htmlFor:te,children:gt(et,St)})]}),oe&&r.jsx("span",{id:`${te}-explanation`,className:"tw:ms-6 tw:text-xs tw:whitespace-normal tw:text-muted-foreground",children:oe})]},te)})})]}),h==="radio"&&t==="selectedBooks"&&r.jsxs("div",{className:"tw:grid tw:gap-2",children:[r.jsx(o.Label,{children:tt}),le]}),h==="radio"&&t==="range"&&xe,h==="dropdown"&&j&&r.jsx(o.Dialog,{open:Q==="selectedBooks",onOpenChange:ze,children:r.jsx(o.DialogContent,{ref:Oe,onCloseAutoFocus:lr,onEscapeKeyDown:$=>{me!=null&&me.querySelector('[data-state="open"]')&&$.preventDefault()},children:r.jsxs(o.PopoverPortalContainerProvider,{container:me,children:[r.jsx(o.DialogHeader,{className:"tw:pe-8",children:r.jsx(o.DialogTitle,{children:rt})}),le,r.jsxs(o.DialogFooter,{children:[r.jsx(o.Button,{variant:"outline",onClick:()=>ze(!1),children:dt}),r.jsx(o.Button,{onClick:cr,children:Y})]})]})})}),h==="dropdown"&&K&&r.jsx(o.Dialog,{open:Q==="range",onOpenChange:ze,children:r.jsx(o.DialogContent,{ref:qe,onCloseAutoFocus:lr,onEscapeKeyDown:$=>{zt!=null&&zt.querySelector('[data-state="open"]')&&$.preventDefault()},children:r.jsxs(o.PopoverPortalContainerProvider,{container:zt,children:[r.jsx(o.DialogHeader,{className:"tw:pe-8",children:r.jsx(o.DialogTitle,{children:z})}),xe,r.jsxs(o.DialogFooter,{children:[r.jsx(o.Button,{variant:"outline",onClick:()=>ze(!1),children:dt}),r.jsx(o.Button,{ref:ie,onClick:cr,children:Y})]})]})})})]})}function ul({availableScrollGroupIds:t,scrollGroupId:e,onChangeScrollGroupId:a,localizedStrings:n={},size:i="sm",className:l,id:c,disabled:d}){const u={...o.dt,...Object.fromEntries(Object.entries(n).map(([p,h])=>[p,p===h&&p in o.dt?o.dt[p]:h]))},w=o.readDirection();return r.jsxs(Te,{value:`${e}`,onValueChange:p=>a(p==="undefined"?void 0:parseInt(p,10)),disabled:d,children:[r.jsx(Re,{size:i,className:o.cn("pr-twp tw:w-auto",l),children:r.jsx(Se,{placeholder:u[L.getLocalizeKeyForScrollGroupId(e)]??e})}),r.jsx(Me,{id:c,align:w==="rtl"?"end":"start",style:{zIndex:o.Z_INDEX_ABOVE_DOCK},children:t.map(p=>r.jsx(re,{value:`${p}`,children:u[L.getLocalizeKeyForScrollGroupId(p)]},`${p}`))})]})}function pl({children:t}){return r.jsx("div",{className:"pr-twp tw:grid",children:t})}function hl({primary:t,secondary:e,children:a,isLoading:n=!1,loadingMessage:i}){return r.jsxs("div",{className:"tw:flex tw:items-center tw:justify-between tw:space-x-4 tw:py-2",children:[r.jsxs("div",{children:[r.jsx("p",{className:"tw:text-sm tw:font-medium tw:leading-none",children:t}),r.jsx("p",{className:"tw:whitespace-normal tw:break-words tw:text-sm tw:text-muted-foreground",children:e})]}),n?r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:i}):r.jsx("div",{children:a})]})}function gl({primary:t,secondary:e,includeSeparator:a=!1}){return r.jsxs("div",{className:"tw:space-y-4 tw:py-2",children:[r.jsxs("div",{children:[r.jsx("h3",{className:"tw:text-lg tw:font-medium",children:t}),r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:e})]}),a?r.jsx(o.Separator,{}):""]})}function _n(t,e){var a;return(a=Object.entries(t).find(([,n])=>"menuItem"in n&&n.menuItem===e))==null?void 0:a[0]}function jn(t){return Object.entries(t).flatMap(([e,a])=>typeof a=="object"?[{columnKey:e,column:a}]:[]).sort((e,a)=>e.column.order-a.column.order)}function Cn(t,e,a){return"column"in e&&e.column===a||t===a}function fl(t){const e=new Set(t.items.map(n=>n.group)),a=Object.entries(t.groups).filter(([n])=>e.has(n));return jn(t.columns).filter(({columnKey:n})=>a.some(([i,l])=>Cn(i,l,n))).map(({columnKey:n,column:i})=>({columnKey:n,label:i.label}))}function Tr({icon:t,menuLabel:e,leading:a}){return t?r.jsx("img",{className:o.cn("tw:max-h-5 tw:max-w-5",a?"tw:me-2":"tw:ms-2"),src:t,alt:`${a?"Leading":"Trailing"} icon for ${e}`}):void 0}const Nn=(t,e,a,n)=>a?Object.entries(t).filter(([l,c])=>Cn(l,c,a)).sort(([,l],[,c])=>l.order-c.order).flatMap(([l])=>e.filter(d=>d.group===l).sort((d,u)=>d.order-u.order).map(d=>r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:"command"in d?r.jsxs(o.DropdownMenuItem,{onClick:()=>{n(d)},children:[d.iconPathBefore&&r.jsx(Tr,{icon:d.iconPathBefore,menuLabel:d.label,leading:!0}),d.label,d.iconPathAfter&&r.jsx(Tr,{icon:d.iconPathAfter,menuLabel:d.label}),d.shortcut&&r.jsx(o.DropdownMenuShortcut,{children:d.shortcut})]},`dropdown-menu-item-${d.label}-${d.command}`):r.jsxs(o.DropdownMenuSub,{children:[r.jsx(o.DropdownMenuSubTrigger,{children:d.label}),r.jsx(o.DropdownMenuPortal,{children:r.jsx(o.DropdownMenuSubContent,{children:Nn(t,e,_n(t,d.id),n)})})]},`dropdown-menu-sub-${d.label}-${d.id}`)}),d.tooltip&&r.jsx(o.TooltipContent,{children:d.tooltip})]},`tooltip-${d.label}-${"command"in d?d.command:d.id}`))):void 0;function Sr({onSelectMenuItem:t,menuData:e,tabLabel:a,icon:n,className:i,showSectionHeadings:l=!1,variant:c,buttonVariant:d="ghost",id:u}){const w=s.useId(),p=fl(e),h=l&&p.length>1;ao();const g=s.useRef(null),m=()=>o.showFocusRing(g.current??void 0);return r.jsxs(o.DropdownMenu,{variant:c,children:[r.jsx(o.DropdownMenuTrigger,{"aria-label":a,className:i,asChild:!0,id:u,children:r.jsx(o.Button,{ref:g,variant:d,size:"icon",className:o.QUIET_FOCUS_RING_SUPPRESSION,onKeyDown:m,onBlur:m,children:n??r.jsx(B.MenuIcon,{})})}),r.jsx(o.DropdownMenuContent,{align:"start",style:{zIndex:o.Z_INDEX_ABOVE_DOCK},onCloseAutoFocus:()=>{o.getLastInteractionModality()==="pointer"&&o.hideFocusRing(g.current??void 0)},children:p.map(({columnKey:k,label:x},f)=>{const C=`${w}-${k}`;return r.jsxs(s.Fragment,{children:[r.jsxs(o.DropdownMenuGroup,{"aria-labelledby":h?C:void 0,children:[h&&r.jsx(o.DropdownMenuLabel,{id:C,children:x}),r.jsx(o.TooltipProvider,{children:Nn(e.groups,e.items,k,t)})]}),ft>=c),i=n===-1?e.length:n;if(a===void 0||i>=a)return i;const l=e.findIndex(c=>t>=c+ml);return l===-1?a:Math.min(a,l)}function ya(t,e){const[a,n]=s.useState(0),i=s.useRef(void 0);return s.useLayoutEffect(()=>{if(!t||typeof ResizeObserver>"u")return;const l=()=>{const{width:d}=t.getBoundingClientRect(),u=i.current;i.current=d;const w=u===void 0||u===0;n(p=>vl(d,e,w?void 0:p))};l();const c=new ResizeObserver(l);return c.observe(t),()=>c.disconnect()},[t,e]),a}const bl=Object.freeze([520,420,340]),En=s.forwardRef(({id:t,className:e,children:a},n)=>{const[i,l]=s.useState(void 0),c=s.useRef(n);c.current=n;const d=s.useCallback(h=>{l(h??void 0);const g=c.current;typeof g=="function"?g(h):g&&(g.current=h)},[]),u=ya(i,bl),w=na()??u,p=w>=Be.MINIMUM;return r.jsx(rr.Provider,{value:w,children:r.jsx("div",{ref:d,className:o.cn("tw:sticky tw:top-0 tw:box-border tw:h-14 tw:items-center tw:justify-between tw:overflow-clip tw:py-2 tw:text-foreground tw:@container/toolbar",p?"tw:gap-1 tw:px-2":"tw:gap-2 tw:px-4",e,"tw:flex tw:flex-row"),id:t,children:a})})});function xl({onSelectProjectMenuItem:t,onSelectViewInfoMenuItem:e,projectMenuData:a,tabViewMenuData:n,id:i,className:l,startAreaChildren:c,centerAreaChildren:d,endAreaChildren:u,menuButtonIcon:w}){return r.jsxs(En,{className:`tw:w-full tw:border-b ${l}`,id:i,children:[a&&r.jsx(Sr,{onSelectMenuItem:t,menuData:a,tabLabel:"Project",icon:w??r.jsx(B.Menu,{}),buttonVariant:"ghost",showSectionHeadings:!0}),c&&r.jsx("div",{className:"tw:flex tw:min-w-0 tw:shrink tw:grow-[10] tw:flex-row tw:flex-nowrap tw:items-start tw:gap-x-1 tw:gap-y-2 tw:overflow-clip",children:c}),d&&r.jsx("div",{className:"tw:flex tw:shrink tw:grow-[1] tw:basis-0 tw:flex-row tw:flex-nowrap tw:items-start tw:justify-center tw:gap-x-1 tw:gap-y-2 tw:overflow-clip tw:@sm:basis-auto",children:d}),r.jsxs("div",{className:"tw:flex tw:shrink-0 tw:grow-[1] tw:flex-row-reverse tw:flex-nowrap tw:items-start tw:gap-x-1 tw:gap-y-2 tw:overflow-clip",children:[n&&r.jsx(Sr,{onSelectMenuItem:e,menuData:n,tabLabel:"View Info",icon:r.jsx(B.EllipsisVertical,{}),className:"tw:h-full",showSectionHeadings:!0}),u]})]})}function yl({onSelectProjectMenuItem:t,projectMenuData:e,id:a,className:n,menuButtonIcon:i}){return r.jsx(En,{className:"tw:pointer-events-none",id:a,children:e&&r.jsx(Sr,{onSelectMenuItem:t,menuData:e,tabLabel:"Project",icon:i,className:`tw:pointer-events-auto tw:shadow-lg ${n}`,buttonVariant:"outline",showSectionHeadings:!0})})}const ka=s.forwardRef(({className:t,...e},a)=>{const n=o.readDirection();return r.jsx(V.Tabs.Root,{orientation:"vertical",ref:a,className:o.cn("tw:flex tw:gap-1 tw:rounded-md tw:text-muted-foreground",t),...e,dir:n})});ka.displayName=V.Tabs.List.displayName;const _a=s.forwardRef(({className:t,...e},a)=>r.jsx(V.Tabs.List,{ref:a,className:o.cn("tw:flex tw:items-center tw:w-[124px] tw:justify-center tw:rounded-md tw:bg-muted tw:p-1 tw:text-muted-foreground",t),...e}));_a.displayName=V.Tabs.List.displayName;const Tn=s.forwardRef(({className:t,...e},a)=>r.jsx(V.Tabs.Trigger,{ref:a,...e,className:o.cn("tw:inline-flex tw:w-[116px] tw:cursor-pointer tw:items-center tw:justify-center tw:break-words tw:rounded-sm tw:border-0 tw:bg-muted tw:px-3 tw:py-1.5 tw:text-sm tw:font-medium tw:text-inherit tw:ring-offset-background tw:transition-all tw:hover:text-foreground tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-ring tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:data-[state=active]:bg-background tw:data-[state=active]:text-foreground tw:data-[state=active]:shadow-sm tw:overflow-clip",t)})),ja=s.forwardRef(({className:t,...e},a)=>r.jsx(V.Tabs.Content,{ref:a,className:o.cn("tw:ms-5 tw:flex-grow tw:text-foreground tw:ring-offset-background tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-ring tw:focus-visible:ring-offset-2",t),...e}));ja.displayName=V.Tabs.Content.displayName;function kl({tabList:t,searchValue:e,onSearch:a,searchPlaceholder:n,headerTitle:i,searchClassName:l,id:c}){return r.jsxs("div",{id:c,className:"pr-twp",children:[r.jsxs("div",{className:"tw:sticky tw:top-0 tw:space-y-2 tw:pb-2",children:[i?r.jsx("h1",{children:i}):"",r.jsx(o.SearchBar,{className:l,value:e,onSearch:a,placeholder:n})]}),r.jsxs(ka,{children:[r.jsx(_a,{children:t.map(d=>r.jsx(Tn,{value:d.value,children:d.value},d.key))}),t.map(d=>r.jsx(ja,{value:d.value,children:d.content},d.key))]})]})}function _l({className:t,variant:e="default",...a}){const n=s.useMemo(()=>({variant:e}),[e]);return r.jsx(o.MenuContext.Provider,{value:n,children:r.jsx(V.Menubar.Root,{"data-slot":"menubar",className:o.cn("tw:flex tw:h-8 tw:items-center tw:gap-0.5 tw:rounded-lg tw:border tw:p-[3px]",t),...a})})}function jl({...t}){return r.jsx(V.Menubar.Menu,{"data-slot":"menubar-menu",...t})}function Cl({...t}){return r.jsx(V.Menubar.Portal,{"data-slot":"menubar-portal",...t})}function Nl({className:t,...e}){const a=o.useMenuContext();return r.jsx(V.Menubar.Trigger,{"data-slot":"menubar-trigger",className:o.cn("tw:flex tw:items-center tw:rounded-sm tw:px-1.5 tw:py-[2px] tw:text-sm tw:font-medium tw:outline-hidden tw:select-none tw:hover:bg-muted tw:aria-expanded:bg-muted","pr-twp",o.menuVariants({variant:a.variant,className:t})),...e})}function El({className:t,align:e="start",alignOffset:a=-4,sideOffset:n=8,style:i,...l}){return r.jsx(Cl,{children:r.jsx(V.Menubar.Content,{"data-slot":"menubar-content",align:e,alignOffset:a,sideOffset:n,className:o.cn("tw:min-w-36 tw:origin-(--radix-menubar-content-transform-origin) tw:overflow-hidden tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-md tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative","pr-twp",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...i},...l})})}function Tl({className:t,inset:e,variant:a="default",...n}){const i=o.useMenuContext();return r.jsx(V.Menubar.Item,{"data-slot":"menubar-item","data-inset":e,"data-variant":a,className:o.cn("tw:group/menubar-item tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:not-data-[variant=destructive]:focus:**:text-accent-foreground tw:data-inset:ps-7 tw:data-[variant=destructive]:text-destructive tw:data-[variant=destructive]:focus:bg-destructive/10 tw:data-[variant=destructive]:focus:text-destructive tw:dark:data-[variant=destructive]:focus:bg-destructive/20 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4 tw:data-[variant=destructive]:*:[svg]:text-destructive!",o.menuVariants({variant:i.variant,className:t})),...n})}function Sl({className:t,...e}){return r.jsx(V.Menubar.Separator,{"data-slot":"menubar-separator",className:o.cn("tw:-mx-1 tw:my-1 tw:h-px tw:bg-border",t),...e})}function Rl({className:t,...e}){return r.jsx("span",{"data-slot":"menubar-shortcut",className:o.cn("tw:[unicode-bidi:plaintext] tw:ms-auto tw:text-xs tw:tracking-widest tw:text-muted-foreground tw:group-focus/menubar-item:text-accent-foreground",t),...e})}function Ml({...t}){return r.jsx(V.Menubar.Sub,{"data-slot":"menubar-sub",...t})}function Dl({className:t,inset:e,children:a,...n}){const i=o.useMenuContext();return r.jsxs(V.Menubar.SubTrigger,{"data-slot":"menubar-sub-trigger","data-inset":e,className:o.cn("tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-none tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-open:bg-accent tw:data-open:text-accent-foreground tw:[&_svg:not([class*=size-])]:size-4",o.menuVariants({variant:i.variant,className:t})),...n,children:[a,r.jsx(Mt.IconChevronRight,{className:"tw:ms-auto tw:size-4"})]})}function Il({className:t,style:e,...a}){return r.jsx(V.Menubar.SubContent,{"data-slot":"menubar-sub-content",className:o.cn("tw:min-w-32 tw:origin-(--radix-menubar-content-transform-origin) tw:overflow-hidden tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-lg tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...e},...a})}const Xe=(t,e)=>{setTimeout(()=>{e.forEach(a=>{var n;(n=t.current)==null||n.dispatchEvent(new KeyboardEvent("keydown",a))})},0)},Sn=(t,e,a,n)=>{if(!a)return;const i=Object.entries(t).filter(([l,c])=>"column"in c&&c.column===a||l===a).sort(([,l],[,c])=>l.order-c.order);return i.flatMap(([l],c)=>{const d=e.filter(w=>w.group===l).sort((w,p)=>w.order-p.order).map(w=>r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:"command"in w?r.jsxs(Tl,{onClick:()=>{n(w)},children:[w.iconPathBefore&&r.jsx(Tr,{icon:w.iconPathBefore,menuLabel:w.label,leading:!0}),w.label,w.iconPathAfter&&r.jsx(Tr,{icon:w.iconPathAfter,menuLabel:w.label}),w.shortcut&&r.jsx(Rl,{children:w.shortcut})]},`menubar-item-${w.label}-${w.command}`):r.jsxs(Ml,{children:[r.jsx(Dl,{children:w.label}),r.jsx(Il,{children:Sn(t,e,_n(t,w.id),n)})]},`menubar-sub-${w.label}-${w.id}`)}),w.tooltip&&r.jsx(o.TooltipContent,{children:w.tooltip})]},`tooltip-${w.label}-${"command"in w?w.command:w.id}`)),u=[...d];return d.length>0&&c{switch(p){case"platform.app":return l;case"platform.window":return c;case"platform.layout":return d;case"platform.help":return u;default:return}};if($n.useHotkeys(["alt","alt+p","alt+l","alt+n","alt+h"],(p,h)=>{var k,x,f,C;p.preventDefault();const g={key:"Escape",code:"Escape",keyCode:27,bubbles:!0},m={key:" ",code:"Space",keyCode:32,bubbles:!0};switch(h.hotkey){case"alt":Xe(l,[g]);break;case"alt+p":(k=l.current)==null||k.focus(),Xe(l,[g,m]);break;case"alt+l":(x=c.current)==null||x.focus(),Xe(c,[g,m]);break;case"alt+n":(f=d.current)==null||f.focus(),Xe(d,[g,m]);break;case"alt+h":(C=u.current)==null||C.focus(),Xe(u,[g,m]);break}}),s.useEffect(()=>{if(!a||!i.current)return;const p=new MutationObserver(m=>{m.forEach(k=>{if(k.attributeName==="data-state"&&k.target instanceof HTMLElement){const x=k.target.getAttribute("data-state");a(x==="open")}})});return i.current.querySelectorAll("[data-state]").forEach(m=>{p.observe(m,{attributes:!0})}),()=>p.disconnect()},[a]),!!t)return r.jsx(_l,{ref:i,className:"pr-twp tw:border-0 tw:bg-transparent",variant:n,children:jn(t.columns).map(({columnKey:p,column:h})=>r.jsxs(jl,{children:[r.jsx(Nl,{ref:w(p),children:h.label}),r.jsx(El,{style:{zIndex:o.Z_INDEX_ABOVE_DOCK},children:r.jsx(o.TooltipProvider,{children:Sn(t.groups,t.items,p,e)})})]},p))})}const Pl=Object.freeze([950,800,700]);function zl(t){switch(t){case void 0:return;case"darwin":return"tw:ps-[85px]";default:return"tw:pe-[calc(138px+1rem)]"}}function Ll({menuData:t,onOpenChange:e,onSelectMenuItem:a,className:n,id:i,children:l,appMenuAreaChildren:c,configAreaChildren:d,shouldUseAsAppDragArea:u,menubarVariant:w="default"}){const[p,h]=s.useState(void 0),g=s.useCallback(x=>h(x??void 0),[]),m=ya(p,Pl),k=na()??m;return r.jsx(rr.Provider,{value:k,children:r.jsx("div",{className:o.cn("tw:border tw:px-4 tw:text-foreground",n),style:{position:"relative"},id:i,children:r.jsxs("div",{"data-testid":"toolbar-content-row",className:"tw:flex tw:h-full tw:w-full tw:justify-between tw:overflow-hidden",ref:g,style:u?{WebkitAppRegion:"drag"}:void 0,children:[r.jsx("div",{className:"tw:flex tw:shrink-0 tw:grow tw:basis-0",children:r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",style:u?{WebkitAppRegion:"no-drag"}:void 0,children:[c,t&&r.jsx(Ol,{menuData:t,onOpenChange:e,onSelectMenuItem:a,variant:w})]})}),r.jsx("div",{"data-testid":"toolbar-content-area",className:"tw:flex tw:min-w-0 tw:shrink tw:items-center tw:gap-2 tw:overflow-clip tw:px-2",style:u?{WebkitAppRegion:"no-drag"}:void 0,children:l}),r.jsx("div",{className:"tw:flex tw:min-w-0 tw:grow tw:basis-0 tw:justify-end",children:r.jsx("div",{className:"tw:flex tw:min-w-0 tw:items-center tw:gap-2 tw:pe-1",style:u?{WebkitAppRegion:"no-drag"}:void 0,children:d})})]})})})}const Al=(t,e)=>t[e]??e;function Bl({knownUiLanguages:t,primaryLanguage:e="en",fallbackLanguages:a=[],onLanguagesChange:n,onPrimaryLanguageChange:i,onFallbackLanguagesChange:l,localizedStrings:c,className:d,id:u}){const w=Al(c,"%settings_uiLanguageSelector_fallbackLanguages%"),[p,h]=s.useState(!1),g=k=>{i&&i(k),n&&n([k,...a.filter(x=>x!==k)]),l&&a.find(x=>x===k)&&l([...a.filter(x=>x!==k)]),h(!1)},m=(k,x)=>{var C,N,E,_,O,T;const f=x!==k?((N=(C=t[k])==null?void 0:C.uiNames)==null?void 0:N[x])??((_=(E=t[k])==null?void 0:E.uiNames)==null?void 0:_.en):void 0;return f?`${(O=t[k])==null?void 0:O.autonym} (${f})`:(T=t[k])==null?void 0:T.autonym};return r.jsxs("div",{id:u,className:o.cn("pr-twp tw:max-w-sm",d),children:[r.jsxs(Te,{name:"uiLanguage",value:e,onValueChange:g,open:p,onOpenChange:k=>h(k),children:[r.jsx(Re,{children:r.jsx(Se,{})}),r.jsx(Me,{style:{zIndex:o.Z_INDEX_ABOVE_DOCK},children:Object.keys(t).map(k=>r.jsx(re,{value:k,children:m(k,e)},k))})]}),e!=="en"&&r.jsx("div",{className:"tw:pt-3",children:r.jsx(o.Label,{className:"tw:font-normal tw:text-muted-foreground",children:L.formatReplacementString(w,{fallbackLanguages:(a==null?void 0:a.length)>0?a.map(k=>m(k,e)).join(", "):t.en.autonym})})})]})}const Vl=Object.freeze(["%firstRun_language_search_placeholder%","%firstRun_language_noResults%","%firstRun_language_selected%"]);function Rn(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}function $l(t,e){if(!e)return t;const a=Rn(e);return t.filter(({keywords:n})=>n.some(i=>i.includes(a)))}function Fl(t){return[...t].sort(([e,a],[n,i])=>e==="en"&&n!=="en"?-1:n==="en"&&e!=="en"?1:a.autonym.localeCompare(i.autonym))}function Kl({languages:t,value:e,onChange:a,localizedStrings:n,className:i,id:l}){const[c,d]=s.useState(""),[u,w]=s.useState(),p=s.useRef(null),h=s.useRef(null),g=s.useRef(new Map),[m,k]=s.useState(),x=s.useMemo(()=>Fl(Object.entries(t)).map(([T,D])=>({tag:T,info:D,keywords:[D.autonym,...Object.values(D.uiNames??{}),...D.otherNames??[]].map(Rn)})),[t]),f=s.useMemo(()=>$l(x,c),[x,c]),C=s.useMemo(()=>{var D;const T=I=>!!I&&f.some(M=>M.tag===I);return T(u)?u:T(e)?e:((D=f[0])==null?void 0:D.tag)??""},[u,e,f]),N=x.length>1;s.useLayoutEffect(()=>{var T;k((T=h.current)==null?void 0:T.id)},[]),s.useLayoutEffect(()=>{const T=g.current.get(C),D=N?p.current:void 0;D&&(T?D.setAttribute("aria-activedescendant",T.id):D.removeAttribute("aria-activedescendant")),T&&C!==u&&T.scrollIntoView({block:"nearest"})},[C,u,N]);const E=n["%firstRun_language_search_placeholder%"]??"",_=n["%firstRun_language_noResults%"]??"",O=n["%firstRun_language_selected%"]??"";return r.jsxs(o.Command,{id:l,className:o.cn("pr-twp",i),shouldFilter:!1,value:C,onValueChange:w,children:[N&&r.jsx("div",{"data-slot":"command-input-wrapper",className:"tw:p-1 tw:pb-0",children:r.jsxs(o.InputGroup,{className:"tw:h-8! tw:rounded-lg! tw:border-input/30 tw:bg-input/30 tw:shadow-none! tw:*:data-[slot=input-group-addon]:ps-2!",children:[r.jsx("input",{ref:p,"data-slot":"command-input",type:"text",role:"combobox","aria-expanded":!0,"aria-controls":m,"aria-autocomplete":"list",placeholder:E,"aria-label":E,value:c,onChange:T=>{d(T.currentTarget.value),w(void 0)},className:"tw:w-full tw:text-sm tw:outline-hidden tw:disabled:cursor-not-allowed tw:disabled:opacity-50"}),r.jsx(o.InputGroupAddon,{children:r.jsx(Mt.IconSearch,{className:"tw:size-4 tw:shrink-0 tw:opacity-50"})})]})}),r.jsxs(o.CommandList,{ref:h,children:[r.jsx(o.CommandEmpty,{children:_}),f.map(({tag:T,info:D})=>{const I=T===e;return r.jsxs(o.CommandItem,{ref:M=>{M?g.current.set(T,M):g.current.delete(T)},value:T,"aria-current":I?"true":void 0,"data-checked":I?"true":void 0,onSelect:()=>a(T),children:[r.jsx("span",{dir:"auto",children:D.autonym}),I&&r.jsx("span",{className:"tw:sr-only",children:O})]},T)})]})]})}function Ul({item:t,createLabel:e,createComplexLabel:a}){return e?r.jsx(o.Label,{children:e(t)}):a?r.jsx(o.Label,{children:a(t)}):r.jsx(o.Label,{children:t})}function Mn({id:t,className:e,listItems:a,selectedListItems:n,handleSelectListItem:i,createLabel:l,createComplexLabel:c}){return r.jsx("div",{id:t,className:e,children:a.map(d=>r.jsxs("div",{className:"tw:m-2 tw:flex tw:items-center",children:[r.jsx(xa,{className:"tw:me-2 tw:align-middle",checked:n.includes(d),onCheckedChange:u=>i(d,u)}),r.jsx(Ul,{item:d,createLabel:l,createComplexLabel:c})]},d))})}const Gl=Mn;function Hl(t,e){const[a,n]=s.useState(t),[i,l]=s.useState(e);return t!==a&&(n(t),t&&l(e)),t?e:i}function ql({open:t,anchorRect:e,message:a,confirmingKeyLabel:n,side:i="bottom",align:l="start",showArrow:c=!0}){const d=t?L.formatReplacementStringToArray(a,{key:n}).join(""):"",{anchorRect:u,message:w,confirmingKeyLabel:p,showArrow:h}=Hl(t,{anchorRect:e,message:a,confirmingKeyLabel:n,showArrow:c});return r.jsxs(o.TooltipProvider,{children:[r.jsx("span",{role:"status",className:"tw:sr-only",children:d}),r.jsxs(o.Tooltip,{open:t,onOpenChange:()=>{},children:[r.jsx(o.TooltipTrigger,{"aria-hidden":"true",tabIndex:-1,className:o.cn("tw:absolute tw:opacity-0 tw:pointer-events-none","tw:p-0 tw:border-0 tw:bg-transparent tw:cursor-default tw:min-w-0 tw:min-h-0"),style:{top:u.top,left:u.left,width:u.width,height:u.height}}),r.jsx(o.TooltipContent,{side:i,align:l,showArrow:h,arrowPadding:8,className:o.cn("tw:p-0 tw:has-data-[slot=kbd]:pe-0 tw:bg-background tw:text-destructive tw:border tw:border-destructive"),arrowClassName:"tw:bg-[color-mix(in_oklab,var(--destructive)_10%,var(--background))] tw:fill-[color-mix(in_oklab,var(--destructive)_10%,var(--background))] tw:border tw:border-destructive",children:r.jsx("div",{className:"tw:w-full tw:h-full tw:rounded-md tw:bg-destructive/10 tw:px-3 tw:py-1.5",children:L.formatReplacementStringToArray(w,{key:r.jsx(o.Kbd,{className:o.cn("tw:border tw:border-destructive tw:in-data-[slot=tooltip-content]:text-destructive","tw:align-middle"),children:p})}).map((g,m)=>r.jsx(s.Fragment,{children:g},`key-${m}`))})})]})]})}function Yl({cardKey:t,isSelected:e,onSelect:a,isDenied:n,isHidden:i=!1,className:l,children:c,selectedButtons:d,hoverButtons:u,dropdownContent:w,additionalContent:p,accentColor:h,showDropdownOnHover:g=!1}){const m=f=>{if(f.key==="Enter"||f.key===" "){if(f.target!==f.currentTarget)return;f.preventDefault(),a()}},[k,x]=s.useState(!1);return r.jsxs("div",{hidden:i,onClick:a,onKeyDown:m,onMouseEnter:()=>x(!0),onFocus:()=>x(!0),role:"button",tabIndex:0,"aria-pressed":e,className:o.cn("tw:group tw:relative tw:min-w-36 tw:rounded-xl tw:border tw:shadow-none tw:hover:bg-muted/50",{"tw:opacity-50 tw:hover:opacity-100":n&&!e},{"tw:bg-accent":e},{"tw:bg-transparent":!e},l),children:[r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2 tw:p-4",children:[r.jsxs("div",{className:"tw:flex tw:justify-between tw:overflow-hidden",children:[r.jsx("div",{className:"tw:min-w-0 tw:flex-1",children:c}),e&&d,!e&&u&&r.jsx("div",{className:"tw:invisible tw:group-hover:visible",children:u}),w&&(e||g&&k)&&r.jsx("div",{className:o.cn(!e&&g&&"tw:invisible tw:group-hover:visible"),children:r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{className:o.cn(h&&"tw:me-1"),asChild:!0,children:r.jsx(o.Button,{className:"tw:m-1 tw:h-6 tw:w-6",variant:"ghost",size:"icon",onClick:f=>f.stopPropagation(),onFocus:f=>f.stopPropagation(),children:r.jsx(B.MoreVertical,{})})}),r.jsx(o.DropdownMenuContent,{align:"end",children:w})]})})]}),p&&r.jsx("div",{className:"tw:w-fit tw:min-w-0 tw:max-w-full tw:overflow-hidden",children:p})]}),h&&r.jsx("div",{className:`tw:absolute tw:right-0 tw:top-0 tw:h-full tw:w-2 tw:rounded-r-xl ${h}`})]},t)}function Zl({id:t,isDisabled:e=!1,hasError:a=!1,isFullWidth:n=!1,helperText:i,label:l,placeholder:c,isRequired:d=!1,className:u,defaultValue:w,value:p,onChange:h,onFocus:g,onBlur:m}){return r.jsxs("div",{className:o.cn("tw:inline-grid tw:items-center tw:gap-1.5",{"tw:w-full":n}),children:[r.jsx(o.Label,{htmlFor:t,className:o.cn({"tw:text-red-600":a,"tw:hidden":!l}),children:`${l}${d?"*":""}`}),r.jsx(o.Input,{id:t,disabled:e,placeholder:c,required:d,className:o.cn(u,{"tw:border-red-600":a}),defaultValue:w,value:p,onChange:h,onFocus:g,onBlur:m}),r.jsx("p",{className:o.cn({"tw:hidden":!i}),children:i})]})}function Xl({currentStep:t,totalSteps:e,locale:a}){const n=a||"en",i=s.useMemo(()=>{const d=new L.NumberFormat(n);return u=>d.format(u)},[n]),l=Math.min(Math.max(t,1),e),c=Array.from({length:e},(d,u)=>u+1);return r.jsx("div",{className:"tw:flex tw:items-center","aria-hidden":"true",children:c.map(d=>{let u="upcoming";return d===l?u="active":d1&&r.jsx("div",{className:"tw:h-px tw:flex-1 tw:bg-border"}),r.jsx("div",{"data-state":u,className:o.cn("tw:flex tw:h-8 tw:w-8 tw:shrink-0 tw:items-center tw:justify-center tw:rounded-full tw:text-sm tw:font-medium",u==="active"&&"tw:bg-primary tw:text-primary-foreground",u==="complete"&&"tw:bg-muted tw:text-muted-foreground",u==="upcoming"&&"tw:border tw:border-input tw:text-muted-foreground"),children:u==="complete"?r.jsx(B.Check,{className:"tw:h-4 tw:w-4"}):i(d)})]},d)})})}function Wl({...t}){return r.jsx(V.ContextMenu.Root,{"data-slot":"context-menu",...t})}function Jl({className:t,...e}){return r.jsx(V.ContextMenu.Trigger,{"data-slot":"context-menu-trigger",className:o.cn("tw:select-none",t),...e})}function Ql({...t}){return r.jsx(V.ContextMenu.Group,{"data-slot":"context-menu-group",...t})}function td({...t}){return r.jsx(V.ContextMenu.Portal,{"data-slot":"context-menu-portal",...t})}function ed({...t}){return r.jsx(V.ContextMenu.Sub,{"data-slot":"context-menu-sub",...t})}function rd({...t}){return r.jsx(V.ContextMenu.RadioGroup,{"data-slot":"context-menu-radio-group",...t})}function ad({className:t,style:e,...a}){return r.jsx(V.ContextMenu.Portal,{children:r.jsx(V.ContextMenu.Content,{"data-slot":"context-menu-content",className:o.cn("pr-twp tw:max-h-(--radix-context-menu-content-available-height) tw:min-w-36 tw:origin-(--radix-context-menu-content-transform-origin) tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-md tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...e},...a})})}function od({className:t,inset:e,variant:a="default",...n}){return r.jsx(V.ContextMenu.Item,{"data-slot":"context-menu-item","data-inset":e,"data-variant":a,className:o.cn("pr-twp tw:group/context-menu-item tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-[variant=destructive]:text-destructive tw:data-[variant=destructive]:focus:bg-destructive/10 tw:data-[variant=destructive]:focus:text-destructive tw:dark:data-[variant=destructive]:focus:bg-destructive/20 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4 tw:focus:*:[svg]:text-accent-foreground tw:data-[variant=destructive]:*:[svg]:text-destructive",t),...n})}function nd({className:t,inset:e,children:a,...n}){return r.jsxs(V.ContextMenu.SubTrigger,{"data-slot":"context-menu-sub-trigger","data-inset":e,className:o.cn("pr-twp tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-open:bg-accent tw:data-open:text-accent-foreground tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),...n,children:[a,r.jsx(Mt.IconChevronRight,{className:"tw:ms-auto"})]})}function id({className:t,style:e,...a}){return r.jsx(V.ContextMenu.SubContent,{"data-slot":"context-menu-sub-content",className:o.cn("pr-twp tw:min-w-32 tw:origin-(--radix-context-menu-content-transform-origin) tw:overflow-hidden tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-lg tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...e},...a})}function sd({className:t,children:e,checked:a,inset:n,...i}){return r.jsxs(V.ContextMenu.CheckboxItem,{"data-slot":"context-menu-checkbox-item","data-inset":n,className:o.cn("pr-twp tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:py-1 tw:pe-8 tw:ps-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),checked:a,...i,children:[r.jsx("span",{className:"tw:pointer-events-none tw:absolute tw:end-2",children:r.jsx(V.ContextMenu.ItemIndicator,{children:r.jsx(Mt.IconCheck,{})})}),e]})}function cd({className:t,children:e,inset:a,...n}){return r.jsxs(V.ContextMenu.RadioItem,{"data-slot":"context-menu-radio-item","data-inset":a,className:o.cn("pr-twp tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:py-1 tw:pe-8 tw:ps-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),...n,children:[r.jsx("span",{className:"tw:pointer-events-none tw:absolute tw:end-2",children:r.jsx(V.ContextMenu.ItemIndicator,{children:r.jsx(Mt.IconCheck,{})})}),e]})}function ld({className:t,inset:e,...a}){return r.jsx(V.ContextMenu.Label,{"data-slot":"context-menu-label","data-inset":e,className:o.cn("pr-twp tw:px-1.5 tw:py-1 tw:text-xs tw:font-medium tw:text-muted-foreground tw:data-inset:ps-7",t),...a})}function dd({className:t,...e}){return r.jsx(V.ContextMenu.Separator,{"data-slot":"context-menu-separator",className:o.cn("pr-twp tw:-mx-1 tw:my-1 tw:h-px tw:bg-border",t),...e})}function wd({className:t,...e}){return r.jsx("span",{"data-slot":"context-menu-shortcut",className:o.cn("pr-twp tw:[unicode-bidi:plaintext] tw:ms-auto tw:text-xs tw:tracking-widest tw:text-muted-foreground tw:group-focus/context-menu-item:text-accent-foreground",t),...e})}function ud({...t}){return r.jsx(_e.Drawer.Root,{"data-slot":"drawer",...t})}function pd({...t}){return r.jsx(_e.Drawer.Trigger,{"data-slot":"drawer-trigger",...t})}function Dn({...t}){return r.jsx(_e.Drawer.Portal,{"data-slot":"drawer-portal",...t})}function hd({...t}){return r.jsx(_e.Drawer.Close,{"data-slot":"drawer-close",...t})}function In({className:t,...e}){return r.jsx(_e.Drawer.Overlay,{"data-slot":"drawer-overlay",className:o.cn("pr-twp tw:fixed tw:inset-0 tw:z-50 tw:bg-black/10 tw:supports-backdrop-filter:backdrop-blur-xs tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-closed:animate-out tw:data-closed:fade-out-0",t),...e})}function gd({className:t,children:e,hideDrawerHandle:a=!1,...n}){const i=o.readDirection();return r.jsxs(Dn,{"data-slot":"drawer-portal",children:[r.jsx(In,{}),r.jsxs(_e.Drawer.Content,{"data-slot":"drawer-content",className:o.cn("pr-twp tw:group/drawer-content tw:fixed tw:z-50 tw:flex tw:h-auto tw:flex-col tw:bg-popover tw:text-sm tw:text-popover-foreground tw:data-[vaul-drawer-direction=bottom]:inset-x-0 tw:data-[vaul-drawer-direction=bottom]:bottom-0 tw:data-[vaul-drawer-direction=bottom]:mt-24 tw:data-[vaul-drawer-direction=bottom]:max-h-[80vh] tw:data-[vaul-drawer-direction=bottom]:rounded-t-xl tw:data-[vaul-drawer-direction=bottom]:border-t tw:data-[vaul-drawer-direction=left]:inset-y-0 tw:data-[vaul-drawer-direction=left]:left-0 tw:data-[vaul-drawer-direction=left]:w-3/4 tw:data-[vaul-drawer-direction=left]:rounded-r-xl tw:data-[vaul-drawer-direction=left]:border-r tw:data-[vaul-drawer-direction=left]:flex-row tw:data-[vaul-drawer-direction=right]:inset-y-0 tw:data-[vaul-drawer-direction=right]:right-0 tw:data-[vaul-drawer-direction=right]:w-3/4 tw:data-[vaul-drawer-direction=right]:rounded-l-xl tw:data-[vaul-drawer-direction=right]:border-l tw:data-[vaul-drawer-direction=right]:flex-row tw:data-[vaul-drawer-direction=top]:inset-x-0 tw:data-[vaul-drawer-direction=top]:top-0 tw:data-[vaul-drawer-direction=top]:mb-24 tw:data-[vaul-drawer-direction=top]:max-h-[80vh] tw:data-[vaul-drawer-direction=top]:rounded-b-xl tw:data-[vaul-drawer-direction=top]:border-b tw:data-[vaul-drawer-direction=left]:sm:max-w-sm tw:data-[vaul-drawer-direction=right]:sm:max-w-sm",t),dir:"ltr",...n,children:[!a&&r.jsx("div",{className:"tw:hidden tw:shrink-0 tw:rounded-full tw:bg-muted tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:mx-auto tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:mt-4 tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:h-1.5 tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:w-[100px] tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:block tw:group-data-[vaul-drawer-direction=right]/drawer-content:my-auto tw:group-data-[vaul-drawer-direction=right]/drawer-content:ms-4 tw:group-data-[vaul-drawer-direction=right]/drawer-content:h-[100px] tw:group-data-[vaul-drawer-direction=right]/drawer-content:w-1.5 tw:group-data-[vaul-drawer-direction=right]/drawer-content:block"}),r.jsx("div",{className:"tw:flex tw:min-w-0 tw:flex-1 tw:flex-col",dir:i,children:e}),!a&&r.jsx("div",{className:"tw:hidden tw:shrink-0 tw:rounded-full tw:bg-muted tw:group-data-[vaul-drawer-direction=top]/drawer-content:mx-auto tw:group-data-[vaul-drawer-direction=top]/drawer-content:mb-4 tw:group-data-[vaul-drawer-direction=top]/drawer-content:h-1.5 tw:group-data-[vaul-drawer-direction=top]/drawer-content:w-[100px] tw:group-data-[vaul-drawer-direction=top]/drawer-content:block tw:group-data-[vaul-drawer-direction=left]/drawer-content:my-auto tw:group-data-[vaul-drawer-direction=left]/drawer-content:me-4 tw:group-data-[vaul-drawer-direction=left]/drawer-content:h-[100px] tw:group-data-[vaul-drawer-direction=left]/drawer-content:w-1.5 tw:group-data-[vaul-drawer-direction=left]/drawer-content:block"})]})]})}function fd({className:t,...e}){return r.jsx("div",{"data-slot":"drawer-header",className:o.cn("pr-twp tw:flex tw:flex-col tw:gap-0.5 tw:p-4 tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center tw:group-data-[vaul-drawer-direction=top]/drawer-content:text-center tw:md:gap-0.5 tw:md:text-start",t),...e})}function md({className:t,...e}){return r.jsx("div",{"data-slot":"drawer-footer",className:o.cn("pr-twp tw:mt-auto tw:flex tw:flex-col tw:gap-2 tw:p-4",t),...e})}function vd({className:t,...e}){return r.jsx(_e.Drawer.Title,{"data-slot":"drawer-title",className:o.cn("pr-twp tw:font-heading tw:text-base tw:font-medium tw:text-foreground",t),...e})}function bd({className:t,...e}){return r.jsx(_e.Drawer.Description,{"data-slot":"drawer-description",className:o.cn("pr-twp tw:text-sm tw:text-muted-foreground",t),...e})}function xd({className:t,value:e,...a}){return r.jsx(V.Progress.Root,{"data-slot":"progress",className:o.cn("pr-twp tw:relative tw:flex tw:h-1 tw:w-full tw:items-center tw:overflow-x-hidden tw:rounded-full tw:bg-muted",t),...a,children:r.jsx(V.Progress.Indicator,{"data-slot":"progress-indicator",className:"tw:size-full tw:flex-1 tw:bg-primary tw:transition-all",style:{transform:`translateX(-${100-(e||0)}%)`}})})}function yd({...t}){const{theme:e="system"}=Fn.useTheme(),a=e==="light"||e==="dark"||e==="system"?e:"system",n={"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"};return r.jsx(to.Toaster,{theme:a,className:"tw:toaster tw:group",icons:{success:r.jsx(Mt.IconCircleCheck,{className:"tw:size-4"}),info:r.jsx(Mt.IconInfoCircle,{className:"tw:size-4"}),warning:r.jsx(Mt.IconAlertTriangle,{className:"tw:size-4"}),error:r.jsx(Mt.IconAlertOctagon,{className:"tw:size-4"}),loading:r.jsx(Mt.IconLoader,{className:"tw:size-4 tw:animate-spin"})},style:n,toastOptions:{classNames:{toast:"cn-toast"}},...t})}function kd({className:t,defaultValue:e,value:a,min:n=0,max:i=100,...l}){const c=o.readDirection(),d=s.useMemo(()=>Array.isArray(a)?a:Array.isArray(e)?e:[n,i],[a,e,n,i]);return r.jsxs(V.Slider.Root,{"data-slot":"slider",defaultValue:e,value:a,min:n,max:i,className:o.cn("pr-twp tw:relative tw:flex tw:w-full tw:touch-none tw:items-center tw:select-none tw:data-disabled:opacity-50 tw:data-vertical:h-full tw:data-vertical:min-h-40 tw:data-vertical:w-auto tw:data-vertical:flex-col",t),dir:c,...l,children:[r.jsx(V.Slider.Track,{"data-slot":"slider-track",className:"tw:relative tw:grow tw:overflow-hidden tw:rounded-full tw:bg-muted tw:data-horizontal:h-1 tw:data-horizontal:w-full tw:data-vertical:h-full tw:data-vertical:w-1",children:r.jsx(V.Slider.Range,{"data-slot":"slider-range",className:"tw:absolute tw:bg-primary tw:select-none tw:data-horizontal:h-full tw:data-vertical:w-full"})}),Array.from({length:d.length},(u,w)=>r.jsx(V.Slider.Thumb,{"data-slot":"slider-thumb",className:"tw:relative tw:block tw:size-3 tw:shrink-0 tw:rounded-full tw:border tw:border-ring tw:bg-white tw:ring-ring/50 tw:transition-[color,box-shadow] tw:select-none tw:after:absolute tw:after:-inset-2 tw:hover:ring-3 tw:focus-visible:ring-3 tw:focus-visible:outline-hidden tw:active:ring-3 tw:disabled:pointer-events-none tw:disabled:opacity-50"},w))]})}function _d({className:t,size:e="default",...a}){return r.jsx(V.Switch.Root,{"data-slot":"switch","data-size":e,className:o.cn("tw:peer pr-twp tw:group/switch tw:relative tw:inline-flex tw:shrink-0 tw:items-center tw:rounded-full tw:border tw:border-transparent tw:transition-all tw:outline-none tw:after:absolute tw:after:-inset-x-3 tw:after:-inset-y-2 tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:data-[size=default]:h-[18.4px] tw:data-[size=default]:w-[32px] tw:data-[size=sm]:h-[14px] tw:data-[size=sm]:w-[24px] tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40 tw:data-checked:bg-primary tw:data-unchecked:bg-input tw:dark:data-unchecked:bg-input/80 tw:data-disabled:cursor-not-allowed tw:data-disabled:opacity-50",t),...a,children:r.jsx(V.Switch.Thumb,{"data-slot":"switch-thumb",className:"tw:pointer-events-none tw:block tw:rounded-full tw:bg-background tw:ring-0 tw:transition-transform tw:group-data-[size=default]/switch:size-4 tw:group-data-[size=sm]/switch:size-3 tw:group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] tw:rtl:group-data-[size=default]/switch:data-checked:-translate-x-[calc(100%-2px)] tw:group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] tw:rtl:group-data-[size=sm]/switch:data-checked:-translate-x-[calc(100%-2px)] tw:dark:data-checked:bg-primary-foreground tw:group-data-[size=default]/switch:data-unchecked:translate-x-0 tw:rtl:group-data-[size=default]/switch:data-unchecked:-translate-x-0 tw:group-data-[size=sm]/switch:data-unchecked:translate-x-0 tw:rtl:group-data-[size=sm]/switch:data-unchecked:-translate-x-0 tw:dark:data-unchecked:bg-foreground"})})}function jd({className:t,orientation:e="horizontal",...a}){return r.jsx(V.Tabs.Root,{"data-slot":"tabs","data-orientation":e,className:o.cn("tw:group/tabs tw:flex tw:gap-2 tw:data-horizontal:flex-col",t),...a})}const Cd=aa.cva("tw:group/tabs-list tw:inline-flex tw:w-fit tw:items-center tw:justify-center tw:rounded-lg tw:p-[3px] tw:text-muted-foreground tw:group-data-horizontal/tabs:h-8 tw:group-data-vertical/tabs:h-fit tw:group-data-vertical/tabs:flex-col tw:data-[variant=line]:rounded-none",{variants:{variant:{default:"tw:bg-muted",line:"tw:gap-1 tw:bg-transparent"}},defaultVariants:{variant:"default"}});function Nd({className:t,variant:e="default",...a}){const n=o.readDirection();return r.jsx(V.Tabs.List,{"data-slot":"tabs-list","data-variant":e,className:o.cn("pr-twp",Cd({variant:e}),t),dir:n,...a})}function Ed({className:t,...e}){return r.jsx(V.Tabs.Trigger,{"data-slot":"tabs-trigger",className:o.cn("pr-twp tw:relative tw:inline-flex tw:h-[calc(100%-1px)] tw:flex-1 tw:items-center tw:justify-center tw:gap-1.5 tw:rounded-md tw:border tw:border-transparent tw:px-1.5 tw:py-0.5 tw:text-sm tw:font-medium tw:whitespace-nowrap tw:text-foreground/60 tw:transition-all tw:group-data-vertical/tabs:w-full tw:group-data-vertical/tabs:justify-start tw:hover:text-foreground tw:focus-visible:border-ring tw:focus-visible:ring-[3px] tw:focus-visible:ring-ring/50 tw:focus-visible:outline-1 tw:focus-visible:outline-ring tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:has-data-[icon=inline-end]:pe-1 tw:has-data-[icon=inline-start]:ps-1 tw:dark:text-muted-foreground tw:dark:hover:text-foreground tw:group-data-[variant=default]/tabs-list:data-active:shadow-sm tw:group-data-[variant=line]/tabs-list:data-active:shadow-none tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4","tw:group-data-[variant=line]/tabs-list:bg-transparent tw:group-data-[variant=line]/tabs-list:data-active:bg-transparent tw:dark:group-data-[variant=line]/tabs-list:data-active:border-transparent tw:dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","tw:data-active:bg-background tw:data-active:text-foreground tw:dark:data-active:border-input tw:dark:data-active:bg-input/30 tw:dark:data-active:text-foreground","tw:after:absolute tw:after:bg-foreground tw:after:opacity-0 tw:after:transition-opacity tw:group-data-horizontal/tabs:after:inset-x-0 tw:group-data-horizontal/tabs:after:bottom-[-5px] tw:group-data-horizontal/tabs:after:h-0.5 tw:group-data-vertical/tabs:after:inset-y-0 tw:group-data-vertical/tabs:after:-end-1 tw:group-data-vertical/tabs:after:w-0.5 tw:group-data-[variant=line]/tabs-list:data-active:after:opacity-100",t),...e})}function Td({className:t,...e}){return r.jsx(V.Tabs.Content,{"data-slot":"tabs-content",className:o.cn("pr-twp tw:flex-1 tw:text-sm tw:outline-none",t),...e})}const Sd=(t,e)=>{s.useEffect(()=>{if(!t)return;let a=!1;const i=t(l=>{a||e(l)});return()=>{a=!0;try{i()}catch(l){console.error("useEvent: error while unsubscribing from event",l)}}},[t,e])},Rd=(t,e)=>{s.useEffect(()=>{if(!t)return;let a=!1,n,i=!1;const l=d=>{a||e(d)},c=()=>{if(i||!n)return;i=!0;const d=n;(async()=>{try{await d()}catch(u){console.error("useEventAsync: error while unsubscribing from event",u)}})()};return(async()=>{try{n=await Promise.resolve(t(l)),a&&c()}catch(d){console.error("useEventAsync: error while subscribing to event",d)}})(),()=>{a=!0,c()}},[t,e])};function Md(t){return{preserveValue:!0,...t}}const On=(t,e,a={})=>{const n=s.useRef(e);n.current=e;const i=s.useRef(a);i.current=Md(i.current);const[l,c]=s.useState(()=>n.current),[d,u]=s.useState(!0);return s.useEffect(()=>{let w=!0;return u(!!t),(async()=>{if(t)try{const p=await t();w&&(c(()=>p),u(!1))}catch(p){w&&u(!1),console.error("usePromise: the promise factory rejected, so there is no new value",p)}})(),()=>{w=!1,i.current.preserveValue||c(()=>n.current)}},[t]),[l,d]},Dd=t=>{const[e,a]=s.useState(!1),[n,i]=s.useState(!1),[l,c]=s.useState(0),d=s.useRef(void 0),u=s.useMemo(()=>{if(!t)return;const g=async()=>{try{const m=await t();return d.current===g&&(a(!1),i(!0)),m}catch(m){throw d.current===g&&(a(!0),i(!0)),m}};return g},[t,l]);s.useEffect(()=>{d.current=u,a(!1),i(!u)},[u]);const[w,p]=On(u,void 0),h=s.useCallback(()=>{d.current&&(a(!1),i(!1),c(g=>g+1))},[]);return s.useMemo(()=>({data:w,isLoading:p,hasError:e,hasSettled:n,refetch:h}),[w,p,e,n,h])};function Id(t){s.useEffect(()=>{let e;return t&&(e=document.createElement("style"),e.appendChild(document.createTextNode(t)),document.head.appendChild(e)),()=>{e&&document.head.removeChild(e)}},[t])}function Od(t){const e=s.useMemo(()=>L.collectUsjMarkers(t).slice().sort().join(" "),[t]);return s.useMemo(()=>e?e.split(" "):[],[e])}const Pn=()=>{const[t,e]=s.useState(()=>document.body.getBoundingClientRect().height>0);return s.useEffect(()=>{const a=new IntersectionObserver(n=>{const i=n[n.length-1];i&&e(i.isIntersecting)});return a.observe(document.body),()=>{a.disconnect()}},[]),t};function Pd(t,e){const[a,n]=s.useState(!1),i=s.useRef(e);i.current=e;const l=s.useRef(t);l.current=t;const c=s.useCallback(()=>{l.current?i.current():n(!0)},[]);return s.useEffect(()=>{!t||!a||(n(!1),i.current())},[t,a]),c}function zn(t,e,a){return t?a.dark:e===void 0?a.lightDefault:a.lightUnselected}function zd(t,e){const a=Pn();return zn(t,a,e)}function Ld({value:t,children:e}){return r.jsx(oa.Provider,{value:t,children:r.jsx(rr.Provider,{value:t,children:e})})}const Ad=300;exports.Alert=o.Alert;exports.AlertDescription=o.AlertDescription;exports.AlertTitle=o.AlertTitle;exports.Badge=o.Badge;exports.Button=o.Button;exports.ButtonGroup=o.ButtonGroup;exports.ButtonGroupSeparator=o.ButtonGroupSeparator;exports.ButtonGroupText=o.ButtonGroupText;exports.Command=o.Command;exports.CommandEmpty=o.CommandEmpty;exports.CommandGroup=o.CommandGroup;exports.CommandInput=o.CommandInput;exports.CommandItem=o.CommandItem;exports.CommandList=o.CommandList;exports.Dialog=o.Dialog;exports.DialogClose=o.DialogClose;exports.DialogContent=o.DialogContent;exports.DialogDescription=o.DialogDescription;exports.DialogFooter=o.DialogFooter;exports.DialogHeader=o.DialogHeader;exports.DialogOverlay=o.DialogOverlay;exports.DialogPortal=o.DialogPortal;exports.DialogTitle=o.DialogTitle;exports.DialogTrigger=o.DialogTrigger;exports.DropdownMenu=o.DropdownMenu;exports.DropdownMenuCheckboxItem=o.DropdownMenuCheckboxItem;exports.DropdownMenuContent=o.DropdownMenuContent;exports.DropdownMenuGroup=o.DropdownMenuGroup;exports.DropdownMenuItem=o.DropdownMenuItem;exports.DropdownMenuLabel=o.DropdownMenuLabel;exports.DropdownMenuPortal=o.DropdownMenuPortal;exports.DropdownMenuRadioGroup=o.DropdownMenuRadioGroup;exports.DropdownMenuRadioItem=o.DropdownMenuRadioItem;exports.DropdownMenuSeparator=o.DropdownMenuSeparator;exports.DropdownMenuShortcut=o.DropdownMenuShortcut;exports.DropdownMenuSub=o.DropdownMenuSub;exports.DropdownMenuSubContent=o.DropdownMenuSubContent;exports.DropdownMenuSubTrigger=o.DropdownMenuSubTrigger;exports.DropdownMenuTrigger=o.DropdownMenuTrigger;exports.Empty=o.Empty;exports.EmptyContent=o.EmptyContent;exports.EmptyDescription=o.EmptyDescription;exports.EmptyHeader=o.EmptyHeader;exports.EmptyMedia=o.EmptyMedia;exports.EmptyState=o.EmptyState;exports.EmptyTitle=o.EmptyTitle;exports.Input=o.Input;exports.Kbd=o.Kbd;exports.KbdGroup=o.KbdGroup;exports.Label=o.Label;exports.MultiSelectComboBox=o.MultiSelectComboBox;exports.Popover=o.Popover;exports.PopoverAnchor=o.PopoverAnchor;exports.PopoverContent=o.PopoverContent;exports.PopoverDescription=o.PopoverDescription;exports.PopoverHeader=o.PopoverHeader;exports.PopoverPortalContainerProvider=o.PopoverPortalContainerProvider;exports.PopoverTitle=o.PopoverTitle;exports.PopoverTrigger=o.PopoverTrigger;exports.RadioGroup=o.RadioGroup;exports.RadioGroupItem=o.RadioGroupItem;exports.ResizableHandle=o.ResizableHandle;exports.ResizablePanel=o.ResizablePanel;exports.ResizablePanelGroup=o.ResizablePanelGroup;exports.RetryableErrorView=o.RetryableErrorView;exports.SearchBar=o.SearchBar;exports.Separator=o.Separator;exports.Skeleton=o.Skeleton;exports.Spinner=o.Spinner;exports.Table=o.Table;exports.TableBody=o.TableBody;exports.TableCaption=o.TableCaption;exports.TableCell=o.TableCell;exports.TableFooter=o.TableFooter;exports.TableHead=o.TableHead;exports.TableHeader=o.TableHeader;exports.TableRow=o.TableRow;exports.Tooltip=o.Tooltip;exports.TooltipContent=o.TooltipContent;exports.TooltipPortalContainerProvider=o.TooltipPortalContainerProvider;exports.TooltipProvider=o.TooltipProvider;exports.TooltipTrigger=o.TooltipTrigger;exports.Z_INDEX_ABOVE_DOCK=o.Z_INDEX_ABOVE_DOCK;exports.Z_INDEX_ABOVE_POPOVER=o.Z_INDEX_ABOVE_POPOVER;exports.Z_INDEX_CONNECTION_LOST=o.Z_INDEX_CONNECTION_LOST;exports.Z_INDEX_FIRST_RUN=o.Z_INDEX_FIRST_RUN;exports.Z_INDEX_MODAL=o.Z_INDEX_MODAL;exports.Z_INDEX_MODAL_BACKDROP=o.Z_INDEX_MODAL_BACKDROP;exports.Z_INDEX_NESTED_MODAL=o.Z_INDEX_NESTED_MODAL;exports.Z_INDEX_NESTED_MODAL_BACKDROP=o.Z_INDEX_NESTED_MODAL_BACKDROP;exports.Z_INDEX_ONBOARDING_TOUR=o.Z_INDEX_ONBOARDING_TOUR;exports.Z_INDEX_OVERLAY=o.Z_INDEX_OVERLAY;exports.badgeVariants=o.badgeVariants;exports.buttonGroupVariants=o.buttonGroupVariants;exports.buttonVariants=o.buttonVariants;exports.cn=o.cn;exports.isMacOs=o.isMacOs;exports.isWindows=o.isWindows;exports.useHasContentBelow=o.useHasContentBelow;exports.useListbox=o.useListbox;exports.useTruncationTooltip=o.useTruncationTooltip;Object.defineProperty(exports,"sonner",{enumerable:!0,get:()=>to.toast});exports.Avatar=Ao;exports.AvatarFallback=Bo;exports.AvatarImage=Bs;exports.BOOK_CHAPTER_CONTROL_STRING_KEYS=ii;exports.BOOK_SELECTOR_STRING_KEYS=ci;exports.BookChapterControl=vr;exports.BookSelector=li;exports.CANCEL_ACCEPT_BUTTONS_STRING_KEYS=fa;exports.COMMENT_EDITOR_STRING_KEYS=Ds;exports.COMMENT_LIST_ELEMENT_ID=Po;exports.COMMENT_LIST_STRING_KEYS=Is;exports.CONFLICT_NOTE_STRING_KEYS=Ts;exports.CONTENT_ZOOM_LABEL_ATTRIBUTE=ha;exports.CONTENT_ZOOM_ROOT_ATTRIBUTE=pa;exports.CONTENT_ZOOM_SCOPE_ATTRIBUTE=ys;exports.CancelAcceptButtons=ma;exports.Card=zo;exports.CardContent=Lo;exports.CardDescription=Ls;exports.CardFooter=As;exports.CardHeader=Ps;exports.CardTitle=zs;exports.ChapterRangeSelector=so;exports.Checkbox=xa;exports.CheckboxGroup=Gl;exports.Checklist=Mn;exports.ComboBox=Zr;exports.CommentEditor=Ms;exports.CommentList=Ys;exports.ConflictNoteCard=Fo;exports.ContentZoomRoot=Ko;exports.ContentZoomTextProvider=ks;exports.ContextMenu=Wl;exports.ContextMenuCheckboxItem=sd;exports.ContextMenuContent=ad;exports.ContextMenuGroup=Ql;exports.ContextMenuItem=od;exports.ContextMenuLabel=ld;exports.ContextMenuPortal=td;exports.ContextMenuRadioGroup=rd;exports.ContextMenuRadioItem=cd;exports.ContextMenuSeparator=dd;exports.ContextMenuShortcut=wd;exports.ContextMenuSub=ed;exports.ContextMenuSubContent=id;exports.ContextMenuSubTrigger=nd;exports.ContextMenuTrigger=Jl;exports.DataTable=qo;exports.DestructiveKeyConfirmation=ql;exports.DisabledActionTooltip=xn;exports.DisabledTooltipWrapper=Ke;exports.Drawer=ud;exports.DrawerClose=hd;exports.DrawerContent=gd;exports.DrawerDescription=bd;exports.DrawerFooter=md;exports.DrawerHeader=fd;exports.DrawerOverlay=In;exports.DrawerPortal=Dn;exports.DrawerTitle=vd;exports.DrawerTrigger=pd;exports.DropdownMenuItemType=Xo;exports.ERROR_DUMP_STRING_KEYS=Yo;exports.ERROR_POPOVER_STRING_KEYS=tc;exports.EditorKeyboardShortcuts=Qo;exports.ErrorDump=Zo;exports.ErrorPopover=ec;exports.FOOTNOTE_EDITOR_STRING_KEYS=bc;exports.Filter=ic;exports.FilterDropdown=rc;exports.Footer=nc;exports.FootnoteEditor=vc;exports.FootnoteItem=sn;exports.FootnoteList=kc;exports.INTERFACE_LANGUAGE_PICKER_STRING_KEYS=Vl;exports.INVENTORY_STRING_KEYS=Ic;exports.InterfaceLanguagePicker=Kl;exports.Inventory=zc;exports.MARKER_MENU_STRING_KEYS=an;exports.MarkdownRenderer=Qs;exports.MarkerMenu=on;exports.MoreInfo=ac;exports.NavigationContentSearch=kl;exports.Progress=xd;exports.RecentSearches=no;exports.ResultsCard=Yl;exports.SCOPE_SELECTOR_STRING_KEYS=ll;exports.SELECT_BOOKS_STRING_KEYS=kn;exports.SHRINK_STEP=Be;exports.ScopeSelector=wl;exports.ScriptureResultsViewer=sl;exports.ScrollGroupSelector=ul;exports.Select=Te;exports.SelectBooks=yn;exports.SelectBooksPicker=bn;exports.SelectContent=Me;exports.SelectGroup=Uo;exports.SelectItem=re;exports.SelectLabel=Xs;exports.SelectScrollDownButton=Ho;exports.SelectScrollUpButton=Go;exports.SelectSeparator=Ws;exports.SelectTrigger=Re;exports.SelectValue=Se;exports.SettingsList=pl;exports.SettingsListHeader=gl;exports.SettingsListItem=hl;exports.SettingsSidebar=mn;exports.SettingsSidebarContentSearch=Qc;exports.ShrinkStepContext=rr;exports.ShrinkStepOverride=Ld;exports.ShrinkStepOverrideContext=oa;exports.Sidebar=wn;exports.SidebarContent=pn;exports.SidebarFooter=Kc;exports.SidebarGroup=ta;exports.SidebarGroupAction=Gc;exports.SidebarGroupContent=ra;exports.SidebarGroupLabel=ea;exports.SidebarHeader=Fc;exports.SidebarInput=$c;exports.SidebarInset=un;exports.SidebarMenu=hn;exports.SidebarMenuAction=qc;exports.SidebarMenuBadge=Yc;exports.SidebarMenuButton=fn;exports.SidebarMenuItem=gn;exports.SidebarMenuSkeleton=Zc;exports.SidebarMenuSub=Xc;exports.SidebarMenuSubButton=Jc;exports.SidebarMenuSubItem=Wc;exports.SidebarProvider=dn;exports.SidebarRail=Vc;exports.SidebarSeparator=Uc;exports.SidebarTrigger=Bc;exports.Slider=kd;exports.Sonner=yd;exports.Switch=_d;exports.TOOLTIP_DELAY_MS=Ad;exports.TabDropdownMenu=Sr;exports.TabFloatingMenu=yl;exports.TabToolbar=xl;exports.Tabs=jd;exports.TabsContent=Td;exports.TabsList=Nd;exports.TabsTrigger=Ed;exports.TextField=Zl;exports.Textarea=Kn;exports.ToggleGroup=ua;exports.ToggleGroupItem=tr;exports.Toolbar=Ll;exports.ToolbarCompoundLabel=oo;exports.UNDO_REDO_BUTTONS_STRING_KEYS=Wo;exports.UiLanguageSelector=Bl;exports.UndoRedoButtons=Jo;exports.VerticalTabs=ka;exports.VerticalTabsContent=ja;exports.VerticalTabsList=_a;exports.VerticalTabsTrigger=Tn;exports.WizardStepper=Xl;exports.getBookIdFromUSFM=Dc;exports.getCommentThreadElementId=Os;exports.getInventoryHeader=ar;exports.getLinesFromUSFM=Rc;exports.getNumberFromUSFM=Mc;exports.getStatusForItem=cn;exports.getToolbarOSReservedSpaceClassName=zl;exports.inventoryCountColumn=Tc;exports.inventoryItemColumn=Nc;exports.inventoryStatusColumn=Sc;exports.isCommentDraftEmpty=Qr;exports.leftEdgeRect=rn;exports.localizeOrFallback=Yt;exports.markerMenuItemToPaletteItem=nn;exports.measureBox=en;exports.pickTabIconUrl=zn;exports.useContentZoomTextProps=De;exports.useEvent=Sd;exports.useEventAsync=Rd;exports.useExtraValidMarkers=Od;exports.useLivePopoverAnchor=tn;exports.usePromise=On;exports.useRecentSearches=Zn;exports.useRetryablePromise=Dd;exports.useRunWhenVisible=Pd;exports.useShrinkStep=ya;exports.useShrinkStepOverride=na;exports.useShrinkStepValue=ro;exports.useSidebar=or;exports.useStylesheet=Id;exports.useTabIconSelection=zd;exports.useViewVisibility=Pn;function Bd(t,e="top"){if(!t||typeof document>"u")return;const a=document.head||document.querySelector("head"),n=a.querySelector(":first-child"),i=document.createElement("style");i.appendChild(document.createTextNode(t)),e==="top"&&n?a.insertBefore(i,n):a.appendChild(i)}Bd(`.banded-row:hover { +"use strict";var Ln=Object.defineProperty;var An=(t,e,a)=>e in t?Ln(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var Vt=(t,e,a)=>An(t,typeof e!="symbol"?e+"":e,a);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./resizable-C1NJlIfJ.cjs"),r=require("react/jsx-runtime"),Ot=require("@sillsdev/scripture"),B=require("lucide-react"),L=require("platform-bible-utils"),s=require("react"),Mt=require("@tabler/icons-react"),v=require("lexical"),Gr=require("@lexical/rich-text"),Ra=require("react-dom"),Bn=require("@lexical/table"),V=require("radix-ui"),aa=require("class-variance-authority"),Qa=require("@lexical/headless"),to=require("@lexical/html"),Kt=require("@tanstack/react-table"),Vn=require("markdown-to-jsx"),$t=require("@eten-tech-foundation/platform-editor"),$n=require("react-hotkeys-hook"),_e=require("vaul"),Fn=require("next-themes"),eo=require("sonner");function Kn({className:t,...e}){return r.jsx("textarea",{"data-slot":"textarea",className:o.cn("pr-twp tw:flex tw:field-sizing-content tw:min-h-16 tw:w-full tw:rounded-lg tw:border tw:border-input tw:bg-transparent tw:px-2.5 tw:py-2 tw:text-base tw:transition-colors tw:outline-none tw:placeholder:text-muted-foreground tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:disabled:cursor-not-allowed tw:disabled:bg-input/50 tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:md:text-sm tw:dark:bg-input/30 tw:dark:disabled:bg-input/80 tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40",t),...e})}function ro({ref:t,bookId:e,isSelected:a,onSelect:n,onMouseDown:i,section:l,className:c,showCheck:d=!1,localizedBookNames:u,commandValue:w,suppressKeyboardHighlight:p=!1,disabled:h=!1,dimmedReason:g,dimmedDescription:m}){const k=s.useRef(!1),x=()=>{h||(k.current||n==null||n(e),setTimeout(()=>{k.current=!1},100))},f=D=>{if(h){D.preventDefault();return}k.current=!0,i?i(D):n==null||n(e)},C=s.useMemo(()=>o.getLocalizedBookName(e,u),[e,u]),N=s.useMemo(()=>o.getLocalizedBookId(e,u),[e,u]),E=!!g&&!h,_=`${C} (${N})`,O=E?m||`${_}, ${g}`:_,T=r.jsxs(o.CommandItem,{ref:t,value:w||`${e} ${Ot.Canon.bookIdToEnglishName(e)}`,onSelect:x,onMouseDown:f,role:"option","aria-selected":a,"aria-disabled":h||void 0,"aria-label":O,disabled:h,className:o.cn(!p&&o.LIST_ITEM_KEYBOARD_FOCUS_RING,"tw:data-selected:bg-transparent tw:data-selected:text-inherit","tw:hover:bg-muted","tw:[&>svg:last-child]:hidden",c,h&&"tw:cursor-not-allowed tw:opacity-50",E&&"tw:bg-muted/50 tw:text-muted-foreground/50 tw:data-selected:bg-muted/50 tw:data-selected:text-muted-foreground/50"),children:[d&&r.jsx(B.Check,{className:o.cn("tw:me-2 tw:h-4 tw:w-4 tw:shrink-0",a?"tw:opacity-100":"tw:opacity-0")}),r.jsx("span",{className:"tw:min-w-0 tw:flex-1",children:C}),E&&r.jsx("span",{className:"tw:ms-2 tw:shrink-0 tw:text-xs tw:italic",children:g}),r.jsx("span",{className:o.cn("tw:ms-2 tw:shrink-0 tw:text-xs",!E&&"tw:text-muted-foreground"),children:N})]});return r.jsx("div",{className:o.cn("tw:mx-1 tw:my-1 tw:border-b-0 tw:border-e-0 tw:border-s-2 tw:border-t-0 tw:border-solid",{"tw:border-s-red-200":l===L.Section.OT,"tw:border-s-purple-200":l===L.Section.NT,"tw:border-s-indigo-200":l===L.Section.DC,"tw:border-s-amber-200":l===L.Section.Extra}),children:T})}const Un=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"];function Gn(t){return Un.some(e=>e===t)}function Ma(t){const e=new RegExp("^\\p{L}$","u").test(t),a=/^[0-9]$/.test(t);return{isLetter:e,isDigit:a}}const Be=Object.freeze({WIDE:0,TIGHT:1,TIGHTER:2,MINIMUM:3}),rr=s.createContext(Be.WIDE);function ao(){return s.useContext(rr)}const oa=s.createContext(void 0);function na(){return s.useContext(oa)}function oo(){s.useEffect(()=>{o.trackInteractionModality()},[])}function no({primary:t,secondary:e,separator:a=" ",secondaryFirst:n=!1,showSecondary:i=!0,isPartial:l,fullText:c,className:d}){const{ref:u,open:w,onPointerEnter:p,onPointerLeave:h}=o.useTruncationTooltip(),{ref:g,open:m,onPointerEnter:k,onPointerLeave:x}=o.useTruncationTooltip(),[f,C]=s.useState(!1),[N,E]=s.useState(!1),_=s.useRef(null),O=i&&e!==void 0,T=l??(e!==void 0&&!i);oo(),s.useEffect(()=>{var z;const rt=(z=_.current)==null?void 0:z.closest('button, [role="combobox"], [tabindex]');if(!rt)return;const y=J=>!!J&&J.scrollWidth>J.clientWidth,tt=()=>{o.getLastInteractionModality()!=="pointer"&&(T||y(g.current)||y(u.current))&&E(!0)},W=()=>E(!1);return rt.addEventListener("focus",tt),rt.addEventListener("blur",W),()=>{rt.removeEventListener("focus",tt),rt.removeEventListener("blur",W)}},[T,g,u]);const D=s.useCallback(()=>{T&&C(!0),k(),O&&p()},[T,O,k,p]),I=s.useCallback(()=>{C(!1),E(!1),x(),h()},[x,h]);s.useEffect(()=>{T||C(!1)},[T]);const M=r.jsx("span",{ref:g,className:"tw:min-w-0 tw:shrink tw:truncate",children:t},"primary"),R=O?r.jsx("span",{ref:u,className:"tw:min-w-0 tw:shrink-[9999] tw:truncate",children:e},"secondary"):void 0,[Z,X]=n?[R,M]:[M,R];return r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{open:m||w||f||N,onOpenChange:rt=>{rt||I()},children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsxs("span",{ref:_,onPointerEnter:D,onPointerLeave:I,onPointerDown:I,className:o.cn("tw:flex tw:min-w-0 tw:items-center",d),children:[Z,Z&&X&&r.jsx("span",{className:"tw:shrink-0 tw:whitespace-pre",children:a},"separator"),X]})}),r.jsx(o.TooltipContent,{dir:"auto",children:c})]})})}function Hr(t,e){return`${t} ${o.ALL_ENGLISH_BOOK_NAMES[t]}${e?` ${o.getLocalizedBookId(t,e)} ${o.getLocalizedBookName(t,e)}`:""}`}function Ve(t,e){return`${t} ${o.ALL_ENGLISH_BOOK_NAMES[t]||""} ${e}`}function fr(t,e,a){return`${Ve(t,e)}:${a}`}function We(t){if(t.includes(":"))return;const e=/(\d+)$/.exec(t);if(!e)return;const a=parseInt(e[1],10),n=t.indexOf(" ");if(n<0)return;const i=t.slice(0,n);return t===Ve(i,a)?a:void 0}function wr(t){const e=/:(\d+)$/.exec(t);if(!e)return;const a=t.slice(0,t.length-e[0].length);if(We(a)!==void 0)return parseInt(e[1],10)}const Hn="top-match",qn="Show recent searches",Yn="Recent";function io({recentSearches:t,onSearchItemSelect:e,renderItem:a=g=>String(g),getItemKey:n=g=>String(g),ariaLabel:i,groupHeading:l,id:c,classNameForItems:d,buttonClassName:u="tw:absolute tw:end-0 tw:top-0 tw:h-full tw:px-3 tw:py-2",buttonVariant:w="ghost",open:p,onOpenChange:h}){const[g,m]=s.useState(!1),[k,x]=s.useState(!1),f=s.useId(),C=s.useRef(!1),N=p!==void 0,E=N?p:g,_=i===""?"":o.resolveLocalizedString(i,qn),O=o.resolveLocalizedString(l,Yn),T=R=>{R||(C.current=!0,x(!1)),N||m(R),h==null||h(R)},D=R=>{if(R&&C.current){C.current=!1;return}x(R)};if(t.length===0)return;const I=R=>{e(R)},M=r.jsx(o.Button,{variant:w,size:"icon",className:u,"aria-label":_,onPointerEnter:()=>{C.current=!1},children:r.jsx(B.Clock,{className:"tw:h-4 tw:w-4"})});return r.jsxs(o.DropdownMenu,{open:E,onOpenChange:T,modal:!1,children:[r.jsx(o.TooltipProvider,{children:_?r.jsxs(o.Tooltip,{open:k,onOpenChange:D,children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:M})}),r.jsx(o.TooltipContent,{children:_})]}):r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:M})}),r.jsxs(o.DropdownMenuContent,{id:c,"aria-labelledby":f,className:"tw:w-[300px]",align:"start",onKeyDown:R=>R.stopPropagation(),children:[r.jsx(o.DropdownMenuLabel,{id:f,children:O}),t.map(R=>r.jsxs(o.DropdownMenuItem,{onSelect:()=>I(R),className:o.cn("tw:flex tw:items-center",d),children:[r.jsx(B.Clock,{className:"tw:me-2 tw:h-4 tw:w-4 tw:opacity-50"}),r.jsx("span",{children:a(R)})]},n(R)))]})]})}function Zn(t,e,a=(i,l)=>i===l,n=15){return i=>{const l=t.filter(d=>!a(d,i)),c=[i,...l.slice(0,n-1)];e(c)}}function ur(t,e){return!e||L.compareScrRefs(t,e)===0}function Xn(t,e,a,n,i){const l=s.useMemo(()=>o.x(t,e),[t,e]),c=s.useMemo(()=>o.a(t,e),[t,e]),d=s.useMemo(()=>o.B(t,e),[t,e]),u=s.useMemo(()=>o.I(t,e),[t,e]),w=s.useCallback(p=>{p&&n(p)},[n]);return s.useMemo(()=>[{onClick:()=>w(l),disabled:ur(t,l),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_previousChapter%"],"Previous chapter"),icon:a==="ltr"?B.ChevronsLeft:B.ChevronsRight,group:"chapter"},{onClick:()=>w(c),disabled:ur(t,c),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_nextChapter%"],"Next chapter"),icon:a==="ltr"?B.ChevronsRight:B.ChevronsLeft,group:"chapter"},{onClick:()=>w(d),disabled:ur(t,d),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_previousVerse%"],"Previous verse"),icon:B.ChevronUp,group:"verse"},{onClick:()=>w(u),disabled:ur(t,u),title:o.resolveLocalizedString(i==null?void 0:i["%webView_bookChapterControl_nextVerse%"],"Next verse"),icon:B.ChevronDown,group:"verse"}],[t,a,w,l,d,u,c,i])}const mr={BOOK_ONLY:/^([^:\s]+(?:\s+[^:\s]+)*)$/i,BOOK_CHAPTER:/^([^:\s]+(?:\s+[^:\s]+)*)\s+(\d+)$/i,BOOK_CHAPTER_VERSE:/^([^:\s]+(?:\s+[^:\s]+)*)\s+(\d+):(\d*)$/i},Wn=[mr.BOOK_ONLY,mr.BOOK_CHAPTER,mr.BOOK_CHAPTER_VERSE];function Jn(t){return mr.BOOK_CHAPTER_VERSE.test(t.trim())}function Da(t,e){return Ot.Canon.bookIdToNumber(t)0?!1:e0?!1:en.chapterNum?!1:a{if(i)return i;const c=l.exec(t.trim());if(c){const[d,u=void 0,w=void 0]=c.slice(1);let p;const h=e.filter(g=>o.doesBookMatchQuery(g,d,a));if(h.length===1&&([p]=h),!p&&u){if(Ot.Canon.isBookIdValid(d)){const g=d.toUpperCase();e.includes(g)&&(p=g)}if(!p&&a){const g=Array.from(a.entries()).find(([,m])=>m.localizedId.toLowerCase()===d.toLowerCase());g&&e.includes(g[0])&&([p]=g)}}if(!p&&u){const m=(k=>Object.keys(o.ALL_ENGLISH_BOOK_NAMES).find(x=>o.ALL_ENGLISH_BOOK_NAMES[x].toLowerCase()===k.toLowerCase()))(d);if(m&&e.includes(m)&&(p=m),!p&&a){const k=Array.from(a.entries()).find(([,x])=>x.localizedName.toLowerCase()===d.toLowerCase());k&&e.includes(k[0])&&([p]=k)}}if(p){let g=u?parseInt(u,10):void 0;g&&g>ke(p)&&(g=Math.max(ke(p),1));const m=w?parseInt(w,10):void 0;return{book:p,chapterNum:g,verseNum:m}}}},void 0);if(n)return n}function qr(t){return{[L.Section.OT]:t.filter(e=>Ot.Canon.isBookOT(e)),[L.Section.NT]:t.filter(e=>Ot.Canon.isBookNT(e)),[L.Section.DC]:t.filter(e=>Ot.Canon.isBookDC(e)),[L.Section.Extra]:t.filter(e=>Ot.Canon.extraBooks().includes(e))}}function ei(t,e){const a=new Set(t),n=e.filter(w=>!a.has(w)),i=new Set(n),l=i.size===0?t:Ot.Canon.allBookIds.filter(w=>a.has(w)||i.has(w)),c=qr(l),d=Object.values(c).flat(),u=qr(t);return{projectBooksBySection:u,reachableBooksBySection:c,reachableBooks:d,projectBooks:Object.values(u).flat(),booksOutsideProject:new Set(d.filter(w=>!a.has(w)))}}const Yr=6;function ri(t){return t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function ai({current:t,key:e,max:a,direction:n="ltr"}){if(a<=0)return t;if(t<1||t>a)return 1;switch(n==="rtl"?ri(e):e){case"ArrowLeft":return t>1?t-1:a;case"ArrowRight":return tp+1).map(w=>{const p=(i==null?void 0:i(w))??!1;return r.jsx(o.CommandItem,{value:e(w),onSelect:()=>{p||a(w)},ref:n(w),disabled:p,"aria-disabled":p||void 0,className:o.cn("tw:h-8 tw:w-8 tw:cursor-pointer tw:justify-center tw:rounded-md tw:text-center tw:text-sm","tw:[&>svg]:hidden tw:hover:bg-muted",!d&&o.LIST_ITEM_KEYBOARD_FOCUS_RING,"tw:data-selected:bg-transparent tw:data-selected:text-inherit",{"tw:bg-primary tw:text-primary-foreground tw:hover:bg-primary/90 tw:data-selected:bg-primary tw:data-selected:text-primary-foreground tw:data-selected:ring-primary-foreground/70":(c==null?void 0:c(w))??!1},{"tw:bg-muted/50 tw:text-muted-foreground/50 tw:data-selected:bg-muted/50 tw:data-selected:text-muted-foreground/50":((l==null?void 0:l(w))??!1)&&!p},p&&"tw:cursor-not-allowed tw:opacity-40"),children:w},w)})})})}function Ia({bookId:t,scrRef:e,onChapterSelect:a,setChapterRef:n,isChapterDimmed:i,isChapterDisabled:l,suppressKeyboardHighlight:c,className:d}){if(t)return r.jsx(so,{count:ke(t),valueBuilder:u=>Ve(t,u),onSelect:a,itemRef:n,isDisabled:l,isDimmed:i,isSelected:u=>t===e.book&&u===e.chapterNum,suppressKeyboardHighlight:c,className:d})}function Oa({bookId:t,chapterNum:e,endVerse:a,scrRef:n,onVerseSelect:i,setVerseRef:l,isVerseDimmed:c,isVerseDisabled:d,suppressKeyboardHighlight:u,className:w}){if(!(!t||a<=0))return r.jsx(so,{count:a,valueBuilder:p=>fr(t,e,p),onSelect:i,itemRef:l,isDisabled:d,isDimmed:c,isSelected:p=>t===n.book&&e===n.chapterNum&&p===n.verseNum,suppressKeyboardHighlight:u,className:w})}const oi="a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]";function ni(t){return Array.from(t.querySelectorAll(oi)).filter(e=>e.tabIndex>=0)}function vr({scrRef:t,handleSubmit:e,className:a,getActiveBookIds:n,getAdditionalBookIds:i,localizedBookNames:l,localizedStrings:c,recentSearches:d,onAddRecentSearch:u,id:w,getEndVerse:p,disableReferencesUpTo:h,submitKeys:g,triggerContent:m,triggerVariant:k="outline",showTriggerChevron:x=!1,onOpenChange:f,onCloseAutoFocus:C,modal:N=!1,align:E="center",ref:_,disabled:O}){const T=o.readDirection(),D=ao(),[I,M]=s.useState(!1),[R,Z]=s.useState(""),[X,rt]=s.useState(""),[y,tt]=s.useState("books"),[W,z]=s.useState(void 0),[J,F]=s.useState(void 0),[Y,dt]=s.useState(void 0),[ht,G]=s.useState(!1),[ut,gt]=s.useState(!1),[st,Ct]=s.useState(!1),[yt,Nt]=s.useState(!1),Pt=s.useRef(null),At=s.useRef(!1),Et=s.useRef(void 0),kt=s.useRef(void 0),Tt=s.useRef(void 0),Zt=s.useRef(void 0),Ht=s.useRef({}),Xt=s.useRef({}),ft=s.useCallback(b=>{e(b),u&&u(b)},[e,u]),Wt=s.useMemo(()=>n?n():o.lt,[n]),ie=s.useMemo(()=>n&&i?i():[],[n,i]),{projectBooksBySection:ge,reachableBooksBySection:Jt,reachableBooks:Ut,projectBooks:se,booksOutsideProject:xt}=s.useMemo(()=>ei(Wt,ie),[Wt,ie]),Qt=xt.has(t.book),ae=s.useMemo(()=>X.trim()?qr(Ut.filter(b=>o.doesBookMatchQuery(b,X,l))):ut?Jt:ge,[ge,Jt,Ut,ut,X,l]),A=s.useMemo(()=>ti(X,Ut,l),[X,Ut,l]),j=s.useMemo(()=>{if(!A)return;const b=R.startsWith(`${A.book} `)?R:"",H=wr(b),nt=We(b);return{book:A.book,chapterNum:nt??A.chapterNum??1,verseNum:H??A.verseNum??1}},[A,R]),K=s.useRef(!1);s.useEffect(()=>{if(!K.current){K.current=!0;return}f==null||f(I)},[I,f]);const q=s.useCallback(()=>{j&&(h&&Or(j.book,j.chapterNum,j.verseNum,h)||(ft(j),M(!1),rt(""),Z("")))},[ft,j,h]),P=s.useCallback(b=>{const H=J??(A==null?void 0:A.book),nt=Y??(A==null?void 0:A.chapterNum);!H||!nt||(ft({book:H,chapterNum:nt,verseNum:b}),M(!1))},[ft,J,Y,A]),Q=s.useCallback(b=>{if(h&&Da(b,h))return;if(ke(b)<=1){ft({book:b,chapterNum:1,verseNum:1}),M(!1),rt("");return}z(b),tt("chapters")},[ft,h]),U=s.useCallback(b=>{const H=y==="chapters"?W:A==null?void 0:A.book;if(H){if(p&&p(H,b)>1){F(H),dt(b),tt("verses"),Z("");return}ft({book:H,chapterNum:b,verseNum:1}),M(!1)}},[ft,y,W,A,p]),at=s.useCallback(b=>{ft(b),M(!1),rt("")},[ft]),vt=Xn(t,ut?Ut:se,T,e,c),_t=s.useCallback(b=>{rt(b),Nt(!1)},[]),ct=s.useCallback(()=>{tt("books"),z(void 0),F(void 0),dt(void 0),Nt(!1),setTimeout(()=>{var b;(b=kt.current)==null||b.focus()},0)},[]),bt=s.useCallback(()=>{const b=J;F(void 0),dt(void 0),b?(z(b),tt("chapters"),Z("")):ct()},[J,ct]),wt=s.useCallback(b=>{M(b),b&&(tt("books"),z(void 0),F(void 0),dt(void 0),rt(""),Nt(!1),Ct(!1),gt(Qt))},[Qt]);s.useEffect(()=>{O&&wt(!1)},[O,wt]);const[mt,be]=s.useState(0);s.useEffect(()=>{var b;mt!==0&&((b=kt.current)==null||b.focus())},[mt]),s.useImperativeHandle(_,()=>({open:()=>{O||(wt(!0),be(b=>b+1))}}),[wt,O]);const{otLong:ce,ntLong:le,dcLong:je,extraLong:Ce}={otLong:c==null?void 0:c["%scripture_section_ot_long%"],ntLong:c==null?void 0:c["%scripture_section_nt_long%"],dcLong:c==null?void 0:c["%scripture_section_dc_long%"],extraLong:c==null?void 0:c["%scripture_section_extra_long%"]},fe=s.useCallback(b=>o.getSectionLongName(b,ce,le,je,Ce),[ce,le,je,Ce]),de=s.useCallback(b=>A?!!A.chapterNum&&!b.toString().includes(A.chapterNum.toString()):!1,[A]),Ie=s.useMemo(()=>L.formatScrRef(t,l?o.getLocalizedBookName(t.book,l):"English"),[t,l]),Ge=s.useMemo(()=>D>=Be.TIGHT?o.getLocalizedBookId(t.book,l):o.getLocalizedBookName(t.book,l),[t.book,l,D]),He=`${t.chapterNum}:${t.verseNum}`,xe=s.useCallback(b=>H=>{Ht.current[b]=H},[]),S=s.useCallback(b=>H=>{Xt.current[b]=H},[]),ot=s.useMemo(()=>Jn(X),[X]),it=s.useMemo(()=>!p||!A||!A.chapterNum||!ot?!1:p(A.book,A.chapterNum)>0,[p,A,ot]),zt=y==="books"&&!ht&&!X.trim()&&xt.size>0,qe=s.useCallback(b=>h?Da(b,h):!1,[h]),me=s.useCallback(b=>H=>h?Qn(b,H,h):!1,[h]),Oe=s.useCallback((b,H)=>nt=>h?Or(b,H,nt,h):!1,[h]),Pe=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_selectChapter%"],"Select chapter"),Mr=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_selectVerse%"],"Select verse"),nr=y==="verses"?o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_backToChapters%"],"Back to chapters"):o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_backToBooks%"],"Back to books"),Dr=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_bookNotInProject%"],"Not in project"),ir=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_bookNotInProjectDescription%"],"{book} is not in this project"),sr=s.useCallback(b=>L.formatReplacementString(ir,{book:`${o.getLocalizedBookName(b,l)} (${o.getLocalizedBookId(b,l)})`}),[ir,l]),cr=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_showMoreBooks%"],"Show more books"),ze=o.resolveLocalizedString(c==null?void 0:c["%webView_bookChapterControl_showProjectBooksOnly%"],"Show project books only"),lr=s.useCallback(b=>{(b.key==="Home"||b.key==="End")&&b.stopPropagation(),g&&g.includes(b.key)&&A&&A.chapterNum!==void 0&&A.verseNum!==void 0&&(b.preventDefault(),b.stopPropagation(),q())},[g,A,q]),dr=s.useCallback(b=>{var Ea,Ta;if(b.ctrlKey)return;const H=b.target instanceof HTMLElement?b.target:void 0;if(!(!!H&&!!((Ea=Et.current)!=null&&Ea.contains(H)))&&(H!=null&&H.closest('[role="menu"], [role="menuitem"]')))return;if(b.key==="Tab"){const Rt=Et.current?ni(Et.current):[];if(Rt.length===0){b.preventDefault(),b.stopPropagation();return}const ee=Rt[Rt.length-1],Bt=b.shiftKey?Rt[0]:ee;document.activeElement===Bt&&(b.preventDefault(),b.stopPropagation(),(b.shiftKey?ee:Rt[0]).focus());return}const{isLetter:Dt,isDigit:Lt}=Ma(b.key);if((y==="chapters"||y==="verses")&&(b.key===" "||b.key==="Enter")){if(!!(H!=null&&H.closest('button, a, input, select, textarea, [role="button"]'))){b.stopPropagation();return}const ee=(()=>{if(y==="verses"){const Ye=J,Sa=Y,Ir=wr(R);return!Ye||!Sa||Ir===void 0?void 0:{isDisabled:Oe(Ye,Sa)(Ir),activate:()=>P(Ir)}}const Bt=W,ne=We(R);if(!(!Bt||ne===void 0))return{isDisabled:me(Bt)(ne),activate:()=>U(ne)}})();if(ee){b.preventDefault(),b.stopPropagation(),ee.isDisabled||ee.activate();return}}if(y==="books"&&A&&!ht&&b.key==="Enter"&&!(H!==kt.current&&!!(H!=null&&H.closest('button, a, input, select, textarea, [role="button"]')))){b.preventDefault(),b.stopPropagation(),q();return}if((y==="chapters"||y==="verses")&&(Dt||Lt)){b.preventDefault(),b.stopPropagation();return}if(b.key==="Backspace"&&(y==="chapters"||y==="verses")){b.preventDefault(),b.stopPropagation(),y==="verses"?bt():ct();return}if(!Gn(b.key)||ht)return;if(y==="books"&&!yt&&(b.key==="ArrowLeft"||b.key==="ArrowRight")){const Rt=H===kt.current?kt.current:void 0,ee=(Rt==null?void 0:Rt.selectionStart)??0,Bt=(Rt==null?void 0:Rt.selectionEnd)??0,ne=T==="rtl"?b.key==="ArrowRight":b.key==="ArrowLeft";if(!!Rt&&(ee!==Bt||(ne?ee>0:Bt{const Rt=y==="books"&&A&&it&&A.chapterNum?{bookId:A.book,chapterNum:A.chapterNum}:void 0,ee=y==="verses"?{bookId:J,chapterNum:Y}:Rt;if(ee){const{bookId:Bt,chapterNum:ne}=ee;return!Bt||!ne||!p?void 0:{max:p(Bt,ne),current:wr(R)??0,buildValue:Ye=>fr(Bt,ne,Ye),refs:Xt,takeFocus:y==="verses"}}if(y==="chapters"||y==="books"&&A&&ke(A.book)>1){const Bt=y==="chapters"?W:A==null?void 0:A.book;return Bt?{max:ke(Bt),current:We(R)??0,buildValue:ne=>Ve(Bt,ne),refs:Ht,takeFocus:y==="chapters"}:void 0}})();if(!jt||jt.max<=0)return;y==="books"&&Nt(!0),jt.takeFocus&&((Ta=Et.current)==null||Ta.focus());const Gt=ai({current:jt.current,key:b.key,max:jt.max,direction:T});if(b.preventDefault(),b.stopPropagation(),Gt===jt.current)return;Z(jt.buildValue(Gt));const Na=jt.refs.current[Gt];Na&&Na.scrollIntoView({block:"nearest",behavior:"smooth"})},[y,A,it,ht,yt,T,ct,bt,U,q,P,me,Oe,W,J,Y,p,R]),$=s.useCallback(b=>{var Dt,Lt;if(b.shiftKey||b.key==="Tab"||b.key===" ")return;if(b.key==="Enter"){b.stopPropagation();return}if(b.key==="ArrowUp"||b.key==="ArrowDown"){(Dt=kt.current)==null||Dt.focus();return}const{isLetter:H,isDigit:nt}=Ma(b.key);(H||nt)&&(b.preventDefault(),rt(jt=>jt+b.key),(Lt=kt.current)==null||Lt.focus(),G(!1))},[]);s.useLayoutEffect(()=>{const b=setTimeout(()=>{if(I&&y==="books"&&Tt.current&&Zt.current){const H=Tt.current,nt=Zt.current,Dt=nt.offsetTop,Lt=H.clientHeight,jt=nt.clientHeight,Gt=Dt-Lt/2+jt/2;H.scrollTo({top:Math.max(0,Gt),behavior:"smooth"}),Z(Hr(t.book))}},0);return()=>{clearTimeout(b)}},[I,y,X,A,t.book]),s.useLayoutEffect(()=>{if(y==="chapters"&&W){const b=W===t.book,H=b?t.chapterNum:1;Z(Ve(W,H)),setTimeout(()=>{if(Tt.current)if(b){const nt=Ht.current[t.chapterNum];nt&&nt.scrollIntoView({block:"center",behavior:"smooth"})}else Tt.current.scrollTo({top:0});Et.current&&Et.current.focus()},0)}},[y,W,A,t.book,t.chapterNum]),s.useLayoutEffect(()=>{if(y==="verses"&&J&&Y!==void 0){const b=J===t.book&&Y===t.chapterNum,H=b?t.verseNum:1;Z(fr(J,Y,H)),setTimeout(()=>{if(Tt.current)if(b){const nt=Xt.current[t.verseNum];nt&&nt.scrollIntoView({block:"center",behavior:"smooth"})}else Tt.current.scrollTo({top:0});Et.current&&Et.current.focus()},0)}},[y,J,Y,t.book,t.chapterNum,t.verseNum]);const et=A?`${A.book} ${A.chapterNum??""} ${A.verseNum??""} ${it}`:"",St=s.useRef(""),te=s.useRef(""),oe=s.useMemo(()=>{if(y!=="books"||!A||ht)return;const{book:b,chapterNum:H,verseNum:nt}=A;if(it&&H&&p)return{max:p(b,H),initial:nt??(b===t.book&&H===t.chapterNum?t.verseNum:1),parse:wr,buildValue:Lt=>fr(b,H,Lt)};const Dt=ke(b);if(!(Dt<=1))return{max:Dt,initial:H??(b===t.book?t.chapterNum:1),parse:We,buildValue:Lt=>Ve(b,Lt)}},[y,A,ht,it,p,t.book,t.chapterNum,t.verseNum]);return s.useLayoutEffect(()=>{if(y!=="books"||!A||!oe||oe.max<=0){St.current="";return}const{max:b,initial:H,parse:nt,buildValue:Dt}=oe,Lt=jt=>{const Gt=nt(jt);return Gt!==void 0&&Gt>=1&&Gt<=b&&jt===Dt(Gt)?Gt:void 0};if(St.current!==et){St.current=et;const jt=Dt(Math.min(Math.max(H,1),b));te.current=jt,Z(jt);return}if(Lt(R)!==void 0){te.current=R;return}Z(Lt(te.current)!==void 0?te.current:Dt(Math.min(Math.max(H,1),b)))},[y,A,oe,et,R]),r.jsxs(o.Popover,{open:I,onOpenChange:wt,modal:N,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{ref:Pt,"aria-label":"book-chapter-trigger",variant:k,role:"combobox","aria-expanded":I,disabled:O,className:o.cn("tw:h-8 tw:w-full tw:min-w-16 tw:max-w-48 tw:shrink tw:overflow-hidden tw:px-1",a),onClick:b=>{At.current&&(At.current=!1,b.preventDefault())},children:[m??r.jsx(no,{primary:Ge,secondary:He,showSecondary:D=Be.TIGHT,fullText:Ie}),x&&r.jsx(Mt.IconSelector,{"data-testid":"book-chapter-control-chevron",className:"tw:ms-2 tw:size-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.PopoverContent,{id:w,forceMount:!0,className:"tw:w-[280px] tw:p-0",align:E,onKeyDownCapture:dr,onKeyDown:b=>b.stopPropagation(),onPointerDownOutside:b=>{const{target:H}=b;I&&Pt.current&&H instanceof Node&&Pt.current.contains(H)&&(At.current=!0,wt(!1))},onCloseAutoFocus:C,children:r.jsx(o.TooltipProvider,{children:r.jsxs(o.Command,{ref:Et,loop:!0,value:R,onValueChange:Z,disablePointerSelection:!0,shouldFilter:!1,children:[y==="books"?r.jsxs("div",{className:o.cn("tw:flex tw:items-end",ht&&"tw:pb-1"),onFocus:b=>{Ct(b.target!==kt.current)},onBlur:b=>{b.currentTarget.contains(b.relatedTarget)||Ct(!1)},children:[r.jsxs("div",{className:"tw:relative tw:flex-1",children:[r.jsx(o.CommandInput,{ref:kt,value:X,onValueChange:_t,onKeyDown:lr,onFocus:()=>G(!1),className:d&&d.length>0?"tw:pe-8!":"",spaceSelectsHighlightedItem:!0}),d&&d.length>0&&r.jsx(io,{recentSearches:d,onSearchItemSelect:at,renderItem:b=>L.formatScrRef(b,"English"),getItemKey:b=>`${b.book}-${b.chapterNum}-${b.verseNum}`,ariaLabel:c==null?void 0:c["%history_recentSearches_ariaLabel%"],groupHeading:c==null?void 0:c["%history_recent%"],buttonClassName:"tw:absolute tw:end-1 tw:top-1"})]}),r.jsx(o.ButtonGroup,{className:"tw:translate-y-px tw:gap-1 tw:pe-2",children:vt.map(({onClick:b,disabled:H,title:nt,icon:Dt,group:Lt},jt)=>{const Gt=r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:()=>{G(!0),b()},disabled:H,className:"tw:h-8.5 tw:w-6 tw:rounded-lg! tw:p-0","aria-label":nt,onKeyDown:$,children:r.jsx(Dt,{})});return r.jsxs(s.Fragment,{children:[jt>0&&Lt!==vt[jt-1].group&&r.jsx(o.ButtonGroupSeparator,{}),H?r.jsx("span",{title:nt,className:"tw:inline-flex",children:Gt}):r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:Gt}),r.jsx(o.TooltipContent,{children:nt})]})]},`${Lt}-${jt}`)})})]}):r.jsxs("div",{className:"tw:flex tw:items-center tw:border-b tw:px-3 tw:py-1",children:[r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:y==="verses"?bt:ct,className:"tw:me-2 tw:h-6 tw:w-6 tw:p-0",tabIndex:-1,"aria-label":nr,children:T==="ltr"?r.jsx(B.ArrowLeft,{className:"tw:h-4 tw:w-4"}):r.jsx(B.ArrowRight,{className:"tw:h-4 tw:w-4"})})}),r.jsx(o.TooltipContent,{children:nr})]}),y==="chapters"&&W&&r.jsx("span",{tabIndex:-1,className:"tw:text-sm tw:font-medium",children:o.getLocalizedBookName(W,l)}),y==="verses"&&J&&Y!==void 0&&r.jsx("span",{tabIndex:-1,className:"tw:text-sm tw:font-medium",children:`${o.getLocalizedBookName(J,l)} ${Y}`}),r.jsx("span",{tabIndex:-1,className:"tw:ms-auto tw:text-sm tw:font-medium tw:text-muted-foreground",children:y==="verses"?Mr:Pe})]}),!ht&&r.jsxs(o.CommandList,{ref:Tt,children:[y==="books"&&r.jsxs(r.Fragment,{children:[!A&&Object.entries(ae).map(([b,H])=>{if(H.length!==0)return r.jsx(o.CommandGroup,{heading:fe(b),children:H.map(nt=>r.jsx(ro,{bookId:nt,onSelect:Dt=>Q(Dt),section:L.getSectionForBook(nt),commandValue:Hr(nt),suppressKeyboardHighlight:st,ref:nt===t.book?Zt:void 0,localizedBookNames:l,disabled:qe(nt),dimmedReason:xt.has(nt)?Dr:void 0,dimmedDescription:xt.has(nt)?sr(nt):void 0},nt))},b)}),A&&j&&r.jsx(o.CommandGroup,{children:r.jsxs(o.CommandItem,{value:Hn,onSelect:q,disabled:!!h&&Or(j.book,j.chapterNum,j.verseNum,h),className:"tw:font-semibold tw:text-primary tw:hover:bg-muted tw:[&>svg:last-child]:hidden",children:[r.jsx("span",{className:"tw:min-w-0 tw:flex-1",children:L.formatScrRef(j,o.getLocalizedBookName(A.book,l))}),r.jsx("span",{className:"tw:ms-2 tw:shrink-0 tw:text-xs tw:text-muted-foreground",children:o.getLocalizedBookId(A.book,l)})]},"top-match")}),A&&it&&A.chapterNum&&p&&r.jsx(Oa,{bookId:A.book,chapterNum:A.chapterNum,endVerse:p(A.book,A.chapterNum),scrRef:t,onVerseSelect:P,setVerseRef:S,isVerseDisabled:Oe(A.book,A.chapterNum),suppressKeyboardHighlight:st,className:"tw:px-4 tw:pb-4"}),A&&!it&&ke(A.book)>1&&r.jsx(Ia,{bookId:A.book,scrRef:t,onChapterSelect:U,setChapterRef:xe,isChapterDimmed:de,isChapterDisabled:me(A.book),suppressKeyboardHighlight:st,className:"tw:px-4 tw:pb-4"})]}),y==="chapters"&&W&&r.jsx(Ia,{bookId:W,scrRef:t,onChapterSelect:U,setChapterRef:xe,isChapterDisabled:me(W),className:"tw:p-4"}),y==="verses"&&J&&Y!==void 0&&p&&r.jsx(Oa,{bookId:J,chapterNum:Y,endVerse:p(J,Y),scrRef:t,onVerseSelect:P,setVerseRef:S,isVerseDisabled:Oe(J,Y),className:"tw:p-4"})]}),zt&&r.jsx("div",{className:"tw:border-t tw:p-1",children:r.jsx(o.Button,{variant:"ghost",size:"sm",className:"tw:w-full tw:justify-start tw:font-normal",onClick:()=>gt(b=>!b),children:ut?ze:cr})})]})})})]})}const ii=Object.freeze(["%scripture_section_ot_long%","%scripture_section_nt_long%","%scripture_section_dc_long%","%scripture_section_extra_long%","%history_recent%","%history_recentSearches_ariaLabel%","%webView_bookChapterControl_bookNotInProject%","%webView_bookChapterControl_bookNotInProjectDescription%","%webView_bookChapterControl_selectChapter%","%webView_bookChapterControl_selectVerse%","%webView_bookChapterControl_showMoreBooks%","%webView_bookChapterControl_showProjectBooksOnly%","%webView_bookChapterControl_previousChapter%","%webView_bookChapterControl_nextChapter%","%webView_bookChapterControl_previousVerse%","%webView_bookChapterControl_nextVerse%","%webView_bookChapterControl_backToBooks%","%webView_bookChapterControl_backToChapters%"]);function si(t){return typeof t=="string"?t:typeof t=="number"?t.toString():t.label}function Zr({id:t,options:e=[],className:a,buttonClassName:n,popoverContentClassName:i,popoverContentStyle:l,value:c,onChange:d=()=>{},getOptionLabel:u=si,getButtonLabel:w,icon:p=void 0,buttonPlaceholder:h="",textPlaceholder:g="",commandEmptyMessage:m="No option found",buttonVariant:k="outline",alignDropDown:x="start",isDisabled:f=!1,ariaLabel:C,...N}){const[E,_]=s.useState(!1),O=w??u,T=I=>I.length>0&&typeof I[0]=="object"&&"options"in I[0],D=(I,M)=>{const R=u(I),Z=typeof I=="object"&&"secondaryLabel"in I?I.secondaryLabel:void 0,X=`${M??""}${R}${Z??""}`;return r.jsxs(o.CommandItem,{value:R,onSelect:()=>{d(I),_(!1)},className:"tw:gap-1.5!",children:[r.jsx(B.Check,{className:o.cn("tw:h-4 tw:w-4 tw:shrink-0",{"tw:opacity-0":!c||u(c)!==R})}),r.jsxs("span",{className:"tw:flex-1 tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap",children:[R,Z&&r.jsxs("span",{className:"tw:text-muted-foreground",children:[" · ",Z]})]})]},X)};return r.jsxs(o.Popover,{open:E,onOpenChange:_,...N,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:k,role:"combobox","aria-expanded":E,"aria-label":C,id:t,className:o.cn("tw:flex tw:w-[200px] tw:items-center tw:justify-between tw:overflow-hidden",n??a),disabled:f,children:[r.jsxs("div",{className:"tw:flex tw:min-w-0 tw:flex-1 tw:items-center tw:overflow-hidden",children:[p&&r.jsx("div",{className:"tw:shrink-0 tw:pe-2",children:p}),r.jsx("span",{className:o.cn("tw:min-w-0 tw:overflow-hidden tw:text-ellipsis tw:whitespace-nowrap tw:text-start"),children:c?O(c):h})]}),r.jsx(B.ChevronDown,{className:"tw:ms-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.PopoverContent,{align:x,className:o.cn("tw:w-[200px] tw:p-0",i),style:l,children:r.jsxs(o.Command,{children:[r.jsx(o.CommandInput,{placeholder:g,className:"tw:text-inherit",spaceSelectsHighlightedItem:!0}),r.jsx(o.CommandEmpty,{children:m}),r.jsx(o.CommandList,{children:T(e)?e.map(I=>r.jsx(o.CommandGroup,{heading:I.groupHeading,children:I.options.map(M=>D(M,I.groupHeading))},I.groupHeading)):r.jsx(o.CommandGroup,{children:e.map(I=>D(I))})})]})})]})}function co({startChapter:t,endChapter:e,handleSelectStartChapter:a,handleSelectEndChapter:n,isDisabled:i=!1,chapterCount:l}){const c=s.useMemo(()=>Array.from({length:l},(w,p)=>p+1),[l]),d=w=>{a(w),w>e&&n(w)},u=w=>{n(w),ww.toString(),value:t},"start chapter"),r.jsx(o.Label,{htmlFor:"end-chapters-combobox",children:"to"}),r.jsx(Zr,{isDisabled:i,onChange:u,buttonClassName:"tw:ms-2 tw:w-20",options:c,getOptionLabel:w=>w.toString(),value:e},"end chapter")]})}exports.BookSelectionMode=(t=>(t.CurrentBook="current book",t.ChooseBooks="choose books",t))(exports.BookSelectionMode||{});(t=>{t.CURRENT_BOOK="current book",t.CHOOSE_BOOKS="choose books"})(exports.BookSelectionMode||(exports.BookSelectionMode={}));const ci=Object.freeze(["%webView_bookSelector_currentBook%","%webView_bookSelector_choose%","%webView_bookSelector_chooseBooks%"]),Pr=(t,e)=>t[e]??e;function li({handleBookSelectionModeChange:t,currentBookName:e,onSelectBooks:a,selectedBookIds:n,chapterCount:i,endChapter:l,handleSelectEndChapter:c,startChapter:d,handleSelectStartChapter:u,localizedStrings:w}){const p=Pr(w,"%webView_bookSelector_currentBook%"),h=Pr(w,"%webView_bookSelector_choose%"),g=Pr(w,"%webView_bookSelector_chooseBooks%"),[m,k]=s.useState("current book"),x=f=>{k(f),t(f)};return r.jsx(o.RadioGroup,{className:"pr-twp tw:flex",value:m,onValueChange:f=>x(f),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:flex-col tw:gap-4",children:[r.jsxs("div",{className:"tw:grid tw:grid-cols-[25%_25%_50%]",children:[r.jsxs("div",{className:"tw:flex tw:items-center",children:[r.jsx(o.RadioGroupItem,{value:"current book"}),r.jsx(o.Label,{className:"tw:ms-1",children:p})]}),r.jsx(o.Label,{className:"tw:flex tw:items-center",children:e}),r.jsx("div",{className:"tw:flex tw:items-center tw:justify-end",children:r.jsx(co,{isDisabled:m==="choose books",handleSelectStartChapter:u,handleSelectEndChapter:c,chapterCount:i,startChapter:d,endChapter:l})})]}),r.jsxs("div",{className:"tw:grid tw:grid-cols-[25%_50%_25%]",children:[r.jsxs("div",{className:"tw:flex tw:items-center",children:[r.jsx(o.RadioGroupItem,{value:"choose books"}),r.jsx(o.Label,{className:"tw:ms-1",children:g})]}),r.jsx(o.Label,{className:"tw:flex tw:items-center",children:n.map(f=>Ot.Canon.bookIdToEnglishName(f)).join(", ")}),r.jsx(o.Button,{disabled:m==="current book",onClick:()=>a(),children:h})]})]})})}const lo=s.createContext(null);function di(t,e){return{getTheme:function(){return e??null}}}function he(){const t=s.useContext(lo);return t==null&&function(e,...a){const n=new URL("https://lexical.dev/docs/error"),i=new URLSearchParams;i.append("code",e);for(const l of a)i.append("v",l);throw n.search=i.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(8),t}const wo=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,wi=wo?s.useLayoutEffect:s.useEffect,pr={tag:v.HISTORY_MERGE_TAG};function ui({initialConfig:t,children:e}){const a=s.useMemo(()=>{const{theme:n,namespace:i,nodes:l,onError:c,editorState:d,html:u}=t,w=di(null,n),p=v.createEditor({editable:t.editable,html:u,namespace:i,nodes:l,onError:h=>c(h,p),theme:n});return function(h,g){if(g!==null){if(g===void 0)h.update(()=>{const m=v.$getRoot();if(m.isEmpty()){const k=v.$createParagraphNode();m.append(k);const x=wo?document.activeElement:null;(v.$getSelection()!==null||x!==null&&x===h.getRootElement())&&k.select()}},pr);else if(g!==null)switch(typeof g){case"string":{const m=h.parseEditorState(g);h.setEditorState(m,pr);break}case"object":h.setEditorState(g,pr);break;case"function":h.update(()=>{v.$getRoot().isEmpty()&&g(h)},pr)}}}(p,d),[p,w]},[]);return wi(()=>{const n=t.editable,[i]=a;i.setEditable(n===void 0||n)},[]),r.jsx(lo.Provider,{value:a,children:e})}const pi=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function hi({ignoreHistoryMergeTagChange:t=!0,ignoreSelectionChange:e=!1,onChange:a}){const[n]=he();return pi(()=>{if(a)return n.registerUpdateListener(({editorState:i,dirtyElements:l,dirtyLeaves:c,prevEditorState:d,tags:u})=>{e&&l.size===0&&c.size===0||t&&u.has(v.HISTORY_MERGE_TAG)||d.isEmpty()||a(i,n,u)})},[n,t,e,a]),null}const ia={ltr:"tw:text-left",rtl:"tw:text-right",heading:{h1:"tw:scroll-m-20 tw:text-4xl tw:font-extrabold tw:tracking-tight tw:lg:text-5xl",h2:"tw:scroll-m-20 tw:border-b tw:pb-2 tw:text-3xl tw:font-semibold tw:tracking-tight tw:first:mt-0",h3:"tw:scroll-m-20 tw:text-2xl tw:font-semibold tw:tracking-tight",h4:"tw:scroll-m-20 tw:text-xl tw:font-semibold tw:tracking-tight",h5:"tw:scroll-m-20 tw:text-lg tw:font-semibold tw:tracking-tight",h6:"tw:scroll-m-20 tw:text-base tw:font-semibold tw:tracking-tight"},paragraph:"tw:outline-hidden",quote:"tw:mt-6 tw:border-l-2 tw:pl-6 tw:italic",link:"tw:text-blue-600 tw:hover:underline tw:hover:cursor-pointer",list:{checklist:"tw:relative",listitem:"tw:mx-8",listitemChecked:'tw:relative tw:mx-2 tw:px-6 tw:list-none tw:outline-hidden tw:line-through tw:before:content-[""] tw:before:w-4 tw:before:h-4 tw:before:top-0.5 tw:before:left-0 tw:before:cursor-pointer tw:before:block tw:before:bg-cover tw:before:absolute tw:before:border tw:before:border-primary tw:before:rounded tw:before:bg-primary tw:before:bg-no-repeat tw:after:content-[""] tw:after:cursor-pointer tw:after:border-white tw:after:border-solid tw:after:absolute tw:after:block tw:after:top-[6px] tw:after:w-[3px] tw:after:left-[7px] tw:after:right-[7px] tw:after:h-[6px] tw:after:rotate-45 tw:after:border-r-2 tw:after:border-b-2 tw:after:border-l-0 tw:after:border-t-0',listitemUnchecked:'tw:relative tw:mx-2 tw:px-6 tw:list-none tw:outline-hidden tw:before:content-[""] tw:before:w-4 tw:before:h-4 tw:before:top-0.5 tw:before:left-0 tw:before:cursor-pointer tw:before:block tw:before:bg-cover tw:before:absolute tw:before:border tw:before:border-primary tw:before:rounded',nested:{listitem:"tw:list-none tw:before:hidden tw:after:hidden"},ol:"tw:m-0 tw:p-0 tw:list-decimal tw:[&>li]:mt-2",olDepth:["tw:list-outside tw:!list-decimal","tw:list-outside tw:!list-[upper-roman]","tw:list-outside tw:!list-[lower-roman]","tw:list-outside tw:!list-[upper-alpha]","tw:list-outside tw:!list-[lower-alpha]"],ul:"tw:m-0 tw:p-0 tw:list-outside tw:[&>li]:mt-2",ulDepth:["tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc","tw:list-outside tw:!list-disc"]},hashtag:"tw:text-blue-600 tw:bg-blue-100 tw:rounded-md tw:px-1",text:{bold:"tw:font-bold",code:"tw:bg-gray-100 tw:p-1 tw:rounded-md",italic:"tw:italic",strikethrough:"tw:line-through",subscript:"tw:sub",superscript:"tw:sup",underline:"tw:underline",underlineStrikethrough:"tw:underline tw:line-through"},image:"tw:relative tw:inline-block tw:user-select-none tw:cursor-default editor-image",inlineImage:"tw:relative tw:inline-block tw:user-select-none tw:cursor-default inline-editor-image",keyword:"tw:text-purple-900 tw:font-bold",code:"EditorTheme__code",codeHighlight:{atrule:"EditorTheme__tokenAttr",attr:"EditorTheme__tokenAttr",boolean:"EditorTheme__tokenProperty",builtin:"EditorTheme__tokenSelector",cdata:"EditorTheme__tokenComment",char:"EditorTheme__tokenSelector",class:"EditorTheme__tokenFunction","class-name":"EditorTheme__tokenFunction",comment:"EditorTheme__tokenComment",constant:"EditorTheme__tokenProperty",deleted:"EditorTheme__tokenProperty",doctype:"EditorTheme__tokenComment",entity:"EditorTheme__tokenOperator",function:"EditorTheme__tokenFunction",important:"EditorTheme__tokenVariable",inserted:"EditorTheme__tokenSelector",keyword:"EditorTheme__tokenAttr",namespace:"EditorTheme__tokenVariable",number:"EditorTheme__tokenProperty",operator:"EditorTheme__tokenOperator",prolog:"EditorTheme__tokenComment",property:"EditorTheme__tokenProperty",punctuation:"EditorTheme__tokenPunctuation",regex:"EditorTheme__tokenVariable",selector:"EditorTheme__tokenSelector",string:"EditorTheme__tokenSelector",symbol:"EditorTheme__tokenProperty",tag:"EditorTheme__tokenProperty",url:"EditorTheme__tokenOperator",variable:"EditorTheme__tokenVariable"},characterLimit:"tw:!bg-destructive/50",table:"EditorTheme__table tw:w-fit tw:overflow-scroll tw:border-collapse",tableCell:"EditorTheme__tableCell tw:w-24 tw:relative tw:border tw:px-4 tw:py-2 tw:text-left tw:[&[align=center]]:text-center tw:[&[align=right]]:text-right",tableCellActionButton:"EditorTheme__tableCellActionButton tw:bg-background tw:block tw:border-0 tw:rounded-2xl tw:w-5 tw:h-5 tw:text-foreground tw:cursor-pointer",tableCellActionButtonContainer:"EditorTheme__tableCellActionButtonContainer tw:block tw:right-1 tw:top-1.5 tw:absolute tw:z-10 tw:w-5 tw:h-5",tableCellEditing:"EditorTheme__tableCellEditing tw:rounded-sm tw:shadow-sm",tableCellHeader:"EditorTheme__tableCellHeader tw:bg-muted tw:border tw:px-4 tw:py-2 tw:text-left tw:font-bold tw:[&[align=center]]:text-center tw:[&[align=right]]:text-right",tableCellPrimarySelected:"EditorTheme__tableCellPrimarySelected tw:border tw:border-primary tw:border-solid tw:block tw:h-[calc(100%-2px)] tw:w-[calc(100%-2px)] tw:absolute tw:-left-[1px] tw:-top-[1px] tw:z-10 ",tableCellResizer:"EditorTheme__tableCellResizer tw:absolute tw:-right-1 tw:h-full tw:w-2 tw:cursor-ew-resize tw:z-10 tw:top-0",tableCellSelected:"EditorTheme__tableCellSelected tw:bg-muted",tableCellSortedIndicator:"EditorTheme__tableCellSortedIndicator tw:block tw:opacity-50 tw:absolute tw:bottom-0 tw:left-0 tw:w-full tw:h-1 tw:bg-muted",tableResizeRuler:"EditorTheme__tableCellResizeRuler tw:block tw:absolute tw:w-[1px] tw:h-full tw:bg-primary tw:top-0",tableRowStriping:"EditorTheme__tableRowStriping tw:m-0 tw:border-t tw:p-0 tw:even:bg-muted",tableSelected:"EditorTheme__tableSelected tw:ring-2 tw:ring-primary tw:ring-offset-2",tableSelection:"EditorTheme__tableSelection tw:bg-transparent",layoutItem:"tw:border tw:border-dashed tw:px-4 tw:py-2",layoutContainer:"tw:grid tw:gap-2.5 tw:my-2.5 tw:mx-0",autocomplete:"tw:text-muted-foreground",blockCursor:"",embedBlock:{base:"tw:user-select-none",focus:"tw:ring-2 tw:ring-primary tw:ring-offset-2"},hr:'tw:p-0.5 tw:border-none tw:my-1 tw:mx-0 tw:cursor-pointer tw:after:content-[""] tw:after:block tw:after:h-0.5 tw:after:bg-muted tw:selected:ring-2 tw:selected:ring-primary tw:selected:ring-offset-2 tw:selected:user-select-none',indent:"[--lexical-indent-base-value:40px]",mark:"",markOverlap:""},sa=[Gr.HeadingNode,v.ParagraphNode,v.TextNode,Gr.QuoteNode],gi=s.createContext(null),zr={didCatch:!1,error:null};class fi extends s.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=zr}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){const{error:e}=this.state;if(e!==null){for(var a,n,i=arguments.length,l=new Array(i),c=0;c0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.length!==e.length||t.some((a,n)=>!Object.is(a,e[n]))}function vi({children:t,onError:e}){return r.jsx(fi,{fallback:r.jsx("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:e,children:t})}const bi=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function xi(t){return{initialValueFn:()=>t.isEditable(),subscribe:e=>t.registerEditableListener(e)}}function yi(){return function(t){const[e]=he(),a=s.useMemo(()=>t(e),[e,t]),[n,i]=s.useState(()=>a.initialValueFn()),l=s.useRef(n);return bi(()=>{const{initialValueFn:c,subscribe:d}=a,u=c();return l.current!==u&&(l.current=u,i(u)),d(w=>{l.current=w,i(w)})},[a,t]),n}(xi)}function ki(t,e){const a=t.getRootElement();if(a===null)return[];const n=a.getBoundingClientRect(),i=getComputedStyle(a),l=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight),c=Array.from(e.getClientRects());let d,u=c.length;c.sort((w,p)=>{const h=w.top-p.top;return Math.abs(h)<=3?w.left-p.left:h});for(let w=0;wp.top&&d.left+d.width>p.left,g=p.width+l===n.width;h||g?(c.splice(w--,1),u--):d=p}return c}function _r(t,...e){const a=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",t);for(const i of e)n.append("v",i);throw a.search=n.toString(),Error(`Minified Lexical error #${t}; visit ${a.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const uo=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,_i=uo&&"documentMode"in document?document.documentMode:null;!(!uo||!("InputEvent"in window)||_i)&&"getTargetRanges"in new window.InputEvent("input");function ue(t){return`${t}px`}const ji={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ci(t,e,a){let n=null,i=null,l=null,c=[];const d=document.createElement("div");function u(){n===null&&_r(182),i===null&&_r(183);const{left:h,top:g}=i.getBoundingClientRect(),m=ki(t,e);var k,x;d.isConnected||(x=d,(k=i).insertBefore(x,k.firstChild));let f=!1;for(let C=0;Cm.length;)c.pop();f&&a(c)}function w(){i=null,n=null,l!==null&&l.disconnect(),l=null,d.remove();for(const h of c)h.remove();c=[]}d.style.position="relative";const p=t.registerRootListener(function h(){const g=t.getRootElement();if(g===null)return w();const m=g.parentElement;if(!v.isHTMLElement(m))return w();w(),n=g,i=m,l=new MutationObserver(k=>{const x=t.getRootElement(),f=x&&x.parentElement;if(x!==n||f!==i)return h();for(const C of k)if(!d.contains(C.target))return u()}),l.observe(m,ji),u()});return()=>{p(),w()}}function Pa(t,e,a){if(t.type!=="text"&&v.$isElementNode(e)){const n=e.getDOMSlot(a);return[n.element,n.getFirstChildOffset()+t.offset]}return[v.getDOMTextNode(a)||a,t.offset]}function Ni(t){for(const e of t){const a=e.style;a.background!=="Highlight"&&(a.background="Highlight"),a.color!=="HighlightText"&&(a.color="HighlightText"),a.marginTop!==ue(-1.5)&&(a.marginTop=ue(-1.5)),a.paddingTop!==ue(4)&&(a.paddingTop=ue(4)),a.paddingBottom!==ue(0)&&(a.paddingBottom=ue(0))}}function Ei(t,e=Ni){let a=null,n=null,i=null,l=null,c=null,d=null,u=()=>{};function w(p){p.read(()=>{const h=v.$getSelection();if(!v.$isRangeSelection(h))return a=null,i=null,l=null,d=null,u(),void(u=()=>{});const[g,m]=function(I){const M=I.getStartEndPoints();return I.isBackward()?[M[1],M[0]]:M}(h),k=g.getNode(),x=k.getKey(),f=g.offset,C=m.getNode(),N=C.getKey(),E=m.offset,_=t.getElementByKey(x),O=t.getElementByKey(N),T=a===null||_!==n||f!==i||x!==a.getKey(),D=l===null||O!==c||E!==d||N!==l.getKey();if((T||D)&&_!==null&&O!==null){const I=function(M,R,Z,X,rt,y,tt){const W=(M._window?M._window.document:document).createRange();return W.setStart(...Pa(R,Z,X)),W.setEnd(...Pa(rt,y,tt)),W}(t,g,k,_,m,C,O);u(),u=Ci(t,I,e)}a=k,n=_,i=f,l=C,c=O,d=E})}return w(t.getEditorState()),v.mergeRegister(t.registerUpdateListener(({editorState:p})=>w(p)),()=>{u()})}function Ti(t,e){let a=null;const n=()=>{const i=getSelection(),l=i&&i.anchorNode,c=t.getRootElement();l!==null&&c!==null&&c.contains(l)?a!==null&&(a(),a=null):a===null&&(a=Ei(t,e))};return t.registerRootListener(i=>{if(i){const l=i.ownerDocument;return l.addEventListener("selectionchange",n),n(),()=>{a!==null&&a(),l.removeEventListener("selectionchange",n)}}})}function Si(t){const e=v.$findMatchingParent(t,a=>v.$isElementNode(a)&&!a.isInline());return v.$isElementNode(e)||_r(4,t.__key),e}function Ri(t){const e=v.$getSelection()||v.$getPreviousSelection();let a;if(v.$isRangeSelection(e))a=v.$caretFromPoint(e.focus,"next");else{if(e!=null){const c=e.getNodes(),d=c[c.length-1];d&&(a=v.$getSiblingCaret(d,"next"))}a=a||v.$getChildCaret(v.$getRoot(),"previous").getFlipped().insert(v.$createParagraphNode())}const n=Mi(t,a),i=v.$getAdjacentChildCaret(n),l=v.$isChildCaret(i)?v.$normalizeCaret(i):n;return v.$setSelectionFromCaretRange(v.$getCollapsedCaretRange(l)),t.getLatest()}function Mi(t,e,a){let n=v.$getCaretInDirection(e,"next");for(let i=n;i;i=v.$splitAtPointCaretNext(i,a))n=i;return v.$isTextPointCaret(n)&&_r(283),n.insert(t.isInline()?v.$createParagraphNode().append(t):t),v.$getCaretInDirection(v.$getSiblingCaret(t.getLatest(),"next"),e.direction)}function Di(t){const e=v.$getSelection();if(!v.$isRangeSelection(e))return!1;const a=new Set,n=e.getNodes();for(let i=0;iv.$isElementNode(w)&&!w.isInline());if(d===null)continue;const u=d.getKey();d.canIndent()&&!a.has(u)&&(a.add(u),t(d))}return a.size>0}const Ii=Symbol.for("preact-signals");function Rr(){if(ve>1)return void ve--;let t,e=!1;for(!function(){let a=jr;for(jr=void 0;a!==void 0;)a.S.v===a.v&&(a.S.i=a.i),a=a.o}();Qe!==void 0;){let a=Qe;for(Qe=void 0,Cr++;a!==void 0;){const n=a.u;if(a.u=void 0,a.f&=-3,!(8&a.f)&&po(a))try{a.c()}catch(i){e||(t=i,e=!0)}a=n}}if(Cr=0,ve--,e)throw t}function Oi(t){if(ve>0)return t();Xr=++Pi,ve++;try{return t()}finally{Rr()}}let lt,Qe;function za(t){const e=lt;lt=void 0;try{return t()}finally{lt=e}}let jr,ve=0,Cr=0,Pi=0,Xr=0,br=0;function La(t){if(lt===void 0)return;let e=t.n;return e===void 0||e.t!==lt?(e={i:0,S:t,p:lt.s,n:void 0,t:lt,e:void 0,x:void 0,r:e},lt.s!==void 0&&(lt.s.n=e),lt.s=e,t.n=e,32<.f&&t.S(e),e):e.i===-1?(e.i=0,e.n!==void 0&&(e.n.p=e.p,e.p!==void 0&&(e.p.n=e.n),e.p=lt.s,e.n=void 0,lt.s.n=e,lt.s=e),e):void 0}function Ft(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}function er(t,e){return new Ft(t,e)}function po(t){for(let e=t.s;e!==void 0;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function Aa(t){for(let e=t.s;e!==void 0;e=e.n){const a=e.S.n;if(a!==void 0&&(e.r=a),e.S.n=e,e.i=-1,e.n===void 0){t.s=e;break}}}function ho(t){let e,a=t.s;for(;a!==void 0;){const n=a.p;a.i===-1?(a.S.U(a),n!==void 0&&(n.n=a.n),a.n!==void 0&&(a.n.p=n)):e=a,a.S.n=a.r,a.r!==void 0&&(a.r=void 0),a=n}t.s=e}function Ne(t,e){Ft.call(this,void 0),this.x=t,this.s=void 0,this.g=br-1,this.f=4,this.W=e==null?void 0:e.watched,this.Z=e==null?void 0:e.unwatched,this.name=e==null?void 0:e.name}function zi(t,e){return new Ne(t,e)}function go(t){const e=t.m;if(t.m=void 0,typeof e=="function"){ve++;const a=lt;lt=void 0;try{e()}catch(n){throw t.f&=-2,t.f|=8,ca(t),n}finally{lt=a,Rr()}}}function ca(t){for(let e=t.s;e!==void 0;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,go(t)}function Li(t){if(lt!==this)throw new Error("Out-of-order effect");ho(this),lt=t,this.f&=-2,8&this.f&&ca(this),Rr()}function Ae(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=e==null?void 0:e.name}function pe(t,e){const a=new Ae(t,e);try{a.c()}catch(i){throw a.d(),i}const n=a.d.bind(a);return n[Symbol.dispose]=n,n}function Ue(t,e={}){const a={};for(const n in t){const i=e[n],l=er(i===void 0?t[n]:i);a[n]=l}return a}Ft.prototype.brand=Ii,Ft.prototype.h=function(){return!0},Ft.prototype.S=function(t){const e=this.t;e!==t&&t.e===void 0&&(t.x=e,this.t=t,e!==void 0?e.e=t:za(()=>{var a;(a=this.W)==null||a.call(this)}))},Ft.prototype.U=function(t){if(this.t!==void 0){const e=t.e,a=t.x;e!==void 0&&(e.x=a,t.e=void 0),a!==void 0&&(a.e=e,t.x=void 0),t===this.t&&(this.t=a,a===void 0&&za(()=>{var n;(n=this.Z)==null||n.call(this)}))}},Ft.prototype.subscribe=function(t){return pe(()=>{const e=this.value,a=lt;lt=void 0;try{t(e)}finally{lt=a}},{name:"sub"})},Ft.prototype.valueOf=function(){return this.value},Ft.prototype.toString=function(){return this.value+""},Ft.prototype.toJSON=function(){return this.value},Ft.prototype.peek=function(){const t=lt;lt=void 0;try{return this.value}finally{lt=t}},Object.defineProperty(Ft.prototype,"value",{get(){const t=La(this);return t!==void 0&&(t.i=this.i),this.v},set(t){if(t!==this.v){if(Cr>100)throw new Error("Cycle detected");(function(e){ve!==0&&Cr===0&&e.l!==Xr&&(e.l=Xr,jr={S:e,v:e.v,i:e.i,o:jr})})(this),this.v=t,this.i++,br++,ve++;try{for(let e=this.t;e!==void 0;e=e.x)e.t.N()}finally{Rr()}}}}),Ne.prototype=new Ft,Ne.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===br))return!0;if(this.g=br,this.f|=1,this.i>0&&!po(this))return this.f&=-2,!0;const t=lt;try{Aa(this),lt=this;const e=this.x();(16&this.f||this.v!==e||this.i===0)&&(this.v=e,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return lt=t,ho(this),this.f&=-2,!0},Ne.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(let e=this.s;e!==void 0;e=e.n)e.S.S(e)}Ft.prototype.S.call(this,t)},Ne.prototype.U=function(t){if(this.t!==void 0&&(Ft.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(let e=this.s;e!==void 0;e=e.n)e.S.U(e)}},Ne.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let t=this.t;t!==void 0;t=t.x)t.t.N()}},Object.defineProperty(Ne.prototype,"value",{get(){if(1&this.f)throw new Error("Cycle detected");const t=La(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}}),Ae.prototype.c=function(){const t=this.S();try{if(8&this.f||this.x===void 0)return;const e=this.x();typeof e=="function"&&(this.m=e)}finally{t()}},Ae.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,go(this),Aa(this),ve++;const t=lt;return lt=this,Li.bind(this,t)},Ae.prototype.N=function(){2&this.f||(this.f|=2,this.u=Qe,Qe=this)},Ae.prototype.d=function(){this.f|=8,1&this.f||ca(this)},Ae.prototype.dispose=function(){this.d()};v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({defaultSelection:"rootEnd",disabled:!1}),name:"@lexical/extension/AutoFocus",register(t,e,a){const n=a.getOutput();return pe(()=>n.disabled.value?void 0:t.registerRootListener(i=>{t.focus(()=>{const l=document.activeElement;i===null||l!==null&&i.contains(l)||i.focus({preventScroll:!0})},{defaultSelection:n.defaultSelection.peek()})}))}});function fo(){const t=v.$getRoot(),e=v.$getSelection(),a=v.$createParagraphNode();t.clear(),t.append(a),e!==null&&a.select(),v.$isRangeSelection(e)&&(e.format=0)}function mo(t,e=fo){return t.registerCommand(v.CLEAR_EDITOR_COMMAND,a=>(t.update(e),!0),v.COMMAND_PRIORITY_EDITOR)}v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({$onClear:fo}),name:"@lexical/extension/ClearEditor",register(t,e,a){const{$onClear:n}=a.getOutput();return pe(()=>mo(t,n.value))}});function Ai(t){return(typeof t.nodes=="function"?t.nodes():t.nodes)||[]}const Lr=v.createState("format",{parse:t=>typeof t=="number"?t:0});class vo extends v.DecoratorNode{$config(){return this.config("decorator-text",{extends:v.DecoratorNode,stateConfigs:[{flat:!0,stateConfig:Lr}]})}getFormat(){return v.$getState(this,Lr)}getFormatFlags(e,a){return v.toggleTextFormatType(this.getFormat(),e,a)}hasFormat(e){const a=v.TEXT_TYPE_TO_FORMAT[e];return(this.getFormat()&a)!==0}setFormat(e){return v.$setState(this,Lr,e)}toggleFormat(e){const a=this.getFormat(),n=v.toggleTextFormatType(a,e,null);return this.setFormat(n)}isInline(){return!0}createDOM(){return document.createElement("span")}updateDOM(){return!1}}function Bi(t){return t instanceof vo}v.defineExtension({name:"@lexical/extension/DecoratorText",nodes:()=>[vo],register:(t,e,a)=>t.registerCommand(v.FORMAT_TEXT_COMMAND,n=>{const i=v.$getSelection();if(v.$isNodeSelection(i)||v.$isRangeSelection(i))for(const l of i.getNodes())Bi(l)&&l.toggleFormat(n);return!1},v.COMMAND_PRIORITY_LOW)});function bo(t,e){let a;return er(t(),{unwatched(){a&&(a(),a=void 0)},watched(){this.value=t(),a=e(this)}})}const Wr=v.defineExtension({build:t=>bo(()=>t.getEditorState(),e=>t.registerUpdateListener(a=>{e.value=a.editorState})),name:"@lexical/extension/EditorState"});function pt(t,...e){const a=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",t);for(const i of e)n.append("v",i);throw a.search=n.toString(),Error(`Minified Lexical error #${t}; visit ${a.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function xo(t,e){if(t&&e&&!Array.isArray(e)&&typeof t=="object"&&typeof e=="object"){const a=t,n=e;for(const i in n)a[i]=xo(a[i],n[i]);return t}return e}const la=0,Jr=1,yo=2,Ar=3,hr=4,Le=5,Br=6,Ze=7;function Vr(t){return t.id===la}function ko(t){return t.id===yo}function Vi(t){return function(e){return e.id===Jr}(t)||pt(305,String(t.id),String(Jr)),Object.assign(t,{id:yo})}const $i=new Set;class Fi{constructor(e,a){Vt(this,"builder");Vt(this,"configs");Vt(this,"_dependency");Vt(this,"_peerNameSet");Vt(this,"extension");Vt(this,"state");Vt(this,"_signal");this.builder=e,this.extension=a,this.configs=new Set,this.state={id:la}}mergeConfigs(){let e=this.extension.config||{};const a=this.extension.mergeConfig?this.extension.mergeConfig.bind(this.extension):v.shallowMergeConfig;for(const n of this.configs)e=a(e,n);return e}init(e){const a=this.state;ko(a)||pt(306,String(a.id));const n={getDependency:this.getInitDependency.bind(this),getDirectDependentNames:this.getDirectDependentNames.bind(this),getPeer:this.getInitPeer.bind(this),getPeerNameSet:this.getPeerNameSet.bind(this)},i={...n,getDependency:this.getDependency.bind(this),getInitResult:this.getInitResult.bind(this),getPeer:this.getPeer.bind(this)},l=function(d,u,w){return Object.assign(d,{config:u,id:Ar,registerState:w})}(a,this.mergeConfigs(),n);let c;this.state=l,this.extension.init&&(c=this.extension.init(e,l.config,n)),this.state=function(d,u,w){return Object.assign(d,{id:hr,initResult:u,registerState:w})}(l,c,i)}build(e){const a=this.state;let n;a.id!==hr&&pt(307,String(a.id),String(Le)),this.extension.build&&(n=this.extension.build(e,a.config,a.registerState));const i={...a.registerState,getOutput:()=>n,getSignal:this.getSignal.bind(this)};this.state=function(l,c,d){return Object.assign(l,{id:Le,output:c,registerState:d})}(a,n,i)}register(e,a){this._signal=a;const n=this.state;n.id!==Le&&pt(308,String(n.id),String(Le));const i=this.extension.register&&this.extension.register(e,n.config,n.registerState);return this.state=function(l){return Object.assign(l,{id:Br})}(n),()=>{const l=this.state;l.id!==Ze&&pt(309,String(n.id),String(Ze)),this.state=function(c){return Object.assign(c,{id:Le})}(l),i&&i()}}afterRegistration(e){const a=this.state;let n;return a.id!==Br&&pt(310,String(a.id),String(Br)),this.extension.afterRegistration&&(n=this.extension.afterRegistration(e,a.config,a.registerState)),this.state=function(i){return Object.assign(i,{id:Ze})}(a),n}getSignal(){return this._signal===void 0&&pt(311),this._signal}getInitResult(){this.extension.init===void 0&&pt(312,this.extension.name);const e=this.state;return function(a){return a.id>=hr}(e)||pt(313,String(e.id),String(hr)),e.initResult}getInitPeer(e){const a=this.builder.extensionNameMap.get(e);return a?a.getExtensionInitDependency():void 0}getExtensionInitDependency(){const e=this.state;return function(a){return a.id>=Ar}(e)||pt(314,String(e.id),String(Ar)),{config:e.config}}getPeer(e){const a=this.builder.extensionNameMap.get(e);return a?a.getExtensionDependency():void 0}getInitDependency(e){const a=this.builder.getExtensionRep(e);return a===void 0&&pt(315,this.extension.name,e.name),a.getExtensionInitDependency()}getDependency(e){const a=this.builder.getExtensionRep(e);return a===void 0&&pt(315,this.extension.name,e.name),a.getExtensionDependency()}getState(){const e=this.state;return function(a){return a.id>=Ze}(e)||pt(316,String(e.id),String(Ze)),e}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||$i}getPeerNameSet(){let e=this._peerNameSet;return e||(e=new Set((this.extension.peerDependencies||[]).map(([a])=>a)),this._peerNameSet=e),e}getExtensionDependency(){if(!this._dependency){const e=this.state;(function(a){return a.id>=Le})(e)||pt(317,this.extension.name),this._dependency={config:e.config,init:e.initResult,output:e.output}}return this._dependency}}const Ba={tag:v.HISTORY_MERGE_TAG};function Ki(){const t=v.$getRoot();t.isEmpty()&&t.append(v.$createParagraphNode())}const Ui=v.defineExtension({config:v.safeCast({setOptions:Ba,updateOptions:Ba}),init:({$initialEditorState:t=Ki})=>({$initialEditorState:t,initialized:!1}),afterRegistration(t,{updateOptions:e,setOptions:a},n){const i=n.getInitResult();if(!i.initialized){i.initialized=!0;const{$initialEditorState:l}=i;if(v.$isEditorState(l))t.setEditorState(l,a);else if(typeof l=="function")t.update(()=>{l(t)},e);else if(l&&(typeof l=="string"||typeof l=="object")){const c=t.parseEditorState(l);t.setEditorState(c,a)}}return()=>{}},name:"@lexical/extension/InitialState",nodes:[v.RootNode,v.TextNode,v.LineBreakNode,v.TabNode,v.ParagraphNode]}),Va=Symbol.for("@lexical/extension/LexicalBuilder");function $a(){}function Gi(t){throw t}function gr(t){return Array.isArray(t)?t:[t]}const $r="0.43.0+prod.esm";class $e{constructor(e){Vt(this,"roots");Vt(this,"extensionNameMap");Vt(this,"outgoingConfigEdges");Vt(this,"incomingEdges");Vt(this,"conflicts");Vt(this,"_sortedExtensionReps");Vt(this,"PACKAGE_VERSION");this.outgoingConfigEdges=new Map,this.incomingEdges=new Map,this.extensionNameMap=new Map,this.conflicts=new Map,this.PACKAGE_VERSION=$r,this.roots=e;for(const a of e)this.addExtension(a)}static fromExtensions(e){const a=[gr(Ui)];for(const n of e)a.push(gr(n));return new $e(a)}static maybeFromEditor(e){const a=e[Va];return a&&(a.PACKAGE_VERSION!==$r&&pt(292,a.PACKAGE_VERSION,$r),a instanceof $e||pt(293)),a}static fromEditor(e){const a=$e.maybeFromEditor(e);return a===void 0&&pt(294),a}constructEditor(){const{$initialEditorState:e,onError:a,...n}=this.buildCreateEditorArgs(),i=Object.assign(v.createEditor({...n,...a?{onError:l=>{a(l,i)}}:{}}),{[Va]:this});for(const l of this.sortedExtensionReps())l.build(i);return i}buildEditor(){let e=$a;function a(){try{e()}finally{e=$a}}const n=Object.assign(this.constructEditor(),{dispose:a,[Symbol.dispose]:a});return e=v.mergeRegister(this.registerEditor(n),()=>n.setRootElement(null)),n}hasExtensionByName(e){return this.extensionNameMap.has(e)}getExtensionRep(e){const a=this.extensionNameMap.get(e.name);if(a)return a.extension!==e&&pt(295,e.name),a}addEdge(e,a,n){const i=this.outgoingConfigEdges.get(e);i?i.set(a,n):this.outgoingConfigEdges.set(e,new Map([[a,n]]));const l=this.incomingEdges.get(a);l?l.add(e):this.incomingEdges.set(a,new Set([e]))}addExtension(e){this._sortedExtensionReps!==void 0&&pt(296);const a=gr(e),[n]=a;typeof n.name!="string"&&pt(297,typeof n.name);let i=this.extensionNameMap.get(n.name);if(i!==void 0&&i.extension!==n&&pt(298,n.name),!i){i=new Fi(this,n),this.extensionNameMap.set(n.name,i);const l=this.conflicts.get(n.name);typeof l=="string"&&pt(299,n.name,l);for(const c of n.conflictsWith||[])this.extensionNameMap.has(c)&&pt(299,n.name,c),this.conflicts.set(c,n.name);for(const c of n.dependencies||[]){const d=gr(c);this.addEdge(n.name,d[0].name,d.slice(1)),this.addExtension(d)}for(const[c,d]of n.peerDependencies||[])this.addEdge(n.name,c,d?[d]:[])}}sortedExtensionReps(){if(this._sortedExtensionReps)return this._sortedExtensionReps;const e=[],a=(n,i)=>{let l=n.state;if(ko(l))return;const c=n.extension.name;var d;Vr(l)||pt(300,c,i||"[unknown]"),Vr(d=l)||pt(304,String(d.id),String(la)),l=Object.assign(d,{id:Jr}),n.state=l;const u=this.outgoingConfigEdges.get(c);if(u)for(const w of u.keys()){const p=this.extensionNameMap.get(w);p&&a(p,c)}l=Vi(l),n.state=l,e.push(n)};for(const n of this.extensionNameMap.values())Vr(n.state)&&a(n);for(const n of e)for(const[i,l]of this.outgoingConfigEdges.get(n.extension.name)||[])if(l.length>0){const c=this.extensionNameMap.get(i);if(c)for(const d of l)c.configs.add(d)}for(const[n,...i]of this.roots)if(i.length>0){const l=this.extensionNameMap.get(n.name);l===void 0&&pt(301,n.name);for(const c of i)l.configs.add(c)}return this._sortedExtensionReps=e,this._sortedExtensionReps}registerEditor(e){const a=this.sortedExtensionReps(),n=new AbortController,i=[()=>n.abort()],l=n.signal;for(const c of a){const d=c.register(e,l);d&&i.push(d)}for(const c of a){const d=c.afterRegistration(e);d&&i.push(d)}return v.mergeRegister(...i)}buildCreateEditorArgs(){const e={},a=new Set,n=new Map,i=new Map,l={},c={},d=this.sortedExtensionReps();for(const p of d){const{extension:h}=p;if(h.onError!==void 0&&(e.onError=h.onError),h.disableEvents!==void 0&&(e.disableEvents=h.disableEvents),h.parentEditor!==void 0&&(e.parentEditor=h.parentEditor),h.editable!==void 0&&(e.editable=h.editable),h.namespace!==void 0&&(e.namespace=h.namespace),h.$initialEditorState!==void 0&&(e.$initialEditorState=h.$initialEditorState),h.nodes)for(const g of Ai(h)){if(typeof g!="function"){const m=n.get(g.replace);m&&pt(302,h.name,g.replace.name,m.extension.name),n.set(g.replace,p)}a.add(g)}if(h.html){if(h.html.export)for(const[g,m]of h.html.export.entries())i.set(g,m);h.html.import&&Object.assign(l,h.html.import)}h.theme&&xo(c,h.theme)}Object.keys(c).length>0&&(e.theme=c),a.size&&(e.nodes=[...a]);const u=Object.keys(l).length>0,w=i.size>0;(u||w)&&(e.html={},u&&(e.html.import=l),w&&(e.html.export=i));for(const p of d)p.init(e);return e.onError||(e.onError=Gi),e}}const Hi=new Set,Fa=v.defineExtension({build(t,e,a){const n=a.getDependency(Wr).output,i=er({watchedNodeKeys:new Map}),l=bo(()=>{},()=>pe(()=>{const c=l.peek(),{watchedNodeKeys:d}=i.value;let u,w=!1;n.value.read(()=>{if(v.$getSelection())for(const[p,h]of d.entries()){if(h.size===0){d.delete(p);continue}const g=v.$getNodeByKey(p),m=g&&g.isSelected()||!1;w=w||m!==(!!c&&c.has(p)),m&&(u=u||new Set,u.add(p))}}),!w&&u&&c&&u.size===c.size||(l.value=u)}));return{watchNodeKey:function(c){const d=zi(()=>(l.value||Hi).has(c)),{watchedNodeKeys:u}=i.peek();let w=u.get(c);const p=w!==void 0;return w=w||new Set,w.add(d),p||(u.set(c,w),i.value={watchedNodeKeys:u}),d}}},dependencies:[Wr],name:"@lexical/extension/NodeSelection"}),qi=v.createCommand("INSERT_HORIZONTAL_RULE_COMMAND");class Fe extends v.DecoratorNode{static getType(){return"horizontalrule"}static clone(e){return new Fe(e.__key)}static importJSON(e){return da().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:Yi,priority:0})}}exportDOM(){return{element:document.createElement("hr")}}createDOM(e){const a=document.createElement("hr");return v.addClassNamesToElement(a,e.theme.hr),a}getTextContent(){return` +`}isInline(){return!1}updateDOM(){return!1}}function Yi(){return{node:da()}}function da(){return v.$create(Fe)}function Zi(t){return t instanceof Fe}v.defineExtension({dependencies:[Wr,Fa],name:"@lexical/extension/HorizontalRule",nodes:()=>[Fe],register(t,e,a){const{watchNodeKey:n}=a.getDependency(Fa).output,i=er({nodeSelections:new Map}),l=t._config.theme.hrSelected??"selected";return v.mergeRegister(t.registerCommand(qi,c=>{const d=v.$getSelection();if(!v.$isRangeSelection(d))return!1;if(d.focus.getNode()!==null){const u=da();Ri(u)}return!0},v.COMMAND_PRIORITY_EDITOR),t.registerCommand(v.CLICK_COMMAND,c=>{if(v.isDOMNode(c.target)){const d=v.$getNodeFromDOMNode(c.target);if(Zi(d))return function(u,w=!1){const p=v.$getSelection(),h=u.isSelected(),g=u.getKey();let m;w&&v.$isNodeSelection(p)?m=p:(m=v.$createNodeSelection(),v.$setSelection(m)),h?m.delete(g):m.add(g)}(d,c.shiftKey),!0}return!1},v.COMMAND_PRIORITY_LOW),t.registerMutationListener(Fe,(c,d)=>{Oi(()=>{let u=!1;const{nodeSelections:w}=i.peek();for(const[p,h]of c.entries())if(h==="destroyed")w.delete(p),u=!0;else{const g=w.get(p),m=t.getElementByKey(p);g?g.domNode.value=m:(u=!0,w.set(p,{domNode:er(m),selectedSignal:n(p)}))}u&&(i.value={nodeSelections:w})})}),pe(()=>{const c=[];for(const{domNode:d,selectedSignal:u}of i.value.nodeSelections.values())c.push(pe(()=>{const w=d.value;w&&(u.value?v.addClassNamesToElement(w,l):v.removeClassNamesFromElement(w,l))}));return v.mergeRegister(...c)}))}});v.defineExtension({build:(t,e)=>Ue({inheritEditableFromParent:e.inheritEditableFromParent}),config:v.safeCast({$getParentEditor:function(){const t=v.$getEditor();return $e.fromEditor(t),t},inheritEditableFromParent:!1}),init:(t,e,a)=>{const n=e.$getParentEditor();t.parentEditor=n,t.theme=t.theme||n._config.theme},name:"@lexical/extension/NestedEditor",register:(t,e,a)=>pe(()=>{const n=t._parentEditor;if(n&&a.getOutput().inheritEditableFromParent.value)return t.setEditable(n.isEditable()),n.registerEditableListener(t.setEditable.bind(t))})});v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({disabled:!1,onReposition:void 0}),name:"@lexical/utils/SelectionAlwaysOnDisplay",register:(t,e,a)=>{const n=a.getOutput();return pe(()=>{if(!n.disabled.value)return Ti(t,n.onReposition.value)})}});function _o(t){return t.canBeEmpty()}function Xi(t,e,a=_o){return v.mergeRegister(t.registerCommand(v.KEY_TAB_COMMAND,n=>{const i=v.$getSelection();if(!v.$isRangeSelection(i))return!1;n.preventDefault();const l=function(c){if(c.getNodes().filter(g=>v.$isBlockElementNode(g)&&g.canIndent()).length>0)return!0;const d=c.anchor,u=c.focus,w=u.isBefore(d)?u:d,p=w.getNode(),h=Si(p);if(h.canIndent()){const g=h.getKey();let m=v.$createRangeSelection();if(m.anchor.set(g,0,"element"),m.focus.set(g,0,"element"),m=v.$normalizeSelection__EXPERIMENTAL(m),m.anchor.is(w))return!0}return!1}(i)?n.shiftKey?v.OUTDENT_CONTENT_COMMAND:v.INDENT_CONTENT_COMMAND:v.INSERT_TAB_COMMAND;return t.dispatchCommand(l,void 0)},v.COMMAND_PRIORITY_EDITOR),t.registerCommand(v.INDENT_CONTENT_COMMAND,()=>{const n=typeof e=="number"?e:e?e.peek():null,i=v.$getSelection();if(!v.$isRangeSelection(i))return!1;const l=typeof a=="function"?a:a.peek();return Di(c=>{if(l(c)){const d=c.getIndent()+1;(!n||dUe(e),config:v.safeCast({$canIndent:_o,disabled:!1,maxIndent:null}),name:"@lexical/extension/TabIndentation",register(t,e,a){const{disabled:n,maxIndent:i,$canIndent:l}=a.getOutput();return pe(()=>{if(!n.value)return Xi(t,i,l)})}});const Wi=v.defineExtension({name:"@lexical/react/ReactProvider"});function Ji(){return v.$getRoot().getTextContent()}function Qi(t,e=!0){if(t)return!1;let a=Ji();return e&&(a=a.trim()),a===""}function ts(t){if(!Qi(t,!1))return!1;const e=v.$getRoot().getChildren(),a=e.length;if(a>1)return!1;for(let n=0;nts(t)}function Co(t){const e=window.location.origin,a=n=>{if(n.origin!==e)return;const i=t.getRootElement();if(document.activeElement!==i)return;const l=n.data;if(typeof l=="string"){let c;try{c=JSON.parse(l)}catch{return}if(c&&c.protocol==="nuanria_messaging"&&c.type==="request"){const d=c.payload;if(d&&d.functionId==="makeChanges"){const u=d.args;if(u){const[w,p,h,g,m]=u;t.update(()=>{const k=v.$getSelection();if(v.$isRangeSelection(k)){const x=k.anchor;let f=x.getNode(),C=0,N=0;if(v.$isTextNode(f)&&w>=0&&p>=0&&(C=w,N=w+p,k.setTextNodeRange(f,C,f,N)),C===N&&h===""||(k.insertRawText(h),f=x.getNode()),v.$isTextNode(f)){C=g,N=g+m;const E=f.getTextContentSize();C=C>E?E:C,N=N>E?E:N,k.setTextNodeRange(f,C,f,N)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",a,!0),()=>{window.removeEventListener("message",a,!0)}}v.defineExtension({build:(t,e,a)=>Ue(e),config:v.safeCast({disabled:typeof window>"u"}),name:"@lexical/dragon",register:(t,e,a)=>pe(()=>a.getOutput().disabled.value?void 0:Co(t))});function es(t,...e){const a=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",t);for(const i of e)n.append("v",i);throw a.search=n.toString(),Error(`Minified Lexical error #${t}; visit ${a.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const wa=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function rs({editor:t,ErrorBoundary:e}){return function(a,n){const[i,l]=s.useState(()=>a.getDecorators());return wa(()=>a.registerDecoratorListener(c=>{Ra.flushSync(()=>{l(c)})}),[a]),s.useEffect(()=>{l(a.getDecorators())},[a]),s.useMemo(()=>{const c=[],d=Object.keys(i);for(let u=0;ua._onError(g),children:r.jsx(s.Suspense,{fallback:null,children:i[w]})}),h=a.getElementByKey(w);h!==null&&c.push(Ra.createPortal(p,h,w))}return c},[n,i,a])}(t,e)}function as({editor:t,ErrorBoundary:e}){return function(a){const n=$e.maybeFromEditor(a);if(n&&n.hasExtensionByName(Wi.name)){for(const i of["@lexical/plain-text","@lexical/rich-text"])n.hasExtensionByName(i)&&es(320,i);return!0}return!1}(t)?null:r.jsx(rs,{editor:t,ErrorBoundary:e})}function Ka(t){return t.getEditorState().read(jo(t.isComposing()))}function os({contentEditable:t,placeholder:e=null,ErrorBoundary:a}){const[n]=he();return function(i){wa(()=>v.mergeRegister(Gr.registerRichText(i),Co(i)),[i])}(n),r.jsxs(r.Fragment,{children:[t,r.jsx(ns,{content:e}),r.jsx(as,{editor:n,ErrorBoundary:a})]})}function ns({content:t}){const[e]=he(),a=function(i){const[l,c]=s.useState(()=>Ka(i));return wa(()=>{function d(){const u=Ka(i);c(u)}return d(),v.mergeRegister(i.registerUpdateListener(()=>{d()}),i.registerEditableListener(()=>{d()}))},[i]),l}(e),n=yi();return a?typeof t=="function"?t(n):t:null}function is({defaultSelection:t}){const[e]=he();return s.useEffect(()=>{e.focus(()=>{const a=document.activeElement,n=e.getRootElement();n===null||a!==null&&n.contains(a)||n.focus({preventScroll:!0})},{defaultSelection:t})},[t,e]),null}const ss=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function cs({onClear:t}){const[e]=he();return ss(()=>mo(e,t),[e,t]),null}const No=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function ls({editor:t,ariaActiveDescendant:e,ariaAutoComplete:a,ariaControls:n,ariaDescribedBy:i,ariaErrorMessage:l,ariaExpanded:c,ariaInvalid:d,ariaLabel:u,ariaLabelledBy:w,ariaMultiline:p,ariaOwns:h,ariaRequired:g,autoCapitalize:m,className:k,id:x,role:f="textbox",spellCheck:C=!0,style:N,tabIndex:E,"data-testid":_,...O},T){const[D,I]=s.useState(t.isEditable()),M=s.useCallback(Z=>{Z&&Z.ownerDocument&&Z.ownerDocument.defaultView?t.setRootElement(Z):t.setRootElement(null)},[t]),R=s.useMemo(()=>function(...Z){return X=>{for(const rt of Z)typeof rt=="function"?rt(X):rt!=null&&(rt.current=X)}}(T,M),[M,T]);return No(()=>(I(t.isEditable()),t.registerEditableListener(Z=>{I(Z)})),[t]),r.jsx("div",{"aria-activedescendant":D?e:void 0,"aria-autocomplete":D?a:"none","aria-controls":D?n:void 0,"aria-describedby":i,...l!=null?{"aria-errormessage":l}:{},"aria-expanded":D&&f==="combobox"?!!c:void 0,...d!=null?{"aria-invalid":d}:{},"aria-label":u,"aria-labelledby":w,"aria-multiline":p,"aria-owns":D?h:void 0,"aria-readonly":!D||void 0,"aria-required":g,autoCapitalize:m,className:k,contentEditable:D,"data-testid":_,id:x,ref:R,role:f,spellCheck:C,style:N,tabIndex:E,...O})}const ds=s.forwardRef(ls);function Ua(t){return t.getEditorState().read(jo(t.isComposing()))}const ws=s.forwardRef(us);function us(t,e){const{placeholder:a,...n}=t,[i]=he();return r.jsxs(r.Fragment,{children:[r.jsx(ds,{editor:i,...n,ref:e}),a!=null&&r.jsx(ps,{editor:i,content:a})]})}function ps({content:t,editor:e}){const a=function(c){const[d,u]=s.useState(()=>Ua(c));return No(()=>{function w(){const p=Ua(c);u(p)}return w(),v.mergeRegister(c.registerUpdateListener(()=>{w()}),c.registerEditableListener(()=>{w()}))},[c]),d}(e),[n,i]=s.useState(e.isEditable());if(s.useLayoutEffect(()=>(i(e.isEditable()),e.registerEditableListener(c=>{i(c)})),[e]),!a)return null;let l=null;return typeof t=="function"?l=t(n):t!==null&&(l=t),l===null?null:r.jsx("div",{"aria-hidden":!0,children:l})}function hs({placeholder:t,className:e,placeholderClassName:a}){return r.jsx(ws,{className:e??"ContentEditable__root tw:relative tw:block tw:min-h-11 tw:overflow-auto tw:px-3 tw:py-3 tw:text-sm tw:outline-hidden","aria-placeholder":t,placeholder:r.jsx("div",{className:a??"tw:pointer-events-none tw:absolute tw:top-0 tw:select-none tw:overflow-hidden tw:text-ellipsis tw:px-3 tw:py-3 tw:text-sm tw:text-muted-foreground",children:t})})}const Eo=s.createContext(void 0);function gs({activeEditor:t,$updateToolbar:e,blockType:a,setBlockType:n,showModal:i,children:l}){const c=s.useMemo(()=>({activeEditor:t,$updateToolbar:e,blockType:a,setBlockType:n,showModal:i}),[t,e,a,n,i]);return r.jsx(Eo.Provider,{value:c,children:l})}function To(){const t=s.useContext(Eo);if(!t)throw new Error("useToolbarContext must be used within a ToolbarContext provider");return t}function fs(){const[t,e]=s.useState(void 0),a=s.useCallback(()=>{e(void 0)},[]),n=s.useMemo(()=>{if(t===void 0)return;const{title:l,content:c}=t;return r.jsx(o.Dialog,{open:!0,onOpenChange:a,children:r.jsxs(o.DialogContent,{children:[r.jsx(o.DialogHeader,{children:r.jsx(o.DialogTitle,{children:l})}),c]})})},[t,a]),i=s.useCallback((l,c,d=!1)=>{e({closeOnClickOutside:d,content:c(a),title:l})},[a]);return[n,i]}function ms({children:t}){const[e]=he(),[a,n]=s.useState(e),[i,l]=s.useState("paragraph"),[c,d]=fs(),u=()=>{};return s.useEffect(()=>a.registerCommand(v.SELECTION_CHANGE_COMMAND,(w,p)=>(n(p),!1),v.COMMAND_PRIORITY_CRITICAL),[a]),r.jsxs(gs,{activeEditor:a,$updateToolbar:u,blockType:i,setBlockType:l,showModal:d,children:[c,t({blockType:i})]})}function vs(t){const[e]=he(),{activeEditor:a}=To();s.useEffect(()=>a.registerCommand(v.SELECTION_CHANGE_COMMAND,()=>{const n=v.$getSelection();return n&&t(n),!1},v.COMMAND_PRIORITY_CRITICAL),[e,t]),s.useEffect(()=>{a.getEditorState().read(()=>{const n=v.$getSelection();n&&t(n)})},[a,t])}const bs=aa.cva("pr-twp tw:group/toggle tw:inline-flex tw:items-center tw:justify-center tw:gap-1 tw:rounded-lg tw:text-sm tw:font-medium tw:whitespace-nowrap tw:transition-all tw:outline-none tw:hover:bg-muted tw:hover:text-foreground tw:focus-visible:border-ring tw:focus-visible:ring-[3px] tw:focus-visible:ring-ring/50 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-destructive/20 tw:aria-pressed:bg-muted tw:data-[state=on]:bg-muted tw:dark:aria-invalid:ring-destructive/40 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",{variants:{variant:{default:"tw:bg-transparent",outline:"tw:border tw:border-input tw:bg-transparent tw:hover:bg-muted"},size:{default:"tw:h-8 tw:min-w-8 tw:px-2.5 tw:has-data-[icon=inline-end]:pe-2 tw:has-data-[icon=inline-start]:ps-2",sm:"tw:h-7 tw:min-w-7 tw:rounded-[min(var(--tw-radius-md),12px)] tw:px-2.5 tw:text-[0.8rem] tw:has-data-[icon=inline-end]:pe-1.5 tw:has-data-[icon=inline-start]:ps-1.5 tw:[&_svg:not([class*=size-])]:size-3.5",lg:"tw:h-9 tw:min-w-9 tw:px-2.5 tw:has-data-[icon=inline-end]:pe-2 tw:has-data-[icon=inline-start]:ps-2"}},defaultVariants:{variant:"default",size:"default"}}),So=s.createContext({size:"default",variant:"default",spacing:0,orientation:"horizontal"});function ua({className:t,variant:e,size:a,spacing:n=0,orientation:i="horizontal",children:l,...c}){const d=o.readDirection();return r.jsx(V.ToggleGroup.Root,{"data-slot":"toggle-group","data-variant":e,"data-size":a,"data-spacing":n,"data-orientation":i,style:{"--gap":n},className:o.cn("pr-twp tw:group/toggle-group tw:flex tw:w-fit tw:flex-row tw:items-center tw:gap-[--spacing(var(--gap))] tw:rounded-lg tw:data-[size=sm]:rounded-[min(var(--tw-radius-md),10px)] tw:data-vertical:flex-col tw:data-vertical:items-stretch",t),dir:d,...c,children:r.jsx(So.Provider,{value:s.useMemo(()=>({variant:e,size:a,spacing:n,orientation:i}),[e,a,n,i]),children:l})})}function tr({className:t,children:e,variant:a="default",size:n="default",...i}){const l=s.useContext(So);return r.jsx(V.ToggleGroup.Item,{"data-slot":"toggle-group-item","data-variant":l.variant||a,"data-size":l.size||n,"data-spacing":l.spacing,className:o.cn("tw:shrink-0 tw:group-data-[spacing=0]/toggle-group:rounded-none tw:group-data-[spacing=0]/toggle-group:px-2 tw:focus:z-10 tw:focus-visible:z-10 tw:group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pe-1.5 tw:group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:ps-1.5 tw:group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-s-lg tw:group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg tw:group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-e-lg tw:group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg tw:group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-s-0 tw:group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 tw:group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-s tw:group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t",bs({variant:l.variant||a,size:l.size||n}),t),...i,children:e})}const Ga=[{format:"bold",icon:B.BoldIcon,label:"Bold"},{format:"italic",icon:B.ItalicIcon,label:"Italic"}];function xs(){const{activeEditor:t}=To(),[e,a]=s.useState([]),n=s.useCallback(i=>{if(v.$isRangeSelection(i)||Bn.$isTableSelection(i)){const l=[];Ga.forEach(({format:c})=>{i.hasFormat(c)&&l.push(c)}),a(c=>c.length!==l.length||!l.every(d=>c.includes(d))?l:c)}},[]);return vs(n),r.jsx(ua,{type:"multiple",value:e,onValueChange:a,variant:"outline",size:"sm",children:Ga.map(({format:i,icon:l,label:c})=>r.jsx(tr,{value:i,"aria-label":c,onClick:()=>{t.dispatchCommand(v.FORMAT_TEXT_COMMAND,i)},children:r.jsx(l,{className:"tw:h-4 tw:w-4"})},i))})}const pa="data-platform-content-zoom-root",ys="data-platform-content-zoom-scope",ha="data-platform-content-zoom-label",Ro=s.createContext(void 0);function ks({area:t,label:e,children:a}){const n=s.useMemo(()=>({[pa]:t??"",...e?{[ha]:e}:{}}),[t,e]);return r.jsx(Ro.Provider,{value:n,children:a})}function De(){return s.useContext(Ro)??{}}function _s({onClear:t}){const[e]=he();s.useEffect(()=>{t&&t(()=>{e.dispatchCommand(v.CLEAR_EDITOR_COMMAND,void 0)})},[e,t])}function js({placeholder:t="Start typing ...",autoFocus:e=!1,onClear:a,actions:n}){const i=De(),[,l]=s.useState(void 0),c=d=>{d!==void 0&&l(d)};return r.jsxs("div",{className:"tw:relative",children:[r.jsx(ms,{children:()=>r.jsx("div",{"data-testid":"editor-format-toolbar",className:"tw:sticky tw:top-0 tw:flex tw:gap-2 tw:overflow-auto tw:border-b tw:p-1",children:r.jsx(xs,{})})}),r.jsxs("div",{className:"tw:relative",children:[r.jsx(os,{contentEditable:r.jsx("div",{ref:c,...i,children:r.jsx(hs,{placeholder:t})}),ErrorBoundary:vi}),e&&r.jsx(is,{defaultSelection:"rootEnd"}),r.jsx(_s,{onClear:a}),r.jsx(cs,{})]}),n&&r.jsx("div",{"data-slot":"editor-actions",className:"tw:flex tw:flex-row tw:items-center tw:gap-2 tw:border-t tw:px-2 tw:py-1.5",children:n})]})}const Cs={namespace:"commentEditor",theme:ia,nodes:sa,onError:t=>{console.error(t)}};function Nr({editorState:t,editorSerializedState:e,onChange:a,onSerializedChange:n,placeholder:i="Start typing…",autoFocus:l=!1,onClear:c,className:d,actions:u}){const[w]=s.useState(()=>({...Cs,...t?{editorState:t}:{},...e?{editorState:JSON.stringify(e)}:{}})),p=s.useCallback(h=>{a==null||a(h),n==null||n(h.toJSON())},[a,n]);return r.jsx("div",{className:o.cn("pr-twp tw:overflow-hidden tw:rounded-lg tw:border tw:bg-background tw:shadow",d),children:r.jsx(ui,{initialConfig:w,children:r.jsxs(o.TooltipProvider,{children:[r.jsx(js,{placeholder:i,autoFocus:l,onClear:c,actions:u}),r.jsx(hi,{ignoreSelectionChange:!0,onChange:p})]})})})}function Mo(t){const e=t.querySelector('[contenteditable="true"]');if(!e)return!1;e.focus();const a=window.getSelection(),n=document.createRange();return n.selectNodeContents(e),n.collapse(!1),a==null||a.removeAllRanges(),a==null||a.addRange(n),!0}function Do(t){return t?t.some(e=>e&&"text"in e&&e.text.trim().length>0?!0:!e||!("children"in e)?!1:Do(e.children)):!1}function qt(t){var e;return(e=t==null?void 0:t.root)!=null&&e.children?Do(t.root.children):!1}function Ns(t){if(!t||t.trim()==="")throw new Error("Input HTML is empty");const e=Qa.createHeadlessEditor({namespace:"EditorUtils",theme:ia,nodes:sa,onError:n=>{console.error(n)}});let a;if(e.update(()=>{const i=new DOMParser().parseFromString(t,"text/html"),l=to.$generateNodesFromDOM(e,i);v.$getRoot().clear(),v.$insertNodes(l)},{discrete:!0}),e.getEditorState().read(()=>{a=e.getEditorState().toJSON()}),!a)throw new Error("Failed to convert HTML to editor state");return a}function Er(t){const e=Qa.createHeadlessEditor({namespace:"EditorUtils",theme:ia,nodes:sa,onError:i=>{console.error(i)}}),a=e.parseEditorState(JSON.stringify(t));e.setEditorState(a);let n="";return e.getEditorState().read(()=>{n=to.$generateHtmlFromNodes(e)}),n=n.replace(/\s+style="[^"]*"/g,"").replace(/\s+class="[^"]*"/g,"").replace(/(.*?)<\/span>/g,"$1").replace(/]*>(.*?)<\/strong><\/b>/g,"$1").replace(/]*>(.*?)<\/b><\/strong>/g,"$1").replace(/]*>(.*?)<\/em><\/i>/g,"$1").replace(/]*>(.*?)<\/i><\/em>/g,"$1").replace(/]*>(.*?)<\/span><\/u>/g,"$1").replace(/]*>(.*?)<\/span><\/s>/g,"$1").replace(//gi,"
"),n}function ga(t){return["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End"].includes(t.key)?(t.stopPropagation(),!0):!1}const fa=Object.freeze(["%cancelButton_tooltip%","%acceptButton_tooltip%"]),Ha=(t,e)=>t[e]??e;function ma({onCancelClick:t,onAcceptClick:e,canAccept:a=!0,localizedStrings:n={},className:i="tw:h-6 tw:w-6",acceptLabel:l}){const c=Ha(n,"%cancelButton_tooltip%"),d=l??Ha(n,"%acceptButton_tooltip%");return r.jsxs(o.ButtonGroup,{children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":c,className:i,size:"icon",onClick:t,variant:"secondary",children:r.jsx(B.X,{})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:c})})]})}),r.jsx(o.ButtonGroupSeparator,{}),r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":d,className:i,size:"icon",onClick:e,disabled:!a,children:r.jsx(B.Check,{})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:d})})]})})]})}const Es="verseText",Ts=Object.freeze(["%conflict_note_description_verseText%","%conflict_note_choose_aria_label%","%conflict_note_stale_notice%","%conflict_note_resolve_failed%","%conflict_note_choose_prompt%","%conflict_note_option_keep_current%","%conflict_note_option_use_other%","%conflict_note_option_combine%","%conflict_note_save_and_resolve%","%conflict_note_save_disabled_tooltip%","%conflict_note_save_warning%","%conflict_note_no_result%","%conflict_note_outcome_used_other%","%conflict_note_outcome_combined%","%conflict_note_summary_unresolved%","%conflict_note_summary_resolved_kept_current%","%conflict_note_summary_resolved_used_other%","%conflict_note_summary_resolved_combined%"]);function Je(t){return t!==void 0&&Object.keys(t).length>0}function Qr(t){return t.editorState===void 0&&t.assignedUser===void 0&&!Je(t.commentEdits)}const Io=["tw:prose tw:max-w-none tw:break-words tw:text-sm tw:font-normal tw:text-foreground","tw:[&>blockquote]:border-s-0 tw:[&>blockquote]:p-0 tw:[&>blockquote]:ps-0 tw:[&>blockquote]:font-normal tw:[&>blockquote]:not-italic tw:[&>blockquote]:text-foreground","tw:prose-quoteless"].join(" ");function Oo(t){return(t==null?void 0:t.conflictType)===Es}function Po(t){return t==="replaced"?"reject":t==="merged"?"merged":"accept"}function xr(t,e){return t===""?e["%comment_assign_unassigned%"]??"Unassigned":t==="Team"?e["%comment_assign_team%"]??"Team":t}function va(t){const e=o.isMacOs();return t.key==="Enter"&&(e&&t.metaKey||!e&&t.ctrlKey)}function Yt(t,e,a){const n=e[t];return n===void 0||n===t?a:n}const Ss={root:{children:[{children:[],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1}},Rs={root:{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1}};function Fr(t,e){return t===""?e["%commentEditor_unassigned%"]??"Unassigned":t==="Team"?e["%commentEditor_team%"]??"Team":t}function Ms({assignableUsers:t,onSave:e,onClose:a,localizedStrings:n,initialAssignedUser:i}){const[l,c]=s.useState(Rs),[d,u]=s.useState(i),[w,p]=s.useState(!1),h=s.useRef(void 0),g=s.useRef(null);s.useEffect(()=>{let f=!0;const C=g.current;if(!C)return;const N=setTimeout(()=>{f&&Mo(C)},300);return()=>{f=!1,clearTimeout(N)}},[]);const m=s.useCallback(()=>{if(!qt(l))return;const f=Er(l);e(f,d)},[l,e,d]),k=n["%commentEditor_placeholder%"]??"Type your comment here...",x=n["%commentEditor_assignTo_label%"]??"Assign to";return r.jsxs("div",{className:"pr-twp tw:grid tw:gap-3",children:[r.jsxs("div",{className:"tw:flex tw:items-center tw:justify-between",children:[r.jsx("span",{className:"tw:text-sm tw:font-medium",children:x}),r.jsx(ma,{onCancelClick:a,onAcceptClick:m,canAccept:qt(l),localizedStrings:n,acceptLabel:n["%commentEditor_saveButton_tooltip%"]})]}),r.jsx("div",{className:"tw:flex tw:items-center tw:gap-2",children:r.jsxs(o.Popover,{open:w,onOpenChange:p,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"outline",className:"tw:flex tw:w-full tw:items-center tw:justify-start tw:gap-2",disabled:t.length===0,children:[r.jsx(B.AtSign,{className:"tw:h-4 tw:w-4"}),r.jsx("span",{children:Fr(d!==void 0?d:"",n)})]})}),r.jsx(o.PopoverContent,{className:"tw:w-auto tw:p-0",align:"start",onKeyDown:f=>{f.key==="Escape"&&(f.stopPropagation(),p(!1))},children:r.jsx(o.Command,{children:r.jsx(o.CommandList,{children:t.map(f=>r.jsx(o.CommandItem,{onSelect:()=>{u(f||void 0),p(!1)},className:"tw:flex tw:items-center",children:r.jsx("span",{children:Fr(f,n)})},f||"unassigned"))})})})]})}),r.jsx("div",{ref:g,role:"textbox",tabIndex:-1,className:"tw:outline-hidden",onKeyDownCapture:f=>{f.key==="Escape"?(f.preventDefault(),f.stopPropagation(),a()):va(f)&&(f.preventDefault(),f.stopPropagation(),qt(l)&&m())},onKeyDown:f=>{ga(f),(f.key==="Enter"||f.key===" ")&&f.stopPropagation()},children:r.jsx(Nr,{editorSerializedState:l,onSerializedChange:f=>c(f),placeholder:k,onClear:f=>{h.current=f}})})]})}const Ds=Object.freeze(["%commentEditor_placeholder%","%commentEditor_assignTo_label%","%commentEditor_saveButton_tooltip%","%commentEditor_unassigned%","%commentEditor_team%",...fa]),Is=Object.freeze(["%comment_assign_team%","%comment_assign_unassigned%","%comment_assigned_to%","%comment_assigning_to%","%comment_dateAtTime%","%comment_date_today%","%comment_date_yesterday%","%comment_deleteComment%","%comment_editComment%","%comment_replyOrAssign%","%comment_reopenResolved%","%comment_status_resolved%","%comment_status_todo%","%comment_thread_multiple_replies%","%comment_thread_single_reply%","%comment_aria_assign_user%","%comment_aria_submit_comment%","%comment_aria_mark_as_read%","%comment_aria_mark_as_unread%","%comment_aria_resolve_thread%","%comment_aria_cancel_edit%","%comment_aria_save_edit%"]),zo="comment-list";function Os(t){return t}function Lo({className:t,size:e="default",...a}){return r.jsx("div",{"data-slot":"card","data-size":e,className:o.cn("pr-twp tw:group/card tw:flex tw:flex-col tw:gap-4 tw:overflow-hidden tw:rounded-xl tw:bg-card tw:py-4 tw:text-sm tw:text-card-foreground tw:ring-1 tw:ring-foreground/10 tw:has-data-[slot=card-footer]:pb-0 tw:has-[>img:first-child]:pt-0 tw:data-[size=sm]:gap-3 tw:data-[size=sm]:py-3 tw:data-[size=sm]:has-data-[slot=card-footer]:pb-0 tw:*:[img:first-child]:rounded-t-xl tw:*:[img:last-child]:rounded-b-xl",t),...a})}function Ps({className:t,...e}){return r.jsx("div",{"data-slot":"card-header",className:o.cn("pr-twp tw:group/card-header tw:@container/card-header tw:grid tw:auto-rows-min tw:items-start tw:gap-1 tw:rounded-t-xl tw:px-4 tw:group-data-[size=sm]/card:px-3 tw:has-data-[slot=card-action]:grid-cols-[1fr_auto] tw:has-data-[slot=card-description]:grid-rows-[auto_auto] tw:[.border-b]:pb-4 tw:group-data-[size=sm]/card:[.border-b]:pb-3",t),...e})}function zs({className:t,...e}){return r.jsx("div",{"data-slot":"card-title",className:o.cn("pr-twp tw:font-heading tw:text-base tw:leading-snug tw:font-medium tw:group-data-[size=sm]/card:text-sm",t),...e})}function Ls({className:t,...e}){return r.jsx("div",{"data-slot":"card-description",className:o.cn("pr-twp tw:text-sm tw:text-muted-foreground",t),...e})}function Ao({className:t,...e}){return r.jsx("div",{"data-slot":"card-content",className:o.cn("pr-twp tw:px-4 tw:group-data-[size=sm]/card:px-3",t),...e})}function As({className:t,...e}){return r.jsx("div",{"data-slot":"card-footer",className:o.cn("pr-twp tw:flex tw:items-center tw:rounded-b-xl tw:border-t tw:bg-muted/50 tw:p-4 tw:group-data-[size=sm]/card:p-3",t),...e})}function Ke({children:t,isDisabled:e,disabledExplanation:a,...n}){return r.jsx("div",{...n,role:e?"group":void 0,tabIndex:e?0:void 0,"aria-label":e?a:void 0,children:t})}function Bo({className:t,size:e="default",...a}){return r.jsx(V.Avatar.Root,{"data-slot":"avatar","data-size":e,className:o.cn("pr-twp tw:group/avatar tw:relative tw:flex tw:size-8 tw:shrink-0 tw:rounded-full tw:select-none tw:after:absolute tw:after:inset-0 tw:after:rounded-full tw:after:border tw:after:border-border tw:after:mix-blend-darken tw:data-[size=lg]:size-10 tw:data-[size=sm]:size-6 tw:dark:after:mix-blend-lighten",t),...a})}function Bs({className:t,...e}){return r.jsx(V.Avatar.Image,{"data-slot":"avatar-image",className:o.cn("pr-twp tw:aspect-square tw:size-full tw:rounded-full tw:object-cover",t),...e})}function Vo({className:t,...e}){return r.jsx(V.Avatar.Fallback,{"data-slot":"avatar-fallback",className:o.cn("pr-twp tw:flex tw:size-full tw:items-center tw:justify-center tw:rounded-full tw:bg-muted tw:text-sm tw:text-muted-foreground tw:group-data-[size=sm]/avatar:text-xs",t),...e})}function qa({comment:t,isReply:e=!1,localizedStrings:a,isThreadExpanded:n=!1,handleUpdateComment:i,handleDeleteComment:l,onEditingChange:c,canEditOrDelete:d=!1,draftEditorState:u,onDraftEditorStateChange:w}){const p=De(),[h,g]=s.useState(),m=u??h,x=m!==void 0&&n,f=w!==void 0,C=s.useCallback(y=>{f||g(y),w==null||w(y)},[f,w]),N=s.useRef(null),E=s.useRef(!1);s.useEffect(()=>{if(!x||!E.current)return;E.current=!1;let y=!0;const tt=N.current;if(!tt)return;const W=setTimeout(()=>{y&&Mo(tt)},300);return()=>{y=!1,clearTimeout(W)}},[x]);const _=s.useCallback(y=>{y&&y.stopPropagation(),C(void 0),c==null||c(!1)},[c,C]),O=s.useCallback(async y=>{if(y&&y.stopPropagation(),!m||!i)return;await i(t.id,Er(m))&&(C(void 0),c==null||c(!1))},[m,i,t.id,c,C]),T=s.useMemo(()=>{const y=new Date(t.date),tt=L.formatRelativeDate(y,a["%comment_date_today%"],a["%comment_date_yesterday%"]),W=y.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"});return L.formatReplacementString(a["%comment_dateAtTime%"],{date:tt,time:W})},[t.date,a]),D=s.useMemo(()=>t.user,[t.user]),I=s.useMemo(()=>t.user.split(" ").map(y=>y[0]).join("").toUpperCase().slice(0,2),[t.user]),M=s.useMemo(()=>L.sanitizeHtml(t.contents),[t.contents]),R=s.useMemo(()=>t.contents.replace(/<[^>]*>/g,"").trim().length>0,[t.contents]),Z=!!t.conflictResolutionAction&&!R,X=s.useMemo(()=>{if(n&&d)return r.jsxs(r.Fragment,{children:[r.jsxs(o.DropdownMenuItem,{onClick:y=>{y.stopPropagation(),E.current=!0;const tt=t.contents.trim()!=="";C(tt?Ns(t.contents):Ss),c==null||c(!0)},children:[r.jsx(B.Pencil,{className:"tw:me-2 tw:h-4 tw:w-4"}),a["%comment_editComment%"]]}),r.jsxs(o.DropdownMenuItem,{onClick:async y=>{y.stopPropagation(),l&&await l(t.id)},children:[r.jsx(B.Trash2,{className:"tw:me-2 tw:h-4 tw:w-4"}),a["%comment_deleteComment%"]]})]})},[d,n,a,t.contents,t.id,l,c,C]),rt=!qt(m);return r.jsxs("div",{className:o.cn("tw:flex tw:w-full tw:flex-row tw:items-baseline tw:gap-2",{"tw:text-sm":e}),children:[r.jsx(Bo,{className:"tw:h-8 tw:w-8",children:r.jsx(Vo,{className:"tw:text-xs tw:font-medium",children:I})}),r.jsxs("div",{className:"tw:flex tw:flex-1 tw:flex-col tw:gap-1",children:[r.jsxs("div",{className:"tw:flex tw:w-full tw:flex-row tw:flex-wrap tw:items-baseline tw:gap-x-2",children:[r.jsx("p",{className:"tw:text-sm tw:font-medium",children:D}),r.jsx("p",{className:"tw:text-xs tw:font-normal tw:text-muted-foreground",children:T}),r.jsx("div",{className:"tw:flex-1"}),e&&t.assignedUser!==void 0&&r.jsxs(o.Badge,{variant:"secondary",className:"tw:text-xs tw:font-normal",children:["→ ",xr(t.assignedUser,a)]})]}),x&&r.jsx("div",{role:"textbox",tabIndex:-1,className:"tw:flex tw:flex-col tw:gap-2",ref:N,onKeyDownCapture:y=>{y.key==="Escape"?(y.preventDefault(),y.stopPropagation(),_()):va(y)&&(y.preventDefault(),y.stopPropagation(),qt(m)&&O())},onKeyDown:y=>{ga(y),(y.key==="Enter"||y.key===" ")&&y.stopPropagation()},onClick:y=>{y.stopPropagation()},children:r.jsx(Nr,{className:o.cn('tw:[&_[data-lexical-editor="true"]>blockquote]:mt-0 tw:[&_[data-lexical-editor="true"]>blockquote]:border-s-0 tw:[&_[data-lexical-editor="true"]>blockquote]:ps-0 tw:[&_[data-lexical-editor="true"]>blockquote]:font-normal tw:[&_[data-lexical-editor="true"]>blockquote]:not-italic tw:[&_[data-lexical-editor="true"]>blockquote]:text-foreground'),editorSerializedState:m,onSerializedChange:y=>C(y),actions:r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"tw:flex-1"}),r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{size:"icon-sm",onClick:_,variant:"outline",className:"tw:flex tw:items-center tw:justify-center tw:rounded-md","aria-label":Yt("%comment_aria_cancel_edit%",a,"Cancel edit"),children:r.jsx(B.Undo2,{})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_cancel_edit%",a,"Cancel edit")})]}),r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:rt,disabledExplanation:Yt("%comment_aria_save_edit%",a,"Save edit"),className:"tw:inline-flex",children:r.jsx(o.Button,{size:"icon-sm",onClick:O,className:"tw:flex tw:items-center tw:justify-center tw:rounded-md",disabled:rt,"aria-label":Yt("%comment_aria_save_edit%",a,"Save edit"),children:r.jsx(B.ArrowUp,{})})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_save_edit%",a,"Save edit")})]})]})})}),!x&&r.jsxs(r.Fragment,{children:[t.status==="Resolved"&&!Z&&r.jsx("div",{className:"tw:text-sm tw:italic",children:a["%comment_status_resolved%"]}),t.status==="Todo"&&e&&r.jsx("div",{className:"tw:text-sm tw:italic",children:a["%comment_status_todo%"]}),Z?r.jsx("div",{className:"tw:text-sm tw:italic",children:Po(t.conflictResolutionAction)==="merged"?a["%conflict_note_outcome_combined%"]??"Combined both changes.":a["%conflict_note_outcome_used_other%"]??"Used the other change instead of the current text."}):r.jsx("div",{className:o.cn(Io,"tw:items-start tw:gap-2",{"tw:line-clamp-3":!n}),...p,dangerouslySetInnerHTML:{__html:M}})]})]}),X&&r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"ghost",size:"icon",children:r.jsx(B.MoreHorizontal,{})})}),r.jsx(o.DropdownMenuContent,{align:"end",children:X})]})]})}function $o({show:t,disabled:e=!1,onClick:a,ariaLabel:n}){if(t)return r.jsx(o.Button,{variant:"ghost",size:"icon",disabled:e,className:o.cn("tw:ms-auto","tw:text-primary tw:transition-opacity tw:duration-200 tw:hover:bg-primary/10","tw:opacity-0 tw:group-hover:opacity-100"),onClick:i=>{i.stopPropagation(),a()},"aria-label":n,children:r.jsx(B.Check,{className:"tw:h-4 tw:w-4"})})}const Vs={root:{children:[{children:[{detail:0,format:0,mode:"normal",style:"",text:"",type:"text",version:1}],direction:"ltr",format:"",indent:0,type:"paragraph",version:1,textFormat:0,textStyle:""}],direction:"ltr",format:"",indent:0,type:"root",version:1}},Fo=s.memo(function({classNameForVerseText:e,comments:a,localizedStrings:n,isSelected:i=!1,verseRef:l,assignedUser:c,currentUser:d,handleSelectThread:u,threadId:w,thread:p,threadStatus:h,handleAddCommentToThread:g,handleUpdateComment:m,handleDeleteComment:k,handleReadStatusChange:x,assignableUsers:f,canUserAddCommentToThread:C,canUserAssignThreadCallback:N,canUserResolveThreadCallback:E,canUserEditOrDeleteCommentCallback:_,isRead:O=!1,autoReadDelay:T=5,onVerseRefClick:D,initialAssignedUser:I,activeComments:M,rootContentSlot:R,resolveActionSlot:Z,spaceRootContentFromReplies:X=!1,draft:rt,onDraftChange:y}){var xe;const tt=De(),[W,z]=s.useState({}),J=rt??W,F=J.editorState??Vs,Y=J.assignedUser,dt=y!==void 0,ht=s.useRef(J);ht.current=J;const G=s.useCallback(S=>{const ot={...ht.current,...S};ht.current=ot,dt||z(ot),y==null||y(w,Qr(ot)?void 0:ot)},[dt,y,w]),ut=s.useCallback((S,ot)=>{const it={...J.commentEdits};ot===void 0?delete it[S]:it[S]=ot,G({commentEdits:Je(it)?it:void 0})},[J.commentEdits,G]),[gt,st]=s.useState(),Ct=i,[yt,Nt]=s.useState(!1),[Pt,At]=s.useState(!1),[Et,kt]=s.useState(!1),[Tt,Zt]=s.useState(!1),[Ht,Xt]=s.useState(!1),[ft,Wt]=s.useState(O),[ie,ge]=s.useState(!1),Jt=s.useRef(void 0),[Ut,se]=s.useState(new Map);s.useEffect(()=>{let S=!0;return(async()=>{const it=E?await E(w):!1;S&&Xt(it)})(),()=>{S=!1}},[w,E]),s.useEffect(()=>{let S=!0;if(!i){Zt(!1),se(new Map);return}return(async()=>{const it=N?await N(w):!1;S&&Zt(it)})(),()=>{S=!1}},[i,w,N]);const xt=s.useRef("idle");s.useEffect(()=>{if(!i){xt.current!=="idle"&&(G({assignedUser:void 0}),st(void 0),xt.current="idle");return}xt.current==="idle"&&(xt.current="pending"),Tt?xt.current==="pending"&&I!==void 0&&I!==c&&(G({assignedUser:I}),xt.current="auto-populated"):xt.current==="auto-populated"&&(G({assignedUser:void 0}),xt.current="pending")},[i,I,Tt,c,G]);const Qt=s.useRef(gt);Qt.current=gt;const ae=s.useRef(y);ae.current=y;const A=s.useRef(w);A.current=w,s.useEffect(()=>()=>{var ot;const{current:S}=ht;S.assignedUser!==void 0&&S.assignedUser===Qt.current&&S.editorState===void 0&&!Je(S.commentEdits)&&((ot=ae.current)==null||ot.call(ae,A.current,void 0))},[]);const j=s.useMemo(()=>M??a.filter(S=>!S.deleted),[M,a]),K=s.useMemo(()=>{const{commentEdits:S}=J;if(!S)return S;const ot=new Set(j.map(zt=>zt.id)),it=Object.fromEntries(Object.entries(S).filter(([zt])=>ot.has(zt)));return Je(it)?it:void 0},[J,j]),q=Pt||Je(K);s.useEffect(()=>{let S=!0;if(!i||!_){se(new Map);return}return(async()=>{const it=new Map;await Promise.all(j.map(async zt=>{const qe=await _(zt.id);S&&it.set(zt.id,qe)})),S&&se(it)})(),()=>{S=!1}},[i,j,_]);const P=s.useMemo(()=>j[0],[j]),Q=s.useRef(null),U=s.useRef(void 0),at=s.useCallback(()=>{var S;(S=U.current)==null||S.call(U),G({editorState:void 0})},[G]),vt=s.useCallback(S=>{G({editorState:qt(S)?S:void 0})},[G]),_t=s.useCallback(()=>{const S=!ft;Wt(S),ge(!S),x==null||x(w,S)},[ft,x,w]);s.useEffect(()=>{Nt(!1)},[i]),s.useEffect(()=>{if(i&&!ft&&!ie&&Qr(J)){const S=setTimeout(()=>{Wt(!0),x==null||x(w,!0)},T*1e3);return Jt.current=S,()=>clearTimeout(S)}Jt.current&&(clearTimeout(Jt.current),Jt.current=void 0)},[i,ft,ie,T,w,x,J]);const ct=s.useMemo(()=>({singleReply:n["%comment_thread_single_reply%"],multipleReplies:n["%comment_thread_multiple_replies%"]}),[n]),bt=s.useMemo(()=>{if(c===void 0)return;if(c==="")return n["%comment_assign_unassigned%"]??"Unassigned";const S=xr(c,n);return L.formatReplacementString(n["%comment_assigned_to%"],{assignedUser:S})},[c,n]),wt=s.useMemo(()=>j.slice(1),[j]),mt=s.useMemo(()=>wt.length??0,[wt.length]),be=s.useMemo(()=>mt>0,[mt]),ce=s.useMemo(()=>{if(yt||mt<=2)return wt;const S=new Set(wt.slice(-2).map(ot=>ot.id));return wt.filter(ot=>{var it;return S.has(ot.id)||((it=J.commentEdits)==null?void 0:it[ot.id])!==void 0})},[wt,mt,yt,J.commentEdits]),le=s.useMemo(()=>yt||mt<=2?0:mt-ce.length,[mt,yt,ce.length]),je=s.useMemo(()=>mt===1?ct.singleReply:L.formatReplacementString(ct.multipleReplies,{count:mt}),[mt,ct]),Ce=s.useMemo(()=>le===1?ct.singleReply:L.formatReplacementString(ct.multipleReplies,{count:le}),[le,ct]);s.useEffect(()=>{!i&&q&&be&&At(!1)},[i,q,be]);const fe=s.useCallback(async S=>{S&&S.stopPropagation();const ot=qt(F)?Er(F):void 0;if(Y!==void 0){await g({threadId:w,contents:ot,assignedUser:Y})&&(st(Y),ot&&at());return}ot&&await g({threadId:w,contents:ot})&&at()},[at,F,g,Y,w]),de=s.useCallback(async S=>{const ot=qt(F)?Er(F):void 0,it=S.status?S.assignedUser:Y??S.assignedUser,zt=await g({...S,contents:ot,assignedUser:it});return zt&&(it!==void 0&&st(it),ot&&at()),zt},[at,F,g,Y]);if(j.length===0)return;const Ie=!Tt||!f||f.length===0||!f.includes(d),Ge=!qt(F)&&(Y===void 0||Y===gt),He=r.jsx(qa,{comment:P,localizedStrings:n,isThreadExpanded:i,threadStatus:h,handleAddCommentToThread:de,handleUpdateComment:m,handleDeleteComment:k,onEditingChange:At,canEditOrDelete:(!q&&Ut.get(P.id))??!1,canUserResolveThread:Ht,draftEditorState:(xe=J.commentEdits)==null?void 0:xe[P.id],onDraftEditorStateChange:S=>ut(P.id,S)});return r.jsx(Lo,{role:"option","aria-selected":i,id:w,className:o.cn("tw:group tw:w-full tw:rounded-none tw:border-s-4 tw:p-3 tw:outline-hidden tw:transition-all tw:duration-200 tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background",{"tw:cursor-pointer tw:hover:shadow-md":!i},{"tw:border-foreground tw:shadow-md":i,"tw:border-transparent":!i},{"tw:bg-card":h!=="Resolved"&&ft,"tw:bg-muted":h==="Resolved","tw:bg-accent":!ft&&h!=="Resolved"}),onClick:()=>{u(w)},tabIndex:-1,children:r.jsxs(Ao,{className:"tw:flex tw:flex-col tw:gap-2 tw:p-0",children:[r.jsxs("div",{className:"tw:flex tw:flex-col tw:content-center tw:items-start tw:gap-2",children:[r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",children:[bt&&r.jsx(o.Badge,{className:"tw:rounded-sm tw:bg-input tw:text-sm tw:font-normal tw:text-primary tw:hover:bg-input",children:bt}),r.jsx(o.Button,{variant:"ghost",size:"icon",onClick:S=>{S.stopPropagation(),_t()},className:"tw:text-muted-foreground tw:transition tw:hover:text-foreground","aria-label":ft?n["%comment_aria_mark_as_unread%"]??"Mark as unread":n["%comment_aria_mark_as_read%"]??"Mark as read",children:ft?r.jsx(B.MailOpen,{}):r.jsx(B.Mail,{})}),Z===void 0?r.jsx($o,{show:Ht&&h!=="Resolved",onClick:()=>de({threadId:w,status:"Resolved"}),ariaLabel:n["%comment_aria_resolve_thread%"]??"Resolve thread"}):Z]}),r.jsx("div",{className:"tw:flex tw:max-w-full tw:flex-wrap tw:items-baseline tw:gap-2",children:r.jsxs("p",{ref:Q,className:o.cn("tw:flex-1 tw:overflow-hidden tw:text-ellipsis tw:text-sm tw:font-normal tw:text-muted-foreground",{"tw:overflow-visible tw:text-clip tw:whitespace-normal tw:break-words":Ct},{"tw:whitespace-nowrap":!Ct}),children:[l&&D?r.jsx(o.Button,{variant:"ghost",size:"sm",className:"tw:h-auto tw:px-1 tw:py-0 tw:text-sm tw:font-normal tw:text-muted-foreground",onClick:S=>{S.stopPropagation(),D(p)},children:l}):l,r.jsxs("span",{className:e,...tt,children:[P.contextBefore,r.jsx("span",{className:"tw:font-bold",children:P.selectedText}),P.contextAfter]})]})}),R??He]}),r.jsxs(r.Fragment,{children:[be&&!i&&r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-5",children:[r.jsx("div",{className:"tw:w-8",children:r.jsx(o.Separator,{})}),r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:je})]}),!i&&qt(F)&&r.jsx(Nr,{editorSerializedState:F,onSerializedChange:vt,placeholder:n["%comment_replyOrAssign%"]}),i&&r.jsxs(r.Fragment,{children:[X&&ce.length>0&&r.jsx("div",{className:"tw:h-2","data-slot":"root-content-reply-gap","aria-hidden":"true"}),le>0&&r.jsxs("div",{className:"tw:flex tw:cursor-pointer tw:items-center tw:gap-5 tw:py-2",onClick:S=>{S.stopPropagation(),Nt(!0)},role:"button",tabIndex:0,onKeyDown:S=>{(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),S.stopPropagation(),Nt(!0))},children:[r.jsx("div",{className:"tw:w-8",children:r.jsx(o.Separator,{})}),r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",children:[r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:Ce}),yt?r.jsx(B.ChevronUp,{}):r.jsx(B.ChevronDown,{})]})]}),ce.map(S=>{var ot;return r.jsx("div",{children:r.jsx(qa,{comment:S,localizedStrings:n,isReply:!0,isThreadExpanded:i,handleUpdateComment:m,handleDeleteComment:k,onEditingChange:At,canEditOrDelete:(!q&&Ut.get(S.id))??!1,draftEditorState:(ot=J.commentEdits)==null?void 0:ot[S.id],onDraftEditorStateChange:it=>ut(S.id,it)})},S.id)}),C!==!1&&(!q||qt(F))&&r.jsx("div",{role:"textbox",tabIndex:-1,className:"tw:w-full tw:space-y-2",onClick:S=>S.stopPropagation(),onKeyDownCapture:S=>{va(S)&&(S.preventDefault(),S.stopPropagation(),(qt(F)||Y!==void 0&&Y!==gt)&&fe())},onKeyDown:S=>{ga(S),(S.key==="Enter"||S.key===" ")&&S.stopPropagation()},children:r.jsx(Nr,{editorSerializedState:F,onSerializedChange:vt,placeholder:h==="Resolved"?n["%comment_reopenResolved%"]:n["%comment_replyOrAssign%"],autoFocus:!0,onClear:S=>{U.current=S},actions:r.jsxs(r.Fragment,{children:[Y!==void 0&&(qt(F)||Y!==gt)?r.jsx("span",{className:"tw:flex-1 tw:text-sm tw:text-muted-foreground",children:L.formatReplacementString(Yt("%comment_assigning_to%",n,"Assigning to: {assignedUser}"),{assignedUser:xr(Y,n)})}):r.jsx("div",{className:"tw:flex-1"}),r.jsxs(o.Popover,{open:Et,onOpenChange:kt,children:[r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:Ie,disabledExplanation:Yt("%comment_aria_assign_user%",n,"Assign user"),children:r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsx(o.Button,{size:"icon-sm",variant:"outline",className:"tw:flex tw:items-center tw:justify-center tw:rounded-md",disabled:Ie,"aria-label":Yt("%comment_aria_assign_user%",n,"Assign user"),children:r.jsx(B.AtSign,{})})})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_assign_user%",n,"Assign user")})]}),r.jsx(o.PopoverContent,{className:"tw:w-auto tw:p-0",align:"end",onKeyDown:S=>{S.key==="Escape"&&(S.stopPropagation(),kt(!1))},children:r.jsx(o.Command,{children:r.jsx(o.CommandList,{children:f==null?void 0:f.map(S=>r.jsx(o.CommandItem,{onSelect:()=>{G({assignedUser:S!==c?S:void 0}),xt.current="user-selected",st(void 0),kt(!1)},className:"tw:flex tw:items-center",children:r.jsx("span",{children:xr(S,n)})},S||"unassigned"))})})})]}),r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:Ge,disabledExplanation:Yt("%comment_aria_submit_comment%",n,"Submit comment"),className:"tw:inline-flex",children:r.jsx(o.Button,{size:"icon-sm",onClick:fe,className:"tw:flex tw:items-center tw:justify-center tw:rounded-md",disabled:Ge,"aria-label":Yt("%comment_aria_submit_comment%",n,"Submit comment"),children:r.jsx(B.ArrowUp,{})})})}),r.jsx(o.TooltipContent,{children:Yt("%comment_aria_submit_comment%",n,"Submit comment")})]})]})})})]})]})]})})}),$s=o.cn(Io,"tw:[&>blockquote]:my-0 tw:[&_p]:my-0","tw:[&_u]:font-semibold tw:[&_u]:text-success-foreground tw:[&_u]:no-underline","tw:[&_s]:text-destructive tw:[&_s]:line-through"),Fs=t=>t.replace(/(\s+)(<\/[us]>)/g,"$2$1"),yr=t=>Fs(L.sanitizeHtml(t));function kr({html:t}){const e=De();return r.jsx("div",{className:$s,...e,dangerouslySetInnerHTML:{__html:t}})}function Ko({comment:t,localizedStrings:e,availableActions:a="acceptOrReject",resolvedResolution:n,onResolve:i,isResolving:l=!1}){const[c,d]=s.useState("accept"),u=s.useId(),w=s.useId(),p=De(),h=a==="loading",g=a==="accept",m=a==="none",k=a==="acceptRejectOrMerge",x=g?"accept":c,f=s.useMemo(()=>yr(t.rejectedText??""),[t.rejectedText]),C=s.useMemo(()=>yr(t.acceptedText??""),[t.acceptedText]),N=s.useMemo(()=>yr(t.mergedText??""),[t.mergedText]),E=s.useMemo(()=>L.sanitizeHtml(t.contents),[t.contents]);if(!Oo(t))return r.jsx(kr,{html:E});const _=z=>{d(z==="reject"||z==="merge"?z:"accept")},O=e["%conflict_note_stale_notice%"]??"The verse was edited after this conflict was recorded, so 'Use the other change' is no longer available. Keep the current text to resolve.",T=k?[{value:"merge",label:e["%conflict_note_option_combine%"]??"Combine both changes",html:N}]:[],D=[{value:"accept",label:e["%conflict_note_option_keep_current%"]??"Keep the current text",html:C},{value:"reject",label:e["%conflict_note_option_use_other%"]??"Use the other change",html:f},...T],I=x==="accept",M=l||I;let R;I?R=e["%conflict_note_save_disabled_tooltip%"]??"Keeping the current text makes no change — resolve the thread with the ✓ to keep it.":l||(R=e["%conflict_note_save_warning%"]??"This can't be undone.");const Z=e["%conflict_note_no_result%"]??"No result preview available.",X=r.jsx("p",{className:"tw:text-muted-foreground",children:Z}),rt=z=>z?r.jsx("p",{className:"tw:whitespace-pre-wrap tw:text-foreground",...p,children:z}):X,y=()=>{const z=n??"accept";return z==="merged"?t.mergedText?r.jsx(kr,{html:N}):X:rt(z==="reject"?t.rejectedResultText:t.resultText)},tt=z=>g&&z.value==="reject",W=z=>{const J=x===z.value,F=`${w}-${z.value}`,Y=tt(z);return r.jsxs("label",{htmlFor:F,"data-slot":"conflict-resolution-option","data-value":z.value,className:o.cn("tw:flex tw:flex-col tw:gap-1 tw:rounded-md tw:border tw:p-2","tw:focus-within:ring-2 tw:focus-within:ring-ring tw:focus-within:ring-offset-1",J?"tw:border-border tw:bg-accent/50":"tw:border-transparent tw:hover:bg-accent/30",Y?"tw:cursor-not-allowed tw:opacity-60":"tw:cursor-pointer"),children:[r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",children:[r.jsx(o.RadioGroupItem,{id:F,value:z.value,"aria-label":z.label,disabled:Y,"aria-describedby":Y?u:void 0}),r.jsx("span",{"aria-hidden":!0,className:"tw:font-medium",children:z.label})]}),Y&&r.jsx("span",{id:u,className:"tw:sr-only",children:O}),r.jsx(kr,{html:z.html})]},z.value)};return r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-3 tw:text-sm",onClick:z=>z.stopPropagation(),children:[r.jsx("p",{children:e["%conflict_note_description_verseText%"]??"Conflicting changes were made to the verse text."}),h&&r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2","data-slot":"conflict-loading",children:[r.jsx(o.Skeleton,{className:"tw:h-8 tw:w-full"}),r.jsx(o.Skeleton,{className:"tw:h-8 tw:w-full"}),r.jsx(o.Skeleton,{className:"tw:h-8 tw:w-24"})]}),!h&&m&&y(),!h&&!m&&r.jsxs(r.Fragment,{children:[r.jsx("p",{children:e["%conflict_note_choose_prompt%"]??"Select which change to keep:"}),r.jsx(o.RadioGroup,{value:x,onValueChange:_,disabled:l,"aria-label":e["%conflict_note_choose_aria_label%"]??"Choose resolution",children:D.map(z=>tt(z)?r.jsx(o.TooltipProvider,{delayDuration:0,children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:W(z)}),r.jsx(o.TooltipContent,{children:O})]})},z.value):W(z))}),r.jsx(o.TooltipProvider,{delayDuration:0,children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{isDisabled:M&&R!==void 0,disabledExplanation:R,className:"tw:inline-flex tw:self-start",children:r.jsx(o.Button,{size:"sm",disabled:M,onClick:()=>i==null?void 0:i(x),children:e["%conflict_note_save_and_resolve%"]??"Save and resolve"})})}),R&&r.jsx(o.TooltipContent,{children:R})]})})]})]})}const Ks={accept:{key:"%conflict_note_summary_resolved_kept_current%",fallback:"Conflicting edits were resolved. Kept the current text."},reject:{key:"%conflict_note_summary_resolved_used_other%",fallback:"Conflicting edits were resolved. Used the other change."},merged:{key:"%conflict_note_summary_resolved_combined%",fallback:"Conflicting edits were resolved. Combined both changes."}};function Us({comment:t,localizedStrings:e,resolvedResolution:a}){const n=s.useMemo(()=>yr(t.rejectedText??""),[t.rejectedText]);if(a){const{key:l,fallback:c}=Ks[a];return r.jsx("p",{className:"tw:text-sm tw:font-normal tw:text-muted-foreground",children:e[l]??c})}const i=e["%conflict_note_summary_unresolved%"]??"Conflicting edits. Choose which change to keep.";return r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-1",children:[r.jsx("p",{className:"tw:text-sm tw:font-normal tw:text-muted-foreground",children:i}),n?r.jsx(kr,{html:n}):void 0]})}function Gs(t){return t==="reject"?"reject":t==="merge"?"merged":"accept"}function Hs({threadId:t,threadStatus:e,isSelected:a,activeComments:n,conflictResolution:i}){const[l,c]=s.useState("loading"),[d,u]=s.useState(!1),[w,p]=s.useState(),h=i==null?void 0:i.getOptions,g=i==null?void 0:i.resolve;s.useEffect(()=>{let N=!0;if(!a){c("loading");return}return(async()=>{let _;try{_=h?await h(t):"none"}catch{_="none"}N&&(c(_),_!=="none"&&p(void 0))})(),()=>{N=!1}},[a,t,e,h]);const m=s.useRef(!1),k=s.useCallback(async N=>{if(!(!g||m.current)){m.current=!0,u(!0);try{await g(t,N)&&(p(Gs(N)),c("none"))}catch{}finally{m.current=!1,u(!1)}}},[g,t]),f=s.useMemo(()=>{if(e==="Resolved"){for(let N=n.length-1;N>=0;N-=1)if(n[N].status==="Resolved")return Po(n[N].conflictResolutionAction);return"accept"}},[e,n])??w;return{conflictOptions:l,isResolving:d,resolve:k,resolvedResolution:f,showResolveCheck:l!=="loading"&&l!=="none"}}const qs=s.memo(function(e){const{comments:a,localizedStrings:n,isSelected:i=!1,threadId:l,threadStatus:c,conflictResolution:d}=e,u=s.useMemo(()=>a.filter(N=>!N.deleted),[a]),w=s.useMemo(()=>u.find(N=>N.conflictType)??u[0],[u]),{conflictOptions:p,isResolving:h,resolve:g,resolvedResolution:m,showResolveCheck:k}=Hs({threadId:l,threadStatus:c,isSelected:i,activeComments:u,conflictResolution:d}),x=Oo(w);let f;x&&w&&(f=i?r.jsx(Ko,{comment:w,localizedStrings:n,availableActions:p,resolvedResolution:m,onResolve:g,isResolving:h}):r.jsx(Us,{comment:w,localizedStrings:n,resolvedResolution:m}));let C;return x&&(C=r.jsx($o,{show:k,disabled:h,onClick:()=>g("accept"),ariaLabel:n["%comment_aria_resolve_thread%"]??"Resolve thread"})),r.jsx(Fo,{...e,activeComments:u,rootContentSlot:f,resolveActionSlot:C,spaceRootContentFromReplies:x&&i})});function Ys({className:t="",classNameForVerseText:e,threads:a,currentUser:n,localizedStrings:i,handleAddCommentToThread:l,handleUpdateComment:c,handleDeleteComment:d,handleReadStatusChange:u,assignableUsers:w,canUserAddCommentToThread:p,canUserAssignThreadCallback:h,canUserResolveThreadCallback:g,canUserEditOrDeleteCommentCallback:m,selectedThreadId:k,onSelectedThreadChange:x,onVerseRefClick:f,conflictResolution:C,drafts:N,onDraftChange:E}){const[_,O]=s.useState(new Set),[T,D]=s.useState(),[I,M]=s.useState(),R=s.useCallback(async F=>{const Y=await l(F);return Y!==void 0&&F.assignedUser!==void 0&&F.assignedUser!==""&&M(F.assignedUser),Y},[l]);s.useEffect(()=>{k&&(O(F=>new Set(F).add(k)),D(k))},[k]);const Z=a.filter(F=>F.comments.some(Y=>!Y.deleted)),X=Z.map(F=>({id:F.id})),rt=s.useCallback(F=>{O(Y=>new Set(Y).add(F.id)),D(F.id),x==null||x(F.id)},[x]),y=s.useCallback(F=>{const Y=_.has(F);O(dt=>{const ht=new Set(dt);return ht.has(F)?ht.delete(F):ht.add(F),ht}),D(F),x==null||x(Y?void 0:F)},[_,x]),{listboxRef:tt,activeId:W,handleKeyDown:z}=o.useListbox({options:X,onOptionSelect:rt}),J=s.useCallback(F=>{F.key==="Escape"?(T&&_.has(T)&&(O(Y=>{const dt=new Set(Y);return dt.delete(T),dt}),D(void 0),x==null||x(void 0)),F.preventDefault(),F.stopPropagation()):z(F)},[T,_,z,x]);return r.jsx("div",{id:zo,role:"listbox",tabIndex:0,ref:tt,"aria-activedescendant":W??void 0,"aria-label":"Comments",className:o.cn("tw:flex tw:w-full tw:flex-col tw:outline-hidden tw:focus:ring-2 tw:focus:ring-ring tw:focus:ring-offset-1 tw:focus:ring-offset-background",t),onKeyDown:J,children:Z.map(F=>{const Y={classNameForVerseText:e,comments:F.comments,localizedStrings:i,verseRef:F.verseRef,handleSelectThread:y,threadId:F.id,thread:F,isRead:F.isRead,isSelected:_.has(F.id),currentUser:n,assignedUser:F.assignedUser,threadStatus:F.status,handleAddCommentToThread:R,handleUpdateComment:c,handleDeleteComment:d,handleReadStatusChange:u,assignableUsers:w,canUserAddCommentToThread:p,canUserAssignThreadCallback:h,canUserResolveThreadCallback:g,canUserEditOrDeleteCommentCallback:m,onVerseRefClick:f,initialAssignedUser:I,draft:N==null?void 0:N[F.id],onDraftChange:E};return r.jsx("div",{className:o.cn("tw:border-b tw:border-border tw:last:border-b-0",{"tw:opacity-60":F.status==="Resolved"}),children:F.type==="Conflict"?r.jsx(qs,{...Y,conflictResolution:C}):r.jsx(Fo,{...Y})},F.id)})})}const Uo=s.forwardRef(function({area:e,as:a="div",label:n,...i},l){const c={[pa]:e??"",...n?{[ha]:n}:{}};return s.createElement(a,{...i,...c,ref:l})});Uo.displayName="ContentZoomRoot";function Zs({table:t}){return r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"outline",size:"sm",className:"tw:ml-auto tw:hidden tw:h-8 tw:lg:flex",children:[r.jsx(B.FilterIcon,{className:"tw:mr-2 tw:h-4 tw:w-4"}),"View"]})}),r.jsxs(o.DropdownMenuContent,{align:"end",className:"tw:w-[150px]",children:[r.jsx(o.DropdownMenuLabel,{children:"Toggle columns"}),r.jsx(o.DropdownMenuSeparator,{}),t.getAllColumns().filter(e=>e.getCanHide()).map(e=>r.jsx(o.DropdownMenuCheckboxItem,{className:"tw:capitalize",checked:e.getIsVisible(),onCheckedChange:a=>e.toggleVisibility(!!a),children:e.id},e.id))]})]})}function Te({...t}){return r.jsx(V.Select.Root,{"data-slot":"select",...t})}function Go({className:t,...e}){return r.jsx(V.Select.Group,{"data-slot":"select-group",className:o.cn("tw:scroll-my-1 tw:p-1",t),...e})}function Se({...t}){return r.jsx(V.Select.Value,{"data-slot":"select-value",...t})}function Re({className:t,size:e="default",children:a,...n}){const i=o.readDirection();return r.jsxs(V.Select.Trigger,{"data-slot":"select-trigger","data-size":e,className:o.cn("pr-twp tw:flex tw:w-fit tw:items-center tw:gap-2 tw:rounded-lg tw:border tw:border-input tw:bg-transparent tw:py-2 tw:pe-2 tw:ps-2.5 tw:text-sm tw:whitespace-nowrap tw:transition-colors tw:outline-none tw:select-none tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:disabled:cursor-not-allowed tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:data-placeholder:text-muted-foreground tw:data-[size=default]:h-8 tw:data-[size=sm]:h-7 tw:data-[size=sm]:rounded-[min(var(--tw-radius-md),10px)] tw:*:data-[slot=select-value]:line-clamp-1 tw:*:data-[slot=select-value]:flex tw:*:data-[slot=select-value]:flex-1 tw:*:data-[slot=select-value]:items-center tw:*:data-[slot=select-value]:gap-1.5 tw:*:data-[slot=select-value]:text-start tw:dark:bg-input/30 tw:dark:hover:bg-input/50 tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),dir:i,...n,children:[a,r.jsx(V.Select.Icon,{asChild:!0,children:r.jsx(Mt.IconSelector,{className:"tw:pointer-events-none tw:size-4 tw:text-muted-foreground"})})]})}function Me({className:t,children:e,position:a="popper",align:n="center",style:i,...l}){const c=o.readDirection();return r.jsx(V.Select.Portal,{children:r.jsxs(V.Select.Content,{"data-slot":"select-content","data-align-trigger":a==="item-aligned",className:o.cn("pr-twp tw:relative tw:max-h-(--radix-select-content-available-height) tw:data-[align-trigger=true]:min-w-(--radix-select-trigger-width) tw:data-[align-trigger=false]:min-w-36 tw:origin-(--radix-select-content-transform-origin) tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-lg tw:bg-popover tw:text-popover-foreground tw:shadow-md tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[align-trigger=true]:animate-none tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",a==="popper"&&"tw:data-[side=bottom]:translate-y-1 tw:data-[side=left]:-translate-x-1 tw:rtl:data-[side=left]:translate-x-1 tw:data-[side=right]:translate-x-1 tw:rtl:data-[side=right]:-translate-x-1 tw:data-[side=top]:-translate-y-1",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...i},position:a,align:n,...l,children:[r.jsx(Ho,{}),r.jsx(V.Select.Viewport,{"data-position":a,className:o.cn("tw:data-[position=popper]:h-(--radix-select-trigger-height) tw:data-[position=popper]:w-full tw:data-[position=popper]:min-w-(--radix-select-trigger-width)",a==="popper"&&"tw:"),children:r.jsx("div",{dir:c,children:e})}),r.jsx(qo,{})]})})}function Xs({className:t,...e}){return r.jsx(V.Select.Label,{"data-slot":"select-label",className:o.cn("pr-twp tw:px-1.5 tw:py-1 tw:text-xs tw:text-muted-foreground",t),...e})}function re({className:t,children:e,...a}){return r.jsxs(V.Select.Item,{"data-slot":"select-item",className:o.cn("pr-twp tw:relative tw:flex tw:w-full tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:py-1 tw:pe-8 tw:ps-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:not-data-[variant=destructive]:focus:**:text-accent-foreground tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4 tw:*:[span]:last:flex tw:*:[span]:last:items-center tw:*:[span]:last:gap-2",t),...a,children:[r.jsx("span",{className:"tw:pointer-events-none tw:absolute tw:end-2 tw:flex tw:size-4 tw:items-center tw:justify-center",children:r.jsx(V.Select.ItemIndicator,{children:r.jsx(Mt.IconCheck,{className:"tw:pointer-events-none"})})}),r.jsx(V.Select.ItemText,{children:e})]})}function Ws({className:t,...e}){return r.jsx(V.Select.Separator,{"data-slot":"select-separator",className:o.cn("pr-twp tw:pointer-events-none tw:-mx-1 tw:my-1 tw:h-px tw:bg-border",t),...e})}function Ho({className:t,...e}){return r.jsx(V.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o.cn("pr-twp tw:z-10 tw:flex tw:cursor-default tw:items-center tw:justify-center tw:bg-popover tw:py-1 tw:[&_svg:not([class*=size-])]:size-4",t),...e,children:r.jsx(Mt.IconChevronUp,{})})}function qo({className:t,...e}){return r.jsx(V.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o.cn("pr-twp tw:z-10 tw:flex tw:cursor-default tw:items-center tw:justify-center tw:bg-popover tw:py-1 tw:[&_svg:not([class*=size-])]:size-4",t),...e,children:r.jsx(Mt.IconChevronDown,{})})}function Js({table:t}){return r.jsx("div",{className:"tw:flex tw:items-center tw:justify-between tw:px-2 tw:pb-3 tw:pt-3",children:r.jsxs("div",{className:"tw:flex tw:items-center tw:space-x-6 tw:lg:space-x-8",children:[r.jsxs("div",{className:"tw:flex-1 tw:text-sm tw:text-muted-foreground",children:[t.getFilteredSelectedRowModel().rows.length," of"," ",t.getFilteredRowModel().rows.length," row(s) selected"]}),r.jsxs("div",{className:"tw:flex tw:items-center tw:space-x-2",children:[r.jsx("p",{className:"tw:text-nowrap tw:text-sm tw:font-medium",children:"Rows per page"}),r.jsxs(Te,{value:`${t.getState().pagination.pageSize}`,onValueChange:e=>{t.setPageSize(Number(e))},children:[r.jsx(Re,{className:"tw:h-8 tw:w-[70px]",children:r.jsx(Se,{placeholder:t.getState().pagination.pageSize})}),r.jsx(Me,{side:"top",children:[10,20,30,40,50].map(e=>r.jsx(re,{value:`${e}`,children:e},e))})]})]}),r.jsxs("div",{className:"tw:flex tw:w-[100px] tw:items-center tw:justify-center tw:text-sm tw:font-medium",children:["Page ",t.getState().pagination.pageIndex+1," of ",t.getPageCount()]}),r.jsxs("div",{className:"tw:flex tw:items-center tw:space-x-2",children:[r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:hidden tw:h-8 tw:w-8 tw:p-0 tw:lg:flex",onClick:()=>t.setPageIndex(0),disabled:!t.getCanPreviousPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to first page"}),r.jsx(B.ArrowLeftIcon,{className:"tw:h-4 tw:w-4"})]}),r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:h-8 tw:w-8 tw:p-0",onClick:()=>t.previousPage(),disabled:!t.getCanPreviousPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to previous page"}),r.jsx(B.ChevronLeftIcon,{className:"tw:h-4 tw:w-4"})]}),r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:h-8 tw:w-8 tw:p-0",onClick:()=>t.nextPage(),disabled:!t.getCanNextPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to next page"}),r.jsx(B.ChevronRightIcon,{className:"tw:h-4 tw:w-4"})]}),r.jsxs(o.Button,{variant:"outline",size:"icon",className:"tw:hidden tw:h-8 tw:w-8 tw:p-0 tw:lg:flex",onClick:()=>t.setPageIndex(t.getPageCount()-1),disabled:!t.getCanNextPage(),children:[r.jsx("span",{className:"tw:sr-only",children:"Go to last page"}),r.jsx(B.ArrowRightIcon,{className:"tw:h-4 tw:w-4"})]})]})]})})}function Yo({columns:t,data:e,enablePagination:a=!1,showPaginationControls:n=!1,showColumnVisibilityControls:i=!1,stickyHeader:l=!1,onRowClickHandler:c=()=>{},id:d,isLoading:u=!1,noResultsMessage:w}){var T;const[p,h]=s.useState([]),[g,m]=s.useState([]),[k,x]=s.useState({}),[f,C]=s.useState({}),N=s.useMemo(()=>e??[],[e]),E=Kt.useReactTable({data:N,columns:t,getCoreRowModel:Kt.getCoreRowModel(),...a&&{getPaginationRowModel:Kt.getPaginationRowModel()},onSortingChange:h,getSortedRowModel:Kt.getSortedRowModel(),onColumnFiltersChange:m,getFilteredRowModel:Kt.getFilteredRowModel(),onColumnVisibilityChange:x,onRowSelectionChange:C,state:{sorting:p,columnFilters:g,columnVisibility:k,rowSelection:f}}),_=E.getVisibleFlatColumns();let O;return u?O=Array.from({length:10}).map((M,R)=>`skeleton-row-${R}`).map(M=>r.jsx(o.TableRow,{className:"tw:hover:bg-transparent",children:r.jsx(o.TableCell,{colSpan:_.length??t.length,className:"tw:border-0 tw:p-0",children:r.jsx("div",{className:"tw:w-full tw:py-2",children:r.jsx(o.Skeleton,{className:"tw:h-14 tw:w-full tw:rounded-md"})})})},M)):((T=E.getRowModel().rows)==null?void 0:T.length)>0?O=E.getRowModel().rows.map(D=>r.jsx(o.TableRow,{onClick:()=>c(D,E),"data-state":D.getIsSelected()&&"selected",children:D.getVisibleCells().map(I=>r.jsx(o.TableCell,{children:Kt.flexRender(I.column.columnDef.cell,I.getContext())},I.id))},D.id)):O=r.jsx(o.TableRow,{children:r.jsx(o.TableCell,{colSpan:t.length,className:"tw:h-24 tw:text-center",children:w})}),r.jsxs("div",{className:"pr-twp",id:d,children:[i&&r.jsx(Zs,{table:E}),r.jsxs(o.Table,{stickyHeader:l,children:[r.jsx(o.TableHeader,{stickyHeader:l,children:E.getHeaderGroups().map(D=>r.jsx(o.TableRow,{children:D.headers.map(I=>r.jsx(o.TableHead,{className:"tw:p-0",children:I.isPlaceholder?void 0:Kt.flexRender(I.column.columnDef.header,I.getContext())},I.id))},D.id))}),r.jsx(o.TableBody,{children:O})]}),a&&r.jsxs("div",{className:"tw:flex tw:items-center tw:justify-end tw:space-x-2 tw:py-4",children:[r.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>E.previousPage(),disabled:!E.getCanPreviousPage(),children:"Previous"}),r.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>E.nextPage(),disabled:!E.getCanNextPage(),children:"Next"})]}),a&&n&&r.jsx(Js,{table:E})]})}function Qs({id:t,markdown:e,className:a,anchorTarget:n,truncate:i}){const l=s.useMemo(()=>({overrides:{a:{props:{target:n,rel:n==="_blank"?"noopener noreferrer":void 0}}}}),[n]);return r.jsx("div",{id:t,className:o.cn("pr-twp tw:prose",{"tw:line-clamp-3 tw:max-h-10 tw:overflow-hidden tw:text-ellipsis tw:break-words":i},a),children:r.jsx(Vn,{options:l,children:e})})}const Zo=Object.freeze(["%webView_error_dump_header%","%webView_error_dump_info_message%"]),Ya=(t,e)=>t[e]??e;function Xo({errorDetails:t,handleCopyNotify:e,localizedStrings:a,id:n}){const i=Ya(a,"%webView_error_dump_header%"),l=Ya(a,"%webView_error_dump_info_message%");function c(){navigator.clipboard.writeText(t),e&&e()}return r.jsxs("div",{id:n,className:"tw:inline-flex tw:w-full tw:flex-col tw:items-start tw:justify-start tw:gap-4",children:[r.jsxs("div",{className:"tw:inline-flex tw:items-start tw:justify-start tw:gap-4 tw:self-stretch",children:[r.jsxs("div",{className:"tw:inline-flex tw:flex-1 tw:flex-col tw:items-start tw:justify-start",children:[r.jsx("div",{className:"tw:text-color-text tw:justify-center tw:text-center tw:text-lg tw:font-semibold tw:leading-loose",children:i}),r.jsx("div",{className:"tw:justify-center tw:self-stretch tw:text-sm tw:font-normal tw:leading-tight tw:text-muted-foreground",children:l})]}),r.jsx(o.Button,{variant:"secondary",size:"icon",className:"size-8",onClick:()=>c(),children:r.jsx(B.Copy,{})})]}),r.jsx("div",{className:"tw:prose tw:w-full",children:r.jsx("pre",{className:"tw:text-xs",children:t})})]})}const tc=Object.freeze([...Zo,"%webView_error_dump_copied_message%"]);function ec({errorDetails:t,handleCopyNotify:e,localizedStrings:a,children:n,className:i,id:l}){const[c,d]=s.useState(!1),u=()=>{d(!0),e&&e()},w=p=>{p||d(!1)};return r.jsxs(o.Popover,{onOpenChange:w,children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:n}),r.jsxs(o.PopoverContent,{id:l,className:o.cn("tw:min-w-80 tw:max-w-96",i),children:[c&&a["%webView_error_dump_copied_message%"]&&r.jsx(o.Label,{children:a["%webView_error_dump_copied_message%"]}),r.jsx(Xo,{errorDetails:t,handleCopyNotify:u,localizedStrings:a})]})]})}var Wo=(t=>(t[t.Check=0]="Check",t[t.Radio=1]="Radio",t))(Wo||{});function rc({id:t,label:e,groups:a}){const[n,i]=s.useState(Object.fromEntries(a.map((w,p)=>w.itemType===0?[p,[]]:void 0).filter(w=>!!w))),[l,c]=s.useState({}),d=(w,p)=>{const h=!n[w][p];i(m=>(m[w][p]=h,{...m}));const g=a[w].items[p];g.onUpdate(g.id,h)},u=(w,p)=>{c(g=>(g[w]=p,{...g}));const h=a[w].items.find(g=>g.id===p);h?h.onUpdate(p):console.error(`Could not find dropdown radio item with id '${p}'!`)};return r.jsx("div",{id:t,children:r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"default",children:[r.jsx(B.Filter,{size:16,className:"tw:mr-2 tw:h-4 tw:w-4"}),e,r.jsx(B.ChevronDown,{size:16,className:"tw:ml-2 tw:h-4 tw:w-4"})]})}),r.jsx(o.DropdownMenuContent,{children:a.map((w,p)=>r.jsxs("div",{children:[r.jsx(o.DropdownMenuLabel,{children:w.label}),r.jsx(o.DropdownMenuGroup,{children:w.itemType===0?r.jsx(r.Fragment,{children:w.items.map((h,g)=>r.jsx("div",{children:r.jsx(o.DropdownMenuCheckboxItem,{checked:n[p][g],onCheckedChange:()=>d(p,g),children:h.label})},h.id))}):r.jsx(o.DropdownMenuRadioGroup,{value:l[p],onValueChange:h=>u(p,h),children:w.items.map(h=>r.jsx("div",{children:r.jsx(o.DropdownMenuRadioItem,{value:h.id,children:h.label})},h.id))})}),r.jsx(o.DropdownMenuSeparator,{})]},w.label))})]})})}function ac({id:t,category:e,downloads:a,languages:n,moreInfoUrl:i,handleMoreInfoLinkClick:l,supportUrl:c,handleSupportLinkClick:d}){const u=new L.NumberFormat("en",{notation:"compact",compactDisplay:"short"}).format(Object.values(a).reduce((p,h)=>p+h,0)),w=()=>{window.scrollTo(0,document.body.scrollHeight)};return r.jsxs("div",{id:t,className:"pr-twp tw:flex tw:items-center tw:justify-center tw:divide-x tw:border-b tw:border-t tw:py-2 tw:text-center",children:[e&&r.jsxs("div",{className:"tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-4",children:[r.jsx("div",{className:"tw:flex",children:r.jsx("span",{className:"tw:text-xs tw:font-semibold tw:text-foreground",children:e})}),r.jsx("span",{className:"tw:text-xs tw:text-foreground",children:"CATEGORY"})]}),r.jsxs("div",{className:"tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-4",children:[r.jsxs("div",{className:"tw:flex tw:gap-1",children:[r.jsx(B.User,{className:"tw:h-4 tw:w-4"}),r.jsx("span",{className:"tw:text-xs tw:font-semibold tw:text-foreground",children:u})]}),r.jsx("span",{className:"tw:text-xs tw:text-foreground",children:"USERS"})]}),r.jsxs("div",{className:"tw:flex tw:flex-col tw:items-center tw:gap-1 tw:px-4",children:[r.jsx("div",{className:"tw:flex tw:gap-2",children:n.slice(0,3).map(p=>r.jsx("span",{className:"tw:text-xs tw:font-semibold tw:text-foreground",children:p.toUpperCase()},p))}),n.length>3&&r.jsxs("button",{type:"button",onClick:()=>w(),className:"tw:text-xs tw:text-foreground tw:underline",children:["+",n.length-3," more languages"]})]}),(i||c)&&r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-1 tw:px-4",children:[i&&r.jsx("div",{className:"tw:flex tw:gap-1",children:r.jsxs(o.Button,{onClick:()=>l(),variant:"link",className:"tw:flex tw:h-auto tw:gap-1 tw:py-0 tw:text-xs tw:font-semibold tw:text-foreground",children:["Website",r.jsx(B.Link,{className:"tw:h-4 tw:w-4"})]})}),c&&r.jsx("div",{className:"tw:flex tw:gap-1",children:r.jsxs(o.Button,{onClick:()=>d(),variant:"link",className:"tw:flex tw:h-auto tw:gap-1 tw:py-0 tw:text-xs tw:font-semibold tw:text-foreground",children:["Support",r.jsx(B.CircleHelp,{className:"tw:h-4 tw:w-4"})]})})]})]})}function oc({id:t,versionHistory:e}){const[a,n]=s.useState(!1),i=new Date;function l(d){const u=new Date(d),w=new Date(i.getTime()-u.getTime()),p=w.getUTCFullYear()-1970,h=w.getUTCMonth(),g=w.getUTCDate()-1;let m="";return p>0?m=`${p.toString()} year${p===1?"":"s"} ago`:h>0?m=`${h.toString()} month${h===1?"":"s"} ago`:g===0?m="today":m=`${g.toString()} day${g===1?"":"s"} ago`,m}const c=Object.entries(e).sort((d,u)=>u[0].localeCompare(d[0]));return r.jsxs("div",{className:"pr-twp",id:t,children:[r.jsx("h3",{className:"tw:text-md tw:font-semibold",children:"What`s New"}),r.jsx("ul",{className:"tw:list-disc tw:pl-5 tw:pr-4 tw:text-xs tw:text-foreground",children:(a?c:c.slice(0,5)).map(d=>r.jsxs("div",{className:"tw:mt-3 tw:flex tw:justify-between",children:[r.jsx("div",{className:"tw:text-foreground",children:r.jsx("li",{className:"tw:prose tw:text-xs",children:r.jsx("span",{children:d[1].description})})}),r.jsxs("div",{className:"tw:justify-end tw:text-right",children:[r.jsxs("div",{children:["Version ",d[0]]}),r.jsx("div",{children:l(d[1].date)})]})]},d[0]))}),c.length>5&&r.jsx("button",{type:"button",onClick:()=>n(!a),className:"tw:text-xs tw:text-foreground tw:underline",children:a?"Show Less Version History":"Show All Version History"})]})}function nc({id:t,publisherDisplayName:e,fileSize:a,locales:n,versionHistory:i,currentVersion:l}){const c=s.useMemo(()=>L.formatBytes(a),[a]),u=(w=>{const p=new Intl.DisplayNames(L.getCurrentLocale(),{type:"language"});return w.map(h=>p.of(h))})(n);return r.jsx("div",{id:t,className:"pr-twp tw:border-t tw:py-2",children:r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2 tw:divide-y",children:[Object.entries(i).length>0&&r.jsx(oc,{versionHistory:i}),r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2 tw:py-2",children:[r.jsx("h2",{className:"tw:text-md tw:font-semibold",children:"Information"}),r.jsxs("div",{className:"tw:flex tw:items-start tw:justify-between tw:text-xs tw:text-foreground",children:[r.jsxs("p",{className:"tw:flex tw:flex-col tw:justify-start tw:gap-1",children:[r.jsx("span",{children:"Publisher"}),r.jsx("span",{className:"tw:font-semibold",children:e}),r.jsx("span",{children:"Size"}),r.jsx("span",{className:"tw:font-semibold",children:c})]}),r.jsx("div",{className:"tw:flex tw:w-3/4 tw:items-center tw:justify-between tw:text-xs tw:text-foreground",children:r.jsxs("p",{className:"tw:flex tw:flex-col tw:justify-start tw:gap-1",children:[r.jsx("span",{children:"Version"}),r.jsx("span",{className:"tw:font-semibold",children:l}),r.jsx("span",{children:"Languages"}),r.jsx("span",{className:"tw:font-semibold",children:u.join(", ")})]})})]})]})]})})}function ic({entries:t,selected:e,onChange:a,placeholder:n,searchPlaceholder:i,commandEmptyMessage:l,customSelectedText:c,isDisabled:d,sortSelected:u,showScrollCue:w,icon:p,className:h,badgesPlaceholder:g,id:m}){return r.jsxs("div",{id:m,className:"tw:flex tw:items-center tw:gap-2",children:[r.jsx(o.MultiSelectComboBox,{entries:t,selected:e,onChange:a,placeholder:n,searchPlaceholder:i,commandEmptyMessage:l,customSelectedText:c,isDisabled:d,sortSelected:u,showScrollCue:w,icon:p,className:h}),e.length>0?r.jsx("div",{className:"tw:flex tw:flex-wrap tw:items-center tw:gap-2",children:e.map(k=>{var x;return r.jsxs(o.Badge,{variant:"muted",className:"tw:flex tw:items-center tw:gap-1",children:[r.jsx(o.Button,{variant:"ghost",size:"icon",className:"tw:h-4 tw:w-4 tw:p-0 tw:hover:bg-transparent",onClick:()=>a(e.filter(f=>f!==k)),children:r.jsx(B.X,{className:"tw:h-3 tw:w-3"})}),(x=t.find(f=>f.value===k))==null?void 0:x.label]},k)})}):r.jsx(o.Label,{children:g})]})}const Jo=Object.freeze(["%undoButton_tooltip%","%redoButton_tooltip%"]),Za=(t,e)=>t[e]??e;function Qo({onUndoClick:t,onRedoClick:e,canUndo:a=!0,canRedo:n=!0,localizedStrings:i={},showKeyboardShortcuts:l=!0,className:c="tw:h-6 tw:w-6",variant:d="ghost"}){const u=o.isMacOs(),w=Za(i,"%undoButton_tooltip%"),p=Za(i,"%redoButton_tooltip%"),h=d==="secondary"||d==="default";return r.jsxs(o.ButtonGroup,{children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":w,className:c,size:"icon",onClick:t,disabled:!a,variant:d,children:r.jsx(B.Undo,{})})}),r.jsx(o.TooltipContent,{children:r.jsxs("p",{children:[w,l&&r.jsxs(r.Fragment,{children:[" ",r.jsx(o.Kbd,{children:u?"⌘Z":"Ctrl+Z"})]})]})})]})}),e&&h&&r.jsx(o.ButtonGroupSeparator,{}),e&&r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":p,className:c,size:"icon",onClick:e,disabled:!n,variant:d,children:r.jsx(B.Redo,{})})}),r.jsx(o.TooltipContent,{children:r.jsxs("p",{children:[p,l&&r.jsxs(r.Fragment,{children:[" ",r.jsx(o.Kbd,{children:u?"⌘⇧Z":"Ctrl+Y"})]})]})})]})})]})}function tn({children:t,editorRef:e,canUndo:a=!0,canRedo:n=!0}){const i=s.useRef(null);return s.useEffect(()=>{var u;const l=o.isMacOs(),c=((u=i.current)==null?void 0:u.querySelector(".editor-input"))??void 0,d=w=>{var h,g,m,k;if(!c||document.activeElement!==c)return;const p=w.key.toLowerCase();if(l){if(!w.metaKey)return;!w.shiftKey&&p==="z"?(w.preventDefault(),a&&((h=e.current)==null||h.undo())):w.shiftKey&&p==="z"&&(w.preventDefault(),n&&((g=e.current)==null||g.redo()))}else{if(!w.ctrlKey)return;!w.shiftKey&&p==="z"?(w.preventDefault(),a&&((m=e.current)==null||m.undo())):(p==="y"||w.shiftKey&&p==="z")&&(w.preventDefault(),n&&((k=e.current)==null||k.redo()))}};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[n,a,e]),r.jsx("div",{ref:i,children:t})}function en(){const t=s.useRef(void 0),e=s.useRef(new DOMRect),a=s.useRef({getBoundingClientRect:()=>{var l;const i=(l=t.current)==null?void 0:l.measure();return i&&(e.current=i),e.current},get contextElement(){var i;return(i=t.current)==null?void 0:i.contextElement}}),n=s.useCallback(i=>{t.current=i,e.current=i.measure()??new DOMRect},[]);return s.useMemo(()=>({virtualRef:a,setSource:n}),[n])}function rn(t){if(t.getClientRects().length!==0)return t.getBoundingClientRect()}function an(t){return new DOMRect(t.left,t.top,0,t.height)}const sc=(t,e,a)=>t==="generated"?r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"+"})," ",e["%footnoteEditor_callerDropdown_item_generated%"]]}):t==="hidden"?r.jsxs(r.Fragment,{children:[r.jsx("p",{children:"-"})," ",e["%footnoteEditor_callerDropdown_item_hidden%"]]}):r.jsxs(r.Fragment,{children:[r.jsx("p",{children:a})," ",e["%footnoteEditor_callerDropdown_item_custom%"]]});function cc({callerType:t,customCaller:e,updateCaller:a,localizedStrings:n,focusNoteText:i}){const l=s.useRef(!1),c=s.useRef(null),d=s.useRef(null),u=s.useRef(!1),[w,p]=s.useState(t),[h,g]=s.useState(e),[m,k]=s.useState(!1),x=s.useRef(!1),f=s.useRef(w);f.current=w;const C=s.useRef(h);C.current=h,s.useEffect(()=>{p(t)},[t]),s.useEffect(()=>{h!==e&&g(e)},[e]);const N=_=>{if(u.current=!1,k(_),!_){const O=f.current,T=C.current;O!=="custom"||T?(O!==t||T!==e)&&(l.current=!0,a(O,T)):(p(t),g(e))}},E=_=>{var O,T,D,I;_.stopPropagation(),document.activeElement===d.current&&_.key==="ArrowDown"||_.key==="ArrowRight"?((O=c.current)==null||O.focus(),u.current=!0):document.activeElement===c.current&&_.key==="ArrowUp"?((T=d.current)==null||T.focus(),u.current=!1):document.activeElement===c.current&&_.key==="ArrowLeft"&&((D=c.current)==null?void 0:D.selectionStart)===0&&((I=d.current)==null||I.focus(),u.current=!1),w==="custom"&&_.key==="Enter"&&(document.activeElement===d.current||document.activeElement===c.current)&&N(!1)};return r.jsxs(o.DropdownMenu,{open:m,onOpenChange:N,children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"outline",className:"tw:h-6",children:sc(t,n,e)})})}),r.jsx(o.TooltipContent,{children:n["%footnoteEditor_callerDropdown_tooltip%"]})]})}),r.jsxs(o.DropdownMenuContent,{style:{zIndex:o.Z_INDEX_ABOVE_POPOVER},onEscapeKeyDown:()=>{f.current=t,C.current=e,p(t),g(e)},onCloseAutoFocus:_=>{l.current&&(l.current=!1,_.preventDefault(),i())},onClick:()=>{u.current&&(u.current=!1)},onKeyDown:E,onMouseMove:()=>{var _;u.current&&((_=c.current)==null||_.focus())},children:[r.jsx(o.DropdownMenuLabel,{children:n["%footnoteEditor_callerDropdown_label%"]}),r.jsx(o.DropdownMenuSeparator,{}),r.jsx(o.DropdownMenuCheckboxItem,{checked:w==="generated",onCheckedChange:()=>p("generated"),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:justify-between",children:[r.jsx("span",{children:n["%footnoteEditor_callerDropdown_item_generated%"]}),r.jsx("span",{className:"tw:w-10 tw:text-center",children:$t.GENERATOR_NOTE_CALLER})]})}),r.jsx(o.DropdownMenuCheckboxItem,{checked:w==="hidden",onCheckedChange:()=>p("hidden"),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:justify-between",children:[r.jsx("span",{children:n["%footnoteEditor_callerDropdown_item_hidden%"]}),r.jsx("span",{className:"tw:w-10 tw:text-center",children:$t.HIDDEN_NOTE_CALLER})]})}),r.jsx(o.DropdownMenuCheckboxItem,{ref:d,checked:w==="custom",onCheckedChange:()=>p("custom"),onPointerDown:()=>{x.current=w==="custom"},onClick:_=>{var O;if(_.stopPropagation(),x.current&&_.target!==c.current){N(!1);return}u.current=!0,(O=c.current)==null||O.focus()},onSelect:_=>_.preventDefault(),children:r.jsxs("div",{className:"tw:flex tw:w-full tw:justify-between",children:[r.jsx("span",{children:n["%footnoteEditor_callerDropdown_item_custom%"]}),r.jsx(o.Input,{tabIndex:0,onMouseDown:_=>{_.stopPropagation(),p("custom"),u.current=!0},ref:c,className:"tw:h-auto tw:w-10 tw:p-0 tw:text-center",value:h,onKeyDown:_=>{_.key==="Enter"||_.key==="ArrowUp"||_.key==="ArrowDown"||_.key==="ArrowLeft"||_.key==="ArrowRight"||_.stopPropagation()},maxLength:1,onChange:_=>g(_.target.value)})]})})]})]})}const lc=(t,e)=>t==="f"?r.jsxs(r.Fragment,{children:[r.jsx(B.FunctionSquare,{})," ",e["%footnoteEditor_noteType_footnote_label%"]]}):t==="fe"?r.jsxs(r.Fragment,{children:[r.jsx(B.SquareSigma,{})," ",e["%footnoteEditor_noteType_endNote_label%"]]}):r.jsxs(r.Fragment,{children:[r.jsx(B.SquareX,{})," ",e["%footnoteEditor_noteType_crossReference_label%"]]}),dc=(t,e)=>{if(t==="x")return e["%footnoteEditor_noteType_crossReference_label%"];let a=e["%footnoteEditor_noteType_endNote_label%"];return t==="f"&&(a=e["%footnoteEditor_noteType_footnote_label%"]),L.formatReplacementString(e["%footnoteEditor_noteType_tooltip%"]??"",{noteType:a})};function wc({noteType:t,handleNoteTypeChange:e,localizedStrings:a,isTypeSwitchable:n,focusNoteText:i}){const l=s.useRef(!1),c=d=>{d!==t&&(l.current=!0,e(d))};return r.jsxs(o.DropdownMenu,{children:[r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsx(o.Button,{variant:"outline",className:"tw:h-6",children:lc(t,a)})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:dc(t,a)})})]})}),r.jsxs(o.DropdownMenuContent,{style:{zIndex:o.Z_INDEX_ABOVE_POPOVER},onCloseAutoFocus:d=>{l.current&&(l.current=!1,d.preventDefault(),i())},children:[r.jsx(o.DropdownMenuLabel,{children:a["%footnoteEditor_noteTypeDropdown_label%"]}),r.jsx(o.DropdownMenuSeparator,{}),r.jsxs(o.DropdownMenuCheckboxItem,{disabled:t!=="x"&&!n,checked:t==="x",onCheckedChange:()=>c("x"),className:"tw:gap-2",children:[r.jsx(B.SquareX,{}),r.jsx("span",{children:a["%footnoteEditor_noteType_crossReference_label%"]})]}),r.jsxs(o.DropdownMenuCheckboxItem,{disabled:t==="x"&&!n,checked:t==="f",onCheckedChange:()=>c("f"),className:"tw:gap-2",children:[r.jsx(B.FunctionSquare,{}),r.jsx("span",{children:a["%footnoteEditor_noteType_footnote_label%"]})]}),r.jsxs(o.DropdownMenuCheckboxItem,{disabled:t==="x"&&!n,checked:t==="fe",onCheckedChange:()=>c("fe"),className:"tw:gap-2",children:[r.jsx(B.SquareSigma,{}),r.jsx("span",{children:a["%footnoteEditor_noteType_endNote_label%"]})]})]})]})}const on=Object.freeze(["%markerMenu_deprecated_label%","%markerMenu_disallowed_label%","%markerMenu_noResults%","%markerMenu_searchPlaceholder%","%markerMenu_searchPlaceholder_character%","%markerMenu_searchPlaceholder_insert%","%markerMenu_searchPlaceholder_paragraph%"]);function uc({icon:t,className:e}){const a=t??B.Ban;return r.jsx(a,{className:e,size:16})}function pc({state:t}){return r.jsx("div",{"data-slot":"marker-selection-state",className:"tw:flex tw:w-4 tw:min-w-4 tw:items-center tw:justify-center",children:t!=="none"&&r.jsx(B.Check,{size:16})})}function Xa({item:t,localizedStrings:e}){return r.jsxs(o.CommandItem,{className:"tw:flex tw:gap-2 tw:hover:bg-accent",disabled:t.isDisallowed||t.isDeprecated||t.isDisabled,"aria-checked":t.selectionState===void 0?void 0:{all:!0,partial:"mixed",none:!1}[t.selectionState],onSelect:t.action,children:[t.selectionState!==void 0&&r.jsx(pc,{state:t.selectionState}),r.jsx("div",{className:"tw:w-8 tw:min-w-8",children:t.marker?r.jsx("span",{className:"tw:font-mono tw:text-xs",children:t.marker}):r.jsx("div",{children:r.jsx(uc,{icon:t.icon})})}),r.jsxs("div",{className:"tw:flex tw:min-w-0 tw:flex-1 tw:items-baseline tw:gap-2",children:[r.jsx("p",{className:"tw:min-w-0 tw:shrink tw:truncate tw:text-sm",title:t.title,children:t.title}),t.subtitle&&r.jsx("p",{className:"tw:min-w-0 tw:shrink-[9999] tw:truncate tw:text-end tw:text-xs tw:text-muted-foreground",title:t.subtitle,children:t.subtitle})]}),(t.isDisallowed||t.isDeprecated)&&r.jsx(o.CommandShortcut,{className:"tw:font-sans",children:t.isDisallowed?e["%markerMenu_disallowed_label%"]:e["%markerMenu_deprecated_label%"]})]})}function nn({localizedStrings:t,markerMenuItems:e,searchRef:a,searchPlaceholder:n}){const[i,l]=s.useState(""),[c,d]=s.useMemo(()=>{const u=o.stripMarkerNestingPrefix(i.trim().toLowerCase());if(!u){const h=e.filter(g=>!g.isDisallowed);return[h.length>0?h:e,[]]}const w=e.filter(h=>{var m;const g=(m=h.marker)==null?void 0:m.toLowerCase();return h.isDisallowed?g===u:g==null?void 0:g.includes(u)}),p=e.filter(h=>h.title.toLowerCase().includes(u)&&!w.includes(h));return[w,p]},[i,e]);return r.jsxs(o.Command,{className:"tw:p-1",shouldFilter:!1,loop:!0,children:[r.jsx(o.CommandInput,{className:"marker-menu-search",ref:a,value:i,onValueChange:u=>l(u),placeholder:n??t["%markerMenu_searchPlaceholder%"],spaceSelectsHighlightedItem:!0}),r.jsxs(o.CommandList,{children:[r.jsx(o.CommandEmpty,{children:t["%markerMenu_noResults%"]}),r.jsx(o.CommandGroup,{children:c.map(u=>{var w;return r.jsx(Xa,{item:u,localizedStrings:t},`item-${u.marker??((w=u.icon)==null?void 0:w.displayName)}-${u.title.replaceAll(" ","")}`)})}),d.length>0&&r.jsxs(r.Fragment,{children:[c.length>0&&r.jsx(o.CommandSeparator,{alwaysRender:!0}),r.jsx(o.CommandGroup,{children:d.map(u=>{var w;return r.jsx(Xa,{item:u,localizedStrings:t},`item-${u.marker??((w=u.icon)==null?void 0:w.displayName)}-${u.title.replaceAll(" ","")}`)})})]})]})]})}function hc(t,e,a,n,i){if(!n||n==="p")return[];const l=L.usfmMarkers[n],c=l!=null&&l.children?l:i&&L.usfmMarkers[i];if(!c||!c.children)return[];const d=[];return Object.entries(c.children).forEach(([,u])=>{d.push(...u.map(w=>({marker:w,title:a[L.usfmMarkers[w].description]??L.usfmMarkers[w].description,action:()=>{var p;(p=t.current)==null||p.insertMarker(w),e()}})))}),d.sort((u,w)=>(u.marker??u.title).localeCompare(w.marker??w.title))}function sn(t){return{id:t.marker,label:t.marker,description:t.description,badge:t.kind==="closeTag"?"%markerMenu_endTag_label%":void 0,muted:!t.isBasic}}function gc(t){var a;const e=(a=t.attributes)==null?void 0:a.char;e!=null&&e.style&&(e.style==="ft"&&(e.style="xt"),e.style==="fr"&&(e.style="xo"),e.style==="fq"&&(e.style="xq"))}function fc(t){var a;const e=(a=t.attributes)==null?void 0:a.char;e!=null&&e.style&&(e.style==="xt"&&(e.style="ft"),e.style==="xo"&&(e.style="fr"),e.style==="xq"&&(e.style="fq"))}const mc={type:"USJ",version:"3.1",content:[{type:"para"}]};function vc({classNameForEditor:t,noteOps:e,onChange:a,onClose:n,scrRef:i,noteKey:l,editorOptions:c,defaultMarkerMenuTrigger:d,localizedStrings:u,parentEditorRef:w,markerPalette:p,onNoteEdit:h}){var A;const g=s.useRef(null),m=s.useRef(null),k=s.useRef(null);s.useLayoutEffect(()=>{if(!k.current)return;const j=parseFloat(getComputedStyle(k.current).width);j>0&&(k.current.style.width=`${j}px`)},[]);const[x,f]=s.useState("generated"),[C,N]=s.useState("generated"),[E,_]=s.useState("*"),[O,T]=s.useState("*"),[D,I]=s.useState("f"),[M,R]=s.useState(!1),[Z,X]=s.useState(!0),[rt,y]=s.useState(!1),tt=s.useRef(!1),W=s.useRef(""),[z,J]=s.useState(!1),F=en(),[Y,dt]=s.useState(),ht=s.useRef(null),G=s.useRef(void 0),ut=s.useRef(0),gt=s.useRef(void 0),st=s.useCallback(()=>{var K,q,P;if((K=g.current)!=null&&K.getSelection())return;const j=gt.current;j?(q=g.current)==null||q.setSelection(j):(P=g.current)==null||P.selectNote(0)},[]),Ct=s.useCallback(()=>{var j;st(),(j=g.current)==null||j.focus()},[st]),yt=s.useMemo(()=>({...c,contextMenu:void 0,markerMenuTrigger:d,hasExternalUI:!0,view:{...c.view??$t.getDefaultViewOptions(),noteMode:"expanded",isNoteShellEditable:!1,showParaMarkerPrefixes:!1}}),[c,d]),Nt=s.useMemo(()=>hc(g,()=>J(!1),u,Y,D),[u,Y,D]);s.useEffect(()=>{var j;z||(j=g.current)==null||j.focus()},[D,z]);const Pt=s.useCallback(()=>{var P,Q,U;const j=(P=m.current)==null?void 0:P.querySelector(".editor-input"),K=j==null?void 0:j.querySelector("span.note"),q=(U=(Q=m.current)==null?void 0:Q.ownerDocument.getSelection())==null?void 0:U.anchorNode;return!!K&&!!q&&K.contains(q)},[]);s.useEffect(()=>{var Q,U;let j,K,q;tt.current=!1,gt.current=void 0,X(!0);const P=e==null?void 0:e.at(0);if(P&&$t.isInsertEmbedOpOfType("note",P)){const at=(Q=P.insert.note)==null?void 0:Q.caller;let vt="custom";at===$t.GENERATOR_NOTE_CALLER?vt="generated":at===$t.HIDDEN_NOTE_CALLER?vt="hidden":at&&(_(at),T(at)),f(vt),N(vt),I(((U=P.insert.note)==null?void 0:U.style)??"f"),j=setTimeout(()=>{var _t,ct,bt;(_t=g.current)==null||_t.applyUpdate([P]),(ct=g.current)==null||ct.selectNote(0),(bt=g.current)==null||bt.focus(),K=requestAnimationFrame(()=>{q=setTimeout(()=>{var wt,mt;Pt()||((wt=g.current)==null||wt.selectNote(0),(mt=g.current)==null||mt.focus())},0)})},0)}return()=>{j&&clearTimeout(j),K!==void 0&&cancelAnimationFrame(K),q!==void 0&&clearTimeout(q)}},[e,l,Pt]);const At=s.useCallback((j=!1)=>{var q,P,Q;h==null||h();const K=(P=(q=g.current)==null?void 0:q.getNoteOps(0))==null?void 0:P.at(0);K&&$t.isInsertEmbedOpOfType("note",K)&&(a==null||a([K]),j&&w&&l&&((Q=w.current)==null||Q.replaceEmbedUpdate(l,[K])))},[l,a,h,w]),Et=s.useCallback(j=>{var q,P,Q;const K=(q=g.current)==null?void 0:q.getSelection();(P=g.current)==null||P.applyUpdate([j,{delete:1}]),K&&((Q=g.current)==null||Q.setSelection(K)),Ct()},[Ct]),kt=s.useCallback((j,K)=>{var Q,U;const q=(U=(Q=g.current)==null?void 0:Q.getNoteOps(0))==null?void 0:U.at(0);if(!q||!$t.isInsertEmbedOpOfType("note",q)||!q.insert.note)return;let P;j==="custom"?P=K:j==="generated"?P=$t.GENERATOR_NOTE_CALLER:P=$t.HIDDEN_NOTE_CALLER,q.insert.note.caller!==P&&(q.insert.note.caller=P,Et(q))},[Et]),Tt=s.useCallback(()=>{var j;G.current||(j=g.current)==null||j.commitPendingMarkerEdits(),At(!0),n()},[n,At]),Zt=s.useRef(Tt);s.useLayoutEffect(()=>{Zt.current=Tt});const Ht=s.useRef({book:i.book,chapterNum:i.chapterNum});s.useLayoutEffect(()=>{(Ht.current.book!==i.book||Ht.current.chapterNum!==i.chapterNum)&&(Ht.current={book:i.book,chapterNum:i.chapterNum},Zt.current())},[i.book,i.chapterNum]);const Xt=()=>{var K;const j=(K=m.current)==null?void 0:K.getElementsByClassName("editor-input")[0];j!=null&&j.textContent&&navigator.clipboard.writeText(j.textContent)},ft=s.useCallback((j,K)=>{h==null||h(),f(j),_(K),kt(j,K)},[kt,h]),Wt=j=>{var q,P,Q,U;I(j);const K=(P=(q=g.current)==null?void 0:q.getNoteOps(0))==null?void 0:P.at(0);if(K&&$t.isInsertEmbedOpOfType("note",K)){K.insert.note&&(K.insert.note.style=j);const at=(U=(Q=K.insert.note)==null?void 0:Q.contents)==null?void 0:U.ops;D!=="x"&&j==="x"?at==null||at.forEach(vt=>gc(vt)):D==="x"&&j!=="x"&&(at==null||at.forEach(vt=>fc(vt))),Et(K)}},ie=j=>{dt(j.contextMarker),y(j.canRedo)},ge=s.useCallback(j=>{var q,P,Q,U,at;const K=(P=(q=g.current)==null?void 0:q.getNoteOps(0))==null?void 0:P.at(0);if(K&&$t.isInsertEmbedOpOfType("note",K)){j.content.length>1&&setTimeout(()=>{var ct;(ct=g.current)==null||ct.applyUpdate([{retain:2},{delete:1}])},0);const vt=(Q=K.insert.note)==null?void 0:Q.style,_t=(at=(U=K.insert.note)==null?void 0:U.contents)==null?void 0:at.ops;if(vt||R(!1),R(vt==="x"?!!(_t!=null&&_t.every(ct=>{var wt,mt;if(!((wt=ct.attributes)!=null&&wt.char))return!0;const bt=((mt=ct.attributes)==null?void 0:mt.char).style;return bt==="xt"||bt==="xo"||bt==="xq"})):!!(_t!=null&&_t.every(ct=>{var wt,mt;if(!((wt=ct.attributes)!=null&&wt.char))return!0;const bt=((mt=ct.attributes)==null?void 0:mt.char).style;return bt==="ft"||bt==="fr"||bt==="fq"}))),!tt.current){tt.current=!0,W.current=JSON.stringify(K),X(!0);return}X(JSON.stringify(K)===W.current),At()}else R(!1),X(!0)},[At]),Jt=s.useCallback(()=>{const j=window.getSelection();if(!Nt.length||!j||j.rangeCount===0)return;const K=m.current;if(!K)return;const q=j.getRangeAt(0).cloneRange();F.setSource({measure:()=>{const P=rn(q);return P&&an(P)},contextElement:K}),J(!0)},[Nt,F]),Ut=s.useRef(()=>{}),se=s.useCallback((j,K,q)=>{const{anchorRect:P}=j;if(!p||!P)return;const{passive:Q}=q;o.runMarkerPaletteSession({items:K,passive:Q,sessionCounterRef:ut,setSession:U=>{G.current=U},clearSessionIfCurrent:U=>o.clearPaletteSessionIfCurrent(G,U),runSessionKey:U=>Ut.current(U),show:U=>p.show(K.map(sn),P,Q,U),restoreSelectionIfLost:st,focusEditor:()=>{var U;return(U=g.current)==null?void 0:U.focus()},applyItem:U=>{var at;return(at=g.current)==null?void 0:at.applyMarkerMenuSelection(U,{trigger:"backslash",literalPrefixLanded:!1})},onShowError:U=>{(!L.isPlatformError(U)||U.code!==L.ABORTED)&&console.warn(`FootnoteEditor: the marker palette did not open: ${L.getErrorMessage(U)}`)}})},[p,st]),xt=s.useCallback(()=>{var q;const j=(q=g.current)==null?void 0:q.getMarkerMenuContext();if(!j)return!1;const K=$t.getMarkerMenuItems(yt.styleInfo??$t.defaultStyleInfo,j);return K.length===0?!1:(se(j,K,{passive:!j.hasTextSelection}),!0)},[se,yt.styleInfo]),Qt=s.useCallback(j=>{const K=G.current;if(!K||!p)return;o.handleMarkerPaletteSessionKeyDown(j,K,{update:P=>p.update(P),commit:()=>p.commit(),dismiss:()=>p.dismiss(),commitTyped:P=>{var Q;return(Q=g.current)==null?void 0:Q.commitTypedMarker(P)},commitTypedAndReopen:P=>{var Q;(Q=g.current)==null||Q.commitTypedMarker(P,{trailingSpace:!1}),xt()},commitTypedCloser:P=>{var Q;return(Q=g.current)==null?void 0:Q.commitTypedCloser(P)},commitItem:P=>{var U;const Q=K.items.find(at=>at.marker===P);Q&&((U=g.current)==null||U.applyMarkerMenuSelection(Q,{trigger:"backslash",literalPrefixLanded:!1}))}})==="ended"&&o.clearPaletteSessionIfCurrent(G,K.token)},[p,xt]);s.useEffect(()=>{Ut.current=Qt},[Qt]),s.useEffect(()=>{const j=K=>{var Q,U;const q=(Q=m.current)==null?void 0:Q.querySelector(".editor-input");if(!q||K.target!==q)return;const P=(U=g.current)==null?void 0:U.getSelection();P&&(gt.current=P)};return document.addEventListener("focusout",j),()=>document.removeEventListener("focusout",j)},[]),s.useEffect(()=>{const j=()=>{z&&J(!1)};return window.addEventListener("click",j),()=>{window.removeEventListener("click",j)}},[z]),s.useEffect(()=>{var j;z&&((j=ht.current)==null||j.focus())},[z]),s.useEffect(()=>{var q;const j=()=>{var P;return((P=m.current)==null?void 0:P.querySelector(".editor-input"))??void 0};if(((q=yt.view)==null?void 0:q.markerMode)==="editable"){const P=U=>{var _t,ct,bt,wt;if(o.isImeCompositionKeyEvent(U))return;const at=j();if(!at||document.activeElement!==at)return;if(G.current&&p){Ut.current(U);return}if(U.key==="Enter"&&!Pt()){U.preventDefault(),U.stopPropagation(),(_t=g.current)==null||_t.selectNote(0),(ct=g.current)==null||ct.focus();return}if(p&&U.key===d){if(!Pt()){U.preventDefault(),U.stopPropagation(),(bt=g.current)==null||bt.selectNote(0),(wt=g.current)==null||wt.focus();return}xt()&&(U.preventDefault(),U.stopPropagation())}},Q=()=>{var at,vt;const U=j();!U||document.activeElement!==U||Pt()||((at=g.current)==null||at.selectNote(0),(vt=g.current)==null||vt.focus())};return document.addEventListener("keydown",P,{capture:!0}),document.addEventListener("paste",Q,{capture:!0}),()=>{document.removeEventListener("keydown",P,{capture:!0}),document.removeEventListener("paste",Q,{capture:!0})}}const K=P=>{const Q=j();!z&&Q&&document.activeElement===Q&&P.key===d?(P.preventDefault(),Jt()):z&&P.key==="Escape"&&(P.preventDefault(),J(!1))};return document.addEventListener("keydown",K),()=>{document.removeEventListener("keydown",K)}},[z,Jt,d,(A=yt.view)==null?void 0:A.markerMode,yt.styleInfo,p,xt,Pt]),s.useEffect(()=>{const j=()=>{var P,Q,U;const K=((P=m.current)==null?void 0:P.querySelector(".editor-input"))??void 0;if(!K||document.activeElement!==K)return;const q=document.getSelection();q&&!q.isCollapsed||Pt()||((Q=g.current)==null||Q.selectNote(0),(U=g.current)==null||U.focus())};return document.addEventListener("pointerup",j),document.addEventListener("selectionchange",j),()=>{document.removeEventListener("pointerup",j),document.removeEventListener("selectionchange",j)}},[Pt]);const ae=u["%footnoteEditor_copyButton_tooltip%"];return r.jsxs(r.Fragment,{children:[r.jsxs("div",{ref:k,className:"footnote-editor tw:grid tw:max-w-full tw:gap-[12px]",children:[r.jsxs("div",{className:"tw:flex tw:flex-wrap tw:gap-y-2",children:[r.jsxs("div",{className:"tw:flex tw:gap-4",children:[r.jsx(wc,{isTypeSwitchable:M,noteType:D,handleNoteTypeChange:Wt,localizedStrings:u,focusNoteText:Ct}),r.jsx(cc,{callerType:x,customCaller:E,updateCaller:ft,localizedStrings:u,focusNoteText:Ct})]}),r.jsx("div",{className:"tw:flex tw:flex-1 tw:justify-end",children:r.jsxs(o.ButtonGroup,{children:[r.jsx(Qo,{onUndoClick:()=>{var j;return(j=g.current)==null?void 0:j.undo()},onRedoClick:()=>{var j;return(j=g.current)==null?void 0:j.redo()},canUndo:!Z,canRedo:rt,localizedStrings:u}),r.jsx(ma,{onCancelClick:n,onAcceptClick:Tt,canAccept:!Z||C!==x||x==="custom"&&E!==O,localizedStrings:u,acceptLabel:u["%footnoteEditor_saveButton_tooltip%"]})]})})]}),r.jsxs("div",{ref:m,className:"tw:relative tw:rounded-[6px] tw:border-2 tw:border-ring",children:[r.jsx("div",{className:t,children:r.jsx(tn,{editorRef:g,canUndo:!Z,canRedo:rt,children:r.jsx($t.Editorial,{options:yt,onStateChange:ie,onUsjChange:ge,defaultUsj:mc,onScrRefChange:()=>{},scrRef:i,ref:g})})}),r.jsx("div",{className:"tw:absolute tw:bottom-0 tw:right-0",children:r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(o.Button,{"aria-label":ae,onClick:Xt,className:"tw:h-6 tw:w-6",variant:"ghost",size:"icon",children:r.jsx(B.Copy,{})})}),r.jsx(o.TooltipContent,{children:r.jsx("p",{children:ae})})]})})})]})]}),r.jsxs(o.Popover,{open:z,children:[r.jsx(o.PopoverAnchor,{virtualRef:F.virtualRef}),r.jsx(o.PopoverContent,{className:"tw:w-[500px] tw:p-0",onClick:j=>{j.preventDefault(),j.stopPropagation()},children:r.jsx(nn,{markerMenuItems:Nt,localizedStrings:u,searchRef:ht})})]})]})}const bc=Object.freeze([...on,...Object.entries(L.usfmMarkers).map(([,t])=>t.description).filter(t=>!!t),"%footnoteEditor_callerDropdown_item_custom%","%footnoteEditor_callerDropdown_item_generated%","%footnoteEditor_callerDropdown_item_hidden%","%footnoteEditor_callerDropdown_label%","%footnoteEditor_callerDropdown_tooltip%","%footnoteEditor_copyButton_tooltip%","%footnoteEditor_noteType_crossReference_label%","%footnoteEditor_noteType_endNote_label%","%footnoteEditor_noteType_footnote_label%","%footnoteEditor_noteType_tooltip%","%footnoteEditor_noteTypeDropdown_label%","%footnoteEditor_saveButton_tooltip%",...Jo,...fa]);function xc(t,e,a=!0,n=void 0){if(!e||e.length===0)return;const i=[],l=[];let c=[];return e.forEach(d=>{typeof d!="string"&&d.marker==="fp"?(c.length>0&&l.push(c),c=[d]):c.push(d)}),c.length>0&&l.push(c),l.map((d,u)=>{const w=u===l.length-1;return r.jsxs("p",{children:[ba(t,d,a,!0,i),w&&n]},`para-${u}`)})}function ba(t,e,a=!0,n=!0,i=[]){if(!(!e||e.length===0))return e.map((l,c)=>{const d=`part-${c}`;if(typeof l=="string"){if(n){const u=o.cn(`usfm_${t}`);return r.jsx("span",{className:u,children:l},d)}return r.jsxs("span",{className:"tw:inline-flex tw:items-center tw:gap-1 tw:underline tw:decoration-destructive",children:[r.jsx(B.AlertCircle,{className:"tw:h-4 tw:w-4 tw:fill-destructive"}),r.jsx("span",{children:l}),r.jsx(B.AlertCircle,{className:"tw:h-4 tw:w-4 tw:fill-destructive"})]},d)}return yc(l,d,a,[...i,t??"unknown"])})}function yc(t,e,a,n=[]){const{marker:i}=t;return r.jsxs("span",{children:[i?a&&r.jsx("span",{className:"marker",children:`\\${i} `}):r.jsx(B.AlertCircle,{className:"tw:text-error tw:mr-1 tw:inline-block tw:h-4 tw:w-4","aria-label":"Missing marker"}),ba(i,t.content,a,!0,[...n,i??"unknown"])]},e)}function cn({footnote:t,layout:e="horizontal",formatCaller:a,showMarkers:n=!0}){const i=a?a(t.caller):t.caller,l=i!==t.caller;let c,d=t.content;Array.isArray(t.content)&&t.content.length>0&&typeof t.content[0]!="string"&&(t.content[0].marker==="fr"||t.content[0].marker==="xo")&&([c,...d]=t.content);const u=n?r.jsx("span",{className:"marker",children:`\\${t.marker}`}):void 0,w=n?r.jsx("span",{className:"marker",children:` \\${t.marker}*`}):void 0,p=i&&r.jsx("span",{className:o.cn("note-caller tw:inline-block",{formatted:l}),children:i}),h=t.category&&r.jsxs("span",{className:"note-category tw:inline-block",children:[n&&r.jsx("span",{className:"marker",children:"\\cat "}),t.category,n&&r.jsx("span",{className:"marker",children:"\\cat*"})]}),g=c&&r.jsxs(r.Fragment,{children:[ba(t.marker,[c],n,!1)," "]}),m=!!u,k=!!p,x=!!h,f=e==="horizontal"?"horizontal":"vertical",C=n?"marker-visible":"",N=e==="horizontal"?"tw:col-span-1":"tw:col-span-2 tw:col-start-1 tw:row-start-2",E=o.cn(f,C);return r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:o.cn("textual-note-header tw:col-span-1 tw:w-fit tw:text-nowrap",E),children:[u,m&&(k||x)&&" ",p,k&&x&&" ",h]}),r.jsx("div",{className:o.cn("textual-note-header tw:col-span-1 tw:w-fit tw:text-nowrap",E),children:g}),r.jsx("div",{className:o.cn("textual-note-body tw:flex tw:flex-col tw:gap-1",N,E),children:d&&d.length>0&&r.jsx(r.Fragment,{children:xc(t.marker,d,n,w)})})]})}function kc({className:t,classNameForItems:e,footnotes:a,layout:n="horizontal",listId:i,selectedFootnote:l,selectionRequest:c,showMarkers:d=!0,suppressFormatting:u=!1,formatCaller:w,onFootnoteSelected:p}){const h=w??L.getFormatCallerFunction(a,void 0),g=(_,O)=>{p==null||p(_,O,i)},m=l?a.findIndex(_=>_===l):-1,[k,x]=s.useState(m),f=(_,O,T)=>{if(a.length)switch(_.key){case"Enter":case" ":_.preventDefault(),p==null||p(O,T,i);break}},C=_=>{if(a.length)switch(_.key){case"ArrowDown":_.preventDefault(),x(O=>Math.min(O+1,a.length-1));break;case"ArrowUp":_.preventDefault(),x(O=>Math.max(O-1,0));break}},N=s.useRef([]);s.useEffect(()=>{var _;k>=0&&k_===l):-1;return s.useEffect(()=>{var _;E<0||E>=N.current.length||(_=N.current[E])==null||_.scrollIntoView({block:"nearest"})},[E,c]),r.jsx("div",{role:"listbox","aria-label":"Footnotes",tabIndex:k<0?0:-1,className:o.cn("tw:h-full tw:overflow-y-auto",t),onKeyDown:C,children:r.jsx("ul",{className:o.cn("tw:p-0.5 tw:pt-1","tw:grid",n==="horizontal"?"tw:grid-cols-[min-content_min-content_1fr]":"tw:grid-cols-[min-content_1fr]",!u&&"formatted-font"),children:a.map((_,O)=>{const T=_===l,D=`${i}-${O}`;return r.jsxs(s.Fragment,{children:[r.jsx("li",{ref:I=>{N.current[O]=I},role:"option","aria-selected":T,"data-marker":_.marker,"data-state":T?"selected":void 0,tabIndex:O===k?0:-1,className:o.cn("tw:gap-x-3 tw:gap-y-1 tw:p-2 tw:data-[state=selected]:bg-muted",p&&"tw:hover:bg-muted/50","tw:w-full tw:rounded-sm tw:border-0 tw:bg-transparent tw:shadow-none","tw:focus:outline-hidden tw:focus-visible:outline-hidden","tw:focus-visible:ring-offset-0.5 tw:focus-visible:relative tw:focus-visible:z-10 tw:focus-visible:ring-2 tw:focus-visible:ring-ring","tw:grid tw:grid-flow-col tw:grid-cols-subgrid",n==="horizontal"?"tw:col-span-3":"tw:col-span-2 tw:row-span-2",e),onClick:()=>g(_,O),onKeyDown:I=>f(I,_,O),children:r.jsx(cn,{footnote:_,layout:n,formatCaller:()=>h(_.caller,O),showMarkers:d})}),Oa&&e.push(t.substring(a,i.index)),e.push(r.jsx("strong",{children:i[1]},i.index)),a=n.lastIndex;return a0?e:[t]}function jc({occurrenceData:t,setScriptureReference:e,localizedStrings:a,classNameForText:n}){const i=De(),l=a["%webView_inventory_occurrences_table_header_reference%"],c=a["%webView_inventory_occurrences_table_header_occurrence%"],d=s.useMemo(()=>{const u=[],w=new Set;return t.forEach(p=>{const h=`${p.reference.book}:${p.reference.chapterNum}:${p.reference.verseNum}:${p.text}`;w.has(h)||(w.add(h),u.push(p))}),u},[t]);return r.jsxs(o.Table,{stickyHeader:!0,children:[r.jsx(o.TableHeader,{stickyHeader:!0,children:r.jsxs(o.TableRow,{children:[r.jsx(o.TableHead,{children:l}),r.jsx(o.TableHead,{children:c})]})}),r.jsx(o.TableBody,{children:d.length>0&&d.map(u=>r.jsxs(o.TableRow,{onClick:()=>{e(u.reference)},children:[r.jsx(o.TableCell,{children:L.formatScrRef(u.reference,"English")}),r.jsx(o.TableCell,{className:n,"data-platform-content-zoom-root":i["data-platform-content-zoom-root"],"data-platform-content-zoom-label":i["data-platform-content-zoom-label"],children:_c(u.text)})]},`${u.reference.book} ${u.reference.chapterNum}:${u.reference.verseNum}-${u.text}`))})]})}function xa({className:t,...e}){return r.jsx(V.Checkbox.Root,{"data-slot":"checkbox",className:o.cn("pr-twp tw:peer tw:relative tw:flex tw:size-4 tw:shrink-0 tw:items-center tw:justify-center tw:rounded-[4px] tw:border tw:border-input tw:transition-colors tw:outline-none tw:group-has-disabled/field:opacity-50 tw:after:absolute tw:after:-inset-x-3 tw:after:-inset-y-2 tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:disabled:cursor-not-allowed tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:aria-invalid:aria-checked:border-primary tw:dark:bg-input/30 tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40 tw:data-checked:border-primary tw:data-checked:bg-primary tw:data-checked:text-primary-foreground tw:dark:data-checked:bg-primary",t),...e,children:r.jsx(V.Checkbox.Indicator,{"data-slot":"checkbox-indicator",className:"tw:grid tw:place-content-center tw:text-current tw:transition-none tw:[&>svg]:size-3.5",children:r.jsx(Mt.IconCheck,{})})})}const Cc=t=>{if(t==="asc")return r.jsx(B.ArrowUpIcon,{className:"tw:h-4 tw:w-4"});if(t==="desc")return r.jsx(B.ArrowDownIcon,{className:"tw:h-4 tw:w-4"})},ar=(t,e,a)=>r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsxs(o.TooltipTrigger,{className:o.cn("tw:flex tw:w-full tw:justify-start",a),variant:"ghost",onClick:()=>t.toggleSorting(void 0),children:[r.jsx("span",{className:"tw:w-6 tw:max-w-fit tw:flex-1 tw:overflow-hidden tw:text-ellipsis",children:e}),Cc(t.getIsSorted())]}),r.jsx(o.TooltipContent,{side:"bottom",children:e})]})}),Nc=t=>({accessorKey:"item",accessorFn:e=>e.items[0],header:({column:e})=>ar(e,t)}),Ec=(t,e)=>({accessorKey:`item${e}`,accessorFn:a=>a.items[e],header:({column:a})=>ar(a,t)}),Tc=t=>({accessorKey:"count",header:({column:e})=>ar(e,t,"tw:justify-end"),cell:({row:e})=>r.jsx("div",{className:"tw:flex tw:justify-end tw:tabular-nums",children:e.getValue("count")})}),Kr=(t,e,a,n,i,l)=>{let c=[...a];t.forEach(u=>{e==="approved"?c.includes(u)||c.push(u):c=c.filter(w=>w!==u)}),n(c);let d=[...i];t.forEach(u=>{e==="unapproved"?d.includes(u)||d.push(u):d=d.filter(w=>w!==u)}),l(d)},Sc=(t,e,a,n,i)=>({accessorKey:"status",header:({column:l})=>ar(l,t,"tw:justify-center"),cell:({row:l})=>{const c=l.getValue("status"),d=l.getValue("item");return r.jsx("div",{className:"tw:flex tw:justify-center",children:r.jsxs(ua,{value:c,variant:"outline",type:"single",className:"tw:gap-0",children:[r.jsx(tr,{onClick:u=>{u.stopPropagation(),Kr([d],"approved",e,a,n,i)},value:"approved",className:"tw:rounded-e-none tw:border-e-0",children:r.jsx(B.CircleCheckIcon,{})}),r.jsx(tr,{onClick:u=>{u.stopPropagation(),Kr([d],"unapproved",e,a,n,i)},value:"unapproved",className:"tw:rounded-none",children:r.jsx(B.CircleXIcon,{})}),r.jsx(tr,{onClick:u=>{u.stopPropagation(),Kr([d],"unknown",e,a,n,i)},value:"unknown",className:"tw:rounded-s-none tw:border-s-0",children:r.jsx(B.CircleHelpIcon,{})})]})})}}),Rc=t=>t.split(/(?:\r?\n|\r)|(?=(?:\\(?:v|c|id)))/g),Mc=t=>{const e=/^\\[vc]\s+(\d+)/,a=t.match(e);if(a)return+a[1]},Dc=t=>{const e=t.match(/^\\id\s+([A-Za-z]+)/);return e?e[1]:""},ln=(t,e,a)=>a.includes(t)?"unapproved":e.includes(t)?"approved":"unknown",Ic=Object.freeze(["%webView_inventory_all%","%webView_inventory_approved%","%webView_inventory_unapproved%","%webView_inventory_unknown%","%webView_inventory_scope_currentBook%","%webView_inventory_scope_chapter%","%webView_inventory_scope_verse%","%webView_inventory_filter_text%","%webView_inventory_show_additional_items%","%webView_inventory_occurrences_table_header_reference%","%webView_inventory_occurrences_table_header_occurrence%","%webView_inventory_no_results%"]),Oc=(t,e,a)=>{let n=t;return e!=="all"&&(n=n.filter(i=>e==="approved"&&i.status==="approved"||e==="unapproved"&&i.status==="unapproved"||e==="unknown"&&i.status==="unknown")),a!==""&&(n=n.filter(i=>i.items[0].includes(a))),n},Pc=(t,e,a)=>t.map(n=>{const i=L.isString(n.key)?n.key:n.key[0];return{items:L.isString(n.key)?[n.key]:n.key,count:n.count,status:n.status||ln(i,e,a),occurrences:n.occurrences||[]}}),we=(t,e)=>t[e]??e;function zc({inventoryItems:t,setVerseRef:e,localizedStrings:a,additionalItemsLabels:n,approvedItems:i,unapprovedItems:l,scope:c,onScopeChange:d,columns:u,id:w,areInventoryItemsLoading:p=!1,classNameForVerseText:h,onItemSelected:g}){const m=we(a,"%webView_inventory_all%"),k=we(a,"%webView_inventory_approved%"),x=we(a,"%webView_inventory_unapproved%"),f=we(a,"%webView_inventory_unknown%"),C=we(a,"%webView_inventory_scope_currentBook%"),N=we(a,"%webView_inventory_scope_chapter%"),E=we(a,"%webView_inventory_scope_verse%"),_=we(a,"%webView_inventory_filter_text%"),O=we(a,"%webView_inventory_show_additional_items%"),T=we(a,"%webView_inventory_no_results%"),[D,I]=s.useState(!1),[M,R]=s.useState("all"),[Z,X]=s.useState(""),[rt,y]=s.useState([]),tt=s.useMemo(()=>{const G=t??[];return G.length===0?[]:Pc(G,i,l)},[t,i,l]),W=s.useMemo(()=>{if(D)return tt;const G=[];return tt.forEach(ut=>{const gt=ut.items[0],st=G.find(Ct=>Ct.items[0]===gt);st?(st.count+=ut.count,st.occurrences=st.occurrences.concat(ut.occurrences)):G.push({items:[gt],count:ut.count,occurrences:ut.occurrences,status:ut.status})}),G},[D,tt]),z=s.useMemo(()=>W.length===0?[]:Oc(W,M,Z),[W,M,Z]),J=s.useMemo(()=>{var gt,st;if(!D)return u;const G=(gt=n==null?void 0:n.tableHeaders)==null?void 0:gt.length;if(!G)return u;const ut=[];for(let Ct=0;Ct{z.length===0?y([]):z.length===1&&y(z[0].items)},[z]);const F=(G,ut)=>{ut.setRowSelection(()=>{const st={};return st[G.index]=!0,st});const gt=G.original.items;y(gt),g&>.length>0&&g(gt[0])},Y=G=>{if(G==="book"||G==="chapter"||G==="verse")d(G);else throw new Error(`Invalid scope value: ${G}`)},dt=G=>{if(G==="all"||G==="approved"||G==="unapproved"||G==="unknown")R(G);else throw new Error(`Invalid status filter value: ${G}`)},ht=s.useMemo(()=>{if(W.length===0||rt.length===0)return[];const G=W.filter(ut=>L.deepEqual(D?ut.items:[ut.items[0]],rt));if(G.length>1)throw new Error("Selected item is not unique");return G.length===0?[]:G[0].occurrences},[rt,D,W]);return r.jsx("div",{id:w,className:"pr-twp tw:h-full tw:overflow-auto",children:r.jsxs("div",{className:"tw:flex tw:h-full tw:w-full tw:min-w-min tw:flex-col",children:[r.jsxs("div",{className:"tw:flex tw:items-stretch",style:{contain:"inline-size"},children:[r.jsxs(Te,{onValueChange:G=>dt(G),defaultValue:M,children:[r.jsx(Re,{className:"tw:m-1 tw:w-auto tw:flex-1",children:r.jsx(Se,{placeholder:"Select filter"})}),r.jsxs(Me,{children:[r.jsx(re,{value:"all",children:m}),r.jsx(re,{value:"approved",children:k}),r.jsx(re,{value:"unapproved",children:x}),r.jsx(re,{value:"unknown",children:f})]})]}),r.jsxs(Te,{onValueChange:G=>Y(G),defaultValue:c,children:[r.jsx(Re,{className:"tw:m-1 tw:w-auto tw:flex-1",children:r.jsx(Se,{placeholder:"Select scope"})}),r.jsxs(Me,{children:[r.jsx(re,{value:"book",children:C}),r.jsx(re,{value:"chapter",children:N}),r.jsx(re,{value:"verse",children:E})]})]}),r.jsx(o.Input,{className:"tw:m-1 tw:flex-1 tw:rounded-md tw:border",placeholder:_,value:Z,onChange:G=>{X(G.target.value)}}),n&&r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsxs("div",{className:"tw:m-1 tw:flex tw:w-fit tw:min-w-[26px] tw:items-center tw:rounded-md tw:border",children:[r.jsx(xa,{className:"tw:m-1 tw:shrink-0",checked:D,onCheckedChange:G=>{I(G)}}),r.jsx(o.Label,{className:"tw:m-1 tw:truncate",children:(n==null?void 0:n.checkboxText)??O})]})}),r.jsx(o.TooltipContent,{children:(n==null?void 0:n.checkboxText)??O})]})})]}),r.jsx("div",{className:"tw:m-1 tw:flex-1 tw:overflow-auto tw:rounded-md tw:border",children:r.jsx(Yo,{columns:J,data:z,onRowClickHandler:F,stickyHeader:!0,isLoading:p,noResultsMessage:T})}),ht.length>0&&r.jsx("div",{className:"tw:m-1 tw:flex-1 tw:overflow-auto tw:rounded-md tw:border",children:r.jsx(jc,{classNameForText:h,occurrenceData:ht,setScriptureReference:e,localizedStrings:a})})]})})}function dn(t,e){var a;return(a=Object.entries(t).find(([,n])=>"menuItem"in n&&n.menuItem===e))==null?void 0:a[0]}function wn(t){return Object.entries(t).flatMap(([e,a])=>typeof a=="object"?[{columnKey:e,column:a}]:[]).sort((e,a)=>e.column.order-a.column.order)}function ya(t,e,a){return"column"in e&&e.column===a||t===a}function Lc(t){const e=new Set(t.items.map(n=>n.group)),a=Object.entries(t.groups).filter(([n])=>e.has(n));return wn(t.columns).filter(({columnKey:n})=>a.some(([i,l])=>ya(i,l,n))).map(({columnKey:n,column:i})=>({columnKey:n,label:i.label,isHeaderHidden:i.isHeaderHidden??!1}))}const Ac="16rem",Bc="3rem",un=s.createContext(void 0);function or(){const t=s.useContext(un);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function pn({defaultOpen:t=!0,open:e,onOpenChange:a,className:n,style:i,children:l,side:c="primary",...d}){const[u,w]=s.useState(t),p=e??u,h=s.useCallback(E=>{const _=typeof E=="function"?E(p):E;a?a(_):w(_)},[a,p]),g=s.useCallback(()=>h(E=>!E),[h]),m=p?"expanded":"collapsed",f=o.readDirection()==="ltr"?c:c==="primary"?"secondary":"primary",C=s.useMemo(()=>({state:m,open:p,setOpen:h,toggleSidebar:g,side:f}),[m,p,h,g,f]),N={"--sidebar-width":Ac,"--sidebar-width-icon":Bc,...i};return r.jsx(un.Provider,{value:C,children:r.jsx("div",{"data-slot":"sidebar-wrapper",style:N,className:o.cn("pr-twp tw:group/sidebar-wrapper tw:flex tw:w-full tw:has-data-[variant=inset]:bg-sidebar",n),...d,children:l})})}function hn({variant:t="sidebar",collapsible:e="offcanvas",className:a,children:n,...i}){const l=or();return e==="none"?r.jsx("div",{"data-slot":"sidebar",className:o.cn("tw:flex tw:h-full tw:w-(--sidebar-width) tw:flex-col tw:bg-sidebar tw:text-sidebar-foreground",a),...i,children:n}):r.jsxs("div",{className:"tw:group tw:peer tw:hidden tw:text-sidebar-foreground tw:md:block","data-state":l.state,"data-collapsible":l.state==="collapsed"?e:"","data-variant":t,"data-side":l.side,"data-slot":"sidebar",children:[r.jsx("div",{"data-slot":"sidebar-gap",className:o.cn("tw:relative tw:w-(--sidebar-width) tw:bg-transparent tw:transition-[width] tw:duration-200 tw:ease-linear","tw:group-data-[collapsible=offcanvas]:w-0","tw:group-data-[side=secondary]:rotate-180",t==="floating"||t==="inset"?"tw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"tw:group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),r.jsx("div",{"data-slot":"sidebar-container","data-side":l.side,className:o.cn("tw:absolute tw:inset-y-0 tw:z-10 tw:hidden tw:h-svh tw:w-(--sidebar-width) tw:transition-[left,right,width] tw:duration-200 tw:ease-linear tw:md:flex",l.side==="primary"?"tw:left-0 tw:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"tw:right-0 tw:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"tw:p-2 tw:group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"tw:group-data-[collapsible=icon]:w-(--sidebar-width-icon) tw:group-data-[side=primary]:border-e tw:group-data-[side=secondary]:border-s",a),...i,children:r.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"tw:flex tw:size-full tw:flex-col tw:bg-sidebar tw:group-data-[variant=floating]:rounded-lg tw:group-data-[variant=floating]:shadow-sm tw:group-data-[variant=floating]:ring-1 tw:group-data-[variant=floating]:ring-sidebar-border",children:n})})]})}function Vc({className:t,onClick:e,...a}){const{toggleSidebar:n,side:i}=or();return r.jsxs(o.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:o.cn(t),onClick:l=>{e==null||e(l),n()},...a,children:[i==="primary"?r.jsx(Mt.IconLayoutSidebar,{}):r.jsx(Mt.IconLayoutSidebarRight,{}),r.jsx("span",{className:"tw:sr-only",children:"Toggle Sidebar"})]})}function $c({className:t,...e}){const{toggleSidebar:a}=or();return r.jsx("button",{type:"button","data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:a,title:"Toggle Sidebar",className:o.cn("tw:absolute tw:inset-y-0 tw:z-20 tw:hidden tw:w-4 tw:transition-all tw:ease-linear tw:group-data-[side=primary]:-right-4 tw:group-data-[side=secondary]:left-0 tw:after:absolute tw:after:inset-y-0 tw:after:start-1/2 tw:after:w-[2px] tw:hover:after:bg-sidebar-border tw:sm:flex tw:ltr:-translate-x-1/2 tw:rtl:translate-x-1/2","tw:in-data-[side=primary]:cursor-w-resize tw:rtl:in-data-[side=primary]:cursor-e-resize tw:in-data-[side=secondary]:cursor-e-resize tw:rtl:in-data-[side=secondary]:cursor-w-resize","tw:[[data-side=primary][data-state=collapsed]_&]:cursor-e-resize tw:rtl:[[data-side=primary][data-state=collapsed]_&]:cursor-w-resize tw:[[data-side=secondary][data-state=collapsed]_&]:cursor-w-resize tw:rtl:[[data-side=secondary][data-state=collapsed]_&]:cursor-e-resize","tw:group-data-[collapsible=offcanvas]:translate-x-0 tw:group-data-[collapsible=offcanvas]:after:start-full tw:hover:group-data-[collapsible=offcanvas]:bg-sidebar","tw:[[data-side=primary][data-collapsible=offcanvas]_&]:-end-2","tw:[[data-side=secondary][data-collapsible=offcanvas]_&]:-start-2",t),...e})}function gn({className:t,...e}){return r.jsx("main",{"data-slot":"sidebar-inset",className:o.cn("tw:relative tw:flex tw:w-full tw:flex-1 tw:flex-col tw:bg-background tw:md:peer-data-[variant=inset]:m-2 tw:md:peer-data-[variant=inset]:ms-0 tw:md:peer-data-[variant=inset]:rounded-xl tw:md:peer-data-[variant=inset]:shadow-sm tw:md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",t),...e})}function Fc({className:t,...e}){return r.jsx(o.Input,{"data-slot":"sidebar-input","data-sidebar":"input",className:o.cn("tw:h-8 tw:w-full tw:bg-background tw:shadow-none",t),...e})}function Kc({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:o.cn("tw:flex tw:flex-col tw:gap-2 tw:p-2",t),...e})}function Uc({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:o.cn("tw:flex tw:flex-col tw:gap-2 tw:p-2",t),...e})}function Gc({className:t,...e}){return r.jsx(o.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:o.cn("tw:mx-2 tw:w-auto tw:bg-sidebar-border",t),...e})}function fn({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:o.cn("tw:no-scrollbar tw:flex tw:min-h-0 tw:flex-1 tw:flex-col tw:gap-0 tw:overflow-auto tw:group-data-[collapsible=icon]:overflow-hidden",t),...e})}function ta({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:o.cn("tw:relative tw:flex tw:w-full tw:min-w-0 tw:flex-col tw:p-2",t),...e})}function ea({className:t,asChild:e=!1,...a}){const n=e?V.Slot.Root:"div";return r.jsx(n,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:o.cn("tw:flex tw:h-8 tw:shrink-0 tw:items-center tw:rounded-md tw:px-2 tw:text-xs tw:font-medium tw:text-sidebar-foreground/70 tw:ring-sidebar-ring tw:outline-hidden tw:transition-[margin,opacity] tw:duration-200 tw:ease-linear tw:group-data-[collapsible=icon]:-mt-8 tw:group-data-[collapsible=icon]:opacity-0 tw:focus-visible:ring-2 tw:[&>svg]:size-4 tw:[&>svg]:shrink-0",t),...a})}function Hc({className:t,asChild:e=!1,...a}){const n=e?V.Slot.Root:"button";return r.jsx(n,{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:o.cn("tw:absolute tw:top-3.5 tw:end-3 tw:flex tw:aspect-square tw:w-5 tw:items-center tw:justify-center tw:rounded-md tw:p-0 tw:text-sidebar-foreground tw:ring-sidebar-ring tw:outline-hidden tw:transition-transform tw:group-data-[collapsible=icon]:hidden tw:after:absolute tw:after:-inset-2 tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:md:after:hidden tw:[&>svg]:size-4 tw:[&>svg]:shrink-0",t),...a})}function ra({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:o.cn("tw:w-full tw:text-sm",t),...e})}function mn({className:t,...e}){return r.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:o.cn("tw:flex tw:w-full tw:min-w-0 tw:flex-col tw:gap-0",t),...e})}function vn({className:t,...e}){return r.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:o.cn("tw:group/menu-item tw:relative",t),...e})}const qc=aa.cva("tw:peer/menu-button tw:group/menu-button tw:flex tw:w-full tw:items-center tw:gap-2 tw:overflow-hidden tw:rounded-md tw:p-2 tw:text-start tw:text-sm tw:ring-sidebar-ring tw:outline-hidden tw:transition-[width,height,padding] tw:group-has-data-[sidebar=menu-action]/menu-item:pe-8 tw:group-data-[collapsible=icon]:size-8! tw:group-data-[collapsible=icon]:p-2! tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:active:bg-sidebar-accent tw:active:text-sidebar-accent-foreground tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-disabled:pointer-events-none tw:aria-disabled:opacity-50 tw:data-open:hover:bg-sidebar-accent tw:data-open:hover:text-sidebar-accent-foreground tw:data-active:bg-sidebar-accent tw:data-active:font-medium tw:data-active:text-sidebar-accent-foreground tw:[&_svg]:size-4 tw:[&_svg]:shrink-0 tw:[&>span:last-child]:truncate",{variants:{variant:{default:"tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground",outline:"tw:bg-background tw:shadow-[0_0_0_1px_var(--sidebar-border)] tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"tw:h-8 tw:text-sm",sm:"tw:h-7 tw:text-xs",lg:"tw:h-12 tw:text-sm tw:group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function bn({asChild:t=!1,isActive:e=!1,variant:a="default",size:n="default",tooltip:i,className:l,...c}){const d=t?V.Slot.Root:"button",{state:u}=or(),w=r.jsx(d,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":n,"data-active":e,className:o.cn(qc({variant:a,size:n}),l),...c});if(!i)return w;const p=typeof i=="string"?{children:i}:i;return r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:w}),r.jsx(o.TooltipContent,{side:"right",align:"center",hidden:u!=="collapsed",...p})]})}function Yc({className:t,asChild:e=!1,showOnHover:a=!1,...n}){const i=e?V.Slot.Root:"button";return r.jsx(i,{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:o.cn("tw:absolute tw:top-1.5 tw:end-1 tw:flex tw:aspect-square tw:w-5 tw:items-center tw:justify-center tw:rounded-md tw:p-0 tw:text-sidebar-foreground tw:ring-sidebar-ring tw:outline-hidden tw:transition-transform tw:group-data-[collapsible=icon]:hidden tw:peer-hover/menu-button:text-sidebar-accent-foreground tw:peer-data-[size=default]/menu-button:top-1.5 tw:peer-data-[size=lg]/menu-button:top-2.5 tw:peer-data-[size=sm]/menu-button:top-1 tw:after:absolute tw:after:-inset-2 tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:md:after:hidden tw:[&>svg]:size-4 tw:[&>svg]:shrink-0",a&&"tw:group-focus-within/menu-item:opacity-100 tw:group-hover/menu-item:opacity-100 tw:peer-data-active/menu-button:text-sidebar-accent-foreground tw:aria-expanded:opacity-100 tw:md:opacity-0",t),...n})}function Zc({className:t,...e}){return r.jsx("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:o.cn("tw:pointer-events-none tw:absolute tw:end-1 tw:flex tw:h-5 tw:min-w-5 tw:items-center tw:justify-center tw:rounded-md tw:px-1 tw:text-xs tw:font-medium tw:text-sidebar-foreground tw:tabular-nums tw:select-none tw:group-data-[collapsible=icon]:hidden tw:peer-hover/menu-button:text-sidebar-accent-foreground tw:peer-data-[size=default]/menu-button:top-1.5 tw:peer-data-[size=lg]/menu-button:top-2.5 tw:peer-data-[size=sm]/menu-button:top-1 tw:peer-data-active/menu-button:text-sidebar-accent-foreground",t),...e})}function Xc({className:t,showIcon:e=!1,...a}){const[n]=s.useState(()=>`${Math.floor(Math.random()*40)+50}%`),i={"--skeleton-width":n};return r.jsxs("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:o.cn("tw:flex tw:h-8 tw:items-center tw:gap-2 tw:rounded-md tw:px-2",t),...a,children:[e&&r.jsx(o.Skeleton,{className:"tw:size-4 tw:rounded-md","data-sidebar":"menu-skeleton-icon"}),r.jsx(o.Skeleton,{className:"tw:h-4 tw:max-w-(--skeleton-width) tw:flex-1","data-sidebar":"menu-skeleton-text",style:i})]})}function Wc({className:t,...e}){return r.jsx("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:o.cn("tw:mx-3.5 tw:flex tw:min-w-0 tw:translate-x-px tw:rtl:-translate-x-px tw:flex-col tw:gap-1 tw:border-s tw:border-sidebar-border tw:px-2.5 tw:py-0.5 tw:group-data-[collapsible=icon]:hidden",t),...e})}function Jc({className:t,...e}){return r.jsx("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:o.cn("tw:group/menu-sub-item tw:relative",t),...e})}function Qc({asChild:t=!1,size:e="md",isActive:a=!1,className:n,...i}){const l=t?V.Slot.Root:"a";return r.jsx(l,{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":e,"data-active":a,className:o.cn("tw:flex tw:h-7 tw:min-w-0 tw:-translate-x-px tw:rtl:translate-x-px tw:items-center tw:gap-2 tw:overflow-hidden tw:rounded-md tw:px-2 tw:text-sidebar-foreground tw:ring-sidebar-ring tw:outline-hidden tw:group-data-[collapsible=icon]:hidden tw:hover:bg-sidebar-accent tw:hover:text-sidebar-accent-foreground tw:focus-visible:ring-2 tw:active:bg-sidebar-accent tw:active:text-sidebar-accent-foreground tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-disabled:pointer-events-none tw:aria-disabled:opacity-50 tw:data-[size=md]:text-sm tw:data-[size=sm]:text-xs tw:data-active:bg-sidebar-accent tw:data-active:text-sidebar-accent-foreground tw:[&>span:last-child]:truncate tw:[&>svg]:size-4 tw:[&>svg]:shrink-0 tw:[&>svg]:text-sidebar-accent-foreground",n),...i})}function xn({id:t,extensionLabels:e,projectInfo:a,handleSelectSidebarItem:n,selectedSidebarItem:i,extensionsSidebarGroupLabel:l,projectsSidebarGroupLabel:c,buttonPlaceholderText:d,searchPlaceholderText:u,noResultsText:w,className:p}){const h=s.useCallback((f,C)=>{n(f,C)},[n]),g=s.useCallback(f=>{const C=a.find(N=>N.projectId===f);return C?C.projectName:f},[a]),m=s.useMemo(()=>a.map(f=>({id:f.projectId,shortName:f.projectName,fullName:f.projectFullName})),[a]),k=s.useMemo(()=>{const f={buttonPlaceholder:d,ariaLabel:c};return u&&(f.searchPlaceholder=u),w&&(f.commandEmptyMessage=w),f},[d,c,u,w]),x=s.useCallback(f=>!i.projectId&&f===i.label,[i]);return r.jsx(hn,{id:t,collapsible:"none",variant:"inset",className:o.cn("tw:w-96 tw:gap-2 tw:overflow-y-auto",p),children:r.jsxs(fn,{children:[r.jsxs(ta,{children:[r.jsx(ea,{className:"tw:text-sm",children:l}),r.jsx(ra,{children:r.jsx(mn,{children:Object.entries(e).map(([f,C])=>r.jsx(vn,{children:r.jsx(bn,{onClick:()=>h(f),isActive:x(f),children:r.jsx("span",{className:"tw:pl-3",children:C})})},f))})})]}),r.jsxs(ta,{children:[r.jsx(ea,{className:"tw:text-sm",children:c}),r.jsx(ra,{className:"tw:pl-3",children:r.jsxs("div",{className:o.cn("tw:flex tw:w-full tw:items-center tw:gap-2 tw:rounded-md tw:px-2 tw:py-1",{"tw:bg-sidebar-accent tw:text-sidebar-accent-foreground":i==null?void 0:i.projectId}),children:[r.jsx(B.ScrollText,{className:"tw:h-4 tw:w-4 tw:shrink-0"}),r.jsx(o.ProjectSelector,{mode:"project",projects:m,openTabs:[],selection:{projectId:(i==null?void 0:i.projectId)??""},onChangeSelection:({projectId:f})=>{if(!f)return;const C=g(f);h(C,f)},buttonVariant:"ghost",buttonClassName:"tw:h-8 tw:w-full tw:flex-1 tw:justify-start tw:font-normal",localizedStrings:k,triggerLabelFormat:"shortNameAndFullName"})]})})]})]})})}function tl({id:t,children:e,searchValue:a,onSearch:n,className:i,...l}){return r.jsxs("div",{className:"tw:box-border tw:flex tw:h-full tw:flex-col",children:[r.jsx("div",{className:"tw:box-border tw:flex tw:items-center tw:justify-center tw:py-4",children:r.jsx(o.SearchBar,{className:"tw:w-9/12",value:a,onSearch:n,placeholder:"Search app settings, extension settings, and project settings"})}),r.jsxs(pn,{id:t,className:"tw:h-full tw:flex-1 tw:gap-4 tw:overflow-auto tw:border-t",children:[r.jsx(xn,{className:o.cn("tw:w-1/2 tw:min-w-[140px] tw:max-w-[220px] tw:border-e",i),...l}),r.jsx(gn,{className:"tw:min-w-[215px]",children:e})]})]})}const ye="scrBook",el="scrRef",Ee="source",rl="details",al="Scripture Reference",ol="Scripture Book",yn="Type",nl="Details";function il(t,e){const a=e??!1;return[{accessorFn:n=>`${n.start.book} ${n.start.chapterNum}:${n.start.verseNum}`,id:ye,header:(t==null?void 0:t.scriptureReferenceColumnName)??al,cell:n=>{const i=n.row.original;return n.row.getIsGrouped()?Ot.Canon.bookIdToEnglishName(i.start.book):n.row.groupingColumnId===ye?L.formatScrRef(i.start):void 0},getGroupingValue:n=>Ot.Canon.bookIdToNumber(n.start.book),sortingFn:(n,i)=>L.compareScrRefs(n.original.start,i.original.start),enableGrouping:!0},{accessorFn:n=>L.formatScrRef(n.start),id:el,header:void 0,cell:n=>{const i=n.row.original;return n.row.getIsGrouped()?void 0:L.formatScrRef(i.start)},sortingFn:(n,i)=>L.compareScrRefs(n.original.start,i.original.start),enableGrouping:!1},{accessorFn:n=>n.source.displayName,id:Ee,header:a?(t==null?void 0:t.typeColumnName)??yn:void 0,cell:n=>a||n.row.getIsGrouped()?n.getValue():void 0,getGroupingValue:n=>n.source.id,sortingFn:(n,i)=>n.original.source.displayName.localeCompare(i.original.source.displayName),enableGrouping:!0},{accessorFn:n=>n.detail,id:rl,header:(t==null?void 0:t.detailsColumnName)??nl,cell:n=>n.getValue(),enableGrouping:!1}]}const sl=t=>{if(!("offset"in t.start))throw new Error("No offset available in range start");if(t.end&&!("offset"in t.end))throw new Error("No offset available in range end");const{offset:e}=t.start;let a=0;return t.end&&({offset:a}=t.end),!t.end||L.compareScrRefs(t.start,t.end)===0?`${L.scrRefToBBBCCCVVV(t.start)}+${e}`:`${L.scrRefToBBBCCCVVV(t.start)}+${e}-${L.scrRefToBBBCCCVVV(t.end)}+${a}`},Wa=t=>`${sl({start:t.start,end:t.end})} ${t.source.displayName} ${t.detail}`;function cl({sources:t,showColumnHeaders:e=!1,showSourceColumn:a=!1,scriptureReferenceColumnName:n,scriptureBookGroupName:i,typeColumnName:l,detailsColumnName:c,onRowSelected:d,id:u}){const[w,p]=s.useState([]),[h,g]=s.useState([{id:ye,desc:!1}]),[m,k]=s.useState({}),x=s.useMemo(()=>t.flatMap(M=>M.data.map(R=>({...R,source:M.source}))),[t]),f=s.useMemo(()=>il({scriptureReferenceColumnName:n,typeColumnName:l,detailsColumnName:c},a),[n,l,c,a]);s.useEffect(()=>{w.includes(Ee)?g([{id:Ee,desc:!1},{id:ye,desc:!1}]):g([{id:ye,desc:!1}])},[w]);const C=Kt.useReactTable({data:x,columns:f,state:{grouping:w,sorting:h,rowSelection:m},onGroupingChange:p,onSortingChange:g,onRowSelectionChange:k,getExpandedRowModel:Kt.getExpandedRowModel(),getGroupedRowModel:Kt.getGroupedRowModel(),getCoreRowModel:Kt.getCoreRowModel(),getSortedRowModel:Kt.getSortedRowModel(),getRowId:Wa,autoResetExpanded:!1,enableMultiRowSelection:!1,enableSubRowSelection:!1});s.useEffect(()=>{if(d){const M=C.getSelectedRowModel().rowsById,R=Object.keys(M);if(R.length===1){const Z=x.find(X=>Wa(X)===R[0])||void 0;Z&&d(Z)}}},[m,x,d,C]);const N=i??ol,E=l??yn,_=[{label:"No Grouping",value:[]},{label:`Group by ${N}`,value:[ye]},{label:`Group by ${E}`,value:[Ee]},{label:`Group by ${N} and ${E}`,value:[ye,Ee]},{label:`Group by ${E} and ${N}`,value:[Ee,ye]}],O=M=>{p(JSON.parse(M))},T=(M,R)=>{!M.getIsGrouped()&&!M.getIsSelected()&&M.getToggleSelectedHandler()(R)},D=(M,R)=>M.getIsGrouped()?"":o.cn("banded-row",R%2===0?"even":"odd"),I=(M,R,Z)=>{if(!((M==null?void 0:M.length)===0||R.depth{O(M)},children:[r.jsx(Re,{className:"tw:mb-1 tw:mt-2",children:r.jsx(Se,{})}),r.jsx(Me,{position:"item-aligned",children:r.jsx(Go,{children:_.map(M=>r.jsx(re,{value:JSON.stringify(M.value),children:M.label},M.label))})})]}),r.jsxs(o.Table,{className:"tw:relative tw:flex tw:flex-col tw:overflow-y-auto tw:p-0",children:[e&&r.jsx(o.TableHeader,{children:C.getHeaderGroups().map(M=>r.jsx(o.TableRow,{children:M.headers.filter(R=>R.column.columnDef.header).map(R=>r.jsx(o.TableHead,{colSpan:R.colSpan,className:"tw:sticky top-0",children:R.isPlaceholder?void 0:r.jsxs("div",{children:[R.column.getCanGroup()?r.jsx(o.Button,{variant:"ghost",title:`Toggle grouping by ${R.column.columnDef.header}`,onClick:R.column.getToggleGroupingHandler(),type:"button",children:R.column.getIsGrouped()?"🛑":"👊 "}):void 0," ",Kt.flexRender(R.column.columnDef.header,R.getContext())]})},R.id))},M.id))}),r.jsx(o.TableBody,{children:C.getRowModel().rows.map((M,R)=>{const Z=o.readDirection();return r.jsx(o.TableRow,{"data-state":M.getIsSelected()?"selected":"",className:o.cn(D(M,R)),onClick:X=>T(M,X),children:M.getVisibleCells().map(X=>{if(!(X.getIsPlaceholder()||X.column.columnDef.enableGrouping&&!X.getIsGrouped()&&(X.column.columnDef.id!==Ee||!a)))return r.jsx(o.TableCell,{className:o.cn(X.column.columnDef.id,"tw:p-[1px]",I(w,M,X)),children:X.getIsGrouped()?r.jsxs(o.Button,{variant:"link",onClick:M.getToggleExpandedHandler(),type:"button",children:[M.getIsExpanded()&&r.jsx(B.ChevronDown,{}),!M.getIsExpanded()&&(Z==="ltr"?r.jsx(B.ChevronRight,{}):r.jsx(B.ChevronLeft,{}))," ",Kt.flexRender(X.column.columnDef.cell,X.getContext())," (",M.subRows.length,")"]}):Kt.flexRender(X.column.columnDef.cell,X.getContext())},X.id)})},M.id)})})]})]})}function kn({availableBookInfo:t,selectedBookIds:e,onChangeSelectedBookIds:a,localizedStrings:n,localizedBookNames:i,disabledSectionExplanations:l}){const c=n["%webView_book_selector_books_selected%"],d=n["%webView_book_selector_select_books%"],u=n["%webView_book_selector_search_books%"],w=n["%webView_book_selector_select_all%"],p=n["%webView_book_selector_clear_all%"],h=n["%webView_book_selector_no_book_found%"],{otLong:g,ntLong:m,dcLong:k,extraLong:x}={otLong:n==null?void 0:n["%scripture_section_ot_long%"],ntLong:n==null?void 0:n["%scripture_section_nt_long%"],dcLong:n==null?void 0:n["%scripture_section_dc_long%"],extraLong:n==null?void 0:n["%scripture_section_extra_long%"]},[f,C]=s.useState(!1),[N,E]=s.useState(""),_=s.useRef(void 0),O=s.useRef(!1),T=s.useMemo(()=>o.getAvailableBookIds(t),[t]),D=s.useMemo(()=>{if(!N.trim()){const W={[L.Section.OT]:[],[L.Section.NT]:[],[L.Section.DC]:[],[L.Section.Extra]:[]};return T.forEach(z=>{const J=L.getSectionForBook(z);W[J].push(z)}),W}const y=T.filter(W=>o.doesBookMatchQuery(W,N,i)),tt={[L.Section.OT]:[],[L.Section.NT]:[],[L.Section.DC]:[],[L.Section.Extra]:[]};return y.forEach(W=>{const z=L.getSectionForBook(W);tt[z].push(W)}),tt},[T,N,i]),I=s.useCallback((y,tt=!1)=>{if(!tt||!_.current){a(e.includes(y)?e.filter(dt=>dt!==y):[...e,y]),_.current=y;return}const W=T.findIndex(dt=>dt===_.current),z=T.findIndex(dt=>dt===y);if(W===-1||z===-1)return;const[J,F]=[Math.min(W,z),Math.max(W,z)],Y=T.slice(J,F+1).map(dt=>dt);a(e.includes(y)?e.filter(dt=>!Y.includes(dt)):[...new Set([...e,...Y])])},[e,a,T]),M=y=>{I(y,O.current),O.current=!1},R=(y,tt)=>{y.preventDefault(),I(tt,y.shiftKey)},Z=()=>{a(T.map(y=>y))},X=()=>{a([])},rt=s.useMemo(()=>Object.values(L.Section).filter(y=>(l==null?void 0:l[y])!==void 0&&o.getBooksForSection(T,y).length===0).map(y=>({section:y,explanation:l==null?void 0:l[y]})),[l,T]);return r.jsxs(o.Popover,{open:f,onOpenChange:y=>{C(y),y||E("")},children:[r.jsx(o.PopoverTrigger,{asChild:!0,children:r.jsxs(o.Button,{variant:"outline",role:"combobox","aria-expanded":f,className:"tw:max-w-64 tw:justify-between",children:[e.length>0?`${c}: ${e.length}`:d,r.jsx(B.ChevronsUpDown,{className:"tw:ml-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.PopoverContent,{className:"tw:max-h-(--radix-popover-content-available-height) tw:w-[500px] tw:max-w-[calc(100vw-2rem)] tw:p-0",align:"start",collisionPadding:8,children:r.jsxs(o.Command,{className:"tw:min-h-0",shouldFilter:!1,onKeyDown:y=>{y.key==="Enter"&&(O.current=y.shiftKey)},children:[r.jsx(o.CommandInput,{className:"tw:shrink-0",placeholder:u,value:N,onValueChange:E,spaceSelectsHighlightedItem:!0}),r.jsxs("div",{className:"tw:flex tw:shrink-0 tw:justify-between tw:border-b tw:p-2",children:[r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:Z,disabled:T.length===0,children:w}),r.jsx(o.Button,{variant:"ghost",size:"sm",onClick:X,children:p})]}),r.jsxs(o.CommandList,{className:"tw:max-h-72 tw:min-h-0 tw:flex-1",children:[r.jsx(o.CommandEmpty,{children:h}),Object.values(L.Section).filter(y=>D[y].length>0).map((y,tt)=>{const W=D[y];return r.jsxs(s.Fragment,{children:[tt>0&&r.jsx(o.CommandSeparator,{alwaysRender:!0}),r.jsx(o.CommandGroup,{heading:o.getSectionLongName(y,g,m,k,x),children:W.map(z=>r.jsx(ro,{bookId:z,isSelected:e.includes(z),onSelect:()=>M(z),onMouseDown:J=>R(J,z),section:L.getSectionForBook(z),showCheck:!0,localizedBookNames:i,commandValue:Hr(z,i),className:"tw:flex tw:items-center"},z))})]},y)})]}),rt.length>0&&r.jsx("div",{className:"tw:shrink-0 tw:border-t tw:p-2",children:rt.map(({section:y,explanation:tt})=>r.jsx("p",{className:"tw:text-xs tw:text-muted-foreground",children:tt},y))})]})})]})}function _n({disabled:t,tooltipText:e,children:a,className:n}){return r.jsx(o.TooltipProvider,{children:r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsx(Ke,{className:n,isDisabled:t,disabledExplanation:e,children:a})}),t&&r.jsx(o.TooltipContent,{children:r.jsx("p",{className:"tw:max-w-xs tw:whitespace-pre-line",children:e})})]})})}function ll({section:t,availableBookIds:e,selectedBookIds:a,onToggle:n,localizedStrings:i,disabledExplanation:l}){const c=o.getBooksForSection(e,t).length===0,d=i["%scripture_section_ot_short%"],u=i["%scripture_section_nt_short%"],w=i["%scripture_section_dc_short%"],p=i["%scripture_section_extra_short%"],h=r.jsx(o.Button,{variant:"outline",size:"sm",onClick:()=>n(t),className:o.cn(o.isSectionFullySelected(e,t,a)&&!c&&"tw:bg-primary tw:text-primary-foreground tw:hover:bg-primary/70 tw:hover:text-primary-foreground"),disabled:c,children:o.getSectionShortName(t,d,u,w,p)});return l?r.jsx(_n,{className:"tw:flex",disabled:c,tooltipText:l,children:h}):h}const Ja=5,Ur=6;function jn({availableBookInfo:t,selectedBookIds:e,onChangeSelectedBookIds:a,localizedStrings:n,localizedBookNames:i,disabledSectionExplanations:l}){const c=n["%webView_book_selector_more%"],d=s.useMemo(()=>o.getAvailableBookIds(t),[t]),u=s.useCallback(w=>{const p=o.getBooksForSection(d,w).map(h=>h);a(o.isSectionFullySelected(d,w,e)?e.filter(h=>!p.includes(h)):[...new Set([...e,...p])])},[e,a,d]);return r.jsxs("div",{className:"tw:space-y-2",children:[r.jsx("div",{className:"tw:flex tw:flex-wrap tw:gap-2",children:Object.values(L.Section).map(w=>r.jsx(ll,{section:w,availableBookIds:d,selectedBookIds:e,onToggle:u,localizedStrings:n,disabledExplanation:l==null?void 0:l[w]},w))}),r.jsx(kn,{availableBookInfo:t,selectedBookIds:e,onChangeSelectedBookIds:a,localizedStrings:n,localizedBookNames:i,disabledSectionExplanations:l}),e.length>0&&r.jsxs("div",{className:"tw:mt-2 tw:flex tw:flex-wrap tw:gap-1",children:[e.slice(0,e.length===Ur?Ur:Ja).map(w=>r.jsx(o.Badge,{className:"tw:hover:bg-secondary",variant:"secondary",children:o.getLocalizedBookName(w,i)},w)),e.length>Ur&&r.jsx(o.Badge,{className:"tw:hover:bg-secondary",variant:"secondary",children:`+${e.length-Ja} ${c}`})]})]})}const Cn=Object.freeze(["%webView_book_selector_books_selected%","%webView_book_selector_select_books%","%webView_book_selector_search_books%","%webView_book_selector_select_all%","%webView_book_selector_clear_all%","%webView_book_selector_no_book_found%","%webView_book_selector_more%","%scripture_section_ot_long%","%scripture_section_ot_short%","%scripture_section_nt_long%","%scripture_section_nt_short%","%scripture_section_dc_long%","%scripture_section_dc_short%","%scripture_section_extra_long%","%scripture_section_extra_short%"]),dl=Object.freeze(["%webView_scope_selector_selected_text%","%webView_scope_selector_verse%","%webView_scope_selector_chapter%","%webView_scope_selector_book%","%webView_scope_selector_current_verse%","%webView_scope_selector_current_chapter%","%webView_scope_selector_current_book%","%webView_scope_selector_choose_books%","%webView_scope_selector_scope%","%webView_scope_selector_select_books%","%webView_scope_selector_range%","%webView_scope_selector_select_range%","%webView_scope_selector_range_start%","%webView_scope_selector_range_end%","%webView_scope_selector_ok%","%webView_scope_selector_cancel%","%webView_scope_selector_navigate%",...Cn]),It=(t,e)=>t[e]??e,wl=Object.freeze([" ","-"]);function ul({scope:t,availableScopes:e,onScopeChange:a,availableBookInfo:n,selectedBookIds:i,onSelectedBookIdsChange:l,localizedStrings:c,localizedBookNames:d,disabledSectionExplanations:u,disabledScopeExplanations:w,id:p,variant:h="radio",rangeStart:g,rangeEnd:m,onRangeStartChange:k,onRangeEndChange:x,currentScrRef:f,onCurrentScrRefChange:C,bookChapterControlLocalizedStrings:N,getEndVerse:E,hideLabel:_=!1,buttonClassName:O}){const T=It(c,"%webView_scope_selector_selected_text%"),D=It(c,"%webView_scope_selector_verse%"),I=It(c,"%webView_scope_selector_chapter%"),M=It(c,"%webView_scope_selector_book%"),R=It(c,"%webView_scope_selector_current_verse%"),Z=It(c,"%webView_scope_selector_current_chapter%"),X=It(c,"%webView_scope_selector_current_book%"),rt=It(c,"%webView_scope_selector_choose_books%"),y=It(c,"%webView_scope_selector_scope%"),tt=It(c,"%webView_scope_selector_select_books%"),W=It(c,"%webView_scope_selector_range%"),z=It(c,"%webView_scope_selector_select_range%"),J=It(c,"%webView_scope_selector_range_start%"),F=It(c,"%webView_scope_selector_range_end%"),Y=It(c,"%webView_scope_selector_ok%"),dt=It(c,"%webView_scope_selector_cancel%"),ht=It(c,"%webView_scope_selector_navigate%"),G=$=>{if(!f)return;const et=f.book.toUpperCase();switch($){case"verse":return L.formatScrRef(f,"id");case"chapter":return`${et} ${f.chapterNum}`;case"book":return et;default:return}},ut=[{value:"selectedText",label:T,id:"scope-selected-text"},{value:"verse",label:D,dropdownLabel:R,scrRefSuffix:G("verse"),id:"scope-verse"},{value:"chapter",label:I,dropdownLabel:Z,scrRefSuffix:G("chapter"),id:"scope-chapter"},{value:"book",label:M,dropdownLabel:X,scrRefSuffix:G("book"),id:"scope-book"},{value:"selectedBooks",label:rt,id:"scope-selected"},{value:"range",label:W,id:"scope-range"}],gt=($,et,St=!1)=>r.jsxs(r.Fragment,{children:[$,et&&!St&&r.jsxs("span",{className:"tw:text-muted-foreground",children:[": ",et]})]}),st=e?ut.filter($=>e.includes($.value)):ut,Ct=f??L.defaultScrRef,yt=g??Ct,Nt=m??Ct,Pt=()=>{},At=s.useRef(null),Et=s.useRef(null),kt=s.useRef(!1),Tt=s.useRef(null),Zt=s.useRef(!1),[Ht,Xt]=s.useState(void 0),ft=s.useRef(!1),Wt=s.useRef(!1),ie=s.useRef(null),ge=s.useCallback($=>{if($){Xt("start"),ft.current=!1;return}Xt(et=>et==="start"?void 0:et),ft.current&&(ft.current=!1,requestAnimationFrame(()=>{var St;const et=(St=At.current)==null?void 0:St.querySelector("button");et==null||et.click()}))},[]),Jt=s.useCallback($=>{if($){Xt("end"),Wt.current=!1;return}Xt(et=>et==="end"?void 0:et)},[]),Ut=s.useCallback($=>{k==null||k($),x==null||x($),ft.current=!0},[k,x]),se=s.useCallback($=>{x==null||x($),Wt.current=!0},[x]),xt=s.useCallback($=>{a($),$==="selectedBooks"&&i.length===0&&(f!=null&&f.book)&&l([f.book])},[a,i,f,l]),Qt=st.find($=>$.value===t),ae=()=>t==="selectedBooks"&&i.length>0?i.map($=>$.toUpperCase()).join(", "):t==="range"?L.formatScrRefRange(yt,Nt,{optionOrLocalizedBookName:"id",endRefOptionOrLocalizedBookName:"id",repeatBookName:!0}):Qt?gt(Qt.label,Qt.scrRefSuffix):t,A=st.filter($=>$.value!=="selectedBooks"&&$.value!=="range"),j=st.find($=>$.value==="selectedBooks"),K=st.find($=>$.value==="range"),[q,P]=s.useState(!1),[Q,U]=s.useState(void 0),[at,vt]=s.useState(void 0),[_t,ct]=s.useState(void 0),[bt,wt]=s.useState(void 0),[mt,be]=s.useState([]),ce=h==="dropdown"&&Q==="selectedBooks",le=r.jsx(jn,{availableBookInfo:n,selectedBookIds:ce?mt:i,onChangeSelectedBookIds:ce?be:l,localizedStrings:c,localizedBookNames:d,disabledSectionExplanations:u}),je=Ht==="end",Ce=Ht==="start",fe="tw:text-muted-foreground",de=h==="dropdown"&&Q==="range",Ie=de?ct:Ut,He=de?wt:x?se:Pt,xe=r.jsxs("div",{className:"tw:flex tw:flex-wrap tw:items-end tw:gap-4",children:[r.jsxs("div",{className:"tw:grid tw:gap-2",children:[r.jsx(o.Label,{htmlFor:"scope-range-start",className:o.cn(je&&fe),children:J}),r.jsx(vr,{id:"scope-range-start",scrRef:de?_t??yt:yt,handleSubmit:Ie,localizedBookNames:d,localizedStrings:N,getEndVerse:E,submitKeys:wl,onOpenChange:ge,className:o.cn(je&&fe),modal:!0})]}),r.jsxs("div",{ref:At,className:"tw:grid tw:gap-2",children:[r.jsx(o.Label,{htmlFor:"scope-range-end",className:o.cn(Ce&&fe),children:F}),r.jsx(vr,{id:"scope-range-end",scrRef:de?bt??Nt:Nt,handleSubmit:He,localizedBookNames:d,localizedStrings:N,getEndVerse:E,disableReferencesUpTo:de?_t??yt:yt,onOpenChange:Jt,onCloseAutoFocus:$=>{var et;Wt.current&&(Wt.current=!1,$.preventDefault(),(et=ie.current)==null||et.focus())},className:o.cn(Ce&&fe),modal:!0,align:"start"})]})]}),S=s.useRef({}),ot=s.useCallback($=>et=>{S.current[$]=et},[]),it=s.useRef(null);s.useEffect(()=>{if(!q)return;let $=0;const et=requestAnimationFrame(()=>{$=requestAnimationFrame(()=>{var St;(St=S.current[t])==null||St.focus()})});return()=>{cancelAnimationFrame(et),$&&cancelAnimationFrame($)}},[q,t]);const[zt,qe]=s.useState(null),[me,Oe]=s.useState(null),[Pe,Mr]=s.useState(null),nr=200,[Dr,ir]=s.useState(!1);s.useEffect(()=>{if(!Pe||typeof ResizeObserver>"u")return;const $=new ResizeObserver(([et])=>{ir(et.contentRect.width$.disconnect()},[Pe]);const sr=s.useCallback($=>{vt($),ct(yt),wt(Nt),be(i),P(!1),U($)},[yt,Nt,i]),cr=s.useCallback(()=>{at!==void 0&&(at==="range"?(_t&&(k==null||k(_t)),bt&&(x==null||x(bt))):at==="selectedBooks"&&l(mt),xt(at),U(void 0),vt(void 0))},[at,_t,bt,mt,k,x,l,xt]),ze=s.useCallback($=>{$||(U(void 0),vt(void 0))},[]),lr=s.useCallback($=>{var et;$.preventDefault(),(et=it.current)==null||et.focus()},[]),dr=$=>t===$?r.jsx("span",{className:"tw:absolute tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:ltr:left-2 tw:rtl:right-2",children:r.jsx(B.Check,{className:"tw:h-4 tw:w-4"})}):void 0;return r.jsxs("div",{id:p,className:"tw:grid tw:gap-4",children:[r.jsxs("div",{className:"tw:grid tw:gap-2",children:[!_&&r.jsx(o.Label,{children:y}),h==="dropdown"?r.jsxs(o.DropdownMenu,{open:q,onOpenChange:P,children:[r.jsx(o.DropdownMenuTrigger,{asChild:!0,children:r.jsxs(o.Button,{ref:it,variant:"outline",role:"combobox",className:o.cn("tw:w-full tw:justify-between tw:overflow-hidden tw:font-normal",O),children:[r.jsx("span",{className:"tw:min-w-0 tw:flex-1 tw:truncate tw:text-start",children:ae()}),r.jsx(B.ChevronDown,{className:"tw:ms-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})}),r.jsx(o.DropdownMenuContent,{ref:Mr,className:"tw:w-[var(--radix-dropdown-menu-trigger-width)] tw:min-w-[12rem]",align:"start",children:r.jsxs(o.PopoverPortalContainerProvider,{container:Pe,children:[A.map(({value:$,label:et,dropdownLabel:St,scrRefSuffix:te,id:oe})=>{const b=w==null?void 0:w[$];return r.jsxs(o.DropdownMenuItem,{ref:ot($),disabled:!!b,className:"tw:relative tw:ps-8 data-[highlighted]:tw:bg-accent data-[highlighted]:tw:text-accent-foreground",onSelect:()=>xt($),"data-selected":t===$?"true":void 0,children:[t===$&&r.jsx("span",{className:"tw:absolute tw:flex tw:h-3.5 tw:w-3.5 tw:items-center tw:justify-center tw:ltr:left-2 tw:rtl:right-2",children:r.jsx(B.Check,{className:"tw:h-4 tw:w-4"})}),r.jsxs("span",{className:"tw:flex tw:min-w-0 tw:flex-col tw:gap-0.5",children:[r.jsx("span",{className:"tw:flex tw:items-center tw:gap-1.5",children:gt(St??et,te,Dr)}),b&&r.jsx("span",{className:"tw:text-xs tw:whitespace-normal tw:text-foreground",children:b})]})]},oe)}),(j||K)&&r.jsx(o.DropdownMenuSeparator,{}),j&&r.jsxs(o.DropdownMenuItem,{ref:ot("selectedBooks"),className:o.cn("tw:relative tw:ps-8","data-[highlighted]:tw:bg-accent data-[highlighted]:tw:text-accent-foreground"),onSelect:()=>sr("selectedBooks"),"data-selected":t==="selectedBooks"?"true":void 0,children:[dr("selectedBooks"),`${j.label}…`]}),K&&r.jsxs(o.DropdownMenuItem,{ref:ot("range"),className:o.cn("tw:relative tw:ps-8","data-[highlighted]:tw:bg-accent data-[highlighted]:tw:text-accent-foreground"),onSelect:()=>sr("range"),"data-selected":t==="range"?"true":void 0,children:[dr("range"),`${K.label}…`]}),C&&r.jsxs(r.Fragment,{children:[r.jsx(o.DropdownMenuSeparator,{}),r.jsx(o.DropdownMenuLabel,{className:"tw:px-2 tw:py-1.5 tw:text-xs tw:font-medium tw:text-muted-foreground",children:ht}),r.jsx(o.DropdownMenuItem,{ref:Tt,className:"tw:p-0",onSelect:$=>{var et,St;if($.preventDefault(),kt.current){kt.current=!1;return}Zt.current||(St=(et=Et.current)==null?void 0:et.querySelector("button"))==null||St.click()},children:r.jsx("div",{ref:Et,className:"tw:w-full tw:px-1 tw:pb-1",onPointerDownCapture:$=>{const et=$.target instanceof HTMLElement?$.target:void 0;et!=null&&et.closest("button")&&(kt.current=!0,requestAnimationFrame(()=>{kt.current=!1}))},children:r.jsx(vr,{id:"scope-navigate",scrRef:f??L.defaultScrRef,handleSubmit:C,localizedBookNames:d,localizedStrings:N,getEndVerse:E,triggerVariant:"ghost",onOpenChange:$=>{Zt.current=$},onCloseAutoFocus:$=>{var et;$.preventDefault(),(et=Tt.current)==null||et.focus()},modal:!0,className:"tw:w-full tw:min-w-0 tw:max-w-none tw:justify-between tw:px-2 tw:font-normal",triggerContent:r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"tw:min-w-0 tw:flex-1 tw:truncate tw:text-start",children:L.formatScrRef(f??L.defaultScrRef,"id")}),r.jsx(B.ChevronDown,{className:"tw:ms-2 tw:h-4 tw:w-4 tw:shrink-0 tw:opacity-50"})]})})})})]})]})})]}):r.jsx(o.RadioGroup,{value:t,onValueChange:xt,className:"tw:flex tw:flex-col tw:space-y-1",children:st.map(({value:$,label:et,scrRefSuffix:St,id:te})=>{const oe=w==null?void 0:w[$];return r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-0.5",children:[r.jsxs("div",{className:"tw:flex tw:items-center",children:[r.jsx(o.RadioGroupItem,{className:"tw:me-2",value:$,id:te,disabled:!!oe,"aria-describedby":oe?`${te}-explanation`:void 0}),r.jsx(o.Label,{htmlFor:te,children:gt(et,St)})]}),oe&&r.jsx("span",{id:`${te}-explanation`,className:"tw:ms-6 tw:text-xs tw:whitespace-normal tw:text-muted-foreground",children:oe})]},te)})})]}),h==="radio"&&t==="selectedBooks"&&r.jsxs("div",{className:"tw:grid tw:gap-2",children:[r.jsx(o.Label,{children:tt}),le]}),h==="radio"&&t==="range"&&xe,h==="dropdown"&&j&&r.jsx(o.Dialog,{open:Q==="selectedBooks",onOpenChange:ze,children:r.jsx(o.DialogContent,{ref:Oe,onCloseAutoFocus:lr,onEscapeKeyDown:$=>{me!=null&&me.querySelector('[data-state="open"]')&&$.preventDefault()},children:r.jsxs(o.PopoverPortalContainerProvider,{container:me,children:[r.jsx(o.DialogHeader,{className:"tw:pe-8",children:r.jsx(o.DialogTitle,{children:rt})}),le,r.jsxs(o.DialogFooter,{children:[r.jsx(o.Button,{variant:"outline",onClick:()=>ze(!1),children:dt}),r.jsx(o.Button,{onClick:cr,children:Y})]})]})})}),h==="dropdown"&&K&&r.jsx(o.Dialog,{open:Q==="range",onOpenChange:ze,children:r.jsx(o.DialogContent,{ref:qe,onCloseAutoFocus:lr,onEscapeKeyDown:$=>{zt!=null&&zt.querySelector('[data-state="open"]')&&$.preventDefault()},children:r.jsxs(o.PopoverPortalContainerProvider,{container:zt,children:[r.jsx(o.DialogHeader,{className:"tw:pe-8",children:r.jsx(o.DialogTitle,{children:z})}),xe,r.jsxs(o.DialogFooter,{children:[r.jsx(o.Button,{variant:"outline",onClick:()=>ze(!1),children:dt}),r.jsx(o.Button,{ref:ie,onClick:cr,children:Y})]})]})})})]})}function pl({availableScrollGroupIds:t,scrollGroupId:e,onChangeScrollGroupId:a,localizedStrings:n={},size:i="sm",className:l,id:c,disabled:d}){const u={...o.dt,...Object.fromEntries(Object.entries(n).map(([p,h])=>[p,p===h&&p in o.dt?o.dt[p]:h]))},w=o.readDirection();return r.jsxs(Te,{value:`${e}`,onValueChange:p=>a(p==="undefined"?void 0:parseInt(p,10)),disabled:d,children:[r.jsx(Re,{size:i,className:o.cn("pr-twp tw:w-auto",l),children:r.jsx(Se,{placeholder:u[L.getLocalizeKeyForScrollGroupId(e)]??e})}),r.jsx(Me,{id:c,align:w==="rtl"?"end":"start",style:{zIndex:o.Z_INDEX_ABOVE_DOCK},children:t.map(p=>r.jsx(re,{value:`${p}`,children:u[L.getLocalizeKeyForScrollGroupId(p)]},`${p}`))})]})}function hl({children:t}){return r.jsx("div",{className:"pr-twp tw:grid",children:t})}function gl({primary:t,secondary:e,children:a,isLoading:n=!1,loadingMessage:i}){return r.jsxs("div",{className:"tw:flex tw:items-center tw:justify-between tw:space-x-4 tw:py-2",children:[r.jsxs("div",{children:[r.jsx("p",{className:"tw:text-sm tw:font-medium tw:leading-none",children:t}),r.jsx("p",{className:"tw:whitespace-normal tw:break-words tw:text-sm tw:text-muted-foreground",children:e})]}),n?r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:i}):r.jsx("div",{children:a})]})}function fl({primary:t,secondary:e,includeSeparator:a=!1}){return r.jsxs("div",{className:"tw:space-y-4 tw:py-2",children:[r.jsxs("div",{children:[r.jsx("h3",{className:"tw:text-lg tw:font-medium",children:t}),r.jsx("p",{className:"tw:text-sm tw:text-muted-foreground",children:e})]}),a?r.jsx(o.Separator,{}):""]})}function Tr({icon:t,menuLabel:e,leading:a}){return t?r.jsx("img",{className:o.cn("tw:max-h-5 tw:max-w-5",a?"tw:me-2":"tw:ms-2"),src:t,alt:`${a?"Leading":"Trailing"} icon for ${e}`}):void 0}const Nn=(t,e,a,n)=>a?Object.entries(t).filter(([l,c])=>ya(l,c,a)).sort(([,l],[,c])=>l.order-c.order).flatMap(([l])=>e.filter(d=>d.group===l).sort((d,u)=>d.order-u.order).map(d=>{if("command"in d)return r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:r.jsxs(o.DropdownMenuItem,{onClick:()=>{n(d)},children:[d.iconPathBefore&&r.jsx(Tr,{icon:d.iconPathBefore,menuLabel:d.label,leading:!0}),d.label,d.iconPathAfter&&r.jsx(Tr,{icon:d.iconPathAfter,menuLabel:d.label}),d.shortcut&&r.jsx(o.DropdownMenuShortcut,{children:d.shortcut})]},`dropdown-menu-item-${d.label}-${d.command}`)}),d.tooltip&&r.jsx(o.TooltipContent,{children:d.tooltip})]},`tooltip-${d.label}-${d.command}`);const u=r.jsx(o.DropdownMenuSubTrigger,{children:d.label});return r.jsxs(o.DropdownMenuSub,{children:[d.tooltip?r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:u}),r.jsx(o.TooltipContent,{children:d.tooltip})]}):u,r.jsx(o.DropdownMenuPortal,{children:r.jsx(o.DropdownMenuSubContent,{children:Nn(t,e,dn(t,d.id),n)})})]},`dropdown-menu-sub-${d.label}-${d.id}`)})):void 0;function Sr({onSelectMenuItem:t,menuData:e,tabLabel:a,icon:n,className:i,showSectionHeadings:l=!1,variant:c,buttonVariant:d="ghost",id:u}){const w=s.useId(),p=Lc(e),h=l&&p.length>1;oo();const g=s.useRef(null),m=()=>o.showFocusRing(g.current??void 0);return r.jsxs(o.DropdownMenu,{variant:c,children:[r.jsx(o.DropdownMenuTrigger,{"aria-label":a,className:i,asChild:!0,id:u,children:r.jsx(o.Button,{ref:g,variant:d,size:"icon",className:o.QUIET_FOCUS_RING_SUPPRESSION,onKeyDown:m,onBlur:m,children:n??r.jsx(B.MenuIcon,{})})}),r.jsx(o.DropdownMenuContent,{align:"start",style:{zIndex:o.Z_INDEX_ABOVE_DOCK},onCloseAutoFocus:()=>{o.getLastInteractionModality()==="pointer"&&o.hideFocusRing(g.current??void 0)},children:p.map(({columnKey:k,label:x,isHeaderHidden:f},C)=>{const N=`${w}-${k}`;return r.jsxs(s.Fragment,{children:[r.jsxs(o.DropdownMenuGroup,{"aria-labelledby":h?N:void 0,children:[h&&r.jsx(o.DropdownMenuLabel,{id:N,className:f?"tw:sr-only":void 0,children:x}),r.jsx(o.TooltipProvider,{children:Nn(e.groups,e.items,k,t)})]}),Ct>=c),i=n===-1?e.length:n;if(a===void 0||i>=a)return i;const l=e.findIndex(c=>t>=c+ml);return l===-1?a:Math.min(a,l)}function ka(t,e){const[a,n]=s.useState(0),i=s.useRef(void 0);return s.useLayoutEffect(()=>{if(!t||typeof ResizeObserver>"u")return;const l=()=>{const{width:d}=t.getBoundingClientRect(),u=i.current;i.current=d;const w=u===void 0||u===0;n(p=>vl(d,e,w?void 0:p))};l();const c=new ResizeObserver(l);return c.observe(t),()=>c.disconnect()},[t,e]),a}const bl=Object.freeze([520,420,340]),En=s.forwardRef(({id:t,className:e,children:a},n)=>{const[i,l]=s.useState(void 0),c=s.useRef(n);c.current=n;const d=s.useCallback(h=>{l(h??void 0);const g=c.current;typeof g=="function"?g(h):g&&(g.current=h)},[]),u=ka(i,bl),w=na()??u,p=w>=Be.MINIMUM;return r.jsx(rr.Provider,{value:w,children:r.jsx("div",{ref:d,className:o.cn("tw:sticky tw:top-0 tw:box-border tw:h-14 tw:items-center tw:justify-between tw:overflow-clip tw:py-2 tw:text-foreground tw:@container/toolbar",p?"tw:gap-1 tw:px-2":"tw:gap-2 tw:px-4",e,"tw:flex tw:flex-row"),id:t,children:a})})});function xl({onSelectProjectMenuItem:t,onSelectViewInfoMenuItem:e,projectMenuData:a,tabViewMenuData:n,id:i,className:l,startAreaChildren:c,centerAreaChildren:d,endAreaChildren:u,menuButtonIcon:w}){return r.jsxs(En,{className:`tw:w-full tw:border-b ${l}`,id:i,children:[a&&r.jsx(Sr,{onSelectMenuItem:t,menuData:a,tabLabel:"Project",icon:w??r.jsx(B.Menu,{}),buttonVariant:"ghost",showSectionHeadings:!0}),c&&r.jsx("div",{className:"tw:flex tw:min-w-0 tw:shrink tw:grow-[10] tw:flex-row tw:flex-nowrap tw:items-start tw:gap-x-1 tw:gap-y-2 tw:overflow-clip",children:c}),d&&r.jsx("div",{className:"tw:flex tw:shrink tw:grow-[1] tw:basis-0 tw:flex-row tw:flex-nowrap tw:items-start tw:justify-center tw:gap-x-1 tw:gap-y-2 tw:overflow-clip tw:@sm:basis-auto",children:d}),r.jsxs("div",{className:"tw:flex tw:shrink-0 tw:grow-[1] tw:flex-row-reverse tw:flex-nowrap tw:items-start tw:gap-x-1 tw:gap-y-2 tw:overflow-clip",children:[n&&r.jsx(Sr,{onSelectMenuItem:e,menuData:n,tabLabel:"View Info",icon:r.jsx(B.EllipsisVertical,{}),className:"tw:h-full",showSectionHeadings:!0}),u]})]})}function yl({onSelectProjectMenuItem:t,projectMenuData:e,id:a,className:n,menuButtonIcon:i}){return r.jsx(En,{className:"tw:pointer-events-none",id:a,children:e&&r.jsx(Sr,{onSelectMenuItem:t,menuData:e,tabLabel:"Project",icon:i,className:`tw:pointer-events-auto tw:shadow-lg ${n}`,buttonVariant:"outline",showSectionHeadings:!0})})}const _a=s.forwardRef(({className:t,...e},a)=>{const n=o.readDirection();return r.jsx(V.Tabs.Root,{orientation:"vertical",ref:a,className:o.cn("tw:flex tw:gap-1 tw:rounded-md tw:text-muted-foreground",t),...e,dir:n})});_a.displayName=V.Tabs.List.displayName;const ja=s.forwardRef(({className:t,...e},a)=>r.jsx(V.Tabs.List,{ref:a,className:o.cn("tw:flex tw:items-center tw:w-[124px] tw:justify-center tw:rounded-md tw:bg-muted tw:p-1 tw:text-muted-foreground",t),...e}));ja.displayName=V.Tabs.List.displayName;const Tn=s.forwardRef(({className:t,...e},a)=>r.jsx(V.Tabs.Trigger,{ref:a,...e,className:o.cn("tw:inline-flex tw:w-[116px] tw:cursor-pointer tw:items-center tw:justify-center tw:break-words tw:rounded-sm tw:border-0 tw:bg-muted tw:px-3 tw:py-1.5 tw:text-sm tw:font-medium tw:text-inherit tw:ring-offset-background tw:transition-all tw:hover:text-foreground tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-ring tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:data-[state=active]:bg-background tw:data-[state=active]:text-foreground tw:data-[state=active]:shadow-sm tw:overflow-clip",t)})),Ca=s.forwardRef(({className:t,...e},a)=>r.jsx(V.Tabs.Content,{ref:a,className:o.cn("tw:ms-5 tw:flex-grow tw:text-foreground tw:ring-offset-background tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-ring tw:focus-visible:ring-offset-2",t),...e}));Ca.displayName=V.Tabs.Content.displayName;function kl({tabList:t,searchValue:e,onSearch:a,searchPlaceholder:n,headerTitle:i,searchClassName:l,id:c}){return r.jsxs("div",{id:c,className:"pr-twp",children:[r.jsxs("div",{className:"tw:sticky tw:top-0 tw:space-y-2 tw:pb-2",children:[i?r.jsx("h1",{children:i}):"",r.jsx(o.SearchBar,{className:l,value:e,onSearch:a,placeholder:n})]}),r.jsxs(_a,{children:[r.jsx(ja,{children:t.map(d=>r.jsx(Tn,{value:d.value,children:d.value},d.key))}),t.map(d=>r.jsx(Ca,{value:d.value,children:d.content},d.key))]})]})}function _l({className:t,variant:e="default",...a}){const n=s.useMemo(()=>({variant:e}),[e]);return r.jsx(o.MenuContext.Provider,{value:n,children:r.jsx(V.Menubar.Root,{"data-slot":"menubar",className:o.cn("tw:flex tw:h-8 tw:items-center tw:gap-0.5 tw:rounded-lg tw:border tw:p-[3px]",t),...a})})}function jl({...t}){return r.jsx(V.Menubar.Menu,{"data-slot":"menubar-menu",...t})}function Cl({...t}){return r.jsx(V.Menubar.Portal,{"data-slot":"menubar-portal",...t})}function Nl({className:t,...e}){const a=o.useMenuContext();return r.jsx(V.Menubar.Trigger,{"data-slot":"menubar-trigger",className:o.cn("tw:flex tw:items-center tw:rounded-sm tw:px-1.5 tw:py-[2px] tw:text-sm tw:font-medium tw:outline-hidden tw:select-none tw:hover:bg-muted tw:aria-expanded:bg-muted","pr-twp",o.menuVariants({variant:a.variant,className:t})),...e})}function El({className:t,align:e="start",alignOffset:a=-4,sideOffset:n=8,style:i,...l}){return r.jsx(Cl,{children:r.jsx(V.Menubar.Content,{"data-slot":"menubar-content",align:e,alignOffset:a,sideOffset:n,className:o.cn("tw:min-w-36 tw:origin-(--radix-menubar-content-transform-origin) tw:overflow-hidden tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-md tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative","pr-twp",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...i},...l})})}function Tl({className:t,inset:e,variant:a="default",...n}){const i=o.useMenuContext();return r.jsx(V.Menubar.Item,{"data-slot":"menubar-item","data-inset":e,"data-variant":a,className:o.cn("tw:group/menubar-item tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:not-data-[variant=destructive]:focus:**:text-accent-foreground tw:data-inset:ps-7 tw:data-[variant=destructive]:text-destructive tw:data-[variant=destructive]:focus:bg-destructive/10 tw:data-[variant=destructive]:focus:text-destructive tw:dark:data-[variant=destructive]:focus:bg-destructive/20 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4 tw:data-[variant=destructive]:*:[svg]:text-destructive!",o.menuVariants({variant:i.variant,className:t})),...n})}function Sl({className:t,...e}){return r.jsx(V.Menubar.Separator,{"data-slot":"menubar-separator",className:o.cn("tw:-mx-1 tw:my-1 tw:h-px tw:bg-border",t),...e})}function Rl({className:t,...e}){return r.jsx("span",{"data-slot":"menubar-shortcut",className:o.cn("tw:[unicode-bidi:plaintext] tw:ms-auto tw:text-xs tw:tracking-widest tw:text-muted-foreground tw:group-focus/menubar-item:text-accent-foreground",t),...e})}function Ml({...t}){return r.jsx(V.Menubar.Sub,{"data-slot":"menubar-sub",...t})}function Dl({className:t,inset:e,children:a,...n}){const i=o.useMenuContext();return r.jsxs(V.Menubar.SubTrigger,{"data-slot":"menubar-sub-trigger","data-inset":e,className:o.cn("tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-none tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-open:bg-accent tw:data-open:text-accent-foreground tw:[&_svg:not([class*=size-])]:size-4",o.menuVariants({variant:i.variant,className:t})),...n,children:[a,r.jsx(Mt.IconChevronRight,{className:"tw:ms-auto tw:size-4"})]})}function Il({className:t,style:e,...a}){return r.jsx(V.Menubar.SubContent,{"data-slot":"menubar-sub-content",className:o.cn("tw:min-w-32 tw:origin-(--radix-menubar-content-transform-origin) tw:overflow-hidden tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-lg tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...e},...a})}const Xe=(t,e)=>{setTimeout(()=>{e.forEach(a=>{var n;(n=t.current)==null||n.dispatchEvent(new KeyboardEvent("keydown",a))})},0)},Sn=(t,e,a,n)=>{if(!a)return;const i=Object.entries(t).filter(([l,c])=>"column"in c&&c.column===a||l===a).sort(([,l],[,c])=>l.order-c.order);return i.flatMap(([l],c)=>{const d=e.filter(w=>w.group===l).sort((w,p)=>w.order-p.order).map(w=>r.jsxs(o.Tooltip,{children:[r.jsx(o.TooltipTrigger,{asChild:!0,children:"command"in w?r.jsxs(Tl,{onClick:()=>{n(w)},children:[w.iconPathBefore&&r.jsx(Tr,{icon:w.iconPathBefore,menuLabel:w.label,leading:!0}),w.label,w.iconPathAfter&&r.jsx(Tr,{icon:w.iconPathAfter,menuLabel:w.label}),w.shortcut&&r.jsx(Rl,{children:w.shortcut})]},`menubar-item-${w.label}-${w.command}`):r.jsxs(Ml,{children:[r.jsx(Dl,{children:w.label}),r.jsx(Il,{children:Sn(t,e,dn(t,w.id),n)})]},`menubar-sub-${w.label}-${w.id}`)}),w.tooltip&&r.jsx(o.TooltipContent,{children:w.tooltip})]},`tooltip-${w.label}-${"command"in w?w.command:w.id}`)),u=[...d];return d.length>0&&c{switch(p){case"platform.app":return l;case"platform.window":return c;case"platform.layout":return d;case"platform.help":return u;default:return}};if($n.useHotkeys(["alt","alt+p","alt+l","alt+n","alt+h"],(p,h)=>{var k,x,f,C;p.preventDefault();const g={key:"Escape",code:"Escape",keyCode:27,bubbles:!0},m={key:" ",code:"Space",keyCode:32,bubbles:!0};switch(h.hotkey){case"alt":Xe(l,[g]);break;case"alt+p":(k=l.current)==null||k.focus(),Xe(l,[g,m]);break;case"alt+l":(x=c.current)==null||x.focus(),Xe(c,[g,m]);break;case"alt+n":(f=d.current)==null||f.focus(),Xe(d,[g,m]);break;case"alt+h":(C=u.current)==null||C.focus(),Xe(u,[g,m]);break}}),s.useEffect(()=>{if(!a||!i.current)return;const p=new MutationObserver(m=>{m.forEach(k=>{if(k.attributeName==="data-state"&&k.target instanceof HTMLElement){const x=k.target.getAttribute("data-state");a(x==="open")}})});return i.current.querySelectorAll("[data-state]").forEach(m=>{p.observe(m,{attributes:!0})}),()=>p.disconnect()},[a]),!!t)return r.jsx(_l,{ref:i,className:"pr-twp tw:border-0 tw:bg-transparent",variant:n,children:wn(t.columns).map(({columnKey:p,column:h})=>r.jsxs(jl,{children:[r.jsx(Nl,{ref:w(p),children:h.label}),r.jsx(El,{style:{zIndex:o.Z_INDEX_ABOVE_DOCK},children:r.jsx(o.TooltipProvider,{children:Sn(t.groups,t.items,p,e)})})]},p))})}const Pl=Object.freeze([950,800,700]);function zl(t){switch(t){case void 0:return;case"darwin":return"tw:ps-[85px]";default:return"tw:pe-[calc(138px+1rem)]"}}function Ll({menuData:t,onOpenChange:e,onSelectMenuItem:a,className:n,id:i,children:l,appMenuAreaChildren:c,configAreaChildren:d,shouldUseAsAppDragArea:u,menubarVariant:w="default"}){const[p,h]=s.useState(void 0),g=s.useCallback(x=>h(x??void 0),[]),m=ka(p,Pl),k=na()??m;return r.jsx(rr.Provider,{value:k,children:r.jsx("div",{className:o.cn("tw:border tw:px-4 tw:text-foreground",n),style:{position:"relative"},id:i,children:r.jsxs("div",{"data-testid":"toolbar-content-row",className:"tw:flex tw:h-full tw:w-full tw:justify-between tw:overflow-hidden",ref:g,style:u?{WebkitAppRegion:"drag"}:void 0,children:[r.jsx("div",{className:"tw:flex tw:shrink-0 tw:grow tw:basis-0",children:r.jsxs("div",{className:"tw:flex tw:items-center tw:gap-2",style:u?{WebkitAppRegion:"no-drag"}:void 0,children:[c,t&&r.jsx(Ol,{menuData:t,onOpenChange:e,onSelectMenuItem:a,variant:w})]})}),r.jsx("div",{"data-testid":"toolbar-content-area",className:"tw:flex tw:min-w-0 tw:shrink tw:items-center tw:gap-2 tw:overflow-clip tw:px-2",style:u?{WebkitAppRegion:"no-drag"}:void 0,children:l}),r.jsx("div",{className:"tw:flex tw:min-w-0 tw:grow tw:basis-0 tw:justify-end",children:r.jsx("div",{className:"tw:flex tw:min-w-0 tw:items-center tw:gap-2 tw:pe-1",style:u?{WebkitAppRegion:"no-drag"}:void 0,children:d})})]})})})}const Al=(t,e)=>t[e]??e;function Bl({knownUiLanguages:t,primaryLanguage:e="en",fallbackLanguages:a=[],onLanguagesChange:n,onPrimaryLanguageChange:i,onFallbackLanguagesChange:l,localizedStrings:c,className:d,id:u}){const w=Al(c,"%settings_uiLanguageSelector_fallbackLanguages%"),[p,h]=s.useState(!1),g=k=>{i&&i(k),n&&n([k,...a.filter(x=>x!==k)]),l&&a.find(x=>x===k)&&l([...a.filter(x=>x!==k)]),h(!1)},m=(k,x)=>{var C,N,E,_,O,T;const f=x!==k?((N=(C=t[k])==null?void 0:C.uiNames)==null?void 0:N[x])??((_=(E=t[k])==null?void 0:E.uiNames)==null?void 0:_.en):void 0;return f?`${(O=t[k])==null?void 0:O.autonym} (${f})`:(T=t[k])==null?void 0:T.autonym};return r.jsxs("div",{id:u,className:o.cn("pr-twp tw:max-w-sm",d),children:[r.jsxs(Te,{name:"uiLanguage",value:e,onValueChange:g,open:p,onOpenChange:k=>h(k),children:[r.jsx(Re,{children:r.jsx(Se,{})}),r.jsx(Me,{style:{zIndex:o.Z_INDEX_ABOVE_DOCK},children:Object.keys(t).map(k=>r.jsx(re,{value:k,children:m(k,e)},k))})]}),e!=="en"&&r.jsx("div",{className:"tw:pt-3",children:r.jsx(o.Label,{className:"tw:font-normal tw:text-muted-foreground",children:L.formatReplacementString(w,{fallbackLanguages:(a==null?void 0:a.length)>0?a.map(k=>m(k,e)).join(", "):t.en.autonym})})})]})}const Vl=Object.freeze(["%firstRun_language_search_placeholder%","%firstRun_language_noResults%","%firstRun_language_selected%"]);function Rn(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase()}function $l(t,e){if(!e)return t;const a=Rn(e);return t.filter(({keywords:n})=>n.some(i=>i.includes(a)))}function Fl(t){return[...t].sort(([e,a],[n,i])=>e==="en"&&n!=="en"?-1:n==="en"&&e!=="en"?1:a.autonym.localeCompare(i.autonym))}function Kl({languages:t,value:e,onChange:a,localizedStrings:n,className:i,id:l}){const[c,d]=s.useState(""),[u,w]=s.useState(),p=s.useRef(null),h=s.useRef(null),g=s.useRef(new Map),[m,k]=s.useState(),x=s.useMemo(()=>Fl(Object.entries(t)).map(([T,D])=>({tag:T,info:D,keywords:[D.autonym,...Object.values(D.uiNames??{}),...D.otherNames??[]].map(Rn)})),[t]),f=s.useMemo(()=>$l(x,c),[x,c]),C=s.useMemo(()=>{var D;const T=I=>!!I&&f.some(M=>M.tag===I);return T(u)?u:T(e)?e:((D=f[0])==null?void 0:D.tag)??""},[u,e,f]),N=x.length>1;s.useLayoutEffect(()=>{var T;k((T=h.current)==null?void 0:T.id)},[]),s.useLayoutEffect(()=>{const T=g.current.get(C),D=N?p.current:void 0;D&&(T?D.setAttribute("aria-activedescendant",T.id):D.removeAttribute("aria-activedescendant")),T&&C!==u&&T.scrollIntoView({block:"nearest"})},[C,u,N]);const E=n["%firstRun_language_search_placeholder%"]??"",_=n["%firstRun_language_noResults%"]??"",O=n["%firstRun_language_selected%"]??"";return r.jsxs(o.Command,{id:l,className:o.cn("pr-twp",i),shouldFilter:!1,value:C,onValueChange:w,children:[N&&r.jsx("div",{"data-slot":"command-input-wrapper",className:"tw:p-1 tw:pb-0",children:r.jsxs(o.InputGroup,{className:"tw:h-8! tw:rounded-lg! tw:border-input/30 tw:bg-input/30 tw:shadow-none! tw:*:data-[slot=input-group-addon]:ps-2!",children:[r.jsx("input",{ref:p,"data-slot":"command-input",type:"text",role:"combobox","aria-expanded":!0,"aria-controls":m,"aria-autocomplete":"list",placeholder:E,"aria-label":E,value:c,onChange:T=>{d(T.currentTarget.value),w(void 0)},className:"tw:w-full tw:text-sm tw:outline-hidden tw:disabled:cursor-not-allowed tw:disabled:opacity-50"}),r.jsx(o.InputGroupAddon,{children:r.jsx(Mt.IconSearch,{className:"tw:size-4 tw:shrink-0 tw:opacity-50"})})]})}),r.jsxs(o.CommandList,{ref:h,children:[r.jsx(o.CommandEmpty,{children:_}),f.map(({tag:T,info:D})=>{const I=T===e;return r.jsxs(o.CommandItem,{ref:M=>{M?g.current.set(T,M):g.current.delete(T)},value:T,"aria-current":I?"true":void 0,"data-checked":I?"true":void 0,onSelect:()=>a(T),children:[r.jsx("span",{dir:"auto",children:D.autonym}),I&&r.jsx("span",{className:"tw:sr-only",children:O})]},T)})]})]})}function Ul({item:t,createLabel:e,createComplexLabel:a}){return e?r.jsx(o.Label,{children:e(t)}):a?r.jsx(o.Label,{children:a(t)}):r.jsx(o.Label,{children:t})}function Mn({id:t,className:e,listItems:a,selectedListItems:n,handleSelectListItem:i,createLabel:l,createComplexLabel:c}){return r.jsx("div",{id:t,className:e,children:a.map(d=>r.jsxs("div",{className:"tw:m-2 tw:flex tw:items-center",children:[r.jsx(xa,{className:"tw:me-2 tw:align-middle",checked:n.includes(d),onCheckedChange:u=>i(d,u)}),r.jsx(Ul,{item:d,createLabel:l,createComplexLabel:c})]},d))})}const Gl=Mn;function Hl(t,e){const[a,n]=s.useState(t),[i,l]=s.useState(e);return t!==a&&(n(t),t&&l(e)),t?e:i}function ql({open:t,anchorRect:e,message:a,confirmingKeyLabel:n,side:i="bottom",align:l="start",showArrow:c=!0}){const d=t?L.formatReplacementStringToArray(a,{key:n}).join(""):"",{anchorRect:u,message:w,confirmingKeyLabel:p,showArrow:h}=Hl(t,{anchorRect:e,message:a,confirmingKeyLabel:n,showArrow:c});return r.jsxs(o.TooltipProvider,{children:[r.jsx("span",{role:"status",className:"tw:sr-only",children:d}),r.jsxs(o.Tooltip,{open:t,onOpenChange:()=>{},children:[r.jsx(o.TooltipTrigger,{"aria-hidden":"true",tabIndex:-1,className:o.cn("tw:absolute tw:opacity-0 tw:pointer-events-none","tw:p-0 tw:border-0 tw:bg-transparent tw:cursor-default tw:min-w-0 tw:min-h-0"),style:{top:u.top,left:u.left,width:u.width,height:u.height}}),r.jsx(o.TooltipContent,{side:i,align:l,showArrow:h,arrowPadding:8,className:o.cn("tw:p-0 tw:has-data-[slot=kbd]:pe-0 tw:bg-background tw:text-destructive tw:border tw:border-destructive"),arrowClassName:"tw:bg-[color-mix(in_oklab,var(--destructive)_10%,var(--background))] tw:fill-[color-mix(in_oklab,var(--destructive)_10%,var(--background))] tw:border tw:border-destructive",children:r.jsx("div",{className:"tw:w-full tw:h-full tw:rounded-md tw:bg-destructive/10 tw:px-3 tw:py-1.5",children:L.formatReplacementStringToArray(w,{key:r.jsx(o.Kbd,{className:o.cn("tw:border tw:border-destructive tw:in-data-[slot=tooltip-content]:text-destructive","tw:align-middle"),children:p})}).map((g,m)=>r.jsx(s.Fragment,{children:g},`key-${m}`))})})]})]})}function Yl({cardKey:t,isSelected:e,onSelect:a,isDenied:n,isHidden:i=!1,className:l,children:c,selectedButtons:d,hoverButtons:u,dropdownContent:w,additionalContent:p,accentColor:h,showDropdownOnHover:g=!1}){const m=f=>{if(f.key==="Enter"||f.key===" "){if(f.target!==f.currentTarget)return;f.preventDefault(),a()}},[k,x]=s.useState(!1);return r.jsxs("div",{hidden:i,onClick:a,onKeyDown:m,onMouseEnter:()=>x(!0),onFocus:()=>x(!0),role:"button",tabIndex:0,"aria-pressed":e,className:o.cn("tw:group tw:relative tw:min-w-36 tw:rounded-xl tw:border tw:shadow-none tw:hover:bg-muted/50",{"tw:opacity-50 tw:hover:opacity-100":n&&!e},{"tw:bg-accent":e},{"tw:bg-transparent":!e},l),children:[r.jsxs("div",{className:"tw:flex tw:flex-col tw:gap-2 tw:p-4",children:[r.jsxs("div",{className:"tw:flex tw:justify-between tw:overflow-hidden",children:[r.jsx("div",{className:"tw:min-w-0 tw:flex-1",children:c}),e&&d,!e&&u&&r.jsx("div",{className:"tw:invisible tw:group-hover:visible",children:u}),w&&(e||g&&k)&&r.jsx("div",{className:o.cn(!e&&g&&"tw:invisible tw:group-hover:visible"),children:r.jsxs(o.DropdownMenu,{children:[r.jsx(o.DropdownMenuTrigger,{className:o.cn(h&&"tw:me-1"),asChild:!0,children:r.jsx(o.Button,{className:"tw:m-1 tw:h-6 tw:w-6",variant:"ghost",size:"icon",onClick:f=>f.stopPropagation(),onFocus:f=>f.stopPropagation(),children:r.jsx(B.MoreVertical,{})})}),r.jsx(o.DropdownMenuContent,{align:"end",children:w})]})})]}),p&&r.jsx("div",{className:"tw:w-fit tw:min-w-0 tw:max-w-full tw:overflow-hidden",children:p})]}),h&&r.jsx("div",{className:`tw:absolute tw:right-0 tw:top-0 tw:h-full tw:w-2 tw:rounded-r-xl ${h}`})]},t)}function Zl({id:t,isDisabled:e=!1,hasError:a=!1,isFullWidth:n=!1,helperText:i,label:l,placeholder:c,isRequired:d=!1,className:u,defaultValue:w,value:p,onChange:h,onFocus:g,onBlur:m}){return r.jsxs("div",{className:o.cn("tw:inline-grid tw:items-center tw:gap-1.5",{"tw:w-full":n}),children:[r.jsx(o.Label,{htmlFor:t,className:o.cn({"tw:text-red-600":a,"tw:hidden":!l}),children:`${l}${d?"*":""}`}),r.jsx(o.Input,{id:t,disabled:e,placeholder:c,required:d,className:o.cn(u,{"tw:border-red-600":a}),defaultValue:w,value:p,onChange:h,onFocus:g,onBlur:m}),r.jsx("p",{className:o.cn({"tw:hidden":!i}),children:i})]})}function Xl({currentStep:t,totalSteps:e,locale:a}){const n=a||"en",i=s.useMemo(()=>{const d=new L.NumberFormat(n);return u=>d.format(u)},[n]),l=Math.min(Math.max(t,1),e),c=Array.from({length:e},(d,u)=>u+1);return r.jsx("div",{className:"tw:flex tw:items-center","aria-hidden":"true",children:c.map(d=>{let u="upcoming";return d===l?u="active":d1&&r.jsx("div",{className:"tw:h-px tw:flex-1 tw:bg-border"}),r.jsx("div",{"data-state":u,className:o.cn("tw:flex tw:h-8 tw:w-8 tw:shrink-0 tw:items-center tw:justify-center tw:rounded-full tw:text-sm tw:font-medium",u==="active"&&"tw:bg-primary tw:text-primary-foreground",u==="complete"&&"tw:bg-muted tw:text-muted-foreground",u==="upcoming"&&"tw:border tw:border-input tw:text-muted-foreground"),children:u==="complete"?r.jsx(B.Check,{className:"tw:h-4 tw:w-4"}):i(d)})]},d)})})}function Wl({...t}){return r.jsx(V.ContextMenu.Root,{"data-slot":"context-menu",...t})}function Jl({className:t,...e}){return r.jsx(V.ContextMenu.Trigger,{"data-slot":"context-menu-trigger",className:o.cn("tw:select-none",t),...e})}function Ql({...t}){return r.jsx(V.ContextMenu.Group,{"data-slot":"context-menu-group",...t})}function td({...t}){return r.jsx(V.ContextMenu.Portal,{"data-slot":"context-menu-portal",...t})}function ed({...t}){return r.jsx(V.ContextMenu.Sub,{"data-slot":"context-menu-sub",...t})}function rd({...t}){return r.jsx(V.ContextMenu.RadioGroup,{"data-slot":"context-menu-radio-group",...t})}function ad({className:t,style:e,...a}){return r.jsx(V.ContextMenu.Portal,{children:r.jsx(V.ContextMenu.Content,{"data-slot":"context-menu-content",className:o.cn("pr-twp tw:max-h-(--radix-context-menu-content-available-height) tw:min-w-36 tw:origin-(--radix-context-menu-content-transform-origin) tw:overflow-x-hidden tw:overflow-y-auto tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-md tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...e},...a})})}function od({className:t,inset:e,variant:a="default",...n}){return r.jsx(V.ContextMenu.Item,{"data-slot":"context-menu-item","data-inset":e,"data-variant":a,className:o.cn("pr-twp tw:group/context-menu-item tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-[variant=destructive]:text-destructive tw:data-[variant=destructive]:focus:bg-destructive/10 tw:data-[variant=destructive]:focus:text-destructive tw:dark:data-[variant=destructive]:focus:bg-destructive/20 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4 tw:focus:*:[svg]:text-accent-foreground tw:data-[variant=destructive]:*:[svg]:text-destructive",t),...n})}function nd({className:t,inset:e,children:a,...n}){return r.jsxs(V.ContextMenu.SubTrigger,{"data-slot":"context-menu-sub-trigger","data-inset":e,className:o.cn("pr-twp tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:px-1.5 tw:py-1 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-open:bg-accent tw:data-open:text-accent-foreground tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),...n,children:[a,r.jsx(Mt.IconChevronRight,{className:"tw:ms-auto"})]})}function id({className:t,style:e,...a}){return r.jsx(V.ContextMenu.SubContent,{"data-slot":"context-menu-sub-content",className:o.cn("pr-twp tw:min-w-32 tw:origin-(--radix-context-menu-content-transform-origin) tw:overflow-hidden tw:rounded-lg tw:bg-popover tw:p-1 tw:text-popover-foreground tw:shadow-lg tw:ring-1 tw:ring-foreground/10 tw:duration-100 tw:data-[side=bottom]:slide-in-from-top-2 tw:data-[side=left]:slide-in-from-right-2 tw:data-[side=right]:slide-in-from-left-2 tw:data-[side=top]:slide-in-from-bottom-2 tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-open:zoom-in-95 tw:data-closed:animate-out tw:data-closed:fade-out-0 tw:data-closed:zoom-out-95 tw:animate-none! tw:**:data-[slot$=-item]:focus:bg-foreground/10 tw:**:data-[slot$=-item]:data-highlighted:bg-foreground/10 tw:**:data-[slot$=-separator]:bg-foreground/5 tw:**:data-[slot$=-trigger]:focus:bg-foreground/10 tw:**:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! tw:**:data-[variant=destructive]:focus:bg-foreground/10! tw:**:data-[variant=destructive]:text-accent-foreground! tw:**:data-[variant=destructive]:**:text-accent-foreground! tw:relative",t),style:{zIndex:o.Z_INDEX_ABOVE_DOCK,...e},...a})}function sd({className:t,children:e,checked:a,inset:n,...i}){return r.jsxs(V.ContextMenu.CheckboxItem,{"data-slot":"context-menu-checkbox-item","data-inset":n,className:o.cn("pr-twp tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:py-1 tw:pe-8 tw:ps-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),checked:a,...i,children:[r.jsx("span",{className:"tw:pointer-events-none tw:absolute tw:end-2",children:r.jsx(V.ContextMenu.ItemIndicator,{children:r.jsx(Mt.IconCheck,{})})}),e]})}function cd({className:t,children:e,inset:a,...n}){return r.jsxs(V.ContextMenu.RadioItem,{"data-slot":"context-menu-radio-item","data-inset":a,className:o.cn("pr-twp tw:relative tw:flex tw:cursor-default tw:items-center tw:gap-1.5 tw:rounded-md tw:py-1 tw:pe-8 tw:ps-1.5 tw:text-sm tw:outline-hidden tw:select-none tw:focus:bg-accent tw:focus:text-accent-foreground tw:data-inset:ps-7 tw:data-disabled:pointer-events-none tw:data-disabled:opacity-50 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4",t),...n,children:[r.jsx("span",{className:"tw:pointer-events-none tw:absolute tw:end-2",children:r.jsx(V.ContextMenu.ItemIndicator,{children:r.jsx(Mt.IconCheck,{})})}),e]})}function ld({className:t,inset:e,...a}){return r.jsx(V.ContextMenu.Label,{"data-slot":"context-menu-label","data-inset":e,className:o.cn("pr-twp tw:px-1.5 tw:py-1 tw:text-xs tw:font-medium tw:text-muted-foreground tw:data-inset:ps-7",t),...a})}function dd({className:t,...e}){return r.jsx(V.ContextMenu.Separator,{"data-slot":"context-menu-separator",className:o.cn("pr-twp tw:-mx-1 tw:my-1 tw:h-px tw:bg-border",t),...e})}function wd({className:t,...e}){return r.jsx("span",{"data-slot":"context-menu-shortcut",className:o.cn("pr-twp tw:[unicode-bidi:plaintext] tw:ms-auto tw:text-xs tw:tracking-widest tw:text-muted-foreground tw:group-focus/context-menu-item:text-accent-foreground",t),...e})}function ud({...t}){return r.jsx(_e.Drawer.Root,{"data-slot":"drawer",...t})}function pd({...t}){return r.jsx(_e.Drawer.Trigger,{"data-slot":"drawer-trigger",...t})}function Dn({...t}){return r.jsx(_e.Drawer.Portal,{"data-slot":"drawer-portal",...t})}function hd({...t}){return r.jsx(_e.Drawer.Close,{"data-slot":"drawer-close",...t})}function In({className:t,...e}){return r.jsx(_e.Drawer.Overlay,{"data-slot":"drawer-overlay",className:o.cn("pr-twp tw:fixed tw:inset-0 tw:z-50 tw:bg-black/10 tw:supports-backdrop-filter:backdrop-blur-xs tw:data-open:animate-in tw:data-open:fade-in-0 tw:data-closed:animate-out tw:data-closed:fade-out-0",t),...e})}function gd({className:t,children:e,hideDrawerHandle:a=!1,...n}){const i=o.readDirection();return r.jsxs(Dn,{"data-slot":"drawer-portal",children:[r.jsx(In,{}),r.jsxs(_e.Drawer.Content,{"data-slot":"drawer-content",className:o.cn("pr-twp tw:group/drawer-content tw:fixed tw:z-50 tw:flex tw:h-auto tw:flex-col tw:bg-popover tw:text-sm tw:text-popover-foreground tw:data-[vaul-drawer-direction=bottom]:inset-x-0 tw:data-[vaul-drawer-direction=bottom]:bottom-0 tw:data-[vaul-drawer-direction=bottom]:mt-24 tw:data-[vaul-drawer-direction=bottom]:max-h-[80vh] tw:data-[vaul-drawer-direction=bottom]:rounded-t-xl tw:data-[vaul-drawer-direction=bottom]:border-t tw:data-[vaul-drawer-direction=left]:inset-y-0 tw:data-[vaul-drawer-direction=left]:left-0 tw:data-[vaul-drawer-direction=left]:w-3/4 tw:data-[vaul-drawer-direction=left]:rounded-r-xl tw:data-[vaul-drawer-direction=left]:border-r tw:data-[vaul-drawer-direction=left]:flex-row tw:data-[vaul-drawer-direction=right]:inset-y-0 tw:data-[vaul-drawer-direction=right]:right-0 tw:data-[vaul-drawer-direction=right]:w-3/4 tw:data-[vaul-drawer-direction=right]:rounded-l-xl tw:data-[vaul-drawer-direction=right]:border-l tw:data-[vaul-drawer-direction=right]:flex-row tw:data-[vaul-drawer-direction=top]:inset-x-0 tw:data-[vaul-drawer-direction=top]:top-0 tw:data-[vaul-drawer-direction=top]:mb-24 tw:data-[vaul-drawer-direction=top]:max-h-[80vh] tw:data-[vaul-drawer-direction=top]:rounded-b-xl tw:data-[vaul-drawer-direction=top]:border-b tw:data-[vaul-drawer-direction=left]:sm:max-w-sm tw:data-[vaul-drawer-direction=right]:sm:max-w-sm",t),dir:"ltr",...n,children:[!a&&r.jsx("div",{className:"tw:hidden tw:shrink-0 tw:rounded-full tw:bg-muted tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:mx-auto tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:mt-4 tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:h-1.5 tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:w-[100px] tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:block tw:group-data-[vaul-drawer-direction=right]/drawer-content:my-auto tw:group-data-[vaul-drawer-direction=right]/drawer-content:ms-4 tw:group-data-[vaul-drawer-direction=right]/drawer-content:h-[100px] tw:group-data-[vaul-drawer-direction=right]/drawer-content:w-1.5 tw:group-data-[vaul-drawer-direction=right]/drawer-content:block"}),r.jsx("div",{className:"tw:flex tw:min-w-0 tw:flex-1 tw:flex-col",dir:i,children:e}),!a&&r.jsx("div",{className:"tw:hidden tw:shrink-0 tw:rounded-full tw:bg-muted tw:group-data-[vaul-drawer-direction=top]/drawer-content:mx-auto tw:group-data-[vaul-drawer-direction=top]/drawer-content:mb-4 tw:group-data-[vaul-drawer-direction=top]/drawer-content:h-1.5 tw:group-data-[vaul-drawer-direction=top]/drawer-content:w-[100px] tw:group-data-[vaul-drawer-direction=top]/drawer-content:block tw:group-data-[vaul-drawer-direction=left]/drawer-content:my-auto tw:group-data-[vaul-drawer-direction=left]/drawer-content:me-4 tw:group-data-[vaul-drawer-direction=left]/drawer-content:h-[100px] tw:group-data-[vaul-drawer-direction=left]/drawer-content:w-1.5 tw:group-data-[vaul-drawer-direction=left]/drawer-content:block"})]})]})}function fd({className:t,...e}){return r.jsx("div",{"data-slot":"drawer-header",className:o.cn("pr-twp tw:flex tw:flex-col tw:gap-0.5 tw:p-4 tw:group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center tw:group-data-[vaul-drawer-direction=top]/drawer-content:text-center tw:md:gap-0.5 tw:md:text-start",t),...e})}function md({className:t,...e}){return r.jsx("div",{"data-slot":"drawer-footer",className:o.cn("pr-twp tw:mt-auto tw:flex tw:flex-col tw:gap-2 tw:p-4",t),...e})}function vd({className:t,...e}){return r.jsx(_e.Drawer.Title,{"data-slot":"drawer-title",className:o.cn("pr-twp tw:font-heading tw:text-base tw:font-medium tw:text-foreground",t),...e})}function bd({className:t,...e}){return r.jsx(_e.Drawer.Description,{"data-slot":"drawer-description",className:o.cn("pr-twp tw:text-sm tw:text-muted-foreground",t),...e})}function xd({className:t,value:e,...a}){return r.jsx(V.Progress.Root,{"data-slot":"progress",className:o.cn("pr-twp tw:relative tw:flex tw:h-1 tw:w-full tw:items-center tw:overflow-x-hidden tw:rounded-full tw:bg-muted",t),...a,children:r.jsx(V.Progress.Indicator,{"data-slot":"progress-indicator",className:"tw:size-full tw:flex-1 tw:bg-primary tw:transition-all",style:{transform:`translateX(-${100-(e||0)}%)`}})})}function yd({...t}){const{theme:e="system"}=Fn.useTheme(),a=e==="light"||e==="dark"||e==="system"?e:"system",n={"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"};return r.jsx(eo.Toaster,{theme:a,className:"tw:toaster tw:group",icons:{success:r.jsx(Mt.IconCircleCheck,{className:"tw:size-4"}),info:r.jsx(Mt.IconInfoCircle,{className:"tw:size-4"}),warning:r.jsx(Mt.IconAlertTriangle,{className:"tw:size-4"}),error:r.jsx(Mt.IconAlertOctagon,{className:"tw:size-4"}),loading:r.jsx(Mt.IconLoader,{className:"tw:size-4 tw:animate-spin"})},style:n,toastOptions:{classNames:{toast:"cn-toast"}},...t})}function kd({className:t,defaultValue:e,value:a,min:n=0,max:i=100,...l}){const c=o.readDirection(),d=s.useMemo(()=>Array.isArray(a)?a:Array.isArray(e)?e:[n,i],[a,e,n,i]);return r.jsxs(V.Slider.Root,{"data-slot":"slider",defaultValue:e,value:a,min:n,max:i,className:o.cn("pr-twp tw:relative tw:flex tw:w-full tw:touch-none tw:items-center tw:select-none tw:data-disabled:opacity-50 tw:data-vertical:h-full tw:data-vertical:min-h-40 tw:data-vertical:w-auto tw:data-vertical:flex-col",t),dir:c,...l,children:[r.jsx(V.Slider.Track,{"data-slot":"slider-track",className:"tw:relative tw:grow tw:overflow-hidden tw:rounded-full tw:bg-muted tw:data-horizontal:h-1 tw:data-horizontal:w-full tw:data-vertical:h-full tw:data-vertical:w-1",children:r.jsx(V.Slider.Range,{"data-slot":"slider-range",className:"tw:absolute tw:bg-primary tw:select-none tw:data-horizontal:h-full tw:data-vertical:w-full"})}),Array.from({length:d.length},(u,w)=>r.jsx(V.Slider.Thumb,{"data-slot":"slider-thumb",className:"tw:relative tw:block tw:size-3 tw:shrink-0 tw:rounded-full tw:border tw:border-ring tw:bg-white tw:ring-ring/50 tw:transition-[color,box-shadow] tw:select-none tw:after:absolute tw:after:-inset-2 tw:hover:ring-3 tw:focus-visible:ring-3 tw:focus-visible:outline-hidden tw:active:ring-3 tw:disabled:pointer-events-none tw:disabled:opacity-50"},w))]})}function _d({className:t,size:e="default",...a}){return r.jsx(V.Switch.Root,{"data-slot":"switch","data-size":e,className:o.cn("tw:peer pr-twp tw:group/switch tw:relative tw:inline-flex tw:shrink-0 tw:items-center tw:rounded-full tw:border tw:border-transparent tw:transition-all tw:outline-none tw:after:absolute tw:after:-inset-x-3 tw:after:-inset-y-2 tw:focus-visible:border-ring tw:focus-visible:ring-3 tw:focus-visible:ring-ring/50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-3 tw:aria-invalid:ring-destructive/20 tw:data-[size=default]:h-[18.4px] tw:data-[size=default]:w-[32px] tw:data-[size=sm]:h-[14px] tw:data-[size=sm]:w-[24px] tw:dark:aria-invalid:border-destructive/50 tw:dark:aria-invalid:ring-destructive/40 tw:data-checked:bg-primary tw:data-unchecked:bg-input tw:dark:data-unchecked:bg-input/80 tw:data-disabled:cursor-not-allowed tw:data-disabled:opacity-50",t),...a,children:r.jsx(V.Switch.Thumb,{"data-slot":"switch-thumb",className:"tw:pointer-events-none tw:block tw:rounded-full tw:bg-background tw:ring-0 tw:transition-transform tw:group-data-[size=default]/switch:size-4 tw:group-data-[size=sm]/switch:size-3 tw:group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] tw:rtl:group-data-[size=default]/switch:data-checked:-translate-x-[calc(100%-2px)] tw:group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] tw:rtl:group-data-[size=sm]/switch:data-checked:-translate-x-[calc(100%-2px)] tw:dark:data-checked:bg-primary-foreground tw:group-data-[size=default]/switch:data-unchecked:translate-x-0 tw:rtl:group-data-[size=default]/switch:data-unchecked:-translate-x-0 tw:group-data-[size=sm]/switch:data-unchecked:translate-x-0 tw:rtl:group-data-[size=sm]/switch:data-unchecked:-translate-x-0 tw:dark:data-unchecked:bg-foreground"})})}function jd({className:t,orientation:e="horizontal",...a}){return r.jsx(V.Tabs.Root,{"data-slot":"tabs","data-orientation":e,className:o.cn("tw:group/tabs tw:flex tw:gap-2 tw:data-horizontal:flex-col",t),...a})}const Cd=aa.cva("tw:group/tabs-list tw:inline-flex tw:w-fit tw:items-center tw:justify-center tw:rounded-lg tw:p-[3px] tw:text-muted-foreground tw:group-data-horizontal/tabs:h-8 tw:group-data-vertical/tabs:h-fit tw:group-data-vertical/tabs:flex-col tw:data-[variant=line]:rounded-none",{variants:{variant:{default:"tw:bg-muted",line:"tw:gap-1 tw:bg-transparent"}},defaultVariants:{variant:"default"}});function Nd({className:t,variant:e="default",...a}){const n=o.readDirection();return r.jsx(V.Tabs.List,{"data-slot":"tabs-list","data-variant":e,className:o.cn("pr-twp",Cd({variant:e}),t),dir:n,...a})}function Ed({className:t,...e}){return r.jsx(V.Tabs.Trigger,{"data-slot":"tabs-trigger",className:o.cn("pr-twp tw:relative tw:inline-flex tw:h-[calc(100%-1px)] tw:flex-1 tw:items-center tw:justify-center tw:gap-1.5 tw:rounded-md tw:border tw:border-transparent tw:px-1.5 tw:py-0.5 tw:text-sm tw:font-medium tw:whitespace-nowrap tw:text-foreground/60 tw:transition-all tw:group-data-vertical/tabs:w-full tw:group-data-vertical/tabs:justify-start tw:hover:text-foreground tw:focus-visible:border-ring tw:focus-visible:ring-[3px] tw:focus-visible:ring-ring/50 tw:focus-visible:outline-1 tw:focus-visible:outline-ring tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:has-data-[icon=inline-end]:pe-1 tw:has-data-[icon=inline-start]:ps-1 tw:dark:text-muted-foreground tw:dark:hover:text-foreground tw:group-data-[variant=default]/tabs-list:data-active:shadow-sm tw:group-data-[variant=line]/tabs-list:data-active:shadow-none tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4","tw:group-data-[variant=line]/tabs-list:bg-transparent tw:group-data-[variant=line]/tabs-list:data-active:bg-transparent tw:dark:group-data-[variant=line]/tabs-list:data-active:border-transparent tw:dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent","tw:data-active:bg-background tw:data-active:text-foreground tw:dark:data-active:border-input tw:dark:data-active:bg-input/30 tw:dark:data-active:text-foreground","tw:after:absolute tw:after:bg-foreground tw:after:opacity-0 tw:after:transition-opacity tw:group-data-horizontal/tabs:after:inset-x-0 tw:group-data-horizontal/tabs:after:bottom-[-5px] tw:group-data-horizontal/tabs:after:h-0.5 tw:group-data-vertical/tabs:after:inset-y-0 tw:group-data-vertical/tabs:after:-end-1 tw:group-data-vertical/tabs:after:w-0.5 tw:group-data-[variant=line]/tabs-list:data-active:after:opacity-100",t),...e})}function Td({className:t,...e}){return r.jsx(V.Tabs.Content,{"data-slot":"tabs-content",className:o.cn("pr-twp tw:flex-1 tw:text-sm tw:outline-none",t),...e})}const Sd=(t,e)=>{s.useEffect(()=>{if(!t)return;let a=!1;const i=t(l=>{a||e(l)});return()=>{a=!0;try{i()}catch(l){console.error("useEvent: error while unsubscribing from event",l)}}},[t,e])},Rd=(t,e)=>{s.useEffect(()=>{if(!t)return;let a=!1,n,i=!1;const l=d=>{a||e(d)},c=()=>{if(i||!n)return;i=!0;const d=n;(async()=>{try{await d()}catch(u){console.error("useEventAsync: error while unsubscribing from event",u)}})()};return(async()=>{try{n=await Promise.resolve(t(l)),a&&c()}catch(d){console.error("useEventAsync: error while subscribing to event",d)}})(),()=>{a=!0,c()}},[t,e])};function Md(t){return{preserveValue:!0,...t}}const On=(t,e,a={})=>{const n=s.useRef(e);n.current=e;const i=s.useRef(a);i.current=Md(i.current);const[l,c]=s.useState(()=>n.current),[d,u]=s.useState(!0);return s.useEffect(()=>{let w=!0;return u(!!t),(async()=>{if(t)try{const p=await t();w&&(c(()=>p),u(!1))}catch(p){w&&u(!1),console.error("usePromise: the promise factory rejected, so there is no new value",p)}})(),()=>{w=!1,i.current.preserveValue||c(()=>n.current)}},[t]),[l,d]},Dd=t=>{const[e,a]=s.useState(!1),[n,i]=s.useState(!1),[l,c]=s.useState(0),d=s.useRef(void 0),u=s.useMemo(()=>{if(!t)return;const g=async()=>{try{const m=await t();return d.current===g&&(a(!1),i(!0)),m}catch(m){throw d.current===g&&(a(!0),i(!0)),m}};return g},[t,l]);s.useEffect(()=>{d.current=u,a(!1),i(!u)},[u]);const[w,p]=On(u,void 0),h=s.useCallback(()=>{d.current&&(a(!1),i(!1),c(g=>g+1))},[]);return s.useMemo(()=>({data:w,isLoading:p,hasError:e,hasSettled:n,refetch:h}),[w,p,e,n,h])};function Id(t){s.useEffect(()=>{let e;return t&&(e=document.createElement("style"),e.appendChild(document.createTextNode(t)),document.head.appendChild(e)),()=>{e&&document.head.removeChild(e)}},[t])}function Od(t){const e=s.useMemo(()=>L.collectUsjMarkers(t).slice().sort().join(" "),[t]);return s.useMemo(()=>e?e.split(" "):[],[e])}const Pn=()=>{const[t,e]=s.useState(()=>document.body.getBoundingClientRect().height>0);return s.useEffect(()=>{const a=new IntersectionObserver(n=>{const i=n[n.length-1];i&&e(i.isIntersecting)});return a.observe(document.body),()=>{a.disconnect()}},[]),t};function Pd(t,e){const[a,n]=s.useState(!1),i=s.useRef(e);i.current=e;const l=s.useRef(t);l.current=t;const c=s.useCallback(()=>{l.current?i.current():n(!0)},[]);return s.useEffect(()=>{!t||!a||(n(!1),i.current())},[t,a]),c}function zn(t,e,a){return t?a.dark:e===void 0?a.lightDefault:a.lightUnselected}function zd(t,e){const a=Pn();return zn(t,a,e)}function Ld({value:t,children:e}){return r.jsx(oa.Provider,{value:t,children:r.jsx(rr.Provider,{value:t,children:e})})}const Ad=300;exports.Alert=o.Alert;exports.AlertDescription=o.AlertDescription;exports.AlertTitle=o.AlertTitle;exports.Badge=o.Badge;exports.Button=o.Button;exports.ButtonGroup=o.ButtonGroup;exports.ButtonGroupSeparator=o.ButtonGroupSeparator;exports.ButtonGroupText=o.ButtonGroupText;exports.Command=o.Command;exports.CommandEmpty=o.CommandEmpty;exports.CommandGroup=o.CommandGroup;exports.CommandInput=o.CommandInput;exports.CommandItem=o.CommandItem;exports.CommandList=o.CommandList;exports.Dialog=o.Dialog;exports.DialogClose=o.DialogClose;exports.DialogContent=o.DialogContent;exports.DialogDescription=o.DialogDescription;exports.DialogFooter=o.DialogFooter;exports.DialogHeader=o.DialogHeader;exports.DialogOverlay=o.DialogOverlay;exports.DialogPortal=o.DialogPortal;exports.DialogTitle=o.DialogTitle;exports.DialogTrigger=o.DialogTrigger;exports.DropdownMenu=o.DropdownMenu;exports.DropdownMenuCheckboxItem=o.DropdownMenuCheckboxItem;exports.DropdownMenuContent=o.DropdownMenuContent;exports.DropdownMenuGroup=o.DropdownMenuGroup;exports.DropdownMenuItem=o.DropdownMenuItem;exports.DropdownMenuLabel=o.DropdownMenuLabel;exports.DropdownMenuPortal=o.DropdownMenuPortal;exports.DropdownMenuRadioGroup=o.DropdownMenuRadioGroup;exports.DropdownMenuRadioItem=o.DropdownMenuRadioItem;exports.DropdownMenuSeparator=o.DropdownMenuSeparator;exports.DropdownMenuShortcut=o.DropdownMenuShortcut;exports.DropdownMenuSub=o.DropdownMenuSub;exports.DropdownMenuSubContent=o.DropdownMenuSubContent;exports.DropdownMenuSubTrigger=o.DropdownMenuSubTrigger;exports.DropdownMenuTrigger=o.DropdownMenuTrigger;exports.Empty=o.Empty;exports.EmptyContent=o.EmptyContent;exports.EmptyDescription=o.EmptyDescription;exports.EmptyHeader=o.EmptyHeader;exports.EmptyMedia=o.EmptyMedia;exports.EmptyState=o.EmptyState;exports.EmptyTitle=o.EmptyTitle;exports.Input=o.Input;exports.Kbd=o.Kbd;exports.KbdGroup=o.KbdGroup;exports.Label=o.Label;exports.MultiSelectComboBox=o.MultiSelectComboBox;exports.Popover=o.Popover;exports.PopoverAnchor=o.PopoverAnchor;exports.PopoverContent=o.PopoverContent;exports.PopoverDescription=o.PopoverDescription;exports.PopoverHeader=o.PopoverHeader;exports.PopoverPortalContainerProvider=o.PopoverPortalContainerProvider;exports.PopoverTitle=o.PopoverTitle;exports.PopoverTrigger=o.PopoverTrigger;exports.RadioGroup=o.RadioGroup;exports.RadioGroupItem=o.RadioGroupItem;exports.ResizableHandle=o.ResizableHandle;exports.ResizablePanel=o.ResizablePanel;exports.ResizablePanelGroup=o.ResizablePanelGroup;exports.RetryableErrorView=o.RetryableErrorView;exports.SearchBar=o.SearchBar;exports.Separator=o.Separator;exports.Skeleton=o.Skeleton;exports.Spinner=o.Spinner;exports.Table=o.Table;exports.TableBody=o.TableBody;exports.TableCaption=o.TableCaption;exports.TableCell=o.TableCell;exports.TableFooter=o.TableFooter;exports.TableHead=o.TableHead;exports.TableHeader=o.TableHeader;exports.TableRow=o.TableRow;exports.Tooltip=o.Tooltip;exports.TooltipContent=o.TooltipContent;exports.TooltipPortalContainerProvider=o.TooltipPortalContainerProvider;exports.TooltipProvider=o.TooltipProvider;exports.TooltipTrigger=o.TooltipTrigger;exports.Z_INDEX_ABOVE_DOCK=o.Z_INDEX_ABOVE_DOCK;exports.Z_INDEX_ABOVE_POPOVER=o.Z_INDEX_ABOVE_POPOVER;exports.Z_INDEX_CONNECTION_LOST=o.Z_INDEX_CONNECTION_LOST;exports.Z_INDEX_FIRST_RUN=o.Z_INDEX_FIRST_RUN;exports.Z_INDEX_MODAL=o.Z_INDEX_MODAL;exports.Z_INDEX_MODAL_BACKDROP=o.Z_INDEX_MODAL_BACKDROP;exports.Z_INDEX_NESTED_MODAL=o.Z_INDEX_NESTED_MODAL;exports.Z_INDEX_NESTED_MODAL_BACKDROP=o.Z_INDEX_NESTED_MODAL_BACKDROP;exports.Z_INDEX_ONBOARDING_TOUR=o.Z_INDEX_ONBOARDING_TOUR;exports.Z_INDEX_OVERLAY=o.Z_INDEX_OVERLAY;exports.badgeVariants=o.badgeVariants;exports.buttonGroupVariants=o.buttonGroupVariants;exports.buttonVariants=o.buttonVariants;exports.cn=o.cn;exports.isMacOs=o.isMacOs;exports.isWindows=o.isWindows;exports.useHasContentBelow=o.useHasContentBelow;exports.useListbox=o.useListbox;exports.useTruncationTooltip=o.useTruncationTooltip;Object.defineProperty(exports,"sonner",{enumerable:!0,get:()=>eo.toast});exports.Avatar=Bo;exports.AvatarFallback=Vo;exports.AvatarImage=Bs;exports.BOOK_CHAPTER_CONTROL_STRING_KEYS=ii;exports.BOOK_SELECTOR_STRING_KEYS=ci;exports.BookChapterControl=vr;exports.BookSelector=li;exports.CANCEL_ACCEPT_BUTTONS_STRING_KEYS=fa;exports.COMMENT_EDITOR_STRING_KEYS=Ds;exports.COMMENT_LIST_ELEMENT_ID=zo;exports.COMMENT_LIST_STRING_KEYS=Is;exports.CONFLICT_NOTE_STRING_KEYS=Ts;exports.CONTENT_ZOOM_LABEL_ATTRIBUTE=ha;exports.CONTENT_ZOOM_ROOT_ATTRIBUTE=pa;exports.CONTENT_ZOOM_SCOPE_ATTRIBUTE=ys;exports.CancelAcceptButtons=ma;exports.Card=Lo;exports.CardContent=Ao;exports.CardDescription=Ls;exports.CardFooter=As;exports.CardHeader=Ps;exports.CardTitle=zs;exports.ChapterRangeSelector=co;exports.Checkbox=xa;exports.CheckboxGroup=Gl;exports.Checklist=Mn;exports.ComboBox=Zr;exports.CommentEditor=Ms;exports.CommentList=Ys;exports.ConflictNoteCard=Ko;exports.ContentZoomRoot=Uo;exports.ContentZoomTextProvider=ks;exports.ContextMenu=Wl;exports.ContextMenuCheckboxItem=sd;exports.ContextMenuContent=ad;exports.ContextMenuGroup=Ql;exports.ContextMenuItem=od;exports.ContextMenuLabel=ld;exports.ContextMenuPortal=td;exports.ContextMenuRadioGroup=rd;exports.ContextMenuRadioItem=cd;exports.ContextMenuSeparator=dd;exports.ContextMenuShortcut=wd;exports.ContextMenuSub=ed;exports.ContextMenuSubContent=id;exports.ContextMenuSubTrigger=nd;exports.ContextMenuTrigger=Jl;exports.DataTable=Yo;exports.DestructiveKeyConfirmation=ql;exports.DisabledActionTooltip=_n;exports.DisabledTooltipWrapper=Ke;exports.Drawer=ud;exports.DrawerClose=hd;exports.DrawerContent=gd;exports.DrawerDescription=bd;exports.DrawerFooter=md;exports.DrawerHeader=fd;exports.DrawerOverlay=In;exports.DrawerPortal=Dn;exports.DrawerTitle=vd;exports.DrawerTrigger=pd;exports.DropdownMenuItemType=Wo;exports.ERROR_DUMP_STRING_KEYS=Zo;exports.ERROR_POPOVER_STRING_KEYS=tc;exports.EditorKeyboardShortcuts=tn;exports.ErrorDump=Xo;exports.ErrorPopover=ec;exports.FOOTNOTE_EDITOR_STRING_KEYS=bc;exports.Filter=ic;exports.FilterDropdown=rc;exports.Footer=nc;exports.FootnoteEditor=vc;exports.FootnoteItem=cn;exports.FootnoteList=kc;exports.INTERFACE_LANGUAGE_PICKER_STRING_KEYS=Vl;exports.INVENTORY_STRING_KEYS=Ic;exports.InterfaceLanguagePicker=Kl;exports.Inventory=zc;exports.MARKER_MENU_STRING_KEYS=on;exports.MarkdownRenderer=Qs;exports.MarkerMenu=nn;exports.MoreInfo=ac;exports.NavigationContentSearch=kl;exports.Progress=xd;exports.RecentSearches=io;exports.ResultsCard=Yl;exports.SCOPE_SELECTOR_STRING_KEYS=dl;exports.SELECT_BOOKS_STRING_KEYS=Cn;exports.SHRINK_STEP=Be;exports.ScopeSelector=ul;exports.ScriptureResultsViewer=cl;exports.ScrollGroupSelector=pl;exports.Select=Te;exports.SelectBooks=jn;exports.SelectBooksPicker=kn;exports.SelectContent=Me;exports.SelectGroup=Go;exports.SelectItem=re;exports.SelectLabel=Xs;exports.SelectScrollDownButton=qo;exports.SelectScrollUpButton=Ho;exports.SelectSeparator=Ws;exports.SelectTrigger=Re;exports.SelectValue=Se;exports.SettingsList=hl;exports.SettingsListHeader=fl;exports.SettingsListItem=gl;exports.SettingsSidebar=xn;exports.SettingsSidebarContentSearch=tl;exports.ShrinkStepContext=rr;exports.ShrinkStepOverride=Ld;exports.ShrinkStepOverrideContext=oa;exports.Sidebar=hn;exports.SidebarContent=fn;exports.SidebarFooter=Uc;exports.SidebarGroup=ta;exports.SidebarGroupAction=Hc;exports.SidebarGroupContent=ra;exports.SidebarGroupLabel=ea;exports.SidebarHeader=Kc;exports.SidebarInput=Fc;exports.SidebarInset=gn;exports.SidebarMenu=mn;exports.SidebarMenuAction=Yc;exports.SidebarMenuBadge=Zc;exports.SidebarMenuButton=bn;exports.SidebarMenuItem=vn;exports.SidebarMenuSkeleton=Xc;exports.SidebarMenuSub=Wc;exports.SidebarMenuSubButton=Qc;exports.SidebarMenuSubItem=Jc;exports.SidebarProvider=pn;exports.SidebarRail=$c;exports.SidebarSeparator=Gc;exports.SidebarTrigger=Vc;exports.Slider=kd;exports.Sonner=yd;exports.Switch=_d;exports.TOOLTIP_DELAY_MS=Ad;exports.TabDropdownMenu=Sr;exports.TabFloatingMenu=yl;exports.TabToolbar=xl;exports.Tabs=jd;exports.TabsContent=Td;exports.TabsList=Nd;exports.TabsTrigger=Ed;exports.TextField=Zl;exports.Textarea=Kn;exports.ToggleGroup=ua;exports.ToggleGroupItem=tr;exports.Toolbar=Ll;exports.ToolbarCompoundLabel=no;exports.UNDO_REDO_BUTTONS_STRING_KEYS=Jo;exports.UiLanguageSelector=Bl;exports.UndoRedoButtons=Qo;exports.VerticalTabs=_a;exports.VerticalTabsContent=Ca;exports.VerticalTabsList=ja;exports.VerticalTabsTrigger=Tn;exports.WizardStepper=Xl;exports.getBookIdFromUSFM=Dc;exports.getCommentThreadElementId=Os;exports.getInventoryHeader=ar;exports.getLinesFromUSFM=Rc;exports.getNumberFromUSFM=Mc;exports.getStatusForItem=ln;exports.getToolbarOSReservedSpaceClassName=zl;exports.inventoryCountColumn=Tc;exports.inventoryItemColumn=Nc;exports.inventoryStatusColumn=Sc;exports.isCommentDraftEmpty=Qr;exports.isGroupUnderColumnOrSubMenu=ya;exports.leftEdgeRect=an;exports.localizeOrFallback=Yt;exports.markerMenuItemToPaletteItem=sn;exports.measureBox=rn;exports.pickTabIconUrl=zn;exports.useContentZoomTextProps=De;exports.useEvent=Sd;exports.useEventAsync=Rd;exports.useExtraValidMarkers=Od;exports.useLivePopoverAnchor=en;exports.usePromise=On;exports.useRecentSearches=Zn;exports.useRetryablePromise=Dd;exports.useRunWhenVisible=Pd;exports.useShrinkStep=ka;exports.useShrinkStepOverride=na;exports.useShrinkStepValue=ao;exports.useSidebar=or;exports.useStylesheet=Id;exports.useTabIconSelection=zd;exports.useViewVisibility=Pn;function Bd(t,e="top"){if(!t||typeof document>"u")return;const a=document.head||document.querySelector("head"),n=a.querySelector(":first-child"),i=document.createElement("style");i.appendChild(document.createTextNode(t)),e==="top"&&n?a.insertBefore(i,n):a.appendChild(i)}Bd(`.banded-row:hover { cursor: pointer; } @@ -154,6 +154,6 @@ list-style-type: disclosure-open; } /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--tw-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tw-color-red-100:oklch(93.6% .032 17.717);--tw-color-red-200:oklch(88.5% .062 18.334);--tw-color-red-300:oklch(80.8% .114 19.571);--tw-color-red-400:oklch(70.4% .191 22.216);--tw-color-red-500:oklch(63.7% .237 25.331);--tw-color-red-600:oklch(57.7% .245 27.325);--tw-color-red-700:oklch(50.5% .213 27.518);--tw-color-red-800:oklch(44.4% .177 26.899);--tw-color-orange-100:oklch(95.4% .038 75.164);--tw-color-orange-800:oklch(47% .157 37.304);--tw-color-amber-200:oklch(92.4% .12 95.746);--tw-color-amber-400:oklch(82.8% .189 84.429);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-yellow-50:oklch(98.7% .026 102.212);--tw-color-yellow-100:oklch(97.3% .071 103.193);--tw-color-yellow-400:oklch(85.2% .199 91.936);--tw-color-yellow-500:oklch(79.5% .184 86.047);--tw-color-yellow-600:oklch(68.1% .162 75.834);--tw-color-yellow-700:oklch(55.4% .135 66.442);--tw-color-green-50:oklch(98.2% .018 155.826);--tw-color-green-100:oklch(96.2% .044 156.743);--tw-color-green-500:oklch(72.3% .219 149.579);--tw-color-green-600:oklch(62.7% .194 149.214);--tw-color-green-700:oklch(52.7% .154 150.069);--tw-color-green-800:oklch(44.8% .119 151.328);--tw-color-teal-400:oklch(77.7% .152 181.912);--tw-color-teal-500:oklch(70.4% .14 182.503);--tw-color-teal-600:oklch(60% .118 184.704);--tw-color-sky-400:oklch(74.6% .16 232.661);--tw-color-sky-500:oklch(68.5% .169 237.323);--tw-color-sky-600:oklch(58.8% .158 241.966);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-100:oklch(93.2% .032 255.585);--tw-color-blue-400:oklch(70.7% .165 254.624);--tw-color-blue-500:oklch(62.3% .214 259.815);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-blue-800:oklch(42.4% .199 265.638);--tw-color-indigo-200:oklch(87% .065 274.039);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-200:oklch(90.2% .063 306.703);--tw-color-purple-900:oklch(38.1% .176 304.987);--tw-color-rose-400:oklch(71.2% .194 13.428);--tw-color-rose-500:oklch(64.5% .246 16.439);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-slate-300:oklch(86.9% .022 252.894);--tw-color-slate-400:oklch(70.4% .04 256.788);--tw-color-slate-900:oklch(20.8% .042 265.755);--tw-color-gray-50:oklch(98.5% .002 247.839);--tw-color-gray-100:oklch(96.7% .003 264.542);--tw-color-gray-300:oklch(87.2% .01 258.338);--tw-color-gray-500:oklch(55.1% .027 264.364);--tw-color-gray-600:oklch(44.6% .03 256.802);--tw-color-gray-700:oklch(37.3% .034 259.733);--tw-color-gray-800:oklch(27.8% .033 256.848);--tw-color-zinc-400:oklch(70.5% .015 286.067);--tw-color-neutral-300:oklch(87% 0 0);--tw-color-black:#000;--tw-color-white:#fff;--tw-container-xs:20rem;--tw-container-sm:24rem;--tw-container-md:28rem;--tw-container-lg:32rem;--tw-container-2xl:42rem;--tw-container-3xl:48rem;--tw-container-4xl:56rem;--tw-container-6xl:72rem;--tw-text-xs:.75rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm:.875rem;--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height:calc(1.5 / 1);--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-text-xl:1.25rem;--tw-text-xl--line-height:calc(1.75 / 1.25);--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2 / 1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height:calc(2.25 / 1.875);--tw-text-4xl:2.25rem;--tw-text-4xl--line-height:calc(2.5 / 2.25);--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-normal:400;--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-font-weight-bold:700;--tw-font-weight-extrabold:800;--tw-tracking-tight:-.025em;--tw-tracking-wider:.05em;--tw-tracking-widest:.1em;--tw-leading-tight:1.25;--tw-leading-snug:1.375;--tw-leading-relaxed:1.625;--tw-leading-loose:2;--tw-radius-xs:.125rem;--tw-radius-md:calc(var(--radius) * .8);--tw-drop-shadow-sm:0 1px 2px #00000026;--tw-animate-spin:spin 1s linear infinite;--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-blur-xs:4px;--tw-blur-2xl:40px;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tw-default-font-family:"IBM Plex Sans Variable", sans-serif;--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{.pr-twp,.pr-twp *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.pr-twp,.pr-twp *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body.pr-twp{background-color:var(--background);color:var(--foreground)}html.pr-twp{font-family:IBM Plex Sans Variable,sans-serif}:where(.pr-twp,.pr-twp *),:where(.pr-twp,.pr-twp *):after,:where(.pr-twp,.pr-twp *):before,:where(.pr-twp,.pr-twp *) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.pr-twp{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tw-default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--tw-default-font-feature-settings,normal);font-variation-settings:var(--tw-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr:where(.pr-twp,.pr-twp *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(.pr-twp,.pr-twp *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(.pr-twp,.pr-twp *),h2:where(.pr-twp,.pr-twp *),h3:where(.pr-twp,.pr-twp *),h4:where(.pr-twp,.pr-twp *),h5:where(.pr-twp,.pr-twp *),h6:where(.pr-twp,.pr-twp *){font-size:inherit;font-weight:inherit}a:where(.pr-twp,.pr-twp *){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b:where(.pr-twp,.pr-twp *),strong:where(.pr-twp,.pr-twp *){font-weight:bolder}code:where(.pr-twp,.pr-twp *),kbd:where(.pr-twp,.pr-twp *),samp:where(.pr-twp,.pr-twp *),pre:where(.pr-twp,.pr-twp *){font-family:var(--tw-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-variation-settings:var(--tw-default-mono-font-variation-settings,normal);font-size:1em}small:where(.pr-twp,.pr-twp *){font-size:80%}sub:where(.pr-twp,.pr-twp *),sup:where(.pr-twp,.pr-twp *){vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub:where(.pr-twp,.pr-twp *){bottom:-.25em}sup:where(.pr-twp,.pr-twp *){top:-.5em}table:where(.pr-twp,.pr-twp *){text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(.pr-twp,.pr-twp *){outline:auto}progress:where(.pr-twp,.pr-twp *){vertical-align:baseline}summary:where(.pr-twp,.pr-twp *){display:list-item}ol:where(.pr-twp,.pr-twp *),ul:where(.pr-twp,.pr-twp *),menu:where(.pr-twp,.pr-twp *){list-style:none}img:where(.pr-twp,.pr-twp *),svg:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *),canvas:where(.pr-twp,.pr-twp *),audio:where(.pr-twp,.pr-twp *),iframe:where(.pr-twp,.pr-twp *),embed:where(.pr-twp,.pr-twp *),object:where(.pr-twp,.pr-twp *){vertical-align:middle;display:block}img:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *){max-width:100%;height:auto}button:where(.pr-twp,.pr-twp *),input:where(.pr-twp,.pr-twp *),select:where(.pr-twp,.pr-twp *),optgroup:where(.pr-twp,.pr-twp *),textarea:where(.pr-twp,.pr-twp *){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup:where(.pr-twp,.pr-twp *){font-weight:bolder}:where(select:is([multiple],[size])) optgroup option:where(.pr-twp,.pr-twp *){padding-inline-start:20px}:where(.pr-twp,.pr-twp *) ::file-selector-button{margin-inline-end:4px}:where(.pr-twp,.pr-twp *) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where(.pr-twp,.pr-twp *) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where(.pr-twp,.pr-twp *) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea:where(.pr-twp,.pr-twp *){resize:vertical}:where(.pr-twp,.pr-twp *) ::-webkit-search-decoration{-webkit-appearance:none}:where(.pr-twp,.pr-twp *) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{display:inline-flex}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-year-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-month-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-day-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-hour-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-minute-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-second-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-millisecond-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid:where(.pr-twp,.pr-twp *){box-shadow:none}button:where(.pr-twp,.pr-twp *),input:where([type=button],[type=reset],[type=submit]):where(.pr-twp,.pr-twp *){appearance:button}:where(.pr-twp,.pr-twp *) ::file-selector-button{appearance:button}:where(.pr-twp,.pr-twp *) ::-webkit-inner-spin-button{height:auto}:where(.pr-twp,.pr-twp *) ::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])):where(.pr-twp,.pr-twp *){display:none!important}}@layer components;@layer utilities{.tw\\:\\@container\\/card-header{container:card-header/inline-size}.tw\\:\\@container\\/search{container:search/inline-size}.tw\\:\\@container\\/toolbar{container:toolbar/inline-size}.tw\\:pointer-events-auto{pointer-events:auto}.tw\\:pointer-events-none{pointer-events:none}.tw\\:invisible{visibility:hidden}.tw\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\\:absolute{position:absolute}.tw\\:fixed{position:fixed}.tw\\:relative{position:relative}.tw\\:sticky{position:sticky}.tw\\:inset-0{inset:calc(calc(var(--spacing)) * 0)}.tw\\:inset-x-0{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:inset-y-0{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:inset-s-3{inset-inline-start:calc(calc(var(--spacing)) * 3)}.tw\\:start-1\\.5{inset-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:start-1\\/2{inset-inline-start:50%}.tw\\:end-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:end-1{inset-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:end-2{inset-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:end-3{inset-inline-end:calc(calc(var(--spacing)) * 3)}.tw\\:inset-e-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:-top-\\[1px\\]{top:-1px}.tw\\:top-0{top:calc(calc(var(--spacing)) * 0)}.tw\\:top-1{top:calc(calc(var(--spacing)) * 1)}.tw\\:top-1\\.5{top:calc(calc(var(--spacing)) * 1.5)}.tw\\:top-1\\/2{top:50%}.tw\\:top-1\\/3{top:33.3333%}.tw\\:top-2{top:calc(calc(var(--spacing)) * 2)}.tw\\:top-2\\.5{top:calc(calc(var(--spacing)) * 2.5)}.tw\\:top-3\\.5{top:calc(calc(var(--spacing)) * 3.5)}.tw\\:top-\\[-1px\\]{top:-1px}.tw\\:top-full{top:100%}.tw\\:-right-1{right:calc(calc(var(--spacing)) * -1)}.tw\\:right-0{right:calc(calc(var(--spacing)) * 0)}.tw\\:right-1{right:calc(calc(var(--spacing)) * 1)}.tw\\:right-3{right:calc(calc(var(--spacing)) * 3)}.tw\\:bottom-0{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:-left-\\[1px\\]{left:-1px}.tw\\:left-0{left:calc(calc(var(--spacing)) * 0)}.tw\\:left-1\\/2{left:50%}.tw\\:left-2{left:calc(calc(var(--spacing)) * 2)}.tw\\:left-3{left:calc(calc(var(--spacing)) * 3)}.tw\\:isolate{isolation:isolate}.tw\\:z-10{z-index:10}.tw\\:z-20{z-index:20}.tw\\:z-50{z-index:50}.tw\\:order-first{order:-9999}.tw\\:order-last{order:9999}.tw\\:col-span-1{grid-column:span 1/span 1}.tw\\:col-span-2{grid-column:span 2/span 2}.tw\\:col-span-3{grid-column:span 3/span 3}.tw\\:col-start-1{grid-column-start:1}.tw\\:col-start-2{grid-column-start:2}.tw\\:row-span-2{grid-row:span 2/span 2}.tw\\:row-start-1{grid-row-start:1}.tw\\:row-start-2{grid-row-start:2}.tw\\:m-0{margin:calc(calc(var(--spacing)) * 0)}.tw\\:m-1{margin:calc(calc(var(--spacing)) * 1)}.tw\\:m-2{margin:calc(calc(var(--spacing)) * 2)}.tw\\:-mx-1{margin-inline:calc(calc(var(--spacing)) * -1)}.tw\\:-mx-4{margin-inline:calc(calc(var(--spacing)) * -4)}.tw\\:mx-0{margin-inline:calc(calc(var(--spacing)) * 0)}.tw\\:mx-1{margin-inline:calc(calc(var(--spacing)) * 1)}.tw\\:mx-2{margin-inline:calc(calc(var(--spacing)) * 2)}.tw\\:mx-3\\.5{margin-inline:calc(calc(var(--spacing)) * 3.5)}.tw\\:mx-4{margin-inline:calc(calc(var(--spacing)) * 4)}.tw\\:mx-8{margin-inline:calc(calc(var(--spacing)) * 8)}.tw\\:my-1{margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:my-2\\.5{margin-block:calc(calc(var(--spacing)) * 2.5)}.tw\\:my-4{margin-block:calc(calc(var(--spacing)) * 4)}.tw\\:my-auto{margin-block:auto}.tw\\:ms-1{margin-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:ms-2{margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ms-5{margin-inline-start:calc(calc(var(--spacing)) * 5)}.tw\\:ms-6{margin-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ms-auto{margin-inline-start:auto}.tw\\:me-1{margin-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:me-2{margin-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:prose{color:var(--tw-prose-body);max-width:65ch}.tw\\:prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tw\\:prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tw\\:prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tw\\:prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tw\\:prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tw\\:prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tw\\:prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tw\\:prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tw\\:prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tw\\:prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tw\\:prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tw\\:prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tw\\:prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tw\\:prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tw\\:prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tw\\:prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tw\\:prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tw\\:prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tw\\:prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.tw\\:prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tw\\:prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tw\\:prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tw\\:prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tw\\:prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tw\\:prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tw\\:prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tw\\:prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tw\\:prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tw\\:prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tw\\:prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tw\\:prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tw\\:prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--muted-foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-invert-body:var(--foreground);--tw-prose-invert-headings:var(--foreground);--tw-prose-invert-lead:var(--muted-foreground);--tw-prose-invert-links:var(--primary);--tw-prose-invert-bold:var(--foreground);--tw-prose-invert-counters:var(--muted-foreground);--tw-prose-invert-bullets:var(--muted-foreground);--tw-prose-invert-hr:var(--border);--tw-prose-invert-quotes:var(--foreground);--tw-prose-invert-quote-borders:var(--border);--tw-prose-invert-captions:var(--muted-foreground);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--foreground);--tw-prose-invert-pre-code:var(--muted-foreground);--tw-prose-invert-pre-bg:var(--muted);--tw-prose-invert-th-borders:var(--border);--tw-prose-invert-td-borders:var(--border);font-size:1rem;line-height:1.75}.tw\\:prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.tw\\:prose :where(.tw\\:prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(.tw\\:prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.tw\\:prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.tw\\:prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(.tw\\:prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(.tw\\:prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:prose-sm{font-size:.875rem;line-height:1.71429}.tw\\:prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tw\\:prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tw\\:prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tw\\:prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tw\\:prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tw\\:prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tw\\:prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tw\\:prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tw\\:prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tw\\:prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tw\\:prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tw\\:prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tw\\:prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tw\\:prose-sm :where(.tw\\:prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(.tw\\:prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:-mt-4{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:mt-0\\.5{margin-top:calc(calc(var(--spacing)) * .5)}.tw\\:mt-1{margin-top:calc(calc(var(--spacing)) * 1)}.tw\\:mt-2{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:mt-3{margin-top:calc(calc(var(--spacing)) * 3)}.tw\\:mt-4{margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:mt-6{margin-top:calc(calc(var(--spacing)) * 6)}.tw\\:mt-auto{margin-top:auto}.tw\\:mr-1{margin-right:calc(calc(var(--spacing)) * 1)}.tw\\:mr-2{margin-right:calc(calc(var(--spacing)) * 2)}.tw\\:mr-3{margin-right:calc(calc(var(--spacing)) * 3)}.tw\\:-mb-4{margin-bottom:calc(calc(var(--spacing)) * -4)}.tw\\:mb-1{margin-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:mb-2{margin-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:mb-3{margin-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:mb-4{margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:ml-1{margin-left:calc(calc(var(--spacing)) * 1)}.tw\\:ml-2{margin-left:calc(calc(var(--spacing)) * 2)}.tw\\:ml-4{margin-left:calc(calc(var(--spacing)) * 4)}.tw\\:ml-auto{margin-left:auto}.tw\\:box-border{box-sizing:border-box}.tw\\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tw\\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tw\\:no-scrollbar::-webkit-scrollbar{display:none}.tw\\:block{display:block}.tw\\:flex{display:flex}.tw\\:grid{display:grid}.tw\\:hidden{display:none}.tw\\:inline-block{display:inline-block}.tw\\:inline-flex{display:inline-flex}.tw\\:inline-grid{display:inline-grid}.tw\\:field-sizing-content{field-sizing:content}.tw\\:aspect-square{aspect-ratio:1}.tw\\:size-2{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:size-2\\.5{width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:size-3{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:size-3\\.5{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:size-4{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:size-5{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:size-6{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:size-7{width:calc(calc(var(--spacing)) * 7);height:calc(calc(var(--spacing)) * 7)}.tw\\:size-8{width:calc(calc(var(--spacing)) * 8);height:calc(calc(var(--spacing)) * 8)}.tw\\:size-9{width:calc(calc(var(--spacing)) * 9);height:calc(calc(var(--spacing)) * 9)}.tw\\:size-10{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:size-full{width:100%;height:100%}.tw\\:h-1{height:calc(calc(var(--spacing)) * 1)}.tw\\:h-2{height:calc(calc(var(--spacing)) * 2)}.tw\\:h-3{height:calc(calc(var(--spacing)) * 3)}.tw\\:h-3\\.5{height:calc(calc(var(--spacing)) * 3.5)}.tw\\:h-4{height:calc(calc(var(--spacing)) * 4)}.tw\\:h-5{height:calc(calc(var(--spacing)) * 5)}.tw\\:h-6{height:calc(calc(var(--spacing)) * 6)}.tw\\:h-7{height:calc(calc(var(--spacing)) * 7)}.tw\\:h-8{height:calc(calc(var(--spacing)) * 8)}.tw\\:h-8\\!{height:calc(calc(var(--spacing)) * 8)!important}.tw\\:h-8\\.5{height:calc(calc(var(--spacing)) * 8.5)}.tw\\:h-9{height:calc(calc(var(--spacing)) * 9)}.tw\\:h-10{height:calc(calc(var(--spacing)) * 10)}.tw\\:h-12{height:calc(calc(var(--spacing)) * 12)}.tw\\:h-14{height:calc(calc(var(--spacing)) * 14)}.tw\\:h-20{height:calc(calc(var(--spacing)) * 20)}.tw\\:h-24{height:calc(calc(var(--spacing)) * 24)}.tw\\:h-32{height:calc(calc(var(--spacing)) * 32)}.tw\\:h-40{height:calc(calc(var(--spacing)) * 40)}.tw\\:h-64{height:calc(calc(var(--spacing)) * 64)}.tw\\:h-80{height:calc(calc(var(--spacing)) * 80)}.tw\\:h-96{height:calc(calc(var(--spacing)) * 96)}.tw\\:h-\\[5px\\]{height:5px}.tw\\:h-\\[260px\\]{height:260px}.tw\\:h-\\[300px\\]{height:300px}.tw\\:h-\\[400px\\]{height:400px}.tw\\:h-\\[600px\\]{height:600px}.tw\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.tw\\:h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.tw\\:h-auto{height:auto}.tw\\:h-full{height:100%}.tw\\:h-px{height:1px}.tw\\:h-screen{height:100vh}.tw\\:h-svh{height:100svh}.tw\\:max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.tw\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\\:max-h-\\(--radix-popover-content-available-height\\){max-height:var(--radix-popover-content-available-height)}.tw\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tw\\:max-h-5{max-height:calc(calc(var(--spacing)) * 5)}.tw\\:max-h-10{max-height:calc(calc(var(--spacing)) * 10)}.tw\\:max-h-72{max-height:calc(calc(var(--spacing)) * 72)}.tw\\:max-h-80{max-height:calc(calc(var(--spacing)) * 80)}.tw\\:max-h-\\[96\\%\\]{max-height:96%}.tw\\:max-h-\\[300px\\]{max-height:300px}.tw\\:min-h-0{min-height:calc(calc(var(--spacing)) * 0)}.tw\\:min-h-11{min-height:calc(calc(var(--spacing)) * 11)}.tw\\:min-h-16{min-height:calc(calc(var(--spacing)) * 16)}.tw\\:min-h-\\[200px\\]{min-height:200px}.tw\\:min-h-full{min-height:100%}.tw\\:min-h-svh{min-height:100svh}.tw\\:w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-\\(--sidebar-width\\){width:var(--sidebar-width)}.tw\\:w-1{width:calc(calc(var(--spacing)) * 1)}.tw\\:w-1\\/2{width:50%}.tw\\:w-1\\/4{width:25%}.tw\\:w-1\\/6{width:16.6667%}.tw\\:w-2{width:calc(calc(var(--spacing)) * 2)}.tw\\:w-3{width:calc(calc(var(--spacing)) * 3)}.tw\\:w-3\\.5{width:calc(calc(var(--spacing)) * 3.5)}.tw\\:w-3\\/4{width:75%}.tw\\:w-4{width:calc(calc(var(--spacing)) * 4)}.tw\\:w-4\\/5{width:80%}.tw\\:w-4\\/6{width:66.6667%}.tw\\:w-5{width:calc(calc(var(--spacing)) * 5)}.tw\\:w-5\\/6{width:83.3333%}.tw\\:w-6{width:calc(calc(var(--spacing)) * 6)}.tw\\:w-7{width:calc(calc(var(--spacing)) * 7)}.tw\\:w-8{width:calc(calc(var(--spacing)) * 8)}.tw\\:w-9{width:calc(calc(var(--spacing)) * 9)}.tw\\:w-9\\/12{width:75%}.tw\\:w-10{width:calc(calc(var(--spacing)) * 10)}.tw\\:w-12{width:calc(calc(var(--spacing)) * 12)}.tw\\:w-14{width:calc(calc(var(--spacing)) * 14)}.tw\\:w-20{width:calc(calc(var(--spacing)) * 20)}.tw\\:w-24{width:calc(calc(var(--spacing)) * 24)}.tw\\:w-32{width:calc(calc(var(--spacing)) * 32)}.tw\\:w-48{width:calc(calc(var(--spacing)) * 48)}.tw\\:w-56{width:calc(calc(var(--spacing)) * 56)}.tw\\:w-60{width:calc(calc(var(--spacing)) * 60)}.tw\\:w-64{width:calc(calc(var(--spacing)) * 64)}.tw\\:w-72{width:calc(calc(var(--spacing)) * 72)}.tw\\:w-80{width:calc(calc(var(--spacing)) * 80)}.tw\\:w-96{width:calc(calc(var(--spacing)) * 96)}.tw\\:w-\\[1px\\]{width:1px}.tw\\:w-\\[5px\\]{width:5px}.tw\\:w-\\[70px\\]{width:70px}.tw\\:w-\\[100px\\]{width:100px}.tw\\:w-\\[116px\\]{width:116px}.tw\\:w-\\[124px\\]{width:124px}.tw\\:w-\\[150px\\]{width:150px}.tw\\:w-\\[180px\\]{width:180px}.tw\\:w-\\[200px\\]{width:200px}.tw\\:w-\\[250px\\]{width:250px}.tw\\:w-\\[260px\\]{width:260px}.tw\\:w-\\[280px\\]{width:280px}.tw\\:w-\\[300px\\]{width:300px}.tw\\:w-\\[320px\\]{width:320px}.tw\\:w-\\[350px\\]{width:350px}.tw\\:w-\\[380px\\]{width:380px}.tw\\:w-\\[400px\\]{width:400px}.tw\\:w-\\[420px\\]{width:420px}.tw\\:w-\\[500px\\]{width:500px}.tw\\:w-\\[560px\\]{width:560px}.tw\\:w-\\[600px\\]{width:600px}.tw\\:w-\\[calc\\(100\\%-2px\\)\\]{width:calc(100% - 2px)}.tw\\:w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\]{width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-auto{width:auto}.tw\\:w-fit{width:fit-content}.tw\\:w-full{width:100%}.tw\\:w-max{width:max-content}.tw\\:w-px{width:1px}.tw\\:max-w-\\(--skeleton-width\\){max-width:var(--skeleton-width)}.tw\\:max-w-0{max-width:calc(calc(var(--spacing)) * 0)}.tw\\:max-w-2xl{max-width:var(--tw-container-2xl)}.tw\\:max-w-3xl{max-width:var(--tw-container-3xl)}.tw\\:max-w-4xl{max-width:var(--tw-container-4xl)}.tw\\:max-w-5{max-width:calc(calc(var(--spacing)) * 5)}.tw\\:max-w-6xl{max-width:var(--tw-container-6xl)}.tw\\:max-w-40{max-width:calc(calc(var(--spacing)) * 40)}.tw\\:max-w-48{max-width:calc(calc(var(--spacing)) * 48)}.tw\\:max-w-64{max-width:calc(calc(var(--spacing)) * 64)}.tw\\:max-w-96{max-width:calc(calc(var(--spacing)) * 96)}.tw\\:max-w-\\[200px\\]{max-width:200px}.tw\\:max-w-\\[220px\\]{max-width:220px}.tw\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tw\\:max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.tw\\:max-w-fit{max-width:fit-content}.tw\\:max-w-full{max-width:100%}.tw\\:max-w-lg{max-width:var(--tw-container-lg)}.tw\\:max-w-md{max-width:var(--tw-container-md)}.tw\\:max-w-none{max-width:none}.tw\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:max-w-xs{max-width:var(--tw-container-xs)}.tw\\:min-w-0{min-width:calc(calc(var(--spacing)) * 0)}.tw\\:min-w-4{min-width:calc(calc(var(--spacing)) * 4)}.tw\\:min-w-5{min-width:calc(calc(var(--spacing)) * 5)}.tw\\:min-w-7{min-width:calc(calc(var(--spacing)) * 7)}.tw\\:min-w-8{min-width:calc(calc(var(--spacing)) * 8)}.tw\\:min-w-9{min-width:calc(calc(var(--spacing)) * 9)}.tw\\:min-w-16{min-width:calc(calc(var(--spacing)) * 16)}.tw\\:min-w-32{min-width:calc(calc(var(--spacing)) * 32)}.tw\\:min-w-36{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:min-w-80{min-width:calc(calc(var(--spacing)) * 80)}.tw\\:min-w-\\[12rem\\]{min-width:12rem}.tw\\:min-w-\\[26px\\]{min-width:26px}.tw\\:min-w-\\[96px\\]{min-width:96px}.tw\\:min-w-\\[140px\\]{min-width:140px}.tw\\:min-w-\\[215px\\]{min-width:215px}.tw\\:min-w-\\[500px\\]{min-width:500px}.tw\\:min-w-min{min-width:min-content}.tw\\:flex-1{flex:1}.tw\\:shrink{flex-shrink:1}.tw\\:shrink\\!{flex-shrink:1!important}.tw\\:shrink-0{flex-shrink:0}.tw\\:shrink-\\[9999\\]{flex-shrink:9999}.tw\\:flex-grow,.tw\\:grow,.tw\\:grow-\\[1\\]{flex-grow:1}.tw\\:grow-\\[10\\]{flex-grow:10}.tw\\:basis-0{flex-basis:calc(calc(var(--spacing)) * 0)}.tw\\:table-fixed{table-layout:fixed}.tw\\:caption-bottom{caption-side:bottom}.tw\\:border-collapse{border-collapse:collapse}.tw\\:origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.tw\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\\:origin-\\(--radix-menubar-content-transform-origin\\){transform-origin:var(--radix-menubar-content-transform-origin)}.tw\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tw\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tw\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-0{--tw-translate-y:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rotate-45{rotate:45deg}.tw\\:rotate-180{rotate:180deg}.tw\\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.tw\\:animate-none\\!{animation:none!important}.tw\\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\\:animate-spin{animation:var(--tw-animate-spin)}.tw\\:cursor-default{cursor:default}.tw\\:cursor-ew-resize{cursor:ew-resize}.tw\\:cursor-not-allowed{cursor:not-allowed}.tw\\:cursor-pointer{cursor:pointer}.tw\\:cursor-text{cursor:text}.tw\\:touch-none{touch-action:none}.tw\\:resize{resize:both}.tw\\:resize-none{resize:none}.tw\\:scroll-m-20{scroll-margin:calc(calc(var(--spacing)) * 20)}.tw\\:scroll-my-1{scroll-margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:scroll-py-1{scroll-padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:list-inside{list-style-position:inside}.tw\\:list-outside{list-style-position:outside}.tw\\:\\!list-\\[lower-alpha\\]{list-style-type:lower-alpha!important}.tw\\:\\!list-\\[lower-roman\\]{list-style-type:lower-roman!important}.tw\\:\\!list-\\[upper-alpha\\]{list-style-type:upper-alpha!important}.tw\\:\\!list-\\[upper-roman\\]{list-style-type:upper-roman!important}.tw\\:\\!list-decimal{list-style-type:decimal!important}.tw\\:\\!list-disc{list-style-type:disc!important}.tw\\:list-decimal{list-style-type:decimal}.tw\\:list-disc{list-style-type:disc}.tw\\:list-none{list-style-type:none}.tw\\:grid-flow-col{grid-auto-flow:column}.tw\\:grid-flow-row{grid-auto-flow:row}.tw\\:auto-rows-min{grid-auto-rows:min-content}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw\\:grid-cols-\\[25\\%_25\\%_50\\%\\]{grid-template-columns:25% 25% 50%}.tw\\:grid-cols-\\[25\\%_50\\%_25\\%\\]{grid-template-columns:25% 50% 25%}.tw\\:grid-cols-\\[auto_auto_auto_auto\\]{grid-template-columns:auto auto auto auto}.tw\\:grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.tw\\:grid-cols-\\[min-content_min-content_1fr\\]{grid-template-columns:min-content min-content 1fr}.tw\\:grid-cols-subgrid{grid-template-columns:subgrid}.tw\\:flex-col{flex-direction:column}.tw\\:flex-col-reverse{flex-direction:column-reverse}.tw\\:flex-row{flex-direction:row}.tw\\:flex-row-reverse{flex-direction:row-reverse}.tw\\:flex-nowrap{flex-wrap:nowrap}.tw\\:flex-wrap{flex-wrap:wrap}.tw\\:place-content-center{place-content:center}.tw\\:content-center{align-content:center}.tw\\:items-baseline{align-items:baseline}.tw\\:items-center{align-items:center}.tw\\:items-end{align-items:flex-end}.tw\\:items-start{align-items:flex-start}.tw\\:items-stretch{align-items:stretch}.tw\\:justify-between{justify-content:space-between}.tw\\:justify-center{justify-content:center}.tw\\:justify-end{justify-content:flex-end}.tw\\:justify-start{justify-content:flex-start}.tw\\:gap-0{gap:calc(calc(var(--spacing)) * 0)}.tw\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:gap-1{gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-1\\.5{gap:calc(calc(var(--spacing)) * 1.5)}.tw\\:gap-1\\.5\\!{gap:calc(calc(var(--spacing)) * 1.5)!important}.tw\\:gap-2{gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-2\\.5{gap:calc(calc(var(--spacing)) * 2.5)}.tw\\:gap-3{gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-4{gap:calc(calc(var(--spacing)) * 4)}.tw\\:gap-5{gap:calc(calc(var(--spacing)) * 5)}.tw\\:gap-6{gap:calc(calc(var(--spacing)) * 6)}.tw\\:gap-8{gap:calc(calc(var(--spacing)) * 8)}.tw\\:gap-16{gap:calc(calc(var(--spacing)) * 16)}.tw\\:gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(calc(var(--spacing)) * var(--gap))}.tw\\:gap-\\[12px\\]{gap:12px}:where(.tw\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-y-reverse)))}.tw\\:gap-x-1{column-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-x-2{column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-x-3{column-gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-x-4{column-gap:calc(calc(var(--spacing)) * 4)}:where(.tw\\:-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:gap-y-1{row-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-y-2{row-gap:calc(calc(var(--spacing)) * 2)}:where(.tw\\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.tw\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.tw\\:self-start{align-self:flex-start}.tw\\:self-stretch{align-self:stretch}.tw\\:justify-self-end{justify-self:flex-end}.tw\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:overflow-auto{overflow:auto}.tw\\:overflow-clip{overflow:clip}.tw\\:overflow-hidden{overflow:hidden}.tw\\:overflow-scroll{overflow:scroll}.tw\\:overflow-visible{overflow:visible}.tw\\:overflow-x-auto{overflow-x:auto}.tw\\:overflow-x-hidden{overflow-x:hidden}.tw\\:overflow-y-auto{overflow-y:auto}.tw\\:overflow-y-hidden{overflow-y:hidden}.tw\\:rounded{border-radius:.25rem}.tw\\:rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.tw\\:rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.tw\\:rounded-\\[4px\\]{border-radius:4px}.tw\\:rounded-\\[6px\\]{border-radius:6px}.tw\\:rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,12px\\)\\]{border-radius:min(var(--tw-radius-md), 12px)}.tw\\:rounded-full{border-radius:3.40282e38px}.tw\\:rounded-lg{border-radius:var(--radius)}.tw\\:rounded-lg\\!{border-radius:var(--radius)!important}.tw\\:rounded-md{border-radius:calc(var(--radius) * .8)}.tw\\:rounded-none{border-radius:0}.tw\\:rounded-sm{border-radius:calc(var(--radius) * .6)}.tw\\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-xl\\!{border-radius:calc(var(--radius) * 1.4)!important}.tw\\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\\:rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.tw\\:rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.tw\\:rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:rounded-r-xl{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:border-s-0{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.tw\\:border-s-4{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.tw\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.tw\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tw\\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tw\\:border-none{--tw-border-style:none;border-style:none}.tw\\:border-solid{--tw-border-style:solid;border-style:solid}.tw\\:border-black{border-color:var(--tw-color-black)}.tw\\:border-blue-400{border-color:var(--tw-color-blue-400)}.tw\\:border-blue-500{border-color:var(--tw-color-blue-500)}.tw\\:border-border,.tw\\:border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.tw\\:border-destructive{border-color:var(--destructive)}.tw\\:border-foreground{border-color:var(--foreground)}.tw\\:border-gray-300{border-color:var(--tw-color-gray-300)}.tw\\:border-input,.tw\\:border-input\\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-input\\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:border-muted-foreground,.tw\\:border-muted-foreground\\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-muted-foreground\\/40{border-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.tw\\:border-primary{border-color:var(--primary)}.tw\\:border-red-300{border-color:var(--tw-color-red-300)}.tw\\:border-red-400{border-color:var(--tw-color-red-400)}.tw\\:border-red-500{border-color:var(--tw-color-red-500)}.tw\\:border-red-600{border-color:var(--tw-color-red-600)}.tw\\:border-ring{border-color:var(--ring)}.tw\\:border-sidebar-border{border-color:var(--sidebar-border)}.tw\\:border-slate-300{border-color:var(--tw-color-slate-300)}.tw\\:border-transparent{border-color:#0000}.tw\\:border-yellow-400{border-color:var(--tw-color-yellow-400)}.tw\\:border-yellow-500{border-color:var(--tw-color-yellow-500)}.tw\\:border-s-amber-200{border-inline-start-color:var(--tw-color-amber-200)}.tw\\:border-s-indigo-200{border-inline-start-color:var(--tw-color-indigo-200)}.tw\\:border-s-purple-200{border-inline-start-color:var(--tw-color-purple-200)}.tw\\:border-s-red-200{border-inline-start-color:var(--tw-color-red-200)}.tw\\:\\!bg-destructive\\/50{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.tw\\:\\!bg-destructive\\/50{background-color:color-mix(in oklab, var(--destructive) 50%, transparent)!important}}.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:bg-accent,.tw\\:bg-accent\\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-accent\\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.tw\\:bg-amber-500,.tw\\:bg-amber-500\\/5{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/5{background-color:color-mix(in oklab, var(--tw-color-amber-500) 5%, transparent)}}.tw\\:bg-amber-500\\/15{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tw-color-amber-500) 15%, transparent)}}.tw\\:bg-background,.tw\\:bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-background\\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.tw\\:bg-black\\/10{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-black\\/10{background-color:color-mix(in oklab, var(--tw-color-black) 10%, transparent)}}.tw\\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\\:bg-blue-100{background-color:var(--tw-color-blue-100)}.tw\\:bg-blue-400{background-color:var(--tw-color-blue-400)}.tw\\:bg-blue-500{background-color:var(--tw-color-blue-500)}.tw\\:bg-border{background-color:var(--border)}.tw\\:bg-card{background-color:var(--card)}.tw\\:bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:bg-foreground{background-color:var(--foreground)}.tw\\:bg-gray-50{background-color:var(--tw-color-gray-50)}.tw\\:bg-gray-100{background-color:var(--tw-color-gray-100)}.tw\\:bg-gray-500{background-color:var(--tw-color-gray-500)}.tw\\:bg-green-50{background-color:var(--tw-color-green-50)}.tw\\:bg-green-100{background-color:var(--tw-color-green-100)}.tw\\:bg-green-500{background-color:var(--tw-color-green-500)}.tw\\:bg-input,.tw\\:bg-input\\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-input\\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:bg-muted,.tw\\:bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:bg-neutral-300{background-color:var(--tw-color-neutral-300)}.tw\\:bg-orange-100{background-color:var(--tw-color-orange-100)}.tw\\:bg-popover,.tw\\:bg-popover\\/70{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-popover\\/70{background-color:color-mix(in oklab, var(--popover) 70%, transparent)}}.tw\\:bg-primary{background-color:var(--primary)}.tw\\:bg-primary-foreground{background-color:var(--primary-foreground)}.tw\\:bg-primary\\/30{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-primary\\/30{background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.tw\\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\\:bg-red-100{background-color:var(--tw-color-red-100)}.tw\\:bg-red-500{background-color:var(--tw-color-red-500)}.tw\\:bg-rose-500,.tw\\:bg-rose-500\\/5{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/5{background-color:color-mix(in oklab, var(--tw-color-rose-500) 5%, transparent)}}.tw\\:bg-rose-500\\/15{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/15{background-color:color-mix(in oklab, var(--tw-color-rose-500) 15%, transparent)}}.tw\\:bg-secondary{background-color:var(--secondary)}.tw\\:bg-sidebar{background-color:var(--sidebar)}.tw\\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.tw\\:bg-sidebar-border{background-color:var(--sidebar-border)}.tw\\:bg-sky-500,.tw\\:bg-sky-500\\/5{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/5{background-color:color-mix(in oklab, var(--tw-color-sky-500) 5%, transparent)}}.tw\\:bg-sky-500\\/15{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/15{background-color:color-mix(in oklab, var(--tw-color-sky-500) 15%, transparent)}}.tw\\:bg-teal-500,.tw\\:bg-teal-500\\/5{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/5{background-color:color-mix(in oklab, var(--tw-color-teal-500) 5%, transparent)}}.tw\\:bg-teal-500\\/15{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/15{background-color:color-mix(in oklab, var(--tw-color-teal-500) 15%, transparent)}}.tw\\:bg-transparent{background-color:#0000}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:bg-yellow-50{background-color:var(--tw-color-yellow-50)}.tw\\:bg-yellow-100{background-color:var(--tw-color-yellow-100)}.tw\\:bg-yellow-500{background-color:var(--tw-color-yellow-500)}.tw\\:bg-zinc-400{background-color:var(--tw-color-zinc-400)}.tw\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\\:from-popover{--tw-gradient-from:var(--popover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:bg-clip-padding{background-clip:padding-box}.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:fill-destructive{fill:var(--destructive)}.tw\\:fill-foreground{fill:var(--foreground)}.tw\\:fill-yellow-400,.tw\\:fill-yellow-400\\/50{fill:var(--tw-color-yellow-400)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-yellow-400\\/50{fill:color-mix(in oklab, var(--tw-color-yellow-400) 50%, transparent)}}.tw\\:object-cover{object-fit:cover}.tw\\:\\!p-4{padding:calc(calc(var(--spacing)) * 4)!important}.tw\\:p-0{padding:calc(calc(var(--spacing)) * 0)}.tw\\:p-0\\.5{padding:calc(calc(var(--spacing)) * .5)}.tw\\:p-1{padding:calc(calc(var(--spacing)) * 1)}.tw\\:p-2{padding:calc(calc(var(--spacing)) * 2)}.tw\\:p-2\\.5{padding:calc(calc(var(--spacing)) * 2.5)}.tw\\:p-3{padding:calc(calc(var(--spacing)) * 3)}.tw\\:p-4{padding:calc(calc(var(--spacing)) * 4)}.tw\\:p-6{padding:calc(calc(var(--spacing)) * 6)}.tw\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:p-\\[1px\\]{padding:1px}.tw\\:p-\\[3px\\]{padding:3px}.tw\\:p-\\[10px\\]{padding:10px}.tw\\:p-\\[16px\\]{padding:16px}.tw\\:px-0{padding-inline:calc(calc(var(--spacing)) * 0)}.tw\\:px-0\\.5{padding-inline:calc(calc(var(--spacing)) * .5)}.tw\\:px-1{padding-inline:calc(calc(var(--spacing)) * 1)}.tw\\:px-1\\.5{padding-inline:calc(calc(var(--spacing)) * 1.5)}.tw\\:px-2{padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:px-2\\.5{padding-inline:calc(calc(var(--spacing)) * 2.5)}.tw\\:px-3{padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:px-4{padding-inline:calc(calc(var(--spacing)) * 4)}.tw\\:px-6{padding-inline:calc(calc(var(--spacing)) * 6)}.tw\\:py-0{padding-block:calc(calc(var(--spacing)) * 0)}.tw\\:py-0\\.5{padding-block:calc(calc(var(--spacing)) * .5)}.tw\\:py-1{padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:py-1\\.5{padding-block:calc(calc(var(--spacing)) * 1.5)}.tw\\:py-2{padding-block:calc(calc(var(--spacing)) * 2)}.tw\\:py-3{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:py-4{padding-block:calc(calc(var(--spacing)) * 4)}.tw\\:py-6{padding-block:calc(calc(var(--spacing)) * 6)}.tw\\:py-8{padding-block:calc(calc(var(--spacing)) * 8)}.tw\\:py-\\[2px\\]{padding-block:2px}.tw\\:ps-1\\.5{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:ps-2{padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ps-2\\.5{padding-inline-start:calc(calc(var(--spacing)) * 2.5)}.tw\\:ps-4{padding-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:ps-6{padding-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ps-7{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:ps-8{padding-inline-start:calc(calc(var(--spacing)) * 8)}.tw\\:ps-9{padding-inline-start:calc(calc(var(--spacing)) * 9)}.tw\\:ps-12{padding-inline-start:calc(calc(var(--spacing)) * 12)}.tw\\:ps-\\[85px\\]{padding-inline-start:85px}.tw\\:pe-1{padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:pe-1\\.5{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:pe-2{padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:pe-4{padding-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:pe-8{padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:pe-8\\!{padding-inline-end:calc(calc(var(--spacing)) * 8)!important}.tw\\:pe-9{padding-inline-end:calc(calc(var(--spacing)) * 9)}.tw\\:pe-\\[calc\\(138px\\+1rem\\)\\]{padding-inline-end:calc(138px + 1rem)}.tw\\:pe-\\[…\\]{padding-inline-end:…}.tw\\:pt-1{padding-top:calc(calc(var(--spacing)) * 1)}.tw\\:pt-2{padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:pt-3{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:pt-4{padding-top:calc(calc(var(--spacing)) * 4)}.tw\\:pt-6{padding-top:calc(calc(var(--spacing)) * 6)}.tw\\:pr-0{padding-right:calc(calc(var(--spacing)) * 0)}.tw\\:pr-3{padding-right:calc(calc(var(--spacing)) * 3)}.tw\\:pr-4{padding-right:calc(calc(var(--spacing)) * 4)}.tw\\:pb-0{padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:pb-1{padding-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:pb-2{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:pb-3{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:pb-4{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:pb-8{padding-bottom:calc(calc(var(--spacing)) * 8)}.tw\\:pb-12{padding-bottom:calc(calc(var(--spacing)) * 12)}.tw\\:pb-16{padding-bottom:calc(calc(var(--spacing)) * 16)}.tw\\:pb-24{padding-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:pl-2{padding-left:calc(calc(var(--spacing)) * 2)}.tw\\:pl-3{padding-left:calc(calc(var(--spacing)) * 3)}.tw\\:pl-4{padding-left:calc(calc(var(--spacing)) * 4)}.tw\\:pl-5{padding-left:calc(calc(var(--spacing)) * 5)}.tw\\:pl-6{padding-left:calc(calc(var(--spacing)) * 6)}.tw\\:pl-8{padding-left:calc(calc(var(--spacing)) * 8)}.tw\\:text-center{text-align:center}.tw\\:text-end{text-align:end}.tw\\:text-left{text-align:left}.tw\\:text-right{text-align:right}.tw\\:text-start{text-align:start}.tw\\:align-middle{vertical-align:middle}.tw\\:font-heading{font-family:var(--font-sans)}.tw\\:font-mono{font-family:var(--tw-font-mono)}.tw\\:font-sans{font-family:IBM Plex Sans Variable,sans-serif}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-4xl{font-size:var(--tw-text-4xl);line-height:var(--tw-leading,var(--tw-text-4xl--line-height))}.tw\\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-sm\\/relaxed{font-size:var(--tw-text-sm);line-height:var(--tw-leading-relaxed)}.tw\\:text-xl{font-size:var(--tw-text-xl);line-height:var(--tw-leading,var(--tw-text-xl--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tw\\:leading-6{--tw-leading:calc(calc(var(--spacing)) * 6);line-height:calc(calc(var(--spacing)) * 6)}.tw\\:leading-loose{--tw-leading:var(--tw-leading-loose);line-height:var(--tw-leading-loose)}.tw\\:leading-none{--tw-leading:1;line-height:1}.tw\\:leading-relaxed{--tw-leading:var(--tw-leading-relaxed);line-height:var(--tw-leading-relaxed)}.tw\\:leading-snug{--tw-leading:var(--tw-leading-snug);line-height:var(--tw-leading-snug)}.tw\\:leading-tight{--tw-leading:var(--tw-leading-tight);line-height:var(--tw-leading-tight)}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:font-extrabold{--tw-font-weight:var(--tw-font-weight-extrabold);font-weight:var(--tw-font-weight-extrabold)}.tw\\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:tracking-tight{--tw-tracking:var(--tw-tracking-tight);letter-spacing:var(--tw-tracking-tight)}.tw\\:tracking-wider{--tw-tracking:var(--tw-tracking-wider);letter-spacing:var(--tw-tracking-wider)}.tw\\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\\:text-balance{text-wrap:balance}.tw\\:text-nowrap{text-wrap:nowrap}.tw\\:break-words{overflow-wrap:break-word}.tw\\:text-clip{text-overflow:clip}.tw\\:text-ellipsis{text-overflow:ellipsis}.tw\\:whitespace-normal{white-space:normal}.tw\\:whitespace-nowrap{white-space:nowrap}.tw\\:whitespace-pre{white-space:pre}.tw\\:whitespace-pre-line{white-space:pre-line}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:\\[color\\:blue\\]{color:#00f}.tw\\:text-accent-foreground{color:var(--accent-foreground)}.tw\\:text-amber-600{color:var(--tw-color-amber-600)}.tw\\:text-background{color:var(--background)}.tw\\:text-blue-400{color:var(--tw-color-blue-400)}.tw\\:text-blue-500{color:var(--tw-color-blue-500)}.tw\\:text-blue-600{color:var(--tw-color-blue-600)}.tw\\:text-blue-800{color:var(--tw-color-blue-800)}.tw\\:text-card-foreground{color:var(--card-foreground)}.tw\\:text-current{color:currentColor}.tw\\:text-destructive{color:var(--destructive)}.tw\\:text-foreground{color:var(--foreground)}.tw\\:text-foreground\\!{color:var(--foreground)!important}.tw\\:text-foreground\\/30{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/30{color:color-mix(in oklab, var(--foreground) 30%, transparent)}}.tw\\:text-foreground\\/50{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/50{color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.tw\\:text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.tw\\:text-foreground\\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.tw\\:text-gray-300{color:var(--tw-color-gray-300)}.tw\\:text-gray-500{color:var(--tw-color-gray-500)}.tw\\:text-gray-600{color:var(--tw-color-gray-600)}.tw\\:text-gray-700{color:var(--tw-color-gray-700)}.tw\\:text-gray-800{color:var(--tw-color-gray-800)}.tw\\:text-green-600{color:var(--tw-color-green-600)}.tw\\:text-green-700{color:var(--tw-color-green-700)}.tw\\:text-green-800{color:var(--tw-color-green-800)}.tw\\:text-inherit{color:inherit}.tw\\:text-muted-foreground,.tw\\:text-muted-foreground\\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-muted-foreground\\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:text-orange-800{color:var(--tw-color-orange-800)}.tw\\:text-popover-foreground{color:var(--popover-foreground)}.tw\\:text-primary{color:var(--primary)}.tw\\:text-primary-foreground{color:var(--primary-foreground)}.tw\\:text-purple-900{color:var(--tw-color-purple-900)}.tw\\:text-red-500{color:var(--tw-color-red-500)}.tw\\:text-red-600{color:var(--tw-color-red-600)}.tw\\:text-red-700{color:var(--tw-color-red-700)}.tw\\:text-red-800{color:var(--tw-color-red-800)}.tw\\:text-rose-600{color:var(--tw-color-rose-600)}.tw\\:text-secondary-foreground{color:var(--secondary-foreground)}.tw\\:text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.tw\\:text-sidebar-foreground,.tw\\:text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.tw\\:text-sky-600{color:var(--tw-color-sky-600)}.tw\\:text-slate-900{color:var(--tw-color-slate-900)}.tw\\:text-teal-600{color:var(--tw-color-teal-600)}.tw\\:text-white{color:var(--tw-color-white)}.tw\\:text-yellow-400{color:var(--tw-color-yellow-400)}.tw\\:text-yellow-600{color:var(--tw-color-yellow-600)}.tw\\:text-yellow-700{color:var(--tw-color-yellow-700)}.tw\\:capitalize{text-transform:capitalize}.tw\\:uppercase{text-transform:uppercase}.tw\\:italic{font-style:italic}.tw\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tw\\:line-through{text-decoration-line:line-through}.tw\\:underline{text-decoration-line:underline}.tw\\:decoration-destructive{-webkit-text-decoration-color:var(--destructive);-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.tw\\:underline-offset-4{text-underline-offset:4px}.tw\\:opacity-0{opacity:0}.tw\\:opacity-40{opacity:.4}.tw\\:opacity-50{opacity:.5}.tw\\:opacity-60{opacity:.6}.tw\\:opacity-100{opacity:1}.tw\\:bg-blend-color{background-blend-mode:color}.tw\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none\\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tw\\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-background{--tw-ring-color:var(--background)}.tw\\:ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.tw\\:ring-primary{--tw-ring-color:var(--primary)}.tw\\:ring-ring\\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-ring\\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.tw\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:ring-offset-background{--tw-ring-offset-color:var(--background)}.tw\\:ring-offset-white{--tw-ring-offset-color:var(--tw-color-white)}.tw\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\\:drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--tw-drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tw\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-none{transition-property:none}.tw\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tw\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.tw\\:prose-quoteless :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose-quoteless :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:outline-none{--tw-outline-style:none;outline-style:none}.tw\\:select-none{-webkit-user-select:none;user-select:none}.tw\\:\\[unicode-bidi\\:plaintext\\]{unicode-bidi:plaintext}.tw\\:group-focus-within\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.tw\\:group-hover\\:visible:is(:where(.tw\\:group):hover *){visibility:visible}.tw\\:group-hover\\:hidden:is(:where(.tw\\:group):hover *){display:none}.tw\\:group-hover\\:opacity-100:is(:where(.tw\\:group):hover *),.tw\\:group-hover\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):hover *){opacity:1}}.tw\\:group-focus\\/context-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/context-menu-item):focus *),.tw\\:group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/dropdown-menu-item):focus *),.tw\\:group-focus\\/menubar-item\\:text-accent-foreground:is(:where(.tw\\:group\\/menubar-item):focus *){color:var(--accent-foreground)}.tw\\:group-has-disabled\\/field\\:opacity-50:is(:where(.tw\\:group\\/field):has(:disabled) *){opacity:.5}.tw\\:group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pe-8:is(:where(.tw\\:group\\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:size-10:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *){width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:size-6:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *){width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:group-has-data-\\[slot\\=command-shortcut\\]\\/command-item\\:hidden:is(:where(.tw\\:group\\/command-item):has([data-slot=command-shortcut]) *){display:none}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.tw\\:group\\/alert):has(>svg) *){grid-column-start:2}.tw\\:group-data-\\[checked\\=true\\]\\/command-item\\:opacity-100:is(:where(.tw\\:group\\/command-item)[data-checked=true] *){opacity:1}.tw\\:group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.tw\\:group)[data-collapsible=icon] *){margin-top:calc(calc(var(--spacing)) * -8)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){display:none}.tw\\:group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(calc(var(--spacing)) * 8)!important;height:calc(calc(var(--spacing)) * 8)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\):is(:where(.tw\\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)))}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)) + 2px)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){overflow:hidden}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 0)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 2)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.tw\\:group)[data-collapsible=icon] *){opacity:0}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){width:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tw\\:group)[data-disabled=true] *){pointer-events:none}.tw\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tw\\:group)[data-disabled=true] *),.tw\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.tw\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.tw\\:group-data-\\[side\\=primary\\]\\:-right-4:is(:where(.tw\\:group)[data-side=primary] *){right:calc(calc(var(--spacing)) * -4)}.tw\\:group-data-\\[side\\=primary\\]\\:border-e:is(:where(.tw\\:group)[data-side=primary] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:group-data-\\[side\\=secondary\\]\\:left-0:is(:where(.tw\\:group)[data-side=secondary] *){left:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[side\\=secondary\\]\\:rotate-180:is(:where(.tw\\:group)[data-side=secondary] *){rotate:180deg}.tw\\:group-data-\\[side\\=secondary\\]\\:border-s:is(:where(.tw\\:group)[data-side=secondary] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:size-2\\.5:is(:where(.tw\\:group\\/avatar)[data-size=default] *){width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:size-4:is(:where(.tw\\:group\\/switch)[data-size=default] *){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:size-3:is(:where(.tw\\:group\\/avatar)[data-size=lg] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:text-xs:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.tw\\:group\\/card)[data-size=sm] *){font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:size-3:is(:where(.tw\\:group\\/switch)[data-size=sm] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){border-radius:0}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.tw\\:group)[data-variant=floating] *){border-radius:var(--radius)}.tw\\:group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.tw\\:group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mt-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){text-align:center}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:me-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:ms-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mb-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.tw\\:group-data-selected\\/command-item\\:text-foreground:is(:where(.tw\\:group\\/command-item):where([data-selected=true]) *){color:var(--foreground)}.tw\\:group-data-horizontal\\/tabs\\:h-8:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *){height:calc(calc(var(--spacing)) * 8)}.tw\\:group-data-vertical\\/tabs\\:h-fit:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.tw\\:group-data-vertical\\/tabs\\:w-full:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){width:100%}.tw\\:group-data-vertical\\/tabs\\:flex-col:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.tw\\:group-data-vertical\\/tabs\\:justify-start:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.tw\\:peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.tw\\:peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}.tw\\:peer-focus\\:group-hover\\:text-blue-500:is(:where(.tw\\:peer):focus~*):is(:where(.tw\\:group):hover *){color:var(--tw-color-blue-500)}}.tw\\:peer-disabled\\:cursor-not-allowed:is(:where(.tw\\:peer):disabled~*){cursor:not-allowed}.tw\\:peer-disabled\\:opacity-50:is(:where(.tw\\:peer):disabled~*){opacity:.5}.tw\\:peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=default]~*){top:calc(calc(var(--spacing)) * 1.5)}.tw\\:peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=lg]~*){top:calc(calc(var(--spacing)) * 2.5)}.tw\\:peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.tw\\:peer\\/menu-button)[data-size=sm]~*){top:calc(calc(var(--spacing)) * 1)}.tw\\:peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.tw\\:peer\\/menu-button):where([data-state=active]),:where(.tw\\:peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.tw\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tw\\:file\\:h-6::file-selector-button{height:calc(calc(var(--spacing)) * 6)}.tw\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tw\\:file\\:text-sm::file-selector-button{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:file\\:text-foreground::file-selector-button{color:var(--foreground)}.tw\\:placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.tw\\:placeholder\\:text-slate-400::placeholder{color:var(--tw-color-slate-400)}.tw\\:before\\:absolute:before{content:var(--tw-content);position:absolute}.tw\\:before\\:top-0\\.5:before{content:var(--tw-content);top:calc(calc(var(--spacing)) * .5)}.tw\\:before\\:left-0:before{content:var(--tw-content);left:calc(calc(var(--spacing)) * 0)}.tw\\:before\\:block:before{content:var(--tw-content);display:block}.tw\\:before\\:hidden:before{content:var(--tw-content);display:none}.tw\\:before\\:h-4:before{content:var(--tw-content);height:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:w-4:before{content:var(--tw-content);width:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:cursor-pointer:before{content:var(--tw-content);cursor:pointer}.tw\\:before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.tw\\:before\\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:before\\:border-primary:before{content:var(--tw-content);border-color:var(--primary)}.tw\\:before\\:bg-primary:before{content:var(--tw-content);background-color:var(--primary)}.tw\\:before\\:bg-cover:before{content:var(--tw-content);background-size:cover}.tw\\:before\\:bg-no-repeat:before{content:var(--tw-content);background-repeat:no-repeat}.tw\\:before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.tw\\:before\\:content-\\[\\\\\\"\\\\\\"\\]:before{--tw-content:\\"\\";content:var(--tw-content)}.tw\\:after\\:absolute:after{content:var(--tw-content);position:absolute}.tw\\:after\\:-inset-2:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-0:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * -3)}.tw\\:after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.tw\\:after\\:top-\\[6px\\]:after{content:var(--tw-content);top:6px}.tw\\:after\\:right-\\[7px\\]:after{content:var(--tw-content);right:7px}.tw\\:after\\:left-\\[7px\\]:after{content:var(--tw-content);left:7px}.tw\\:after\\:block:after{content:var(--tw-content);display:block}.tw\\:after\\:hidden:after{content:var(--tw-content);display:none}.tw\\:after\\:h-0\\.5:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:after\\:h-\\[6px\\]:after{content:var(--tw-content);height:6px}.tw\\:after\\:w-1:after{content:var(--tw-content);width:calc(calc(var(--spacing)) * 1)}.tw\\:after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.tw\\:after\\:w-\\[3px\\]:after{content:var(--tw-content);width:3px}.tw\\:after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:after\\:rotate-45:after{content:var(--tw-content);rotate:45deg}.tw\\:after\\:cursor-pointer:after{content:var(--tw-content);cursor:pointer}.tw\\:after\\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.tw\\:after\\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:after\\:border-t-0:after{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:after\\:border-r-2:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.tw\\:after\\:border-b-2:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.tw\\:after\\:border-l-0:after{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:0}.tw\\:after\\:border-solid:after{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.tw\\:after\\:border-border:after{content:var(--tw-content);border-color:var(--border)}.tw\\:after\\:border-white:after{content:var(--tw-content);border-color:var(--tw-color-white)}.tw\\:after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.tw\\:after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.tw\\:after\\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\\:after\\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.tw\\:after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.tw\\:after\\:content-\\[\\\\\\"\\\\\\"\\]:after{--tw-content:\\"\\";content:var(--tw-content)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:after\\:start-full:is(:where(.tw\\:group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.tw\\:group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.tw\\:group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-vertical\\/tabs\\:after\\:-end-1:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-inline-end:calc(calc(var(--spacing)) * -1)}.tw\\:group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(calc(var(--spacing)) * .5)}.tw\\:first\\:mt-0:first-child{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:even\\:bg-muted:nth-child(2n){background-color:var(--muted)}.tw\\:focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.tw\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover:hover){.tw\\:hover\\:-mt-4:hover{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:hover\\:cursor-pointer:hover{cursor:pointer}.tw\\:hover\\:bg-accent:hover,.tw\\:hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.tw\\:hover\\:bg-accent\\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.tw\\:hover\\:bg-blue-600:hover{background-color:var(--tw-color-blue-600)}.tw\\:hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:hover\\:bg-gray-50:hover{background-color:var(--tw-color-gray-50)}.tw\\:hover\\:bg-input:hover{background-color:var(--input)}.tw\\:hover\\:bg-muted:hover,.tw\\:hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:hover\\:bg-muted\\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.tw\\:hover\\:bg-primary\\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.tw\\:hover\\:bg-primary\\/70:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/70:hover{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.tw\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.tw\\:hover\\:bg-red-500:hover{background-color:var(--tw-color-red-500)}.tw\\:hover\\:bg-secondary:hover,.tw\\:hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.tw\\:hover\\:bg-transparent:hover{background-color:#0000}.tw\\:hover\\:text-foreground:hover{color:var(--foreground)}.tw\\:hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.tw\\:hover\\:text-primary-foreground:hover{color:var(--primary-foreground)}.tw\\:hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.tw\\:hover\\:underline:hover{text-decoration-line:underline}.tw\\:hover\\:opacity-80:hover{opacity:.8}.tw\\:hover\\:opacity-100:hover{opacity:1}.tw\\:hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:ring-3:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.tw\\:hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.tw\\:focus\\:relative:focus{position:relative}.tw\\:focus\\:z-10:focus{z-index:10}.tw\\:focus\\:bg-accent:focus{background-color:var(--accent)}.tw\\:focus\\:bg-muted:focus{background-color:var(--muted)}.tw\\:focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.tw\\:focus\\:text-foreground:focus{color:var(--foreground)}.tw\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.tw\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus\\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.tw\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}:is(.tw\\:focus\\:\\*\\*\\:text-accent-foreground:focus *),:is(.tw\\:not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.tw\\:focus-visible\\:relative:focus-visible{position:relative}.tw\\:focus-visible\\:z-10:focus-visible{z-index:10}.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.tw\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-3:focus-visible,.tw\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-\\[color\\:hsl\\(240\\,5\\%\\,64\\.9\\%\\)\\]:focus-visible{--tw-ring-color:#a1a1aa}.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:focus-visible\\:ring-ring:focus-visible,.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:focus-visible\\:ring-slate-400:focus-visible{--tw-ring-color:var(--tw-color-slate-400)}.tw\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.tw\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.tw\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}:is(.tw\\:\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.tw\\:\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.tw\\:active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.tw\\:active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.tw\\:active\\:ring-3:active{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:transform-\\[translateY\\(1px\\)\\]:active:not([aria-haspopup]){transform:translateY(1px)}.tw\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tw\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\\:disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:disabled\\:bg-transparent:disabled{background-color:#0000}.tw\\:disabled\\:opacity-50:disabled{opacity:.5}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-side=primary]) .tw\\:in-data-\\[side\\=primary\\]\\:cursor-w-resize{cursor:w-resize}:where([data-side=secondary]) .tw\\:in-data-\\[side\\=secondary\\]\\:cursor-e-resize{cursor:e-resize}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-slot=button-group]) .tw\\:in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-slot=dialog-content]) .tw\\:in-data-\\[slot\\=dialog-content\\]\\:rounded-lg\\!{border-radius:var(--radius)!important}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-background{color:var(--background)}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-destructive{color:var(--destructive)}.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:has-disabled\\:opacity-50:has(:disabled){opacity:.5}.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-2:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-2:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.tw\\:has-data-\\[slot\\=alert-action\\]\\:pe-18:has([data-slot=alert-action]){padding-inline-end:calc(calc(var(--spacing)) * 18)}.tw\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\\:has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.tw\\:has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-0:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-1\\.5:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.tw\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>button\\]\\:ms-\\[-0\\.3rem\\]:has(>button){margin-inline-start:-.3rem}.tw\\:has-\\[\\>button\\]\\:me-\\[-0\\.3rem\\]:has(>button){margin-inline-end:-.3rem}.tw\\:has-\\[\\>img\\]\\:grid-cols-\\[auto_1fr\\]:has(>img){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>img\\]\\:gap-x-2:has(>img){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>kbd\\]\\:ms-\\[-0\\.15rem\\]:has(>kbd){margin-inline-start:-.15rem}.tw\\:has-\\[\\>kbd\\]\\:me-\\[-0\\.15rem\\]:has(>kbd){margin-inline-end:-.15rem}.tw\\:has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.tw\\:aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.tw\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tw\\:aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.tw\\:aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.tw\\:aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.tw\\:aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.tw\\:aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.tw\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.tw\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.tw\\:aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:h-px[aria-orientation=horizontal]{height:1px}.tw\\:aria-\\[orientation\\=horizontal\\]\\:w-full[aria-orientation=horizontal]{width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:start-0[aria-orientation=horizontal]:after{content:var(--tw-content);inset-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * 1)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-y-1\\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=vertical\\]\\:flex-col[aria-orientation=vertical]{flex-direction:column}.tw\\:data-inset\\:ps-7[data-inset]{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.tw\\:data-quiet-focus\\:focus-visible\\:border-transparent[data-quiet-focus]:focus-visible{border-color:#0000}.tw\\:data-quiet-focus\\:focus-visible\\:ring-0[data-quiet-focus]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-quiet-focus\\:focus-visible\\:outline-none[data-quiet-focus]:focus-visible{--tw-outline-style:none;outline-style:none}.tw\\:data-\\[align-trigger\\=false\\]\\:min-w-36[data-align-trigger=false]{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:data-\\[align-trigger\\=true\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-align-trigger=true]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.tw\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tw\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tw\\:data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.tw\\:data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.tw\\:data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\\:data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(calc(var(--spacing)) * 8)}.tw\\:data-\\[size\\=default\\]\\:h-\\[18\\.4px\\][data-size=default]{height:18.4px}.tw\\:data-\\[size\\=default\\]\\:w-\\[32px\\][data-size=default]{width:32px}.tw\\:data-\\[size\\=lg\\]\\:size-10[data-size=lg]{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:data-\\[size\\=sm\\]\\:size-6[data-size=sm]{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(calc(var(--spacing)) * 7)}.tw\\:data-\\[size\\=sm\\]\\:h-\\[14px\\][data-size=sm]{height:14px}.tw\\:data-\\[size\\=sm\\]\\:w-\\[24px\\][data-size=sm]{width:24px}.tw\\:data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.tw\\:\\*\\:data-\\[slot\\=input-group-addon\\]\\:ps-2\\!>*)[data-slot=input-group-addon]{padding-inline-start:calc(calc(var(--spacing)) * 2)!important}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:relative *)[data-slot=kbd]{position:relative}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:z-50 *)[data-slot=kbd]{z-index:50}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex-1>*)[data-slot=select-value]{flex:1}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:text-start>*)[data-slot=select-value]{text-align:start}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-s-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-e-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.tw\\:data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.tw\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.tw\\:data-\\[state\\=delayed-open\\]\\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-\\[state\\=delayed-open\\]\\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.tw\\:data-\\[state\\=delayed-open\\]\\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-approved\\)\\][data-state=on]{background-color:var(--inv-soft-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unapproved\\)\\][data-state=on]{background-color:var(--inv-soft-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unknown\\)\\][data-state=on]{background-color:var(--inv-soft-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-approved\\)\\][data-state=on]{background-color:var(--inv-vivid-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unapproved\\)\\][data-state=on]{background-color:var(--inv-vivid-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unknown\\)\\][data-state=on]{background-color:var(--inv-vivid-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-muted[data-state=on]{background-color:var(--muted)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-approved\\)\\][data-state=on]{color:var(--inv-icon-approved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unapproved\\)\\][data-state=on]{color:var(--inv-icon-unapproved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unknown\\)\\][data-state=on]{color:var(--inv-icon-unknown)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-on\\)\\][data-state=on]{color:var(--inv-on)}.tw\\:data-\\[state\\=on\\]\\:text-foreground[data-state=on]{color:var(--foreground)}.tw\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.tw\\:data-\\[state\\=open\\]\\:bg-muted[data-state=open]{background-color:var(--muted)}.tw\\:data-\\[state\\=open\\]\\:text-foreground[data-state=open]{color:var(--foreground)}.tw\\:data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.tw\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}:is(:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:\\*\\*\\:text-accent-foreground\\! *)[data-variant=destructive] *),:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:text-accent-foreground\\! *)[data-variant=destructive]{color:var(--accent-foreground)!important}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}.tw\\:data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-s-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-s:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-xl[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:flex-row[data-vaul-drawer-direction=left]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:rounded-r-xl[data-vaul-drawer-direction=left]{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\/right\\]\\:flex-row[data-vaul-drawer-direction=left\\/right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:flex-row[data-vaul-drawer-direction=right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:rounded-l-xl[data-vaul-drawer-direction=right]{border-top-left-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-xl[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.tw\\:supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--tw-blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.tw\\:sm\\:flex{display:flex}.tw\\:sm\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:sm\\:flex-row{flex-direction:row}.tw\\:sm\\:justify-end{justify-content:flex-end}.tw\\:sm\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:sm\\:text-start{text-align:start}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--tw-container-sm)}}@media (min-width:48rem){.tw\\:md\\:block{display:block}.tw\\:md\\:flex{display:flex}.tw\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:md\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:md\\:text-start{text-align:start}.tw\\:md\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:md\\:text-pretty{text-wrap:pretty}.tw\\:md\\:opacity-0{opacity:0}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.tw\\:peer)[data-variant=inset]~*){margin:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:ms-0:is(:where(.tw\\:peer)[data-variant=inset]~*){margin-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.tw\\:peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.tw\\:peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ms-2:is(:where(.tw\\:peer)[data-variant=inset]~*):is(:where(.tw\\:peer)[data-state=collapsed]~*){margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.tw\\:lg\\:flex{display:flex}.tw\\:lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tw\\:lg\\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:lg\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}}@media (min-width:48rem){@media (min-width:64rem){.tw\\:md\\:lg\\:hidden{display:none}}}@media (min-width:80rem){.tw\\:xl\\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.tw\\:xl\\:grid-flow-col{grid-auto-flow:column}.tw\\:xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:xl\\:grid-cols-none{grid-template-columns:none}.tw\\:xl\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}}@container search not (min-width:7rem){.tw\\:\\@max-\\[7rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[7rem\\]\\/search\\:ps-3{padding-inline-start:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:4rem){.tw\\:\\@max-\\[4rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[4rem\\]\\/search\\:pe-3{padding-inline-end:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:3rem){.tw\\:\\@max-\\[3rem\\]\\/search\\:ps-0{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\@max-\\[3rem\\]\\/search\\:pe-0{padding-inline-end:calc(calc(var(--spacing)) * 0)}}@container (min-width:24rem){.tw\\:\\@sm\\:basis-auto{flex-basis:auto}}.tw\\:ltr\\:left-2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){left:calc(calc(var(--spacing)) * 2)}.tw\\:ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:right-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:calc(calc(var(--spacing)) * 2)}.tw\\:rtl\\:flex:where(:dir(rtl),[dir=rtl],[dir=rtl] *){display:flex}.tw\\:rtl\\:-translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:after\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=primary]) .tw\\:rtl\\:in-data-\\[side\\=primary\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=secondary]) .tw\\:rtl\\:in-data-\\[side\\=secondary\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}.tw\\:rtl\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=left\\]\\:translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=right\\]\\:-translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:border-input:is(.dark *){border-color:var(--input)}.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:bg-transparent:is(.dark *){background-color:#0000}.tw\\:dark\\:text-amber-400:is(.dark *){color:var(--tw-color-amber-400)}.tw\\:dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.tw\\:dark\\:text-rose-400:is(.dark *){color:var(--tw-color-rose-400)}.tw\\:dark\\:text-sky-400:is(.dark *){color:var(--tw-color-sky-400)}.tw\\:dark\\:text-teal-400:is(.dark *){color:var(--tw-color-teal-400)}.tw\\:dark\\:after\\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.tw\\:dark\\:hover\\:bg-blue-500:is(.dark *):hover{background-color:var(--tw-color-blue-500)}.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:data-open\\:animate-in:where([data-state=open]),.tw\\:data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-open\\:bg-accent:where([data-state=open]),.tw\\:data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.tw\\:data-open\\:text-accent-foreground:where([data-state=open]),.tw\\:data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.tw\\:data-open\\:fade-in-0:where([data-state=open]),.tw\\:data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.tw\\:data-open\\:zoom-in-95:where([data-state=open]),.tw\\:data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.tw\\:data-closed\\:animate-out:where([data-state=closed]),.tw\\:data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-closed\\:fade-out-0:where([data-state=closed]),.tw\\:data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.tw\\:data-closed\\:zoom-out-95:where([data-state=closed]),.tw\\:data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.tw\\:data-checked\\:border-primary:where([data-state=checked]),.tw\\:data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.tw\\:data-checked\\:bg-primary:where([data-state=checked]),.tw\\:data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:data-checked\\:text-primary-foreground:where([data-state=checked]),.tw\\:data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(calc(100% - 2px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.tw\\:data-unchecked\\:bg-input:where([data-state=unchecked]),.tw\\:data-unchecked\\:bg-input:where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--foreground)}.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:data-selected\\:bg-muted:where([data-selected=true]),.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:data-selected\\:bg-primary:where([data-selected=true]){background-color:var(--primary)}.tw\\:data-selected\\:bg-transparent:where([data-selected=true]){background-color:#0000}.tw\\:data-selected\\:text-foreground:where([data-selected=true]){color:var(--foreground)}.tw\\:data-selected\\:text-inherit:where([data-selected=true]){color:inherit}.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:data-selected\\:text-primary-foreground:where([data-selected=true]){color:var(--primary-foreground)}.tw\\:data-selected\\:ring-2:where([data-selected=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:data-selected\\:ring-inset:where([data-selected=true]){--tw-ring-inset:inset}@media (forced-colors:active){.tw\\:forced-colors\\:data-selected\\:outline-2:where([data-selected=true]){outline-style:var(--tw-outline-style);outline-width:2px}.tw\\:forced-colors\\:data-selected\\:-outline-offset-2:where([data-selected=true]){outline-offset:calc(2px * -1)}.tw\\:forced-colors\\:data-selected\\:outline-\\[color\\:Highlight\\]:where([data-selected=true]){outline-color:highlight}}.tw\\:data-disabled\\:pointer-events-none:where([data-disabled=true]),.tw\\:data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled=true]),.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.tw\\:data-disabled\\:opacity-50:where([data-disabled=true]),.tw\\:data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.tw\\:data-active\\:bg-background:where([data-state=active]),.tw\\:data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.tw\\:data-active\\:bg-sidebar-accent:where([data-state=active]),.tw\\:data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.tw\\:data-active\\:font-medium:where([data-state=active]),.tw\\:data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:data-active\\:text-foreground:where([data-state=active]),.tw\\:data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.tw\\:data-horizontal\\:h-1:where([data-orientation=horizontal]){height:calc(calc(var(--spacing)) * 1)}.tw\\:data-horizontal\\:h-full:where([data-orientation=horizontal]){height:100%}.tw\\:data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.tw\\:data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.tw\\:data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.tw\\:data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.tw\\:data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.tw\\:data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.tw\\:data-vertical\\:h-full:where([data-orientation=vertical]){height:100%}.tw\\:data-vertical\\:min-h-40:where([data-orientation=vertical]){min-height:calc(calc(var(--spacing)) * 40)}.tw\\:data-vertical\\:w-1:where([data-orientation=vertical]){width:calc(calc(var(--spacing)) * 1)}.tw\\:data-vertical\\:w-auto:where([data-orientation=vertical]){width:auto}.tw\\:data-vertical\\:w-full:where([data-orientation=vertical]){width:100%}.tw\\:data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.tw\\:data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.tw\\:data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.tw\\:data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=true]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=true]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=true]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=true]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=true]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=true]>blockquote{font-style:normal}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=\\"true\\"]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=\\"true\\"]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=\\"true\\"]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=\\"true\\"]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=\\"true\\"]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\\\\\"true\\\\\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=\\"true\\"]>blockquote{font-style:normal}.tw\\:\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.tw\\:\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.tw\\:\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.tw\\:\\[\\&_p\\]\\:my-0 p{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_s\\]\\:text-destructive s{color:var(--destructive)}.tw\\:\\[\\&_s\\]\\:line-through s{text-decoration-line:line-through}.tw\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tw\\:\\[\\&_svg\\]\\:size-4 svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.tw\\:\\[\\&_u\\]\\:font-semibold u{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:\\[\\&_u\\]\\:text-success-foreground u{color:var(--success-foreground)}.tw\\:\\[\\&_u\\]\\:no-underline u{text-decoration-line:none}.tw\\:\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pe-0:has([role=checkbox]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.tw\\:group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:px-2 *)[cmdk-group-heading]{padding-inline:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:py-1\\.5 *)[cmdk-group-heading]{padding-block:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-xs *)[cmdk-group-heading]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}:is(.tw\\:\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.tw\\:\\*\\:\\[img\\]\\:row-span-2>*):is(img){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[img\\]\\:translate-y-0\\.5>*):is(img){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[img\\]\\:text-current>*):is(img){color:currentColor}:is(.tw\\:\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(img:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}:is(.tw\\:focus\\:\\*\\:\\[svg\\]\\:text-accent-foreground:focus>*):is(svg){color:var(--accent-foreground)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.tw\\:data-selected\\:\\*\\:\\[svg\\]\\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}:is(.tw\\:\\*\\:\\[svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-s-none>:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-s-0>:not(:first-child){border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-e-none>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.tw\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-e-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-e-lg\\!>[data-slot]:not(:has(~[data-slot])){border-start-end-radius:var(--radius)!important;border-end-end-radius:var(--radius)!important}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.tw\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tw\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tw\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.tw\\:\\[\\&\\>blockquote\\]\\:my-0>blockquote{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:border-s-0>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>blockquote\\]\\:p-0>blockquote{padding:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:ps-0>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:font-normal>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&\\>blockquote\\]\\:text-foreground>blockquote{color:var(--foreground)}.tw\\:\\[\\&\\>blockquote\\]\\:not-italic>blockquote{font-style:normal}.tw\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pe-1\\.5:has(>[data-align=inline-end])>input{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:ps-1\\.5:has(>[data-align=inline-start])>input{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.tw\\:\\[\\&\\>li\\]\\:mt-2>li{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tw\\:\\[\\&\\>svg\\]\\:hidden>svg{display:none}.tw\\:\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(calc(var(--spacing)) * 3)!important;height:calc(calc(var(--spacing)) * 3)!important}.tw\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\]\\:size-4>svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.tw\\:\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-5:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *)>svg{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-3:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *)>svg{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=default] *)>svg,.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=lg] *)>svg{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:\\[\\&\\>svg\\]\\:hidden:is(:where(.tw\\:group\\/avatar)[data-size=sm] *)>svg,.tw\\:\\[\\&\\>svg\\:last-child\\]\\:hidden>svg:last-child{display:none}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.tw\\:\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}.tw\\:\\[\\&\\[aria-orientation\\=horizontal\\]\\>div\\]\\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}[data-side=primary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=primary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-end-2{inset-inline-end:calc(calc(var(--spacing)) * -2)}[data-side=primary][data-state=collapsed] .tw\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=primary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=secondary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-start-2{inset-inline-start:calc(calc(var(--spacing)) * -2)}[data-side=secondary][data-state=collapsed] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}[data-side=secondary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light,:root{--radius:.625rem;--spacing:.25rem;--background:oklch(100% 0 0);--foreground:oklch(13.71% .036 258.53);--card:oklch(100% 0 0);--card-foreground:oklch(13.71% .036 258.53);--popover:oklch(98.43% .0018 248.56);--popover-foreground:oklch(13.71% .036 258.53);--primary:oklch(20.79% .0399 265.73);--primary-foreground:oklch(98.38% .0036 248.23);--secondary:oklch(95.89% .011 248.06);--secondary-foreground:oklch(20.79% .0399 265.73);--muted:oklch(95.89% .011 248.06);--muted-foreground:oklch(55.47% .0408 257.45);--accent:oklch(95.89% .011 248.06);--accent-foreground:oklch(20.79% .0399 265.73);--destructive:oklch(63.69% .2077 25.32);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(92.9% .0127 255.58);--input:oklch(92.9% .0127 255.58);--ring:oklch(13.71% .036 258.53);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.43% .0018 248.56);--sidebar-foreground:oklch(13.71% .036 258.53);--sidebar-primary:oklch(20.79% .0399 265.73);--sidebar-primary-foreground:oklch(98.38% .0036 248.23);--sidebar-accent:oklch(95.89% .011 248.06);--sidebar-accent-foreground:oklch(20.79% .0399 265.73);--sidebar-border:oklch(92.9% .0127 255.58);--sidebar-ring:oklch(13.71% .036 258.53)}.dark{--background:oklch(13.71% .036 258.53);--foreground:oklch(98.38% .0036 248.23);--card:oklch(13.71% .036 258.53);--card-foreground:oklch(98.38% .0036 248.23);--popover:oklch(13.71% .036 258.53);--popover-foreground:oklch(98.38% .0036 248.23);--primary:oklch(98.38% .0036 248.23);--primary-foreground:oklch(20.79% .0399 265.73);--secondary:oklch(28% .037 259.98);--secondary-foreground:oklch(98.38% .0036 248.23);--muted:oklch(28% .037 259.98);--muted-foreground:oklch(71.07% .0351 256.8);--accent:oklch(28% .037 259.98);--accent-foreground:oklch(98.38% .0036 248.23);--destructive:oklch(39.6% .1331 25.71);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(44.54% .0374 257.3);--input:oklch(44.54% .0374 257.3);--ring:oklch(86.88% .0199 252.89);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(13.71% .036 258.53);--sidebar-foreground:oklch(71.07% .0351 256.8);--sidebar-primary:oklch(98.38% .0036 248.23);--sidebar-primary-foreground:oklch(20.79% .0399 265.73);--sidebar-accent:oklch(28% .037 259.98);--sidebar-accent-foreground:oklch(71.07% .0351 256.8);--sidebar-border:oklch(28% .037 259.98);--sidebar-ring:oklch(86.88% .0199 252.89)}.paratext-light{--background:oklch(100% 0 0);--foreground:oklch(15.3% .006 107.1);--card:oklch(100% 0 0);--card-foreground:oklch(15.3% .006 107.1);--popover:oklch(100% 0 0);--popover-foreground:oklch(15.3% .006 107.1);--primary:oklch(55.5% .163 48.998);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.6% .005 106.5);--muted-foreground:oklch(58% .031 107.3);--accent:oklch(96.6% .005 106.5);--accent-foreground:oklch(22.8% .013 107.4);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(93% .007 106.5);--input:oklch(93% .007 106.5);--ring:oklch(73.7% .021 106.9);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(98.8% .003 106.5);--sidebar-foreground:oklch(15.3% .006 107.1);--sidebar-primary:oklch(66.6% .179 58.318);--sidebar-primary-foreground:oklch(98.7% .022 95.277);--sidebar-accent:oklch(96.6% .005 106.5);--sidebar-accent-foreground:oklch(22.8% .013 107.4);--sidebar-border:oklch(93% .007 106.5);--sidebar-ring:oklch(73.7% .021 106.9)}.paratext-dark{--background:oklch(15.3% .006 107.1);--foreground:oklch(98.8% .003 106.5);--card:oklch(22.8% .013 107.4);--card-foreground:oklch(98.8% .003 106.5);--popover:oklch(22.8% .013 107.4);--popover-foreground:oklch(98.8% .003 106.5);--primary:oklch(47.3% .137 46.201);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(28.6% .016 107.4);--muted-foreground:oklch(73.7% .021 106.9);--accent:oklch(28.6% .016 107.4);--accent-foreground:oklch(98.8% .003 106.5);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(58% .031 107.3);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(22.8% .013 107.4);--sidebar-foreground:oklch(98.8% .003 106.5);--sidebar-primary:oklch(76.9% .188 70.08);--sidebar-primary-foreground:oklch(27.9% .077 45.635);--sidebar-accent:oklch(28.6% .016 107.4);--sidebar-accent-foreground:oklch(98.8% .003 106.5);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(58% .031 107.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--tw-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tw-color-red-100:oklch(93.6% .032 17.717);--tw-color-red-200:oklch(88.5% .062 18.334);--tw-color-red-300:oklch(80.8% .114 19.571);--tw-color-red-400:oklch(70.4% .191 22.216);--tw-color-red-500:oklch(63.7% .237 25.331);--tw-color-red-600:oklch(57.7% .245 27.325);--tw-color-red-700:oklch(50.5% .213 27.518);--tw-color-red-800:oklch(44.4% .177 26.899);--tw-color-orange-100:oklch(95.4% .038 75.164);--tw-color-orange-800:oklch(47% .157 37.304);--tw-color-amber-200:oklch(92.4% .12 95.746);--tw-color-amber-400:oklch(82.8% .189 84.429);--tw-color-amber-500:oklch(76.9% .188 70.08);--tw-color-amber-600:oklch(66.6% .179 58.318);--tw-color-yellow-50:oklch(98.7% .026 102.212);--tw-color-yellow-100:oklch(97.3% .071 103.193);--tw-color-yellow-400:oklch(85.2% .199 91.936);--tw-color-yellow-500:oklch(79.5% .184 86.047);--tw-color-yellow-600:oklch(68.1% .162 75.834);--tw-color-yellow-700:oklch(55.4% .135 66.442);--tw-color-green-50:oklch(98.2% .018 155.826);--tw-color-green-100:oklch(96.2% .044 156.743);--tw-color-green-500:oklch(72.3% .219 149.579);--tw-color-green-600:oklch(62.7% .194 149.214);--tw-color-green-700:oklch(52.7% .154 150.069);--tw-color-green-800:oklch(44.8% .119 151.328);--tw-color-teal-400:oklch(77.7% .152 181.912);--tw-color-teal-500:oklch(70.4% .14 182.503);--tw-color-teal-600:oklch(60% .118 184.704);--tw-color-sky-400:oklch(74.6% .16 232.661);--tw-color-sky-500:oklch(68.5% .169 237.323);--tw-color-sky-600:oklch(58.8% .158 241.966);--tw-color-blue-50:oklch(97% .014 254.604);--tw-color-blue-100:oklch(93.2% .032 255.585);--tw-color-blue-400:oklch(70.7% .165 254.624);--tw-color-blue-500:oklch(62.3% .214 259.815);--tw-color-blue-600:oklch(54.6% .245 262.881);--tw-color-blue-800:oklch(42.4% .199 265.638);--tw-color-indigo-200:oklch(87% .065 274.039);--tw-color-purple-50:oklch(97.7% .014 308.299);--tw-color-purple-200:oklch(90.2% .063 306.703);--tw-color-purple-900:oklch(38.1% .176 304.987);--tw-color-rose-400:oklch(71.2% .194 13.428);--tw-color-rose-500:oklch(64.5% .246 16.439);--tw-color-rose-600:oklch(58.6% .253 17.585);--tw-color-slate-300:oklch(86.9% .022 252.894);--tw-color-slate-400:oklch(70.4% .04 256.788);--tw-color-slate-900:oklch(20.8% .042 265.755);--tw-color-gray-50:oklch(98.5% .002 247.839);--tw-color-gray-100:oklch(96.7% .003 264.542);--tw-color-gray-300:oklch(87.2% .01 258.338);--tw-color-gray-500:oklch(55.1% .027 264.364);--tw-color-gray-600:oklch(44.6% .03 256.802);--tw-color-gray-700:oklch(37.3% .034 259.733);--tw-color-gray-800:oklch(27.8% .033 256.848);--tw-color-zinc-400:oklch(70.5% .015 286.067);--tw-color-neutral-300:oklch(87% 0 0);--tw-color-black:#000;--tw-color-white:#fff;--tw-container-xs:20rem;--tw-container-sm:24rem;--tw-container-md:28rem;--tw-container-lg:32rem;--tw-container-2xl:42rem;--tw-container-3xl:48rem;--tw-container-4xl:56rem;--tw-container-6xl:72rem;--tw-text-xs:.75rem;--tw-text-xs--line-height:calc(1 / .75);--tw-text-sm:.875rem;--tw-text-sm--line-height:calc(1.25 / .875);--tw-text-base:1rem;--tw-text-base--line-height:calc(1.5 / 1);--tw-text-lg:1.125rem;--tw-text-lg--line-height:calc(1.75 / 1.125);--tw-text-xl:1.25rem;--tw-text-xl--line-height:calc(1.75 / 1.25);--tw-text-2xl:1.5rem;--tw-text-2xl--line-height:calc(2 / 1.5);--tw-text-3xl:1.875rem;--tw-text-3xl--line-height:calc(2.25 / 1.875);--tw-text-4xl:2.25rem;--tw-text-4xl--line-height:calc(2.5 / 2.25);--tw-text-5xl:3rem;--tw-text-5xl--line-height:1;--tw-font-weight-normal:400;--tw-font-weight-medium:500;--tw-font-weight-semibold:600;--tw-font-weight-bold:700;--tw-font-weight-extrabold:800;--tw-tracking-tight:-.025em;--tw-tracking-wider:.05em;--tw-tracking-widest:.1em;--tw-leading-tight:1.25;--tw-leading-snug:1.375;--tw-leading-relaxed:1.625;--tw-leading-loose:2;--tw-radius-xs:.125rem;--tw-radius-md:calc(var(--radius) * .8);--tw-drop-shadow-sm:0 1px 2px #00000026;--tw-animate-spin:spin 1s linear infinite;--tw-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--tw-blur-xs:4px;--tw-default-transition-duration:.15s;--tw-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tw-default-font-family:"IBM Plex Sans Variable", sans-serif;--tw-default-mono-font-family:var(--tw-font-mono)}}@layer base{.pr-twp,.pr-twp *{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.pr-twp,.pr-twp *{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body.pr-twp{background-color:var(--background);color:var(--foreground)}html.pr-twp{font-family:IBM Plex Sans Variable,sans-serif}:where(.pr-twp,.pr-twp *),:where(.pr-twp,.pr-twp *):after,:where(.pr-twp,.pr-twp *):before,:where(.pr-twp,.pr-twp *) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.pr-twp{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tw-default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--tw-default-font-feature-settings,normal);font-variation-settings:var(--tw-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr:where(.pr-twp,.pr-twp *){height:0;color:inherit;border-top-width:1px}abbr:where([title]):where(.pr-twp,.pr-twp *){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1:where(.pr-twp,.pr-twp *),h2:where(.pr-twp,.pr-twp *),h3:where(.pr-twp,.pr-twp *),h4:where(.pr-twp,.pr-twp *),h5:where(.pr-twp,.pr-twp *),h6:where(.pr-twp,.pr-twp *){font-size:inherit;font-weight:inherit}a:where(.pr-twp,.pr-twp *){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b:where(.pr-twp,.pr-twp *),strong:where(.pr-twp,.pr-twp *){font-weight:bolder}code:where(.pr-twp,.pr-twp *),kbd:where(.pr-twp,.pr-twp *),samp:where(.pr-twp,.pr-twp *),pre:where(.pr-twp,.pr-twp *){font-family:var(--tw-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--tw-default-mono-font-feature-settings,normal);font-variation-settings:var(--tw-default-mono-font-variation-settings,normal);font-size:1em}small:where(.pr-twp,.pr-twp *){font-size:80%}sub:where(.pr-twp,.pr-twp *),sup:where(.pr-twp,.pr-twp *){vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub:where(.pr-twp,.pr-twp *){bottom:-.25em}sup:where(.pr-twp,.pr-twp *){top:-.5em}table:where(.pr-twp,.pr-twp *){text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(.pr-twp,.pr-twp *){outline:auto}progress:where(.pr-twp,.pr-twp *){vertical-align:baseline}summary:where(.pr-twp,.pr-twp *){display:list-item}ol:where(.pr-twp,.pr-twp *),ul:where(.pr-twp,.pr-twp *),menu:where(.pr-twp,.pr-twp *){list-style:none}img:where(.pr-twp,.pr-twp *),svg:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *),canvas:where(.pr-twp,.pr-twp *),audio:where(.pr-twp,.pr-twp *),iframe:where(.pr-twp,.pr-twp *),embed:where(.pr-twp,.pr-twp *),object:where(.pr-twp,.pr-twp *){vertical-align:middle;display:block}img:where(.pr-twp,.pr-twp *),video:where(.pr-twp,.pr-twp *){max-width:100%;height:auto}button:where(.pr-twp,.pr-twp *),input:where(.pr-twp,.pr-twp *),select:where(.pr-twp,.pr-twp *),optgroup:where(.pr-twp,.pr-twp *),textarea:where(.pr-twp,.pr-twp *){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.pr-twp,.pr-twp *) ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup:where(.pr-twp,.pr-twp *){font-weight:bolder}:where(select:is([multiple],[size])) optgroup option:where(.pr-twp,.pr-twp *){padding-inline-start:20px}:where(.pr-twp,.pr-twp *) ::file-selector-button{margin-inline-end:4px}:where(.pr-twp,.pr-twp *) ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){:where(.pr-twp,.pr-twp *) ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){:where(.pr-twp,.pr-twp *) ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea:where(.pr-twp,.pr-twp *){resize:vertical}:where(.pr-twp,.pr-twp *) ::-webkit-search-decoration{-webkit-appearance:none}:where(.pr-twp,.pr-twp *) ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{display:inline-flex}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-fields-wrapper{padding:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-year-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-month-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-day-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-hour-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-minute-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-second-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-millisecond-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-datetime-edit-meridiem-field{padding-block:0}:where(.pr-twp,.pr-twp *) ::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid:where(.pr-twp,.pr-twp *){box-shadow:none}button:where(.pr-twp,.pr-twp *),input:where([type=button],[type=reset],[type=submit]):where(.pr-twp,.pr-twp *){appearance:button}:where(.pr-twp,.pr-twp *) ::file-selector-button{appearance:button}:where(.pr-twp,.pr-twp *) ::-webkit-inner-spin-button{height:auto}:where(.pr-twp,.pr-twp *) ::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])):where(.pr-twp,.pr-twp *){display:none!important}}@layer components;@layer utilities{.tw\\:\\@container\\/card-header{container:card-header/inline-size}.tw\\:\\@container\\/search{container:search/inline-size}.tw\\:\\@container\\/toolbar{container:toolbar/inline-size}.tw\\:pointer-events-auto{pointer-events:auto}.tw\\:pointer-events-none{pointer-events:none}.tw\\:invisible{visibility:hidden}.tw\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\\:absolute{position:absolute}.tw\\:fixed{position:fixed}.tw\\:relative{position:relative}.tw\\:sticky{position:sticky}.tw\\:inset-0{inset:calc(calc(var(--spacing)) * 0)}.tw\\:inset-x-0{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:inset-y-0{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:inset-s-3{inset-inline-start:calc(calc(var(--spacing)) * 3)}.tw\\:start-1\\.5{inset-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:start-1\\/2{inset-inline-start:50%}.tw\\:end-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:end-1{inset-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:end-2{inset-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:end-3{inset-inline-end:calc(calc(var(--spacing)) * 3)}.tw\\:inset-e-0{inset-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:-top-\\[1px\\]{top:-1px}.tw\\:top-0{top:calc(calc(var(--spacing)) * 0)}.tw\\:top-1{top:calc(calc(var(--spacing)) * 1)}.tw\\:top-1\\.5{top:calc(calc(var(--spacing)) * 1.5)}.tw\\:top-1\\/2{top:50%}.tw\\:top-1\\/3{top:33.3333%}.tw\\:top-2{top:calc(calc(var(--spacing)) * 2)}.tw\\:top-2\\.5{top:calc(calc(var(--spacing)) * 2.5)}.tw\\:top-3\\.5{top:calc(calc(var(--spacing)) * 3.5)}.tw\\:top-\\[-1px\\]{top:-1px}.tw\\:top-full{top:100%}.tw\\:-right-1{right:calc(calc(var(--spacing)) * -1)}.tw\\:right-0{right:calc(calc(var(--spacing)) * 0)}.tw\\:right-1{right:calc(calc(var(--spacing)) * 1)}.tw\\:right-3{right:calc(calc(var(--spacing)) * 3)}.tw\\:bottom-0{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:-left-\\[1px\\]{left:-1px}.tw\\:left-0{left:calc(calc(var(--spacing)) * 0)}.tw\\:left-1\\/2{left:50%}.tw\\:left-2{left:calc(calc(var(--spacing)) * 2)}.tw\\:left-3{left:calc(calc(var(--spacing)) * 3)}.tw\\:isolate{isolation:isolate}.tw\\:z-10{z-index:10}.tw\\:z-20{z-index:20}.tw\\:z-50{z-index:50}.tw\\:order-first{order:-9999}.tw\\:order-last{order:9999}.tw\\:col-span-1{grid-column:span 1/span 1}.tw\\:col-span-2{grid-column:span 2/span 2}.tw\\:col-span-3{grid-column:span 3/span 3}.tw\\:col-start-1{grid-column-start:1}.tw\\:col-start-2{grid-column-start:2}.tw\\:row-span-2{grid-row:span 2/span 2}.tw\\:row-start-1{grid-row-start:1}.tw\\:row-start-2{grid-row-start:2}.tw\\:m-0{margin:calc(calc(var(--spacing)) * 0)}.tw\\:m-1{margin:calc(calc(var(--spacing)) * 1)}.tw\\:m-2{margin:calc(calc(var(--spacing)) * 2)}.tw\\:-mx-1{margin-inline:calc(calc(var(--spacing)) * -1)}.tw\\:-mx-4{margin-inline:calc(calc(var(--spacing)) * -4)}.tw\\:mx-0{margin-inline:calc(calc(var(--spacing)) * 0)}.tw\\:mx-1{margin-inline:calc(calc(var(--spacing)) * 1)}.tw\\:mx-2{margin-inline:calc(calc(var(--spacing)) * 2)}.tw\\:mx-3\\.5{margin-inline:calc(calc(var(--spacing)) * 3.5)}.tw\\:mx-4{margin-inline:calc(calc(var(--spacing)) * 4)}.tw\\:mx-8{margin-inline:calc(calc(var(--spacing)) * 8)}.tw\\:my-1{margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:my-2\\.5{margin-block:calc(calc(var(--spacing)) * 2.5)}.tw\\:my-4{margin-block:calc(calc(var(--spacing)) * 4)}.tw\\:my-auto{margin-block:auto}.tw\\:ms-1{margin-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:ms-2{margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ms-5{margin-inline-start:calc(calc(var(--spacing)) * 5)}.tw\\:ms-6{margin-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ms-auto{margin-inline-start:auto}.tw\\:me-1{margin-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:me-2{margin-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:prose{color:var(--tw-prose-body);max-width:65ch}.tw\\:prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tw\\:prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tw\\:prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tw\\:prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tw\\:prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tw\\:prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tw\\:prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tw\\:prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tw\\:prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tw\\:prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tw\\:prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tw\\:prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tw\\:prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tw\\:prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tw\\:prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tw\\:prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tw\\:prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tw\\:prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tw\\:prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tw\\:prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tw\\:prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tw\\:prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tw\\:prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tw\\:prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.tw\\:prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tw\\:prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tw\\:prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tw\\:prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tw\\:prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tw\\:prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tw\\:prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tw\\:prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tw\\:prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tw\\:prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tw\\:prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tw\\:prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tw\\:prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tw\\:prose{--tw-prose-body:var(--foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:NaN NaN NaN;--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--muted-foreground);--tw-prose-pre-bg:var(--muted);--tw-prose-th-borders:var(--border);--tw-prose-td-borders:var(--border);--tw-prose-invert-body:var(--foreground);--tw-prose-invert-headings:var(--foreground);--tw-prose-invert-lead:var(--muted-foreground);--tw-prose-invert-links:var(--primary);--tw-prose-invert-bold:var(--foreground);--tw-prose-invert-counters:var(--muted-foreground);--tw-prose-invert-bullets:var(--muted-foreground);--tw-prose-invert-hr:var(--border);--tw-prose-invert-quotes:var(--foreground);--tw-prose-invert-quote-borders:var(--border);--tw-prose-invert-captions:var(--muted-foreground);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--foreground);--tw-prose-invert-pre-code:var(--muted-foreground);--tw-prose-invert-pre-bg:var(--muted);--tw-prose-invert-th-borders:var(--border);--tw-prose-invert-td-borders:var(--border);font-size:1rem;line-height:1.75}.tw\\:prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.tw\\:prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.tw\\:prose :where(.tw\\:prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(.tw\\:prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tw\\:prose :where(.tw\\:prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tw\\:prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tw\\:prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.tw\\:prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.tw\\:prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.tw\\:prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.tw\\:prose :where(.tw\\:prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose :where(.tw\\:prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:prose-sm{font-size:.875rem;line-height:1.71429}.tw\\:prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tw\\:prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tw\\:prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tw\\:prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tw\\:prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tw\\:prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tw\\:prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tw\\:prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tw\\:prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tw\\:prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tw\\:prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tw\\:prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(.tw\\:prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tw\\:prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tw\\:prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tw\\:prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tw\\:prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tw\\:prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tw\\:prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tw\\:prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tw\\:prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tw\\:prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tw\\:prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tw\\:prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tw\\:prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tw\\:prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tw\\:prose-sm :where(.tw\\:prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tw\\:prose-sm :where(.tw\\:prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tw\\:-mt-4{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:mt-0\\.5{margin-top:calc(calc(var(--spacing)) * .5)}.tw\\:mt-1{margin-top:calc(calc(var(--spacing)) * 1)}.tw\\:mt-2{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:mt-3{margin-top:calc(calc(var(--spacing)) * 3)}.tw\\:mt-4{margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:mt-6{margin-top:calc(calc(var(--spacing)) * 6)}.tw\\:mt-auto{margin-top:auto}.tw\\:mr-1{margin-right:calc(calc(var(--spacing)) * 1)}.tw\\:mr-2{margin-right:calc(calc(var(--spacing)) * 2)}.tw\\:mr-3{margin-right:calc(calc(var(--spacing)) * 3)}.tw\\:-mb-4{margin-bottom:calc(calc(var(--spacing)) * -4)}.tw\\:mb-1{margin-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:mb-2{margin-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:mb-3{margin-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:mb-4{margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:ml-1{margin-left:calc(calc(var(--spacing)) * 1)}.tw\\:ml-2{margin-left:calc(calc(var(--spacing)) * 2)}.tw\\:ml-4{margin-left:calc(calc(var(--spacing)) * 4)}.tw\\:ml-auto{margin-left:auto}.tw\\:box-border{box-sizing:border-box}.tw\\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tw\\:no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tw\\:no-scrollbar::-webkit-scrollbar{display:none}.tw\\:block{display:block}.tw\\:flex{display:flex}.tw\\:grid{display:grid}.tw\\:hidden{display:none}.tw\\:inline-block{display:inline-block}.tw\\:inline-flex{display:inline-flex}.tw\\:inline-grid{display:inline-grid}.tw\\:field-sizing-content{field-sizing:content}.tw\\:aspect-square{aspect-ratio:1}.tw\\:size-2{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:size-2\\.5{width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:size-3{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:size-3\\.5{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:size-4{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:size-5{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:size-6{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:size-7{width:calc(calc(var(--spacing)) * 7);height:calc(calc(var(--spacing)) * 7)}.tw\\:size-8{width:calc(calc(var(--spacing)) * 8);height:calc(calc(var(--spacing)) * 8)}.tw\\:size-9{width:calc(calc(var(--spacing)) * 9);height:calc(calc(var(--spacing)) * 9)}.tw\\:size-10{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:size-full{width:100%;height:100%}.tw\\:h-1{height:calc(calc(var(--spacing)) * 1)}.tw\\:h-2{height:calc(calc(var(--spacing)) * 2)}.tw\\:h-3{height:calc(calc(var(--spacing)) * 3)}.tw\\:h-3\\.5{height:calc(calc(var(--spacing)) * 3.5)}.tw\\:h-4{height:calc(calc(var(--spacing)) * 4)}.tw\\:h-5{height:calc(calc(var(--spacing)) * 5)}.tw\\:h-6{height:calc(calc(var(--spacing)) * 6)}.tw\\:h-7{height:calc(calc(var(--spacing)) * 7)}.tw\\:h-8{height:calc(calc(var(--spacing)) * 8)}.tw\\:h-8\\!{height:calc(calc(var(--spacing)) * 8)!important}.tw\\:h-8\\.5{height:calc(calc(var(--spacing)) * 8.5)}.tw\\:h-9{height:calc(calc(var(--spacing)) * 9)}.tw\\:h-10{height:calc(calc(var(--spacing)) * 10)}.tw\\:h-12{height:calc(calc(var(--spacing)) * 12)}.tw\\:h-14{height:calc(calc(var(--spacing)) * 14)}.tw\\:h-20{height:calc(calc(var(--spacing)) * 20)}.tw\\:h-24{height:calc(calc(var(--spacing)) * 24)}.tw\\:h-32{height:calc(calc(var(--spacing)) * 32)}.tw\\:h-40{height:calc(calc(var(--spacing)) * 40)}.tw\\:h-64{height:calc(calc(var(--spacing)) * 64)}.tw\\:h-80{height:calc(calc(var(--spacing)) * 80)}.tw\\:h-96{height:calc(calc(var(--spacing)) * 96)}.tw\\:h-\\[5px\\]{height:5px}.tw\\:h-\\[260px\\]{height:260px}.tw\\:h-\\[300px\\]{height:300px}.tw\\:h-\\[400px\\]{height:400px}.tw\\:h-\\[600px\\]{height:600px}.tw\\:h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.tw\\:h-\\[calc\\(100\\%-2px\\)\\]{height:calc(100% - 2px)}.tw\\:h-auto{height:auto}.tw\\:h-full{height:100%}.tw\\:h-px{height:1px}.tw\\:h-screen{height:100vh}.tw\\:h-svh{height:100svh}.tw\\:max-h-\\(--radix-context-menu-content-available-height\\){max-height:var(--radix-context-menu-content-available-height)}.tw\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tw\\:max-h-\\(--radix-popover-content-available-height\\){max-height:var(--radix-popover-content-available-height)}.tw\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tw\\:max-h-5{max-height:calc(calc(var(--spacing)) * 5)}.tw\\:max-h-10{max-height:calc(calc(var(--spacing)) * 10)}.tw\\:max-h-72{max-height:calc(calc(var(--spacing)) * 72)}.tw\\:max-h-80{max-height:calc(calc(var(--spacing)) * 80)}.tw\\:max-h-\\[96\\%\\]{max-height:96%}.tw\\:max-h-\\[300px\\]{max-height:300px}.tw\\:min-h-0{min-height:calc(calc(var(--spacing)) * 0)}.tw\\:min-h-11{min-height:calc(calc(var(--spacing)) * 11)}.tw\\:min-h-16{min-height:calc(calc(var(--spacing)) * 16)}.tw\\:min-h-\\[200px\\]{min-height:200px}.tw\\:min-h-full{min-height:100%}.tw\\:min-h-svh{min-height:100svh}.tw\\:w-\\(--radix-dropdown-menu-trigger-width\\){width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-\\(--sidebar-width\\){width:var(--sidebar-width)}.tw\\:w-1{width:calc(calc(var(--spacing)) * 1)}.tw\\:w-1\\/2{width:50%}.tw\\:w-1\\/4{width:25%}.tw\\:w-1\\/6{width:16.6667%}.tw\\:w-2{width:calc(calc(var(--spacing)) * 2)}.tw\\:w-3{width:calc(calc(var(--spacing)) * 3)}.tw\\:w-3\\.5{width:calc(calc(var(--spacing)) * 3.5)}.tw\\:w-3\\/4{width:75%}.tw\\:w-4{width:calc(calc(var(--spacing)) * 4)}.tw\\:w-4\\/5{width:80%}.tw\\:w-4\\/6{width:66.6667%}.tw\\:w-5{width:calc(calc(var(--spacing)) * 5)}.tw\\:w-5\\/6{width:83.3333%}.tw\\:w-6{width:calc(calc(var(--spacing)) * 6)}.tw\\:w-7{width:calc(calc(var(--spacing)) * 7)}.tw\\:w-8{width:calc(calc(var(--spacing)) * 8)}.tw\\:w-9{width:calc(calc(var(--spacing)) * 9)}.tw\\:w-9\\/12{width:75%}.tw\\:w-10{width:calc(calc(var(--spacing)) * 10)}.tw\\:w-12{width:calc(calc(var(--spacing)) * 12)}.tw\\:w-14{width:calc(calc(var(--spacing)) * 14)}.tw\\:w-20{width:calc(calc(var(--spacing)) * 20)}.tw\\:w-24{width:calc(calc(var(--spacing)) * 24)}.tw\\:w-32{width:calc(calc(var(--spacing)) * 32)}.tw\\:w-48{width:calc(calc(var(--spacing)) * 48)}.tw\\:w-56{width:calc(calc(var(--spacing)) * 56)}.tw\\:w-60{width:calc(calc(var(--spacing)) * 60)}.tw\\:w-64{width:calc(calc(var(--spacing)) * 64)}.tw\\:w-72{width:calc(calc(var(--spacing)) * 72)}.tw\\:w-80{width:calc(calc(var(--spacing)) * 80)}.tw\\:w-96{width:calc(calc(var(--spacing)) * 96)}.tw\\:w-\\[1px\\]{width:1px}.tw\\:w-\\[5px\\]{width:5px}.tw\\:w-\\[70px\\]{width:70px}.tw\\:w-\\[100px\\]{width:100px}.tw\\:w-\\[116px\\]{width:116px}.tw\\:w-\\[124px\\]{width:124px}.tw\\:w-\\[150px\\]{width:150px}.tw\\:w-\\[180px\\]{width:180px}.tw\\:w-\\[200px\\]{width:200px}.tw\\:w-\\[250px\\]{width:250px}.tw\\:w-\\[260px\\]{width:260px}.tw\\:w-\\[280px\\]{width:280px}.tw\\:w-\\[300px\\]{width:300px}.tw\\:w-\\[320px\\]{width:320px}.tw\\:w-\\[350px\\]{width:350px}.tw\\:w-\\[380px\\]{width:380px}.tw\\:w-\\[400px\\]{width:400px}.tw\\:w-\\[420px\\]{width:420px}.tw\\:w-\\[500px\\]{width:500px}.tw\\:w-\\[560px\\]{width:560px}.tw\\:w-\\[600px\\]{width:600px}.tw\\:w-\\[calc\\(100\\%-2px\\)\\]{width:calc(100% - 2px)}.tw\\:w-\\[var\\(--radix-dropdown-menu-trigger-width\\)\\]{width:var(--radix-dropdown-menu-trigger-width)}.tw\\:w-auto{width:auto}.tw\\:w-fit{width:fit-content}.tw\\:w-full{width:100%}.tw\\:w-max{width:max-content}.tw\\:w-px{width:1px}.tw\\:max-w-\\(--skeleton-width\\){max-width:var(--skeleton-width)}.tw\\:max-w-0{max-width:calc(calc(var(--spacing)) * 0)}.tw\\:max-w-2xl{max-width:var(--tw-container-2xl)}.tw\\:max-w-3xl{max-width:var(--tw-container-3xl)}.tw\\:max-w-4xl{max-width:var(--tw-container-4xl)}.tw\\:max-w-5{max-width:calc(calc(var(--spacing)) * 5)}.tw\\:max-w-6xl{max-width:var(--tw-container-6xl)}.tw\\:max-w-40{max-width:calc(calc(var(--spacing)) * 40)}.tw\\:max-w-48{max-width:calc(calc(var(--spacing)) * 48)}.tw\\:max-w-64{max-width:calc(calc(var(--spacing)) * 64)}.tw\\:max-w-96{max-width:calc(calc(var(--spacing)) * 96)}.tw\\:max-w-\\[200px\\]{max-width:200px}.tw\\:max-w-\\[220px\\]{max-width:220px}.tw\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tw\\:max-w-\\[calc\\(100vw-2rem\\)\\]{max-width:calc(100vw - 2rem)}.tw\\:max-w-fit{max-width:fit-content}.tw\\:max-w-full{max-width:100%}.tw\\:max-w-lg{max-width:var(--tw-container-lg)}.tw\\:max-w-md{max-width:var(--tw-container-md)}.tw\\:max-w-none{max-width:none}.tw\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:max-w-xs{max-width:var(--tw-container-xs)}.tw\\:min-w-0{min-width:calc(calc(var(--spacing)) * 0)}.tw\\:min-w-4{min-width:calc(calc(var(--spacing)) * 4)}.tw\\:min-w-5{min-width:calc(calc(var(--spacing)) * 5)}.tw\\:min-w-7{min-width:calc(calc(var(--spacing)) * 7)}.tw\\:min-w-8{min-width:calc(calc(var(--spacing)) * 8)}.tw\\:min-w-9{min-width:calc(calc(var(--spacing)) * 9)}.tw\\:min-w-16{min-width:calc(calc(var(--spacing)) * 16)}.tw\\:min-w-32{min-width:calc(calc(var(--spacing)) * 32)}.tw\\:min-w-36{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:min-w-80{min-width:calc(calc(var(--spacing)) * 80)}.tw\\:min-w-\\[12rem\\]{min-width:12rem}.tw\\:min-w-\\[26px\\]{min-width:26px}.tw\\:min-w-\\[96px\\]{min-width:96px}.tw\\:min-w-\\[140px\\]{min-width:140px}.tw\\:min-w-\\[215px\\]{min-width:215px}.tw\\:min-w-\\[500px\\]{min-width:500px}.tw\\:min-w-min{min-width:min-content}.tw\\:flex-1{flex:1}.tw\\:shrink{flex-shrink:1}.tw\\:shrink\\!{flex-shrink:1!important}.tw\\:shrink-0{flex-shrink:0}.tw\\:shrink-\\[9999\\]{flex-shrink:9999}.tw\\:flex-grow,.tw\\:grow,.tw\\:grow-\\[1\\]{flex-grow:1}.tw\\:grow-\\[10\\]{flex-grow:10}.tw\\:basis-0{flex-basis:calc(calc(var(--spacing)) * 0)}.tw\\:table-fixed{table-layout:fixed}.tw\\:caption-bottom{caption-side:bottom}.tw\\:border-collapse{border-collapse:collapse}.tw\\:origin-\\(--radix-context-menu-content-transform-origin\\){transform-origin:var(--radix-context-menu-content-transform-origin)}.tw\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tw\\:origin-\\(--radix-menubar-content-transform-origin\\){transform-origin:var(--radix-menubar-content-transform-origin)}.tw\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tw\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tw\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tw\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-0{--tw-translate-y:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:translate-y-px{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rotate-45{rotate:45deg}.tw\\:rotate-180{rotate:180deg}.tw\\:transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.tw\\:animate-none\\!{animation:none!important}.tw\\:animate-pulse{animation:var(--tw-animate-pulse)}.tw\\:animate-spin{animation:var(--tw-animate-spin)}.tw\\:cursor-default{cursor:default}.tw\\:cursor-ew-resize{cursor:ew-resize}.tw\\:cursor-not-allowed{cursor:not-allowed}.tw\\:cursor-pointer{cursor:pointer}.tw\\:cursor-text{cursor:text}.tw\\:touch-none{touch-action:none}.tw\\:resize{resize:both}.tw\\:resize-none{resize:none}.tw\\:scroll-m-20{scroll-margin:calc(calc(var(--spacing)) * 20)}.tw\\:scroll-my-1{scroll-margin-block:calc(calc(var(--spacing)) * 1)}.tw\\:scroll-py-1{scroll-padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:list-inside{list-style-position:inside}.tw\\:list-outside{list-style-position:outside}.tw\\:\\!list-\\[lower-alpha\\]{list-style-type:lower-alpha!important}.tw\\:\\!list-\\[lower-roman\\]{list-style-type:lower-roman!important}.tw\\:\\!list-\\[upper-alpha\\]{list-style-type:upper-alpha!important}.tw\\:\\!list-\\[upper-roman\\]{list-style-type:upper-roman!important}.tw\\:\\!list-decimal{list-style-type:decimal!important}.tw\\:\\!list-disc{list-style-type:disc!important}.tw\\:list-decimal{list-style-type:decimal}.tw\\:list-disc{list-style-type:disc}.tw\\:list-none{list-style-type:none}.tw\\:grid-flow-col{grid-auto-flow:column}.tw\\:grid-flow-row{grid-auto-flow:row}.tw\\:auto-rows-min{grid-auto-rows:min-content}.tw\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tw\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw\\:grid-cols-\\[25\\%_25\\%_50\\%\\]{grid-template-columns:25% 25% 50%}.tw\\:grid-cols-\\[25\\%_50\\%_25\\%\\]{grid-template-columns:25% 50% 25%}.tw\\:grid-cols-\\[auto_auto_auto_auto\\]{grid-template-columns:auto auto auto auto}.tw\\:grid-cols-\\[min-content_1fr\\]{grid-template-columns:min-content 1fr}.tw\\:grid-cols-\\[min-content_min-content_1fr\\]{grid-template-columns:min-content min-content 1fr}.tw\\:grid-cols-subgrid{grid-template-columns:subgrid}.tw\\:flex-col{flex-direction:column}.tw\\:flex-col-reverse{flex-direction:column-reverse}.tw\\:flex-row{flex-direction:row}.tw\\:flex-row-reverse{flex-direction:row-reverse}.tw\\:flex-nowrap{flex-wrap:nowrap}.tw\\:flex-wrap{flex-wrap:wrap}.tw\\:place-content-center{place-content:center}.tw\\:content-center{align-content:center}.tw\\:items-baseline{align-items:baseline}.tw\\:items-center{align-items:center}.tw\\:items-end{align-items:flex-end}.tw\\:items-start{align-items:flex-start}.tw\\:items-stretch{align-items:stretch}.tw\\:justify-between{justify-content:space-between}.tw\\:justify-center{justify-content:center}.tw\\:justify-end{justify-content:flex-end}.tw\\:justify-start{justify-content:flex-start}.tw\\:gap-0{gap:calc(calc(var(--spacing)) * 0)}.tw\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:gap-1{gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-1\\.5{gap:calc(calc(var(--spacing)) * 1.5)}.tw\\:gap-1\\.5\\!{gap:calc(calc(var(--spacing)) * 1.5)!important}.tw\\:gap-2{gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-2\\.5{gap:calc(calc(var(--spacing)) * 2.5)}.tw\\:gap-3{gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-4{gap:calc(calc(var(--spacing)) * 4)}.tw\\:gap-5{gap:calc(calc(var(--spacing)) * 5)}.tw\\:gap-6{gap:calc(calc(var(--spacing)) * 6)}.tw\\:gap-8{gap:calc(calc(var(--spacing)) * 8)}.tw\\:gap-16{gap:calc(calc(var(--spacing)) * 16)}.tw\\:gap-\\[--spacing\\(var\\(--gap\\)\\)\\]{gap:calc(calc(var(--spacing)) * var(--gap))}.tw\\:gap-\\[12px\\]{gap:12px}:where(.tw\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.tw\\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-y-reverse)))}.tw\\:gap-x-1{column-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-x-2{column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:gap-x-3{column-gap:calc(calc(var(--spacing)) * 3)}.tw\\:gap-x-4{column-gap:calc(calc(var(--spacing)) * 4)}:where(.tw\\:-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.tw\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 6) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:gap-y-1{row-gap:calc(calc(var(--spacing)) * 1)}.tw\\:gap-y-2{row-gap:calc(calc(var(--spacing)) * 2)}:where(.tw\\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.tw\\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.tw\\:self-start{align-self:flex-start}.tw\\:self-stretch{align-self:stretch}.tw\\:justify-self-end{justify-self:flex-end}.tw\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:overflow-auto{overflow:auto}.tw\\:overflow-clip{overflow:clip}.tw\\:overflow-hidden{overflow:hidden}.tw\\:overflow-scroll{overflow:scroll}.tw\\:overflow-visible{overflow:visible}.tw\\:overflow-x-auto{overflow-x:auto}.tw\\:overflow-x-hidden{overflow-x:hidden}.tw\\:overflow-y-auto{overflow-y:auto}.tw\\:overflow-y-hidden{overflow-y:hidden}.tw\\:rounded{border-radius:.25rem}.tw\\:rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.tw\\:rounded-4xl{border-radius:calc(var(--radius) * 2.6)}.tw\\:rounded-\\[4px\\]{border-radius:4px}.tw\\:rounded-\\[6px\\]{border-radius:6px}.tw\\:rounded-\\[calc\\(var\\(--radius\\)-3px\\)\\]{border-radius:calc(var(--radius) - 3px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,12px\\)\\]{border-radius:min(var(--tw-radius-md), 12px)}.tw\\:rounded-full{border-radius:3.40282e38px}.tw\\:rounded-lg{border-radius:var(--radius)}.tw\\:rounded-lg\\!{border-radius:var(--radius)!important}.tw\\:rounded-md{border-radius:calc(var(--radius) * .8)}.tw\\:rounded-none{border-radius:0}.tw\\:rounded-sm{border-radius:calc(var(--radius) * .6)}.tw\\:rounded-xl{border-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-xl\\!{border-radius:calc(var(--radius) * 1.4)!important}.tw\\:rounded-xs{border-radius:var(--tw-radius-xs)}.tw\\:rounded-s-none{border-start-start-radius:0;border-end-start-radius:0}.tw\\:rounded-e-none{border-start-end-radius:0;border-end-end-radius:0}.tw\\:rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:rounded-r-xl{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:border{border-style:var(--tw-border-style);border-width:1px}.tw\\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\\:border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:border-s-0{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:border-s-2{border-inline-start-style:var(--tw-border-style);border-inline-start-width:2px}.tw\\:border-s-4{border-inline-start-style:var(--tw-border-style);border-inline-start-width:4px}.tw\\:border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.tw\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tw\\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tw\\:border-none{--tw-border-style:none;border-style:none}.tw\\:border-solid{--tw-border-style:solid;border-style:solid}.tw\\:border-black{border-color:var(--tw-color-black)}.tw\\:border-blue-400{border-color:var(--tw-color-blue-400)}.tw\\:border-blue-500{border-color:var(--tw-color-blue-500)}.tw\\:border-border,.tw\\:border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.tw\\:border-destructive{border-color:var(--destructive)}.tw\\:border-foreground{border-color:var(--foreground)}.tw\\:border-gray-300{border-color:var(--tw-color-gray-300)}.tw\\:border-input,.tw\\:border-input\\/30{border-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-input\\/30{border-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:border-muted-foreground,.tw\\:border-muted-foreground\\/40{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:border-muted-foreground\\/40{border-color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.tw\\:border-primary{border-color:var(--primary)}.tw\\:border-red-300{border-color:var(--tw-color-red-300)}.tw\\:border-red-400{border-color:var(--tw-color-red-400)}.tw\\:border-red-500{border-color:var(--tw-color-red-500)}.tw\\:border-red-600{border-color:var(--tw-color-red-600)}.tw\\:border-ring{border-color:var(--ring)}.tw\\:border-sidebar-border{border-color:var(--sidebar-border)}.tw\\:border-slate-300{border-color:var(--tw-color-slate-300)}.tw\\:border-transparent{border-color:#0000}.tw\\:border-yellow-400{border-color:var(--tw-color-yellow-400)}.tw\\:border-yellow-500{border-color:var(--tw-color-yellow-500)}.tw\\:border-s-amber-200{border-inline-start-color:var(--tw-color-amber-200)}.tw\\:border-s-indigo-200{border-inline-start-color:var(--tw-color-indigo-200)}.tw\\:border-s-purple-200{border-inline-start-color:var(--tw-color-purple-200)}.tw\\:border-s-red-200{border-inline-start-color:var(--tw-color-red-200)}.tw\\:\\!bg-destructive\\/50{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.tw\\:\\!bg-destructive\\/50{background-color:color-mix(in oklab, var(--destructive) 50%, transparent)!important}}.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{background-color:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:bg-accent,.tw\\:bg-accent\\/50{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-accent\\/50{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.tw\\:bg-amber-500,.tw\\:bg-amber-500\\/5{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/5{background-color:color-mix(in oklab, var(--tw-color-amber-500) 5%, transparent)}}.tw\\:bg-amber-500\\/15{background-color:var(--tw-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tw-color-amber-500) 15%, transparent)}}.tw\\:bg-background,.tw\\:bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-background\\/50{background-color:color-mix(in oklab, var(--background) 50%, transparent)}}.tw\\:bg-black\\/10{background-color:var(--tw-color-black)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-black\\/10{background-color:color-mix(in oklab, var(--tw-color-black) 10%, transparent)}}.tw\\:bg-blue-50{background-color:var(--tw-color-blue-50)}.tw\\:bg-blue-100{background-color:var(--tw-color-blue-100)}.tw\\:bg-blue-400{background-color:var(--tw-color-blue-400)}.tw\\:bg-blue-500{background-color:var(--tw-color-blue-500)}.tw\\:bg-border{background-color:var(--border)}.tw\\:bg-card{background-color:var(--card)}.tw\\:bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:bg-foreground{background-color:var(--foreground)}.tw\\:bg-gray-50{background-color:var(--tw-color-gray-50)}.tw\\:bg-gray-100{background-color:var(--tw-color-gray-100)}.tw\\:bg-gray-500{background-color:var(--tw-color-gray-500)}.tw\\:bg-green-50{background-color:var(--tw-color-green-50)}.tw\\:bg-green-100{background-color:var(--tw-color-green-100)}.tw\\:bg-green-500{background-color:var(--tw-color-green-500)}.tw\\:bg-input,.tw\\:bg-input\\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-input\\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:bg-muted,.tw\\:bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:bg-neutral-300{background-color:var(--tw-color-neutral-300)}.tw\\:bg-orange-100{background-color:var(--tw-color-orange-100)}.tw\\:bg-popover,.tw\\:bg-popover\\/70{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-popover\\/70{background-color:color-mix(in oklab, var(--popover) 70%, transparent)}}.tw\\:bg-primary{background-color:var(--primary)}.tw\\:bg-primary-foreground{background-color:var(--primary-foreground)}.tw\\:bg-primary\\/30{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-primary\\/30{background-color:color-mix(in oklab, var(--primary) 30%, transparent)}}.tw\\:bg-purple-50{background-color:var(--tw-color-purple-50)}.tw\\:bg-red-100{background-color:var(--tw-color-red-100)}.tw\\:bg-red-500{background-color:var(--tw-color-red-500)}.tw\\:bg-rose-500,.tw\\:bg-rose-500\\/5{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/5{background-color:color-mix(in oklab, var(--tw-color-rose-500) 5%, transparent)}}.tw\\:bg-rose-500\\/15{background-color:var(--tw-color-rose-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-rose-500\\/15{background-color:color-mix(in oklab, var(--tw-color-rose-500) 15%, transparent)}}.tw\\:bg-secondary{background-color:var(--secondary)}.tw\\:bg-sidebar{background-color:var(--sidebar)}.tw\\:bg-sidebar-accent{background-color:var(--sidebar-accent)}.tw\\:bg-sidebar-border{background-color:var(--sidebar-border)}.tw\\:bg-sky-500,.tw\\:bg-sky-500\\/5{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/5{background-color:color-mix(in oklab, var(--tw-color-sky-500) 5%, transparent)}}.tw\\:bg-sky-500\\/15{background-color:var(--tw-color-sky-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-sky-500\\/15{background-color:color-mix(in oklab, var(--tw-color-sky-500) 15%, transparent)}}.tw\\:bg-teal-500,.tw\\:bg-teal-500\\/5{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/5{background-color:color-mix(in oklab, var(--tw-color-teal-500) 5%, transparent)}}.tw\\:bg-teal-500\\/15{background-color:var(--tw-color-teal-500)}@supports (color:color-mix(in lab, red, red)){.tw\\:bg-teal-500\\/15{background-color:color-mix(in oklab, var(--tw-color-teal-500) 15%, transparent)}}.tw\\:bg-transparent{background-color:#0000}.tw\\:bg-white{background-color:var(--tw-color-white)}.tw\\:bg-yellow-50{background-color:var(--tw-color-yellow-50)}.tw\\:bg-yellow-100{background-color:var(--tw-color-yellow-100)}.tw\\:bg-yellow-500{background-color:var(--tw-color-yellow-500)}.tw\\:bg-zinc-400{background-color:var(--tw-color-zinc-400)}.tw\\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\\:from-popover{--tw-gradient-from:var(--popover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.tw\\:bg-clip-padding{background-clip:padding-box}.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-\\[color-mix\\(in_oklab\\,var\\(--destructive\\)_10\\%\\,var\\(--background\\)\\)\\]{fill:color-mix(in oklab,var(--destructive) 10%,var(--background))}}.tw\\:fill-destructive{fill:var(--destructive)}.tw\\:fill-foreground{fill:var(--foreground)}.tw\\:fill-yellow-400,.tw\\:fill-yellow-400\\/50{fill:var(--tw-color-yellow-400)}@supports (color:color-mix(in lab, red, red)){.tw\\:fill-yellow-400\\/50{fill:color-mix(in oklab, var(--tw-color-yellow-400) 50%, transparent)}}.tw\\:object-cover{object-fit:cover}.tw\\:\\!p-4{padding:calc(calc(var(--spacing)) * 4)!important}.tw\\:p-0{padding:calc(calc(var(--spacing)) * 0)}.tw\\:p-0\\.5{padding:calc(calc(var(--spacing)) * .5)}.tw\\:p-1{padding:calc(calc(var(--spacing)) * 1)}.tw\\:p-2{padding:calc(calc(var(--spacing)) * 2)}.tw\\:p-2\\.5{padding:calc(calc(var(--spacing)) * 2.5)}.tw\\:p-3{padding:calc(calc(var(--spacing)) * 3)}.tw\\:p-4{padding:calc(calc(var(--spacing)) * 4)}.tw\\:p-6{padding:calc(calc(var(--spacing)) * 6)}.tw\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:p-\\[1px\\]{padding:1px}.tw\\:p-\\[3px\\]{padding:3px}.tw\\:p-\\[10px\\]{padding:10px}.tw\\:p-\\[16px\\]{padding:16px}.tw\\:px-0{padding-inline:calc(calc(var(--spacing)) * 0)}.tw\\:px-0\\.5{padding-inline:calc(calc(var(--spacing)) * .5)}.tw\\:px-1{padding-inline:calc(calc(var(--spacing)) * 1)}.tw\\:px-1\\.5{padding-inline:calc(calc(var(--spacing)) * 1.5)}.tw\\:px-2{padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:px-2\\.5{padding-inline:calc(calc(var(--spacing)) * 2.5)}.tw\\:px-3{padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:px-4{padding-inline:calc(calc(var(--spacing)) * 4)}.tw\\:px-6{padding-inline:calc(calc(var(--spacing)) * 6)}.tw\\:py-0{padding-block:calc(calc(var(--spacing)) * 0)}.tw\\:py-0\\.5{padding-block:calc(calc(var(--spacing)) * .5)}.tw\\:py-1{padding-block:calc(calc(var(--spacing)) * 1)}.tw\\:py-1\\.5{padding-block:calc(calc(var(--spacing)) * 1.5)}.tw\\:py-2{padding-block:calc(calc(var(--spacing)) * 2)}.tw\\:py-3{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:py-4{padding-block:calc(calc(var(--spacing)) * 4)}.tw\\:py-6{padding-block:calc(calc(var(--spacing)) * 6)}.tw\\:py-8{padding-block:calc(calc(var(--spacing)) * 8)}.tw\\:py-\\[2px\\]{padding-block:2px}.tw\\:ps-1\\.5{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:ps-2{padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:ps-2\\.5{padding-inline-start:calc(calc(var(--spacing)) * 2.5)}.tw\\:ps-4{padding-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:ps-6{padding-inline-start:calc(calc(var(--spacing)) * 6)}.tw\\:ps-7{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:ps-8{padding-inline-start:calc(calc(var(--spacing)) * 8)}.tw\\:ps-9{padding-inline-start:calc(calc(var(--spacing)) * 9)}.tw\\:ps-12{padding-inline-start:calc(calc(var(--spacing)) * 12)}.tw\\:ps-\\[85px\\]{padding-inline-start:85px}.tw\\:pe-1{padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:pe-1\\.5{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:pe-2{padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:pe-4{padding-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:pe-8{padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:pe-8\\!{padding-inline-end:calc(calc(var(--spacing)) * 8)!important}.tw\\:pe-9{padding-inline-end:calc(calc(var(--spacing)) * 9)}.tw\\:pe-\\[calc\\(138px\\+1rem\\)\\]{padding-inline-end:calc(138px + 1rem)}.tw\\:pe-\\[…\\]{padding-inline-end:…}.tw\\:pt-1{padding-top:calc(calc(var(--spacing)) * 1)}.tw\\:pt-2{padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:pt-3{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:pt-4{padding-top:calc(calc(var(--spacing)) * 4)}.tw\\:pt-6{padding-top:calc(calc(var(--spacing)) * 6)}.tw\\:pr-0{padding-right:calc(calc(var(--spacing)) * 0)}.tw\\:pr-3{padding-right:calc(calc(var(--spacing)) * 3)}.tw\\:pr-4{padding-right:calc(calc(var(--spacing)) * 4)}.tw\\:pb-0{padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:pb-1{padding-bottom:calc(calc(var(--spacing)) * 1)}.tw\\:pb-2{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:pb-3{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:pb-4{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:pb-8{padding-bottom:calc(calc(var(--spacing)) * 8)}.tw\\:pb-12{padding-bottom:calc(calc(var(--spacing)) * 12)}.tw\\:pb-16{padding-bottom:calc(calc(var(--spacing)) * 16)}.tw\\:pb-24{padding-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:pl-2{padding-left:calc(calc(var(--spacing)) * 2)}.tw\\:pl-3{padding-left:calc(calc(var(--spacing)) * 3)}.tw\\:pl-4{padding-left:calc(calc(var(--spacing)) * 4)}.tw\\:pl-5{padding-left:calc(calc(var(--spacing)) * 5)}.tw\\:pl-6{padding-left:calc(calc(var(--spacing)) * 6)}.tw\\:pl-8{padding-left:calc(calc(var(--spacing)) * 8)}.tw\\:text-center{text-align:center}.tw\\:text-end{text-align:end}.tw\\:text-left{text-align:left}.tw\\:text-right{text-align:right}.tw\\:text-start{text-align:start}.tw\\:align-middle{vertical-align:middle}.tw\\:font-heading{font-family:var(--font-sans)}.tw\\:font-mono{font-family:var(--tw-font-mono)}.tw\\:font-sans{font-family:IBM Plex Sans Variable,sans-serif}.tw\\:text-2xl{font-size:var(--tw-text-2xl);line-height:var(--tw-leading,var(--tw-text-2xl--line-height))}.tw\\:text-3xl{font-size:var(--tw-text-3xl);line-height:var(--tw-leading,var(--tw-text-3xl--line-height))}.tw\\:text-4xl{font-size:var(--tw-text-4xl);line-height:var(--tw-leading,var(--tw-text-4xl--line-height))}.tw\\:text-base{font-size:var(--tw-text-base);line-height:var(--tw-leading,var(--tw-text-base--line-height))}.tw\\:text-lg{font-size:var(--tw-text-lg);line-height:var(--tw-leading,var(--tw-text-lg--line-height))}.tw\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:text-sm\\/relaxed{font-size:var(--tw-text-sm);line-height:var(--tw-leading-relaxed)}.tw\\:text-xl{font-size:var(--tw-text-xl);line-height:var(--tw-leading,var(--tw-text-xl--line-height))}.tw\\:text-xs{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tw\\:leading-6{--tw-leading:calc(calc(var(--spacing)) * 6);line-height:calc(calc(var(--spacing)) * 6)}.tw\\:leading-loose{--tw-leading:var(--tw-leading-loose);line-height:var(--tw-leading-loose)}.tw\\:leading-none{--tw-leading:1;line-height:1}.tw\\:leading-relaxed{--tw-leading:var(--tw-leading-relaxed);line-height:var(--tw-leading-relaxed)}.tw\\:leading-snug{--tw-leading:var(--tw-leading-snug);line-height:var(--tw-leading-snug)}.tw\\:leading-tight{--tw-leading:var(--tw-leading-tight);line-height:var(--tw-leading-tight)}.tw\\:font-bold{--tw-font-weight:var(--tw-font-weight-bold);font-weight:var(--tw-font-weight-bold)}.tw\\:font-extrabold{--tw-font-weight:var(--tw-font-weight-extrabold);font-weight:var(--tw-font-weight-extrabold)}.tw\\:font-medium{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:tracking-tight{--tw-tracking:var(--tw-tracking-tight);letter-spacing:var(--tw-tracking-tight)}.tw\\:tracking-wider{--tw-tracking:var(--tw-tracking-wider);letter-spacing:var(--tw-tracking-wider)}.tw\\:tracking-widest{--tw-tracking:var(--tw-tracking-widest);letter-spacing:var(--tw-tracking-widest)}.tw\\:text-balance{text-wrap:balance}.tw\\:text-nowrap{text-wrap:nowrap}.tw\\:break-words{overflow-wrap:break-word}.tw\\:text-clip{text-overflow:clip}.tw\\:text-ellipsis{text-overflow:ellipsis}.tw\\:whitespace-normal{white-space:normal}.tw\\:whitespace-nowrap{white-space:nowrap}.tw\\:whitespace-pre{white-space:pre}.tw\\:whitespace-pre-line{white-space:pre-line}.tw\\:whitespace-pre-wrap{white-space:pre-wrap}.tw\\:\\[color\\:blue\\]{color:#00f}.tw\\:text-accent-foreground{color:var(--accent-foreground)}.tw\\:text-amber-600{color:var(--tw-color-amber-600)}.tw\\:text-background{color:var(--background)}.tw\\:text-blue-400{color:var(--tw-color-blue-400)}.tw\\:text-blue-500{color:var(--tw-color-blue-500)}.tw\\:text-blue-600{color:var(--tw-color-blue-600)}.tw\\:text-blue-800{color:var(--tw-color-blue-800)}.tw\\:text-card-foreground{color:var(--card-foreground)}.tw\\:text-current{color:currentColor}.tw\\:text-destructive{color:var(--destructive)}.tw\\:text-foreground{color:var(--foreground)}.tw\\:text-foreground\\!{color:var(--foreground)!important}.tw\\:text-foreground\\/30{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/30{color:color-mix(in oklab, var(--foreground) 30%, transparent)}}.tw\\:text-foreground\\/50{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/50{color:color-mix(in oklab, var(--foreground) 50%, transparent)}}.tw\\:text-foreground\\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.tw\\:text-foreground\\/70{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-foreground\\/70{color:color-mix(in oklab, var(--foreground) 70%, transparent)}}.tw\\:text-gray-300{color:var(--tw-color-gray-300)}.tw\\:text-gray-500{color:var(--tw-color-gray-500)}.tw\\:text-gray-600{color:var(--tw-color-gray-600)}.tw\\:text-gray-700{color:var(--tw-color-gray-700)}.tw\\:text-gray-800{color:var(--tw-color-gray-800)}.tw\\:text-green-600{color:var(--tw-color-green-600)}.tw\\:text-green-700{color:var(--tw-color-green-700)}.tw\\:text-green-800{color:var(--tw-color-green-800)}.tw\\:text-inherit{color:inherit}.tw\\:text-muted-foreground,.tw\\:text-muted-foreground\\/50{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-muted-foreground\\/50{color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:text-orange-800{color:var(--tw-color-orange-800)}.tw\\:text-popover-foreground{color:var(--popover-foreground)}.tw\\:text-primary{color:var(--primary)}.tw\\:text-primary-foreground{color:var(--primary-foreground)}.tw\\:text-purple-900{color:var(--tw-color-purple-900)}.tw\\:text-red-500{color:var(--tw-color-red-500)}.tw\\:text-red-600{color:var(--tw-color-red-600)}.tw\\:text-red-700{color:var(--tw-color-red-700)}.tw\\:text-red-800{color:var(--tw-color-red-800)}.tw\\:text-rose-600{color:var(--tw-color-rose-600)}.tw\\:text-secondary-foreground{color:var(--secondary-foreground)}.tw\\:text-sidebar-accent-foreground{color:var(--sidebar-accent-foreground)}.tw\\:text-sidebar-foreground,.tw\\:text-sidebar-foreground\\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:text-sidebar-foreground\\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.tw\\:text-sky-600{color:var(--tw-color-sky-600)}.tw\\:text-slate-900{color:var(--tw-color-slate-900)}.tw\\:text-teal-600{color:var(--tw-color-teal-600)}.tw\\:text-white{color:var(--tw-color-white)}.tw\\:text-yellow-400{color:var(--tw-color-yellow-400)}.tw\\:text-yellow-600{color:var(--tw-color-yellow-600)}.tw\\:text-yellow-700{color:var(--tw-color-yellow-700)}.tw\\:capitalize{text-transform:capitalize}.tw\\:uppercase{text-transform:uppercase}.tw\\:italic{font-style:italic}.tw\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tw\\:line-through{text-decoration-line:line-through}.tw\\:underline{text-decoration-line:underline}.tw\\:decoration-destructive{-webkit-text-decoration-color:var(--destructive);-webkit-text-decoration-color:var(--destructive);text-decoration-color:var(--destructive)}.tw\\:underline-offset-4{text-underline-offset:4px}.tw\\:opacity-0{opacity:0}.tw\\:opacity-40{opacity:.4}.tw\\:opacity-50{opacity:.5}.tw\\:opacity-60{opacity:.6}.tw\\:opacity-100{opacity:1}.tw\\:bg-blend-color{background-blend-mode:color}.tw\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-\\[0_0_0_1px_var\\(--sidebar-border\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-none\\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tw\\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:ring-background{--tw-ring-color:var(--background)}.tw\\:ring-foreground\\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-foreground\\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.tw\\:ring-primary{--tw-ring-color:var(--primary)}.tw\\:ring-ring\\/50{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:ring-ring\\/50{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.tw\\:ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:ring-offset-background{--tw-ring-offset-color:var(--background)}.tw\\:ring-offset-white{--tw-ring-offset-color:var(--tw-color-white)}.tw\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tw\\:drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--tw-drop-shadow-sm));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tw\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[left\\,right\\,width\\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[margin\\,opacity\\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\,height\\,padding\\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:transition-none{transition-property:none}.tw\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tw\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.tw\\:prose-quoteless :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tw\\:prose-quoteless :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tw\\:outline-none{--tw-outline-style:none;outline-style:none}.tw\\:select-none{-webkit-user-select:none;user-select:none}.tw\\:\\[unicode-bidi\\:plaintext\\]{unicode-bidi:plaintext}.tw\\:group-focus-within\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):focus-within *){opacity:1}@media (hover:hover){.tw\\:group-hover\\:visible:is(:where(.tw\\:group):hover *){visibility:visible}.tw\\:group-hover\\:hidden:is(:where(.tw\\:group):hover *){display:none}.tw\\:group-hover\\:opacity-100:is(:where(.tw\\:group):hover *),.tw\\:group-hover\\/menu-item\\:opacity-100:is(:where(.tw\\:group\\/menu-item):hover *){opacity:1}}.tw\\:group-focus\\/context-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/context-menu-item):focus *),.tw\\:group-focus\\/dropdown-menu-item\\:text-accent-foreground:is(:where(.tw\\:group\\/dropdown-menu-item):focus *),.tw\\:group-focus\\/menubar-item\\:text-accent-foreground:is(:where(.tw\\:group\\/menubar-item):focus *){color:var(--accent-foreground)}.tw\\:group-has-disabled\\/field\\:opacity-50:is(:where(.tw\\:group\\/field):has(:disabled) *){opacity:.5}.tw\\:group-has-data-\\[sidebar\\=menu-action\\]\\/menu-item\\:pe-8:is(:where(.tw\\:group\\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(calc(var(--spacing)) * 8)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:size-10:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *){width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:size-6:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *){width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:group-has-data-\\[slot\\=command-shortcut\\]\\/command-item\\:hidden:is(:where(.tw\\:group\\/command-item):has([data-slot=command-shortcut]) *){display:none}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pt-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-top:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>input\\]\\/input-group\\:pb-2:is(:where(.tw\\:group\\/input-group):has(>input) *){padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:group-has-\\[\\>svg\\]\\/alert\\:col-start-2:is(:where(.tw\\:group\\/alert):has(>svg) *){grid-column-start:2}.tw\\:group-data-\\[checked\\=true\\]\\/command-item\\:opacity-100:is(:where(.tw\\:group\\/command-item)[data-checked=true] *){opacity:1}.tw\\:group-data-\\[collapsible\\=icon\\]\\:-mt-8:is(:where(.tw\\:group)[data-collapsible=icon] *){margin-top:calc(calc(var(--spacing)) * -8)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){display:none}.tw\\:group-data-\\[collapsible\\=icon\\]\\:size-8\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(calc(var(--spacing)) * 8)!important;height:calc(calc(var(--spacing)) * 8)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\(--sidebar-width-icon\\):is(:where(.tw\\:group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)))}.tw\\:group-data-\\[collapsible\\=icon\\]\\:w-\\[calc\\(var\\(--sidebar-width-icon\\)\\+\\(--spacing\\(4\\)\\)\\+2px\\)\\]:is(:where(.tw\\:group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(calc(var(--spacing)) * 4)) + 2px)}.tw\\:group-data-\\[collapsible\\=icon\\]\\:overflow-hidden:is(:where(.tw\\:group)[data-collapsible=icon] *){overflow:hidden}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-0\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 0)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:p-2\\!:is(:where(.tw\\:group)[data-collapsible=icon] *){padding:calc(calc(var(--spacing)) * 2)!important}.tw\\:group-data-\\[collapsible\\=icon\\]\\:opacity-0:is(:where(.tw\\:group)[data-collapsible=icon] *){opacity:0}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:right-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:left-\\[calc\\(var\\(--sidebar-width\\)\\*-1\\)\\]:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:w-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){width:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:translate-x-0:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tw\\:group)[data-disabled=true] *){pointer-events:none}.tw\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tw\\:group)[data-disabled=true] *),.tw\\:group-data-\\[disabled\\=true\\]\\/input-group\\:opacity-50:is(:where(.tw\\:group\\/input-group)[data-disabled=true] *){opacity:.5}.tw\\:group-data-\\[side\\=primary\\]\\:-right-4:is(:where(.tw\\:group)[data-side=primary] *){right:calc(calc(var(--spacing)) * -4)}.tw\\:group-data-\\[side\\=primary\\]\\:border-e:is(:where(.tw\\:group)[data-side=primary] *){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.tw\\:group-data-\\[side\\=secondary\\]\\:left-0:is(:where(.tw\\:group)[data-side=secondary] *){left:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-\\[side\\=secondary\\]\\:rotate-180:is(:where(.tw\\:group)[data-side=secondary] *){rotate:180deg}.tw\\:group-data-\\[side\\=secondary\\]\\:border-s:is(:where(.tw\\:group)[data-side=secondary] *){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:size-2\\.5:is(:where(.tw\\:group\\/avatar)[data-size=default] *){width:calc(calc(var(--spacing)) * 2.5);height:calc(calc(var(--spacing)) * 2.5)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:size-4:is(:where(.tw\\:group\\/switch)[data-size=default] *){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:size-3:is(:where(.tw\\:group\\/avatar)[data-size=lg] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:text-xs:is(:where(.tw\\:group\\/avatar)[data-size=sm] *){font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:p-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:px-3:is(:where(.tw\\:group\\/card)[data-size=sm] *){padding-inline:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:text-sm:is(:where(.tw\\:group\\/card)[data-size=sm] *){font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:size-3:is(:where(.tw\\:group\\/switch)[data-size=sm] *){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:rounded-none:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){border-radius:0}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:px-2:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *){padding-inline:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[variant\\=floating\\]\\:rounded-lg:is(:where(.tw\\:group)[data-variant=floating] *){border-radius:var(--radius)}.tw\\:group-data-\\[variant\\=floating\\]\\:shadow-sm:is(:where(.tw\\:group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-1:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=floating\\]\\:ring-sidebar-border:is(:where(.tw\\:group)[data-variant=floating] *){--tw-ring-color:var(--sidebar-border)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *){background-color:#0000}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:mt-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){margin-top:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=bottom\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=bottom] *){text-align:center}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:me-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){margin-inline-end:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=left\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=left] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:my-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-block:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:ms-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){margin-inline-start:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:h-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){height:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=right\\]\\/drawer-content\\:w-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=right] *){width:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mx-auto:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-inline:auto}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:mb-4:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:block:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){display:block}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:h-1\\.5:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){height:calc(calc(var(--spacing)) * 1.5)}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:w-\\[100px\\]:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){width:100px}.tw\\:group-data-\\[vaul-drawer-direction\\=top\\]\\/drawer-content\\:text-center:is(:where(.tw\\:group\\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.tw\\:group-data-selected\\/command-item\\:text-foreground:is(:where(.tw\\:group\\/command-item):where([data-selected=true]) *){color:var(--foreground)}.tw\\:group-data-horizontal\\/tabs\\:h-8:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *){height:calc(calc(var(--spacing)) * 8)}.tw\\:group-data-vertical\\/tabs\\:h-fit:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){height:fit-content}.tw\\:group-data-vertical\\/tabs\\:w-full:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){width:100%}.tw\\:group-data-vertical\\/tabs\\:flex-col:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.tw\\:group-data-vertical\\/tabs\\:justify-start:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}@media (hover:hover){.tw\\:peer-hover\\/menu-button\\:text-sidebar-accent-foreground:is(:where(.tw\\:peer\\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}.tw\\:peer-focus\\:group-hover\\:text-blue-500:is(:where(.tw\\:peer):focus~*):is(:where(.tw\\:group):hover *){color:var(--tw-color-blue-500)}}.tw\\:peer-disabled\\:cursor-not-allowed:is(:where(.tw\\:peer):disabled~*){cursor:not-allowed}.tw\\:peer-disabled\\:opacity-50:is(:where(.tw\\:peer):disabled~*){opacity:.5}.tw\\:peer-data-\\[size\\=default\\]\\/menu-button\\:top-1\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=default]~*){top:calc(calc(var(--spacing)) * 1.5)}.tw\\:peer-data-\\[size\\=lg\\]\\/menu-button\\:top-2\\.5:is(:where(.tw\\:peer\\/menu-button)[data-size=lg]~*){top:calc(calc(var(--spacing)) * 2.5)}.tw\\:peer-data-\\[size\\=sm\\]\\/menu-button\\:top-1:is(:where(.tw\\:peer\\/menu-button)[data-size=sm]~*){top:calc(calc(var(--spacing)) * 1)}.tw\\:peer-data-active\\/menu-button\\:text-sidebar-accent-foreground:is(:is(:where(.tw\\:peer\\/menu-button):where([data-state=active]),:where(.tw\\:peer\\/menu-button):where([data-active]:not([data-active=false])))~*){color:var(--sidebar-accent-foreground)}.tw\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tw\\:file\\:h-6::file-selector-button{height:calc(calc(var(--spacing)) * 6)}.tw\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tw\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tw\\:file\\:text-sm::file-selector-button{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:file\\:text-foreground::file-selector-button{color:var(--foreground)}.tw\\:placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.tw\\:placeholder\\:text-slate-400::placeholder{color:var(--tw-color-slate-400)}.tw\\:before\\:absolute:before{content:var(--tw-content);position:absolute}.tw\\:before\\:top-0\\.5:before{content:var(--tw-content);top:calc(calc(var(--spacing)) * .5)}.tw\\:before\\:left-0:before{content:var(--tw-content);left:calc(calc(var(--spacing)) * 0)}.tw\\:before\\:block:before{content:var(--tw-content);display:block}.tw\\:before\\:hidden:before{content:var(--tw-content);display:none}.tw\\:before\\:h-4:before{content:var(--tw-content);height:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:w-4:before{content:var(--tw-content);width:calc(calc(var(--spacing)) * 4)}.tw\\:before\\:cursor-pointer:before{content:var(--tw-content);cursor:pointer}.tw\\:before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.tw\\:before\\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:before\\:border-primary:before{content:var(--tw-content);border-color:var(--primary)}.tw\\:before\\:bg-primary:before{content:var(--tw-content);background-color:var(--primary)}.tw\\:before\\:bg-cover:before{content:var(--tw-content);background-size:cover}.tw\\:before\\:bg-no-repeat:before{content:var(--tw-content);background-repeat:no-repeat}.tw\\:before\\:content-\\[\\"\\"\\]:before{--tw-content:"";content:var(--tw-content)}.tw\\:after\\:absolute:after{content:var(--tw-content);position:absolute}.tw\\:after\\:-inset-2:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-0:after{content:var(--tw-content);inset:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * -3)}.tw\\:after\\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * -2)}.tw\\:after\\:inset-y-0:after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:after\\:start-1\\/2:after{content:var(--tw-content);inset-inline-start:50%}.tw\\:after\\:top-\\[6px\\]:after{content:var(--tw-content);top:6px}.tw\\:after\\:right-\\[7px\\]:after{content:var(--tw-content);right:7px}.tw\\:after\\:left-\\[7px\\]:after{content:var(--tw-content);left:7px}.tw\\:after\\:block:after{content:var(--tw-content);display:block}.tw\\:after\\:hidden:after{content:var(--tw-content);display:none}.tw\\:after\\:h-0\\.5:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:after\\:h-\\[6px\\]:after{content:var(--tw-content);height:6px}.tw\\:after\\:w-1:after{content:var(--tw-content);width:calc(calc(var(--spacing)) * 1)}.tw\\:after\\:w-\\[2px\\]:after{content:var(--tw-content);width:2px}.tw\\:after\\:w-\\[3px\\]:after{content:var(--tw-content);width:3px}.tw\\:after\\:-translate-x-1\\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:after\\:rotate-45:after{content:var(--tw-content);rotate:45deg}.tw\\:after\\:cursor-pointer:after{content:var(--tw-content);cursor:pointer}.tw\\:after\\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.tw\\:after\\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.tw\\:after\\:border-t-0:after{content:var(--tw-content);border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:after\\:border-r-2:after{content:var(--tw-content);border-right-style:var(--tw-border-style);border-right-width:2px}.tw\\:after\\:border-b-2:after{content:var(--tw-content);border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.tw\\:after\\:border-l-0:after{content:var(--tw-content);border-left-style:var(--tw-border-style);border-left-width:0}.tw\\:after\\:border-solid:after{content:var(--tw-content);--tw-border-style:solid;border-style:solid}.tw\\:after\\:border-border:after{content:var(--tw-content);border-color:var(--border)}.tw\\:after\\:border-white:after{content:var(--tw-content);border-color:var(--tw-color-white)}.tw\\:after\\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.tw\\:after\\:bg-muted:after{content:var(--tw-content);background-color:var(--muted)}.tw\\:after\\:opacity-0:after{content:var(--tw-content);opacity:0}.tw\\:after\\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.tw\\:after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tw-default-transition-duration))}.tw\\:after\\:content-\\[\\"\\"\\]:after{--tw-content:"";content:var(--tw-content)}.tw\\:group-data-\\[collapsible\\=offcanvas\\]\\:after\\:start-full:is(:where(.tw\\:group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.tw\\:group-data-horizontal\\/tabs\\:after\\:inset-x-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-horizontal\\/tabs\\:after\\:bottom-\\[-5px\\]:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.tw\\:group-data-horizontal\\/tabs\\:after\\:h-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(calc(var(--spacing)) * .5)}.tw\\:group-data-vertical\\/tabs\\:after\\:inset-y-0:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:group-data-vertical\\/tabs\\:after\\:-end-1:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-inline-end:calc(calc(var(--spacing)) * -1)}.tw\\:group-data-vertical\\/tabs\\:after\\:w-0\\.5:is(:where(.tw\\:group\\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(calc(var(--spacing)) * .5)}.tw\\:first\\:mt-0:first-child{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:even\\:bg-muted:nth-child(2n){background-color:var(--muted)}.tw\\:focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.tw\\:focus-within\\:ring-offset-1:focus-within{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}@media (hover:hover){.tw\\:hover\\:-mt-4:hover{margin-top:calc(calc(var(--spacing)) * -4)}.tw\\:hover\\:cursor-pointer:hover{cursor:pointer}.tw\\:hover\\:bg-accent:hover,.tw\\:hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.tw\\:hover\\:bg-accent\\/80:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-accent\\/80:hover{background-color:color-mix(in oklab, var(--accent) 80%, transparent)}}.tw\\:hover\\:bg-blue-600:hover{background-color:var(--tw-color-blue-600)}.tw\\:hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:hover\\:bg-gray-50:hover{background-color:var(--tw-color-gray-50)}.tw\\:hover\\:bg-input:hover{background-color:var(--input)}.tw\\:hover\\:bg-muted:hover,.tw\\:hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:hover\\:bg-muted\\/80:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab, var(--muted) 80%, transparent)}}.tw\\:hover\\:bg-primary\\/10:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/10:hover{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.tw\\:hover\\:bg-primary\\/70:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/70:hover{background-color:color-mix(in oklab, var(--primary) 70%, transparent)}}.tw\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.tw\\:hover\\:bg-red-500:hover{background-color:var(--tw-color-red-500)}.tw\\:hover\\:bg-secondary:hover,.tw\\:hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:hover\\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.tw\\:hover\\:bg-transparent:hover{background-color:#0000}.tw\\:hover\\:text-foreground:hover{color:var(--foreground)}.tw\\:hover\\:text-muted-foreground:hover{color:var(--muted-foreground)}.tw\\:hover\\:text-primary-foreground:hover{color:var(--primary-foreground)}.tw\\:hover\\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.tw\\:hover\\:underline:hover{text-decoration-line:underline}.tw\\:hover\\:opacity-80:hover{opacity:.8}.tw\\:hover\\:opacity-100:hover{opacity:1}.tw\\:hover\\:shadow-\\[0_0_0_1px_var\\(--sidebar-accent\\)\\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:ring-3:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:hover\\:group-data-\\[collapsible\\=offcanvas\\]\\:bg-sidebar:hover:is(:where(.tw\\:group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.tw\\:hover\\:after\\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.tw\\:focus\\:relative:focus{position:relative}.tw\\:focus\\:z-10:focus{z-index:10}.tw\\:focus\\:bg-accent:focus{background-color:var(--accent)}.tw\\:focus\\:bg-muted:focus{background-color:var(--muted)}.tw\\:focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.tw\\:focus\\:text-foreground:focus{color:var(--foreground)}.tw\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.tw\\:focus\\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus\\:ring-offset-background:focus{--tw-ring-offset-color:var(--background)}.tw\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}:is(.tw\\:focus\\:\\*\\*\\:text-accent-foreground:focus *),:is(.tw\\:not-data-\\[variant\\=destructive\\]\\:focus\\:\\*\\*\\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.tw\\:focus-visible\\:relative:focus-visible{position:relative}.tw\\:focus-visible\\:z-10:focus-visible{z-index:10}.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.tw\\:focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-3:focus-visible,.tw\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:focus-visible\\:ring-\\[color\\:hsl\\(240\\,5\\%\\,64\\.9\\%\\)\\]:focus-visible{--tw-ring-color:#a1a1aa}.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:focus-visible\\:ring-ring:focus-visible,.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:focus-visible\\:ring-slate-400:focus-visible{--tw-ring-color:var(--tw-color-slate-400)}.tw\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tw\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tw\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.tw\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tw\\:focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.tw\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}:is(.tw\\:\\*\\:focus-visible\\:relative>*):focus-visible{position:relative}:is(.tw\\:\\*\\:focus-visible\\:z-10>*):focus-visible{z-index:10}.tw\\:active\\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.tw\\:active\\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.tw\\:active\\:ring-3:active{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:active\\:not-aria-\\[haspopup\\]\\:transform-\\[translateY\\(1px\\)\\]:active:not([aria-haspopup]){transform:translateY(1px)}.tw\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tw\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tw\\:disabled\\:bg-input\\/50:disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:disabled\\:bg-input\\/50:disabled{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:disabled\\:bg-transparent:disabled{background-color:#0000}.tw\\:disabled\\:opacity-50:disabled{opacity:.5}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=bottom]) .tw\\:in-data-\\[side\\=bottom\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-side=primary]) .tw\\:in-data-\\[side\\=primary\\]\\:cursor-w-resize{cursor:w-resize}:where([data-side=secondary]) .tw\\:in-data-\\[side\\=secondary\\]\\:cursor-e-resize{cursor:e-resize}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:translate-y-\\[calc\\(-50\\%-1px\\)\\]{--tw-translate-y:calc(-50% - 1px);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=top]) .tw\\:in-data-\\[side\\=top\\]\\:\\[clip-path\\:polygon\\(100\\%_0\\,100\\%_100\\%\\,0_100\\%\\)\\]{clip-path:polygon(100% 0,100% 100%,0 100%)}:where([data-slot=button-group]) .tw\\:in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .tw\\:in-data-\\[slot\\=combobox-content\\]\\:focus-within\\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where([data-slot=dialog-content]) .tw\\:in-data-\\[slot\\=dialog-content\\]\\:rounded-lg\\!{border-radius:var(--radius)!important}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/20{background-color:color-mix(in oklab, var(--background) 20%, transparent)}}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-background{color:var(--background)}:where([data-slot=tooltip-content]) .tw\\:in-data-\\[slot\\=tooltip-content\\]\\:text-destructive{color:var(--destructive)}.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-disabled\\:bg-input\\/50:has(:disabled){background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:has-disabled\\:opacity-50:has(:disabled){opacity:.5}.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-aria-expanded\\:bg-muted\\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-end\\]\\:pe-2:has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-end\\]\\:pe-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[icon\\=inline-start\\]\\:ps-2:has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[spacing\\=0\\]\\/toggle-group\\:has-data-\\[icon\\=inline-start\\]\\:ps-1\\.5:is(:where(.tw\\:group\\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[slot\\=alert-action\\]\\:relative:has([data-slot=alert-action]){position:relative}.tw\\:has-data-\\[slot\\=alert-action\\]\\:pe-18:has([data-slot=alert-action]){padding-inline-end:calc(calc(var(--spacing)) * 18)}.tw\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tw\\:has-data-\\[slot\\=card-description\\]\\:grid-rows-\\[auto_auto\\]:has([data-slot=card-description]){grid-template-rows:auto auto}.tw\\:has-data-\\[slot\\=card-footer\\]\\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-0:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:has-data-\\[slot\\=kbd\\]\\:pe-1\\.5:has([data-slot=kbd]){padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-data-\\[variant\\=inset\\]\\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-3:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\=input-group-control\\]\\:focus-visible\\]\\:ring-ring\\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-3:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:h-auto:has(>[data-align=block-end]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:flex-col:has(>[data-align=block-end]){flex-direction:column}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:h-auto:has(>[data-align=block-start]){height:auto}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:flex-col:has(>[data-align=block-start]){flex-direction:column}.tw\\:has-\\[\\>\\[data-slot\\=button-group\\]\\]\\:gap-2:has(>[data-slot=button-group]){gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>button\\]\\:ms-\\[-0\\.3rem\\]:has(>button){margin-inline-start:-.3rem}.tw\\:has-\\[\\>button\\]\\:me-\\[-0\\.3rem\\]:has(>button){margin-inline-end:-.3rem}.tw\\:has-\\[\\>img\\]\\:grid-cols-\\[auto_1fr\\]:has(>img){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>img\\]\\:gap-x-2:has(>img){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>img\\:first-child\\]\\:pt-0:has(>img:first-child){padding-top:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>kbd\\]\\:ms-\\[-0\\.15rem\\]:has(>kbd){margin-inline-start:-.15rem}.tw\\:has-\\[\\>kbd\\]\\:me-\\[-0\\.15rem\\]:has(>kbd){margin-inline-end:-.15rem}.tw\\:has-\\[\\>svg\\]\\:grid-cols-\\[auto_1fr\\]:has(>svg){grid-template-columns:auto 1fr}.tw\\:has-\\[\\>svg\\]\\:gap-x-2:has(>svg){column-gap:calc(calc(var(--spacing)) * 2)}.tw\\:has-\\[\\>svg\\]\\:p-0:has(>svg){padding:calc(calc(var(--spacing)) * 0)}.tw\\:has-\\[\\>textarea\\]\\:h-auto:has(>textarea){height:auto}.tw\\:aria-disabled\\:pointer-events-none[aria-disabled=true]{pointer-events:none}.tw\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tw\\:aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.tw\\:aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.tw\\:aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.tw\\:aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.tw\\:aria-expanded\\:opacity-100[aria-expanded=true]{opacity:1}.tw\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.tw\\:aria-invalid\\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:aria-invalid\\:aria-checked\\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--primary)}.tw\\:aria-pressed\\:bg-muted[aria-pressed=true]{background-color:var(--muted)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:h-px[aria-orientation=horizontal]{height:1px}.tw\\:aria-\\[orientation\\=horizontal\\]\\:w-full[aria-orientation=horizontal]{width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:start-0[aria-orientation=horizontal]:after{content:var(--tw-content);inset-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(calc(var(--spacing)) * 1)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-y-1\\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:aria-\\[orientation\\=vertical\\]\\:flex-col[aria-orientation=vertical]{flex-direction:column}.tw\\:data-inset\\:ps-7[data-inset]{padding-inline-start:calc(calc(var(--spacing)) * 7)}.tw\\:data-placeholder\\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.tw\\:data-quiet-focus\\:focus-visible\\:border-transparent[data-quiet-focus]:focus-visible{border-color:#0000}.tw\\:data-quiet-focus\\:focus-visible\\:ring-0[data-quiet-focus]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-quiet-focus\\:focus-visible\\:outline-none[data-quiet-focus]:focus-visible{--tw-outline-style:none;outline-style:none}.tw\\:data-\\[align-trigger\\=false\\]\\:min-w-36[data-align-trigger=false]{min-width:calc(calc(var(--spacing)) * 36)}.tw\\:data-\\[align-trigger\\=true\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-align-trigger=true]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[align-trigger\\=true\\]\\:animate-none[data-align-trigger=true]{animation:none}.tw\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tw\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tw\\:data-\\[position\\=popper\\]\\:h-\\(--radix-select-trigger-height\\)[data-position=popper]{height:var(--radix-select-trigger-height)}.tw\\:data-\\[position\\=popper\\]\\:w-full[data-position=popper]{width:100%}.tw\\:data-\\[position\\=popper\\]\\:min-w-\\(--radix-select-trigger-width\\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.tw\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tw\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tw\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tw\\:data-\\[size\\=default\\]\\:h-8[data-size=default]{height:calc(calc(var(--spacing)) * 8)}.tw\\:data-\\[size\\=default\\]\\:h-\\[18\\.4px\\][data-size=default]{height:18.4px}.tw\\:data-\\[size\\=default\\]\\:w-\\[32px\\][data-size=default]{width:32px}.tw\\:data-\\[size\\=lg\\]\\:size-10[data-size=lg]{width:calc(calc(var(--spacing)) * 10);height:calc(calc(var(--spacing)) * 10)}.tw\\:data-\\[size\\=md\\]\\:text-sm[data-size=md]{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:data-\\[size\\=sm\\]\\:size-6[data-size=sm]{width:calc(calc(var(--spacing)) * 6);height:calc(calc(var(--spacing)) * 6)}.tw\\:data-\\[size\\=sm\\]\\:h-7[data-size=sm]{height:calc(calc(var(--spacing)) * 7)}.tw\\:data-\\[size\\=sm\\]\\:h-\\[14px\\][data-size=sm]{height:14px}.tw\\:data-\\[size\\=sm\\]\\:w-\\[24px\\][data-size=sm]{width:24px}.tw\\:data-\\[size\\=sm\\]\\:gap-3[data-size=sm]{gap:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:rounded-\\[min\\(var\\(--tw-radius-md\\)\\,10px\\)\\][data-size=sm]{border-radius:min(var(--tw-radius-md), 10px)}.tw\\:data-\\[size\\=sm\\]\\:py-3[data-size=sm]{padding-block:calc(calc(var(--spacing)) * 3)}.tw\\:data-\\[size\\=sm\\]\\:text-xs[data-size=sm]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}.tw\\:data-\\[size\\=sm\\]\\:has-data-\\[slot\\=card-footer\\]\\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(calc(var(--spacing)) * 0)}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-item]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-item\\]\\:data-highlighted\\:bg-foreground\\/10 *)[data-slot$=-item][data-highlighted]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-separator\\]\\:bg-foreground\\/5 *)[data-slot$=-separator]{background-color:color-mix(in oklab, var(--foreground) 5%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:focus\\:bg-foreground\\/10 *)[data-slot$=-trigger]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[slot\\$\\=-trigger\\]\\:aria-expanded\\:bg-foreground\\/10\\! *)[data-slot$=-trigger][aria-expanded=true]{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\:data-\\[slot\\=alert-description\\]\\:text-destructive\\/90>*)[data-slot=alert-description]{color:color-mix(in oklab, var(--destructive) 90%, transparent)}}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:\\*\\:data-\\[slot\\=avatar\\]\\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.tw\\:\\*\\:data-\\[slot\\=input-group-addon\\]\\:ps-2\\!>*)[data-slot=input-group-addon]{padding-inline-start:calc(calc(var(--spacing)) * 2)!important}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:relative *)[data-slot=kbd]{position:relative}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:z-50 *)[data-slot=kbd]{z-index:50}:is(.tw\\:\\*\\*\\:data-\\[slot\\=kbd\\]\\:rounded-sm *)[data-slot=kbd]{border-radius:calc(var(--radius) * .6)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex-1>*)[data-slot=select-value]{flex:1}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-1\\.5>*)[data-slot=select-value]{gap:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\:data-\\[slot\\=select-value\\]\\:text-start>*)[data-slot=select-value]{text-align:start}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-s-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:first-child{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:first\\:rounded-t-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-e-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"]:last-child{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:last\\:rounded-b-lg:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.tw\\:data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.tw\\:data-\\[state\\=active\\]\\:text-foreground[data-state=active]{color:var(--foreground)}.tw\\:data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-\\[state\\=closed\\]\\:overflow-hidden[data-state=closed]{overflow:hidden}.tw\\:data-\\[state\\=delayed-open\\]\\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-\\[state\\=delayed-open\\]\\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.tw\\:data-\\[state\\=delayed-open\\]\\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-approved\\)\\][data-state=on]{background-color:var(--inv-soft-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unapproved\\)\\][data-state=on]{background-color:var(--inv-soft-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-soft-unknown\\)\\][data-state=on]{background-color:var(--inv-soft-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-approved\\)\\][data-state=on]{background-color:var(--inv-vivid-approved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unapproved\\)\\][data-state=on]{background-color:var(--inv-vivid-unapproved)}.tw\\:data-\\[state\\=on\\]\\:bg-\\[var\\(--inv-vivid-unknown\\)\\][data-state=on]{background-color:var(--inv-vivid-unknown)}.tw\\:data-\\[state\\=on\\]\\:bg-muted[data-state=on]{background-color:var(--muted)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-approved\\)\\][data-state=on]{color:var(--inv-icon-approved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unapproved\\)\\][data-state=on]{color:var(--inv-icon-unapproved)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-icon-unknown\\)\\][data-state=on]{color:var(--inv-icon-unknown)}.tw\\:data-\\[state\\=on\\]\\:text-\\[var\\(--inv-on\\)\\][data-state=on]{color:var(--inv-on)}.tw\\:data-\\[state\\=on\\]\\:text-foreground[data-state=on]{color:var(--foreground)}.tw\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.tw\\:data-\\[state\\=open\\]\\:bg-muted[data-state=open]{background-color:var(--muted)}.tw\\:data-\\[state\\=open\\]\\:text-foreground[data-state=open]{color:var(--foreground)}.tw\\:data-\\[state\\=selected\\]\\:bg-muted[data-state=selected]{background-color:var(--muted)}.tw\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}:is(:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:\\*\\*\\:text-accent-foreground\\! *)[data-variant=destructive] *),:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:text-accent-foreground\\! *)[data-variant=destructive]{color:var(--accent-foreground)!important}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.tw\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){:is(.tw\\:\\*\\*\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-foreground\\/10\\! *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--foreground) 10%, transparent)!important}}.tw\\:data-\\[variant\\=line\\]\\:rounded-none[data-variant=line]{border-radius:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-s-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:border-t-0:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:group-data-horizontal\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-s:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=horizontal]) *)[data-spacing="0"][data-variant=outline]:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.tw\\:group-data-vertical\\/toggle-group\\:data-\\[spacing\\=0\\]\\:data-\\[variant\\=outline\\]\\:first\\:border-t:is(:where(.tw\\:group\\/toggle-group):where([data-orientation=vertical]) *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=bottom]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:rounded-t-xl[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=bottom\\]\\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:left-0[data-vaul-drawer-direction=left]{left:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:w-3\\/4[data-vaul-drawer-direction=left]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:flex-row[data-vaul-drawer-direction=left]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:rounded-r-xl[data-vaul-drawer-direction=left]{border-top-right-radius:calc(var(--radius) * 1.4);border-bottom-right-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=left\\/right\\]\\:flex-row[data-vaul-drawer-direction=left\\/right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:right-0[data-vaul-drawer-direction=right]{right:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:w-3\\/4[data-vaul-drawer-direction=right]{width:75%}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:flex-row[data-vaul-drawer-direction=right]{flex-direction:row}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:rounded-l-xl[data-vaul-drawer-direction=right]{border-top-left-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:top-0[data-vaul-drawer-direction=top]{top:calc(calc(var(--spacing)) * 0)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(calc(var(--spacing)) * 24)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:max-h-\\[80vh\\][data-vaul-drawer-direction=top]{max-height:80vh}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:rounded-b-xl[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.tw\\:data-\\[vaul-drawer-direction\\=top\\]\\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.tw\\:supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--tw-blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.tw\\:sm\\:flex{display:flex}.tw\\:sm\\:max-w-sm{max-width:var(--tw-container-sm)}.tw\\:sm\\:flex-row{flex-direction:row}.tw\\:sm\\:justify-end{justify-content:flex-end}.tw\\:sm\\:p-8{padding:calc(calc(var(--spacing)) * 8)}.tw\\:sm\\:text-start{text-align:start}.tw\\:data-\\[vaul-drawer-direction\\=left\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=left],.tw\\:data-\\[vaul-drawer-direction\\=right\\]\\:sm\\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--tw-container-sm)}}@media (min-width:48rem){.tw\\:md\\:block{display:block}.tw\\:md\\:flex{display:flex}.tw\\:md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:md\\:gap-0\\.5{gap:calc(calc(var(--spacing)) * .5)}.tw\\:md\\:text-start{text-align:start}.tw\\:md\\:text-sm{font-size:var(--tw-text-sm);line-height:var(--tw-leading,var(--tw-text-sm--line-height))}.tw\\:md\\:text-pretty{text-wrap:pretty}.tw\\:md\\:opacity-0{opacity:0}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:m-2:is(:where(.tw\\:peer)[data-variant=inset]~*){margin:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:ms-0:is(:where(.tw\\:peer)[data-variant=inset]~*){margin-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:rounded-xl:is(:where(.tw\\:peer)[data-variant=inset]~*){border-radius:calc(var(--radius) * 1.4)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:shadow-sm:is(:where(.tw\\:peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:md\\:peer-data-\\[variant\\=inset\\]\\:peer-data-\\[state\\=collapsed\\]\\:ms-2:is(:where(.tw\\:peer)[data-variant=inset]~*):is(:where(.tw\\:peer)[data-state=collapsed]~*){margin-inline-start:calc(calc(var(--spacing)) * 2)}.tw\\:md\\:after\\:hidden:after{content:var(--tw-content);display:none}}@media (min-width:64rem){.tw\\:lg\\:flex{display:flex}.tw\\:lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tw\\:lg\\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--spacing)) * 8) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--spacing)) * 8) * calc(1 - var(--tw-space-x-reverse)))}.tw\\:lg\\:text-5xl{font-size:var(--tw-text-5xl);line-height:var(--tw-leading,var(--tw-text-5xl--line-height))}}@media (min-width:48rem){@media (min-width:64rem){.tw\\:md\\:lg\\:hidden{display:none}}}@media (min-width:80rem){.tw\\:xl\\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.tw\\:xl\\:grid-flow-col{grid-auto-flow:column}.tw\\:xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw\\:xl\\:grid-cols-none{grid-template-columns:none}.tw\\:xl\\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}}@container search not (min-width:7rem){.tw\\:\\@max-\\[7rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[7rem\\]\\/search\\:ps-3{padding-inline-start:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:4rem){.tw\\:\\@max-\\[4rem\\]\\/search\\:hidden{display:none}.tw\\:\\@max-\\[4rem\\]\\/search\\:pe-3{padding-inline-end:calc(calc(var(--spacing)) * 3)}}@container search not (min-width:3rem){.tw\\:\\@max-\\[3rem\\]\\/search\\:ps-0{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\@max-\\[3rem\\]\\/search\\:pe-0{padding-inline-end:calc(calc(var(--spacing)) * 0)}}@container (min-width:24rem){.tw\\:\\@sm\\:basis-auto{flex-basis:auto}}.tw\\:ltr\\:left-2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){left:calc(calc(var(--spacing)) * 2)}.tw\\:ltr\\:-translate-x-1\\/2:where(:dir(ltr),[dir=ltr],[dir=ltr] *){--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:right-2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){right:calc(calc(var(--spacing)) * 2)}.tw\\:rtl\\:flex:where(:dir(rtl),[dir=rtl],[dir=rtl] *){display:flex}.tw\\:rtl\\:-translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:translate-x-px:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:after\\:translate-x-1\\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *):after{content:var(--tw-content);--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}:where([data-side=primary]) .tw\\:rtl\\:in-data-\\[side\\=primary\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}:where([data-side=secondary]) .tw\\:rtl\\:in-data-\\[side\\=secondary\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}.tw\\:rtl\\:aria-\\[orientation\\=horizontal\\]\\:after\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=left\\]\\:translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=left]{--tw-translate-x:calc(calc(var(--spacing)) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:data-\\[side\\=right\\]\\:-translate-x-1:where(:dir(rtl),[dir=rtl],[dir=rtl] *)[data-side=right]{--tw-translate-x:calc(calc(var(--spacing)) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:border-input:is(.dark *){border-color:var(--input)}.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:bg-transparent:is(.dark *){background-color:#0000}.tw\\:dark\\:text-amber-400:is(.dark *){color:var(--tw-color-amber-400)}.tw\\:dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.tw\\:dark\\:text-rose-400:is(.dark *){color:var(--tw-color-rose-400)}.tw\\:dark\\:text-sky-400:is(.dark *){color:var(--tw-color-sky-400)}.tw\\:dark\\:text-teal-400:is(.dark *){color:var(--tw-color-teal-400)}.tw\\:dark\\:after\\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}@media (hover:hover){.tw\\:dark\\:hover\\:bg-blue-500:is(.dark *):hover{background-color:var(--tw-color-blue-500)}.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:dark\\:hover\\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:disabled\\:bg-input\\/80:is(.dark *):disabled{background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:disabled\\:bg-transparent:is(.dark *):disabled{background-color:#0000}:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){:where([data-slot=tooltip-content]) .tw\\:dark\\:in-data-\\[slot\\=tooltip-content\\]\\:bg-background\\/10:is(.dark *){background-color:color-mix(in oklab, var(--background) 10%, transparent)}}.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-disabled\\:bg-input\\/80:is(.dark *):has(:disabled){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:has-\\[\\[data-slot\\]\\[aria-invalid\\=true\\]\\]\\:ring-destructive\\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:data-open\\:animate-in:where([data-state=open]),.tw\\:data-open\\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-open\\:bg-accent:where([data-state=open]),.tw\\:data-open\\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.tw\\:data-open\\:text-accent-foreground:where([data-state=open]),.tw\\:data-open\\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.tw\\:data-open\\:fade-in-0:where([data-state=open]),.tw\\:data-open\\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.tw\\:data-open\\:zoom-in-95:where([data-state=open]),.tw\\:data-open\\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (hover:hover){:is(.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-state=open]),.tw\\:data-open\\:hover\\:bg-sidebar-accent:where([data-open]:not([data-open=false]))):hover{background-color:var(--sidebar-accent)}:is(.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-state=open]),.tw\\:data-open\\:hover\\:text-sidebar-accent-foreground:where([data-open]:not([data-open=false]))):hover{color:var(--sidebar-accent-foreground)}}.tw\\:data-closed\\:animate-out:where([data-state=closed]),.tw\\:data-closed\\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tw\\:data-closed\\:fade-out-0:where([data-state=closed]),.tw\\:data-closed\\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.tw\\:data-closed\\:zoom-out-95:where([data-state=closed]),.tw\\:data-closed\\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.tw\\:data-checked\\:border-primary:where([data-state=checked]),.tw\\:data-checked\\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.tw\\:data-checked\\:bg-primary:where([data-state=checked]),.tw\\:data-checked\\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:data-checked\\:text-primary-foreground:where([data-state=checked]),.tw\\:data-checked\\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:translate-x-\\[calc\\(100\\%-2px\\)\\]:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-checked]:not([data-checked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=checked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-checked\\:-translate-x-\\[calc\\(100\\%-2px\\)\\]:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(calc(100% - 2px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-state=checked]),.tw\\:dark\\:data-checked\\:bg-primary-foreground:is(.dark *):where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.tw\\:data-unchecked\\:bg-input:where([data-state=unchecked]),.tw\\:data-unchecked\\:bg-input:where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:translate-x-0:is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=default\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=default] *):where([data-unchecked]:not([data-unchecked=false])),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-state=unchecked]),.tw\\:rtl\\:group-data-\\[size\\=sm\\]\\/switch\\:data-unchecked\\:-translate-x-0:where(:dir(rtl),[dir=rtl],[dir=rtl] *):is(:where(.tw\\:group\\/switch)[data-size=sm] *):where([data-unchecked]:not([data-unchecked=false])){--tw-translate-x:calc(calc(var(--spacing)) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-foreground:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--foreground)}.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-state=unchecked]),.tw\\:dark\\:data-unchecked\\:bg-input\\/80:is(.dark *):where([data-unchecked]:not([data-unchecked=false])){background-color:color-mix(in oklab, var(--input) 80%, transparent)}}.tw\\:data-selected\\:bg-muted:where([data-selected=true]),.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:bg-muted\\/50:where([data-selected=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.tw\\:data-selected\\:bg-primary:where([data-selected=true]){background-color:var(--primary)}.tw\\:data-selected\\:bg-transparent:where([data-selected=true]){background-color:#0000}.tw\\:data-selected\\:text-foreground:where([data-selected=true]){color:var(--foreground)}.tw\\:data-selected\\:text-inherit:where([data-selected=true]){color:inherit}.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:text-muted-foreground\\/50:where([data-selected=true]){color:color-mix(in oklab, var(--muted-foreground) 50%, transparent)}}.tw\\:data-selected\\:text-primary-foreground:where([data-selected=true]){color:var(--primary-foreground)}.tw\\:data-selected\\:ring-2:where([data-selected=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-primary-foreground\\/70:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--primary-foreground) 70%, transparent)}}.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.tw\\:data-selected\\:ring-ring\\/50:where([data-selected=true]){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.tw\\:data-selected\\:ring-inset:where([data-selected=true]){--tw-ring-inset:inset}@media (forced-colors:active){.tw\\:forced-colors\\:data-selected\\:outline-2:where([data-selected=true]){outline-style:var(--tw-outline-style);outline-width:2px}.tw\\:forced-colors\\:data-selected\\:-outline-offset-2:where([data-selected=true]){outline-offset:calc(2px * -1)}.tw\\:forced-colors\\:data-selected\\:outline-\\[color\\:Highlight\\]:where([data-selected=true]){outline-color:highlight}}.tw\\:data-disabled\\:pointer-events-none:where([data-disabled=true]),.tw\\:data-disabled\\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled=true]),.tw\\:data-disabled\\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.tw\\:data-disabled\\:opacity-50:where([data-disabled=true]),.tw\\:data-disabled\\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.tw\\:data-active\\:bg-background:where([data-state=active]),.tw\\:data-active\\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.tw\\:data-active\\:bg-sidebar-accent:where([data-state=active]),.tw\\:data-active\\:bg-sidebar-accent:where([data-active]:not([data-active=false])){background-color:var(--sidebar-accent)}.tw\\:data-active\\:font-medium:where([data-state=active]),.tw\\:data-active\\:font-medium:where([data-active]:not([data-active=false])){--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}.tw\\:data-active\\:text-foreground:where([data-state=active]),.tw\\:data-active\\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-state=active]),.tw\\:data-active\\:text-sidebar-accent-foreground:where([data-active]:not([data-active=false])){color:var(--sidebar-accent-foreground)}.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=default\\]\\/tabs-list\\:data-active\\:shadow-sm:is(:where(.tw\\:group\\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:shadow-none:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:after\\:opacity-100:is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:bg-input\\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-state=active]),.tw\\:dark\\:data-active\\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:border-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-state=active]),.tw\\:dark\\:group-data-\\[variant\\=line\\]\\/tabs-list\\:data-active\\:bg-transparent:is(.dark *):is(:where(.tw\\:group\\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.tw\\:data-horizontal\\:mx-px:where([data-orientation=horizontal]){margin-inline:1px}.tw\\:data-horizontal\\:h-1:where([data-orientation=horizontal]){height:calc(calc(var(--spacing)) * 1)}.tw\\:data-horizontal\\:h-full:where([data-orientation=horizontal]){height:100%}.tw\\:data-horizontal\\:h-px:where([data-orientation=horizontal]){height:1px}.tw\\:data-horizontal\\:w-auto:where([data-orientation=horizontal]){width:auto}.tw\\:data-horizontal\\:w-full:where([data-orientation=horizontal]){width:100%}.tw\\:data-horizontal\\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.tw\\:data-vertical\\:my-px:where([data-orientation=vertical]){margin-block:1px}.tw\\:data-vertical\\:h-auto:where([data-orientation=vertical]){height:auto}.tw\\:data-vertical\\:h-full:where([data-orientation=vertical]){height:100%}.tw\\:data-vertical\\:min-h-40:where([data-orientation=vertical]){min-height:calc(calc(var(--spacing)) * 40)}.tw\\:data-vertical\\:w-1:where([data-orientation=vertical]){width:calc(calc(var(--spacing)) * 1)}.tw\\:data-vertical\\:w-auto:where([data-orientation=vertical]){width:auto}.tw\\:data-vertical\\:w-full:where([data-orientation=vertical]){width:100%}.tw\\:data-vertical\\:w-px:where([data-orientation=vertical]){width:1px}.tw\\:data-vertical\\:flex-col:where([data-orientation=vertical]){flex-direction:column}.tw\\:data-vertical\\:items-stretch:where([data-orientation=vertical]){align-items:stretch}.tw\\:data-vertical\\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:mt-0 [data-lexical-editor=true]>blockquote{margin-top:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:border-s-0 [data-lexical-editor=true]>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:ps-0 [data-lexical-editor=true]>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:font-normal [data-lexical-editor=true]>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:text-foreground [data-lexical-editor=true]>blockquote{color:var(--foreground)}.tw\\:\\[\\&_\\[data-lexical-editor\\=\\"true\\"\\]\\>blockquote\\]\\:not-italic [data-lexical-editor=true]>blockquote{font-style:normal}.tw\\:\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.tw\\:\\[\\&_a\\]\\:underline-offset-3 a{text-underline-offset:3px}@media (hover:hover){.tw\\:\\[\\&_a\\]\\:hover\\:text-foreground a:hover{color:var(--foreground)}}.tw\\:\\[\\&_p\\]\\:my-0 p{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&_p\\:not\\(\\:last-child\\)\\]\\:mb-4 p:not(:last-child){margin-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_s\\]\\:text-destructive s{color:var(--destructive)}.tw\\:\\[\\&_s\\]\\:line-through s{text-decoration-line:line-through}.tw\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tw\\:\\[\\&_svg\\]\\:size-4 svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&_tr\\]\\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\\:\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.tw\\:\\[\\&_u\\]\\:font-semibold u{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\\:\\[\\&_u\\]\\:text-success-foreground u{color:var(--success-foreground)}.tw\\:\\[\\&_u\\]\\:no-underline u{text-decoration-line:none}.tw\\:\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pe-0:has([role=checkbox]){padding-inline-end:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\.border-b\\]\\:pb-2.border-b{padding-bottom:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\.border-b\\]\\:pb-4.border-b{padding-bottom:calc(calc(var(--spacing)) * 4)}.tw\\:group-data-\\[size\\=sm\\]\\/card\\:\\[\\.border-b\\]\\:pb-3:is(:where(.tw\\:group\\/card)[data-size=sm] *).border-b{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:\\[\\.border-t\\]\\:pt-2.border-t{padding-top:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:px-2 *)[cmdk-group-heading]{padding-inline:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:py-1\\.5 *)[cmdk-group-heading]{padding-block:calc(calc(var(--spacing)) * 1.5)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-xs *)[cmdk-group-heading]{font-size:var(--tw-text-xs);line-height:var(--tw-leading,var(--tw-text-xs--line-height))}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:font-medium *)[cmdk-group-heading]{--tw-font-weight:var(--tw-font-weight-medium);font-weight:var(--tw-font-weight-medium)}:is(.tw\\:\\*\\*\\:\\[\\[cmdk-group-heading\\]\\]\\:text-muted-foreground *)[cmdk-group-heading]{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:underline>*):is(a){text-decoration-line:underline}:is(.tw\\:\\*\\:\\[a\\]\\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-destructive\\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-muted:is(a):hover{background-color:var(--muted)}.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.tw\\:\\[a\\]\\:hover\\:bg-secondary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.tw\\:\\[a\\]\\:hover\\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.tw\\:\\*\\:\\[a\\]\\:hover\\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.tw\\:\\*\\:\\[img\\]\\:row-span-2>*):is(img){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[img\\]\\:translate-y-0\\.5>*):is(img){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[img\\]\\:text-current>*):is(img){color:currentColor}:is(.tw\\:\\*\\:\\[img\\:first-child\\]\\:rounded-t-xl>*):is(img:first-child){border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:last-child\\]\\:rounded-b-xl>*):is(img:last-child){border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}:is(.tw\\:\\*\\:\\[img\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(img:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tw\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(calc(var(--spacing)) * 2)}:is(.tw\\:\\*\\:\\[svg\\]\\:row-span-2>*):is(svg){grid-row:span 2/span 2}:is(.tw\\:\\*\\:\\[svg\\]\\:translate-y-0\\.5>*):is(svg){--tw-translate-y:calc(calc(var(--spacing)) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.tw\\:\\*\\:\\[svg\\]\\:text-current>*):is(svg){color:currentColor}:is(.tw\\:focus\\:\\*\\:\\[svg\\]\\:text-accent-foreground:focus>*):is(svg){color:var(--accent-foreground)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.tw\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:text-destructive\\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}:is(.tw\\:data-selected\\:\\*\\:\\[svg\\]\\:text-foreground:where([data-selected=true])>*):is(svg){color:var(--foreground)}:is(.tw\\:\\*\\:\\[svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>*):is(svg:not([class*=size-])){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-s-none>:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-s-0>:not(:first-child){border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:first-child\\)\\]\\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-e-none>:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.tw\\:\\[\\&\\>\\*\\:not\\(\\:last-child\\)\\]\\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.tw\\:has-\\[select\\[aria-hidden\\=true\\]\\:last-child\\]\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:last-of-type\\]\\:rounded-e-lg:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.tw\\:\\[\\&\\>\\[data-slot\\=select-trigger\\]\\:not\\(\\[class\\*\\=w-\\]\\)\\]\\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-e-lg\\!>[data-slot]:not(:has(~[data-slot])){border-start-end-radius:var(--radius)!important;border-end-end-radius:var(--radius)!important}.tw\\:\\[\\&\\>\\[data-slot\\]\\:not\\(\\:has\\(\\~\\[data-slot\\]\\)\\)\\]\\:rounded-b-lg\\!>[data-slot]:not(:has(~[data-slot])){border-bottom-right-radius:var(--radius)!important;border-bottom-left-radius:var(--radius)!important}.tw\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tw\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tw\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--primary)}.tw\\:\\[\\&\\>blockquote\\]\\:my-0>blockquote{margin-block:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:border-s-0>blockquote{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.tw\\:\\[\\&\\>blockquote\\]\\:p-0>blockquote{padding:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:ps-0>blockquote{padding-inline-start:calc(calc(var(--spacing)) * 0)}.tw\\:\\[\\&\\>blockquote\\]\\:font-normal>blockquote{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\\:\\[\\&\\>blockquote\\]\\:text-foreground>blockquote{color:var(--foreground)}.tw\\:\\[\\&\\>blockquote\\]\\:not-italic>blockquote{font-style:normal}.tw\\:\\[\\&\\>input\\]\\:flex-1>input{flex:1}.tw\\:has-\\[\\>\\[data-align\\=block-end\\]\\]\\:\\[\\&\\>input\\]\\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=block-start\\]\\]\\:\\[\\&\\>input\\]\\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(calc(var(--spacing)) * 3)}.tw\\:has-\\[\\>\\[data-align\\=inline-end\\]\\]\\:\\[\\&\\>input\\]\\:pe-1\\.5:has(>[data-align=inline-end])>input{padding-inline-end:calc(calc(var(--spacing)) * 1.5)}.tw\\:has-\\[\\>\\[data-align\\=inline-start\\]\\]\\:\\[\\&\\>input\\]\\:ps-1\\.5:has(>[data-align=inline-start])>input{padding-inline-start:calc(calc(var(--spacing)) * 1.5)}.tw\\:\\[\\&\\>kbd\\]\\:rounded-\\[calc\\(var\\(--radius\\)-5px\\)\\]>kbd{border-radius:calc(var(--radius) - 5px)}.tw\\:\\[\\&\\>li\\]\\:mt-2>li{margin-top:calc(calc(var(--spacing)) * 2)}.tw\\:\\[\\&\\>span\\:last-child\\]\\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tw\\:\\[\\&\\>svg\\]\\:hidden>svg{display:none}.tw\\:\\[\\&\\>svg\\]\\:size-3\\!>svg{width:calc(calc(var(--spacing)) * 3)!important;height:calc(calc(var(--spacing)) * 3)!important}.tw\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\]\\:size-4>svg{width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>svg\\]\\:shrink-0>svg{flex-shrink:0}.tw\\:\\[\\&\\>svg\\]\\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.tw\\:group-has-data-\\[size\\=lg\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-5:is(:where(.tw\\:group\\/avatar-group):has([data-size=lg]) *)>svg{width:calc(calc(var(--spacing)) * 5);height:calc(calc(var(--spacing)) * 5)}.tw\\:group-has-data-\\[size\\=sm\\]\\/avatar-group\\:\\[\\&\\>svg\\]\\:size-3:is(:where(.tw\\:group\\/avatar-group):has([data-size=sm]) *)>svg{width:calc(calc(var(--spacing)) * 3);height:calc(calc(var(--spacing)) * 3)}.tw\\:group-data-\\[size\\=default\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=default] *)>svg,.tw\\:group-data-\\[size\\=lg\\]\\/avatar\\:\\[\\&\\>svg\\]\\:size-2:is(:where(.tw\\:group\\/avatar)[data-size=lg] *)>svg{width:calc(calc(var(--spacing)) * 2);height:calc(calc(var(--spacing)) * 2)}.tw\\:group-data-\\[size\\=sm\\]\\/avatar\\:\\[\\&\\>svg\\]\\:hidden:is(:where(.tw\\:group\\/avatar)[data-size=sm] *)>svg,.tw\\:\\[\\&\\>svg\\:last-child\\]\\:hidden>svg:last-child{display:none}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-3\\.5>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 3.5);height:calc(calc(var(--spacing)) * 3.5)}.tw\\:\\[\\&\\>svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4>svg:not([class*=size-]){width:calc(calc(var(--spacing)) * 4);height:calc(calc(var(--spacing)) * 4)}.tw\\:\\[\\&\\>tr\\]\\:last\\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.tw\\:\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.tw\\:\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}.tw\\:\\[\\&\\[aria-orientation\\=horizontal\\]\\>div\\]\\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}[data-side=primary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=primary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-end-2{inset-inline-end:calc(calc(var(--spacing)) * -2)}[data-side=primary][data-state=collapsed] .tw\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize{cursor:e-resize}[data-side=primary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=primary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:w-resize}[data-side=secondary][data-collapsible=offcanvas] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-collapsible\\=offcanvas\\]_\\&\\]\\:-start-2{inset-inline-start:calc(calc(var(--spacing)) * -2)}[data-side=secondary][data-state=collapsed] .tw\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-w-resize{cursor:w-resize}[data-side=secondary][data-state=collapsed] .tw\\:rtl\\:\\[\\[data-side\\=secondary\\]\\[data-state\\=collapsed\\]_\\&\\]\\:cursor-e-resize:where(:dir(rtl),[dir=rtl],[dir=rtl] *){cursor:e-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(./files/ibm-plex-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light,:root{--radius:.625rem;--spacing:.25rem;--background:oklch(100% 0 0);--foreground:oklch(13.71% .036 258.53);--card:oklch(100% 0 0);--card-foreground:oklch(13.71% .036 258.53);--popover:oklch(98.43% .0018 248.56);--popover-foreground:oklch(13.71% .036 258.53);--primary:oklch(20.79% .0399 265.73);--primary-foreground:oklch(98.38% .0036 248.23);--secondary:oklch(95.89% .011 248.06);--secondary-foreground:oklch(20.79% .0399 265.73);--muted:oklch(95.89% .011 248.06);--muted-foreground:oklch(55.47% .0408 257.45);--accent:oklch(95.89% .011 248.06);--accent-foreground:oklch(20.79% .0399 265.73);--destructive:oklch(63.69% .2077 25.32);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(92.9% .0127 255.58);--input:oklch(92.9% .0127 255.58);--ring:oklch(13.71% .036 258.53);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.43% .0018 248.56);--sidebar-foreground:oklch(13.71% .036 258.53);--sidebar-primary:oklch(20.79% .0399 265.73);--sidebar-primary-foreground:oklch(98.38% .0036 248.23);--sidebar-accent:oklch(95.89% .011 248.06);--sidebar-accent-foreground:oklch(20.79% .0399 265.73);--sidebar-border:oklch(92.9% .0127 255.58);--sidebar-ring:oklch(13.71% .036 258.53)}.dark{--background:oklch(13.71% .036 258.53);--foreground:oklch(98.38% .0036 248.23);--card:oklch(13.71% .036 258.53);--card-foreground:oklch(98.38% .0036 248.23);--popover:oklch(13.71% .036 258.53);--popover-foreground:oklch(98.38% .0036 248.23);--primary:oklch(98.38% .0036 248.23);--primary-foreground:oklch(20.79% .0399 265.73);--secondary:oklch(28% .037 259.98);--secondary-foreground:oklch(98.38% .0036 248.23);--muted:oklch(28% .037 259.98);--muted-foreground:oklch(71.07% .0351 256.8);--accent:oklch(28% .037 259.98);--accent-foreground:oklch(98.38% .0036 248.23);--destructive:oklch(39.6% .1331 25.71);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(44.54% .0374 257.3);--input:oklch(44.54% .0374 257.3);--ring:oklch(86.88% .0199 252.89);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(13.71% .036 258.53);--sidebar-foreground:oklch(71.07% .0351 256.8);--sidebar-primary:oklch(98.38% .0036 248.23);--sidebar-primary-foreground:oklch(20.79% .0399 265.73);--sidebar-accent:oklch(28% .037 259.98);--sidebar-accent-foreground:oklch(71.07% .0351 256.8);--sidebar-border:oklch(28% .037 259.98);--sidebar-ring:oklch(86.88% .0199 252.89)}.paratext-light{--background:oklch(100% 0 0);--foreground:oklch(15.3% .006 107.1);--card:oklch(100% 0 0);--card-foreground:oklch(15.3% .006 107.1);--popover:oklch(100% 0 0);--popover-foreground:oklch(15.3% .006 107.1);--primary:oklch(55.5% .163 48.998);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.6% .005 106.5);--muted-foreground:oklch(58% .031 107.3);--accent:oklch(96.6% .005 106.5);--accent-foreground:oklch(22.8% .013 107.4);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(62.7% .194 149.214);--diff-deleted:oklch(57.7% .245 27.325);--warning:oklch(84% .16 84);--warning-foreground:oklch(28% .07 46);--border:oklch(93% .007 106.5);--input:oklch(93% .007 106.5);--ring:oklch(73.7% .021 106.9);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(98.8% .003 106.5);--sidebar-foreground:oklch(15.3% .006 107.1);--sidebar-primary:oklch(66.6% .179 58.318);--sidebar-primary-foreground:oklch(98.7% .022 95.277);--sidebar-accent:oklch(96.6% .005 106.5);--sidebar-accent-foreground:oklch(22.8% .013 107.4);--sidebar-border:oklch(93% .007 106.5);--sidebar-ring:oklch(73.7% .021 106.9)}.paratext-dark{--background:oklch(15.3% .006 107.1);--foreground:oklch(98.8% .003 106.5);--card:oklch(22.8% .013 107.4);--card-foreground:oklch(98.8% .003 106.5);--popover:oklch(22.8% .013 107.4);--popover-foreground:oklch(98.8% .003 106.5);--primary:oklch(47.3% .137 46.201);--primary-foreground:oklch(98.7% .022 95.277);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(28.6% .016 107.4);--muted-foreground:oklch(73.7% .021 106.9);--accent:oklch(28.6% .016 107.4);--accent-foreground:oklch(98.8% .003 106.5);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.38% .0036 248.23);--success-foreground:oklch(79.2% .209 151.711);--diff-deleted:oklch(70.4% .191 22.216);--warning:oklch(41% .11 46);--warning-foreground:oklch(99% .02 95);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(58% .031 107.3);--chart-1:oklch(88% .011 106.6);--chart-2:oklch(58% .031 107.3);--chart-3:oklch(46.6% .025 107.3);--chart-4:oklch(39.4% .023 107.4);--chart-5:oklch(28.6% .016 107.4);--sidebar:oklch(22.8% .013 107.4);--sidebar-foreground:oklch(98.8% .003 106.5);--sidebar-primary:oklch(76.9% .188 70.08);--sidebar-primary-foreground:oklch(27.9% .077 45.635);--sidebar-accent:oklch(28.6% .016 107.4);--sidebar-accent-foreground:oklch(98.8% .003 106.5);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(58% .031 107.3)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} `,"after-all"); //# sourceMappingURL=index.cjs.map diff --git a/lib/platform-bible-react/dist/index.cjs.map b/lib/platform-bible-react/dist/index.cjs.map index f669d189c1e..20975f47fab 100644 --- a/lib/platform-bible-react/dist/index.cjs.map +++ b/lib/platform-bible-react/dist/index.cjs.map @@ -1 +1 @@ -{"version":3,"file":"index.cjs","sources":["../src/components/shadcn-ui/textarea.tsx","../src/components/shared/book-item.component.tsx","../src/utils/keyboard.util.ts","../src/context/shrink-step.context.ts","../src/hooks/use-interaction-modality.hook.ts","../src/components/advanced/toolbar-compound-label/toolbar-compound-label.component.tsx","../src/components/shared/book-item.utils.ts","../src/components/advanced/recent-searches.component.tsx","../src/components/advanced/book-chapter-control/book-chapter-control.navigation.ts","../src/components/advanced/book-chapter-control/book-chapter-control.utils.ts","../src/components/advanced/book-chapter-control/numbered-item-grid.component.tsx","../src/components/advanced/book-chapter-control/chapter-grid.component.tsx","../src/components/advanced/book-chapter-control/verse-grid.component.tsx","../src/components/advanced/book-chapter-control/book-chapter-control.component.tsx","../src/components/advanced/book-chapter-control/book-chapter-control.types.ts","../src/components/basics/combo-box.component.tsx","../src/components/basics/chapter-range-selector.component.tsx","../src/components/advanced/book-selector.component.tsx","../../../node_modules/@lexical/react/LexicalComposerContext.prod.mjs","../../../node_modules/@lexical/react/LexicalComposer.prod.mjs","../../../node_modules/@lexical/react/LexicalOnChangePlugin.prod.mjs","../src/components/advanced/editor/themes/editor-theme.ts","../src/components/advanced/editor/nodes.ts","../../../node_modules/react-error-boundary/dist/react-error-boundary.js","../../../node_modules/@lexical/react/LexicalErrorBoundary.prod.mjs","../../../node_modules/@lexical/react/useLexicalEditable.prod.mjs","../../../node_modules/@lexical/selection/LexicalSelection.prod.mjs","../../../node_modules/@lexical/utils/LexicalUtils.prod.mjs","../../../node_modules/@lexical/extension/LexicalExtension.prod.mjs","../../../node_modules/@lexical/react/LexicalReactProviderExtension.prod.mjs","../../../node_modules/@lexical/text/LexicalText.prod.mjs","../../../node_modules/@lexical/dragon/LexicalDragon.prod.mjs","../../../node_modules/@lexical/react/LexicalRichTextPlugin.prod.mjs","../../../node_modules/@lexical/react/LexicalAutoFocusPlugin.prod.mjs","../../../node_modules/@lexical/react/LexicalClearEditorPlugin.prod.mjs","../../../node_modules/@lexical/react/LexicalContentEditable.prod.mjs","../src/components/advanced/editor/editor-ui/content-editable.tsx","../src/components/advanced/editor/context/toolbar-context.tsx","../src/components/advanced/editor/editor-hooks/use-modal.tsx","../src/components/advanced/editor/plugins/toolbar/toolbar-plugin.tsx","../src/components/advanced/editor/editor-hooks/use-update-toolbar.ts","../src/components/shadcn-ui/toggle.tsx","../src/components/shadcn-ui/toggle-group.tsx","../src/components/advanced/editor/plugins/toolbar/font-format-toolbar-plugin.tsx","../src/context/content-zoom-text.context.tsx","../src/components/advanced/editor/plugins.tsx","../src/components/advanced/editor/editor.tsx","../src/components/advanced/editor/editor-utils.ts","../src/components/basics/cancel-accept-buttons.component.tsx","../src/components/advanced/comment-list/conflict-note-card.types.ts","../src/components/advanced/comment-list/comment-list.utils.ts","../src/components/advanced/comment-editor/comment-editor.component.tsx","../src/components/advanced/comment-editor/comment-editor.types.ts","../src/components/advanced/comment-list/comment-list.types.ts","../src/components/shadcn-ui/card.tsx","../src/components/basics/disabled-tooltip-wrapper.component.tsx","../src/components/shadcn-ui/avatar.tsx","../src/components/advanced/comment-list/comment-item.component.tsx","../src/components/advanced/comment-list/resolve-check-button.component.tsx","../src/components/advanced/comment-list/comment-thread.component.tsx","../src/components/advanced/comment-list/conflict-diff.tsx","../src/components/advanced/comment-list/conflict-note-card.component.tsx","../src/components/advanced/comment-list/conflict-thread-summary.component.tsx","../src/components/advanced/comment-list/use-conflict-resolution.hook.ts","../src/components/advanced/comment-list/conflict-thread.component.tsx","../src/components/advanced/comment-list/comment-list.component.tsx","../src/components/advanced/content-zoom-root.component.tsx","../src/components/advanced/data-table/data-table-column-toggle.component.tsx","../src/components/shadcn-ui/select.tsx","../src/components/advanced/data-table/data-table-pagination.component.tsx","../src/components/advanced/data-table/data-table.component.tsx","../src/components/advanced/extension-marketplace/markdown-renderer.component.tsx","../src/components/basics/error-dump.component.tsx","../src/components/advanced/error-popover.component.tsx","../src/components/advanced/extension-marketplace/filter-dropdown.component.tsx","../src/components/advanced/extension-marketplace/more-info.component.tsx","../src/components/advanced/extension-marketplace/version-history.component.tsx","../src/components/advanced/extension-marketplace/footer.component.tsx","../src/components/advanced/filter.component.tsx","../src/components/basics/undo-redo-buttons.component.tsx","../src/components/basics/editor-keyboard-shortcuts.component.tsx","../src/hooks/use-live-popover-anchor.hook.ts","../src/components/advanced/footnote-editor/footnote-caller-dropdown.component.tsx","../src/components/advanced/footnote-editor/footnote-type-dropdown.component.tsx","../src/components/advanced/marker-menu.component.tsx","../src/components/advanced/footnote-editor/footnote-editor.utils.ts","../src/components/advanced/footnote-editor/footnote-editor.component.tsx","../src/components/advanced/footnote-editor/footnote-editor.types.ts","../src/components/advanced/footnotes/footnote-item.component.tsx","../src/components/advanced/footnotes/footnote-list.component.tsx","../src/components/advanced/inventory/occurrences-table.component.tsx","../src/components/shadcn-ui/checkbox.tsx","../src/components/advanced/inventory/inventory-columns.tsx","../src/components/advanced/inventory/inventory-utils.ts","../src/components/advanced/inventory/inventory.component.tsx","../src/components/shadcn-ui/sidebar.tsx","../src/components/advanced/settings-components/settings-sidebar.component.tsx","../src/components/advanced/settings-components/settings-sidebar-content-search.component.tsx","../src/components/advanced/scripture-results-viewer/scripture-results-viewer.component.tsx","../src/components/advanced/scope-selector/select-books-picker.component.tsx","../src/components/basics/disabled-action-tooltip.component.tsx","../src/components/advanced/scope-selector/section-button.component.tsx","../src/components/advanced/scope-selector/select-books.component.tsx","../src/components/advanced/scope-selector/select-books.types.ts","../src/components/advanced/scope-selector/scope-selector.component.tsx","../src/components/advanced/scroll-group-selector.component.tsx","../src/components/advanced/settings-components/settings-list.component.tsx","../src/components/advanced/menus/menu.util.ts","../src/components/advanced/menus/menu-icon.component.tsx","../src/components/advanced/menus/tab-dropdown-menu.component.tsx","../src/hooks/use-shrink-step.hook.ts","../src/components/advanced/tab-toolbar/tab-toolbar-container.component.tsx","../src/components/advanced/tab-toolbar/tab-toolbar.component.tsx","../src/components/advanced/tab-toolbar/tab-floating-menu.component.tsx","../src/components/basics/tabs-vertical.tsx","../src/components/advanced/tab-navigation-content-search.component.tsx","../src/components/shadcn-ui/menubar.tsx","../src/components/advanced/menus/platform-menubar.component.tsx","../src/components/advanced/toolbar.component.tsx","../src/components/advanced/ui-language-selector.component.tsx","../src/components/advanced/interface-language-picker/interface-language-picker.component.tsx","../src/components/basics/smart-label.component.tsx","../src/components/basics/checkbox-group.component.tsx","../src/components/basics/destructive-key-confirmation.component.tsx","../src/components/basics/results-card.component.tsx","../src/components/basics/text-field.component.tsx","../src/components/basics/wizard-stepper/wizard-stepper.component.tsx","../src/components/shadcn-ui/context-menu.tsx","../src/components/shadcn-ui/drawer.tsx","../src/components/shadcn-ui/progress.tsx","../src/components/shadcn-ui/sonner.tsx","../src/components/shadcn-ui/slider.tsx","../src/components/shadcn-ui/switch.tsx","../src/components/shadcn-ui/tabs.tsx","../src/hooks/use-event.hook.ts","../src/hooks/use-event-async.hook.ts","../src/hooks/use-promise.hook.ts","../src/hooks/use-retryable-promise.hook.ts","../src/hooks/use-stylesheet.hook.ts","../src/hooks/use-extra-valid-markers.hook.ts","../src/hooks/use-view-visibility.hook.ts","../src/hooks/use-run-when-visible.hook.ts","../src/hooks/use-tab-icon-selection.hook.ts","../src/context/shrink-step-override.component.tsx","../src/components/tooltip-delay.ts"],"sourcesContent":["import React from 'react';\n\nimport { cn } from '@/utils/shadcn-ui/utils';\n\n// CUSTOM: Added TSDoc with link to shadcn/ui documentation for this component\n/**\n * Displays a form textarea or a component that looks like a textarea. This component is from Shadcn\n * UI.\n *\n * @see Shadcn UI Documentation: {@link https://ui.shadcn.com/docs/components/textarea}\n */\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n \n );\n}\n\nexport { Textarea };\n","import { CommandItem } from '@/components/shadcn-ui/command';\nimport { getLocalizedBookId, getLocalizedBookName } from '@/components/shared/book.utils';\nimport { LIST_ITEM_KEYBOARD_FOCUS_RING } from '@/utils/focus.util';\nimport { cn } from '@/utils/shadcn-ui/utils';\nimport { Canon } from '@sillsdev/scripture';\nimport { Check } from 'lucide-react';\nimport { Section } from 'platform-bible-utils';\nimport { MouseEvent, Ref, useMemo, useRef } from 'react';\n\ntype BookItemProps = {\n /** Forwarded to the underlying CommandItem (a `
` rendered by cmdk). */\n ref?: Ref;\n /** The book ID (e.g., 'GEN', 'EXO') */\n bookId: string;\n /** Whether this book is currently selected */\n isSelected?: boolean;\n /** Callback function to handle book selection/deselection */\n onSelect?: (bookId: string) => void;\n /** Optional custom mouse down handler */\n onMouseDown?: (e: MouseEvent) => void;\n /** The section this book belongs to */\n section: Section;\n /** Additional CSS classes for the wrapper CommandItem */\n className?: string;\n /** Whether to show the check icon (for multiselect mode) */\n showCheck?: boolean;\n /**\n * Optional map of localized book IDs/short names and full names. Key is the (English) book ID,\n * value contains localized versions of the ID and full book name\n */\n localizedBookNames?: Map;\n /** Value to use for Command component matching */\n commandValue?: string;\n /**\n * When true, the item paints no keyboard focus ring even while cmdk still marks it\n * `data-selected`. Set it while a control outside the list holds focus, so the list and that\n * control never show a focus indicator at the same time — two at once leave the user no way to\n * tell which surface the next keystroke reaches.\n *\n * Suppresses the paint, not the state: cmdk keeps its highlighted item, so the ring returns to\n * exactly where the user left it. Clearing the highlight instead would hand it to cmdk's\n * select-first-item fallback, which moves it rather than removing it.\n */\n suppressKeyboardHighlight?: boolean;\n /** When true, renders the item as disabled: suppresses onSelect and dims the visuals. */\n disabled?: boolean;\n /**\n * Short localized label naming why this item is greyed (e.g. \"Not in project\"). Passing a value\n * renders the item greyed but fully selectable — the state for an item that is reachable yet\n * outside the current context, such as a book present in an open resource but not in the active\n * project.\n *\n * Distinct from `disabled`, which also suppresses selection; `disabled` takes precedence and a\n * disabled item is never additionally dimmed. The label renders as visible text beside the book\n * id, so the greying is never a colour-only signal and stays readable while the row is\n * highlighted — the state and its explanation are one prop precisely so they cannot drift apart.\n *\n * An empty string counts as no reason, so the item renders undimmed. Callers resolving this from\n * a localized string should fall back with `||` rather than `??`, since `??` passes an empty\n * translation through and would silently drop the dimming.\n */\n dimmedReason?: string;\n /**\n * Complete localized sentence describing why this item is greyed, e.g. \"Hebrews is not in this\n * project\" — used as the item's accessible name so a screen reader hears a full sentence rather\n * than the bare `dimmedReason` label. Resolve it from a localized template that places the book\n * name itself (`formatReplacementString`) rather than concatenating around a fragment, so\n * translations control word order and punctuation.\n *\n * Ignored unless `dimmedReason` is also set. Falls back to `dimmedReason` when absent.\n */\n dimmedDescription?: string;\n};\n\n/**\n * A reusable component that represents a single book item in book selectors. The component shows\n * the book's localized name, its ID, and visually indicates its testament (OT/NT/DC/Extra) through\n * color coding.\n *\n * For simple selection, use the `onSelect` prop. For complex interactions (like shift-click range\n * selection), implement custom `onSelect` and `onMouseDown` handlers that manage the logic\n * externally.\n */\nexport function BookItem({\n ref,\n bookId,\n isSelected,\n onSelect,\n onMouseDown,\n section,\n className,\n showCheck = false,\n localizedBookNames,\n commandValue,\n suppressKeyboardHighlight = false,\n disabled = false,\n dimmedReason,\n dimmedDescription,\n}: BookItemProps) {\n const isMouseClick = useRef(false);\n\n const handleSelect = () => {\n if (disabled) return;\n if (!isMouseClick.current) {\n onSelect?.(bookId);\n }\n // Reset the mouse flag after a short delay\n setTimeout(() => {\n isMouseClick.current = false;\n }, 100);\n };\n\n const handleMouseDown = (e: MouseEvent) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n isMouseClick.current = true;\n\n if (onMouseDown) {\n onMouseDown(e);\n } else {\n // If no custom mouse handler, fall back to calling onSelect\n onSelect?.(bookId);\n }\n };\n\n const bookDisplayName = useMemo(\n () => getLocalizedBookName(bookId, localizedBookNames),\n [bookId, localizedBookNames],\n );\n\n const bookDisplayId = useMemo(\n () => getLocalizedBookId(bookId, localizedBookNames),\n [bookId, localizedBookNames],\n );\n\n const isDimmed = !!dimmedReason && !disabled;\n // Built from the same localized values the row renders, not from the English canon name, so a\n // localized name is never announced next to an English one. Both fall back to English when the\n // caller passes no localized names, so the undimmed case is unchanged.\n const baseAriaLabel = `${bookDisplayName} (${bookDisplayId})`;\n // A dimmed row announces the caller's whole localized sentence instead of this name plus an\n // appended fragment: the qualifier's position, punctuation, and any inflection of the book name\n // belong to the translation, not to string concatenation here.\n const ariaLabel = isDimmed\n ? dimmedDescription || `${baseAriaLabel}, ${dimmedReason}`\n : baseAriaLabel;\n\n const commandItem = (\n svg:last-child]:hidden',\n className,\n disabled && 'tw:cursor-not-allowed tw:opacity-50',\n // Mirrors NumberedItemGrid's dimmed-vs-disabled split — same tokens, so chapter/verse cells\n // and book rows grey identically inside one popover: dimmed is presentation only, so it\n // never sets aria-disabled or blocks onSelect, and it yields to disabled. Restated under\n // data-selected so a dimmed row keeps its dimming while the keyboard highlight is on it,\n // rather than losing it to the suppression rule above.\n isDimmed &&\n 'tw:bg-muted/50 tw:text-muted-foreground/50 tw:data-selected:bg-muted/50 tw:data-selected:text-muted-foreground/50',\n )}\n >\n {showCheck && (\n \n )}\n {bookDisplayName}\n {isDimmed && (\n // Visible rather than hover-only: cmdk never moves DOM focus onto an item (the input keeps\n // it and highlights via data-selected), so a tooltip would never open for a keyboard user.\n // Rendered text also survives the highlight, which recolours the row.\n {dimmedReason}\n )}\n \n {bookDisplayId}\n \n \n );\n\n return (\n \n {commandItem}\n
\n );\n}\n","/**\n * Shared keyboard primitives for components that implement their own keyboard navigation. Generic,\n * reusable key helpers belong here — arrow-key constants and guards, character classification — so\n * components don't each re-declare inline `'ArrowUp'` string literals and ad-hoc regexes.\n * Component-specific navigation math (2D grid arithmetic, for instance) belongs with that\n * component; the building blocks below are deliberately domain-agnostic.\n */\n\n/** The four keyboard arrow keys, matching `KeyboardEvent.key` values. */\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'] as const;\n\n/** A keyboard `event.key` value for one of the four arrow keys. */\nexport type ArrowKey = (typeof ARROW_KEYS)[number];\n\n/**\n * Type guard narrowing an arbitrary keyboard `event.key` string to an {@link ArrowKey}, so callers\n * can hand `event.key` to arrow-key-typed helpers without a type assertion.\n */\nexport function isArrowKey(key: string): key is ArrowKey {\n return ARROW_KEYS.some((arrowKey) => arrowKey === key);\n}\n\n/**\n * Classifies a keyboard `event.key` as a single letter and/or digit. Used by components that route\n * typed characters into a search input while focus is elsewhere.\n *\n * Letters are matched script-agnostically (`\\p{L}`), so a translator typing Cyrillic, Greek,\n * Hebrew, or Devanagari reaches the search box the same way a Latin-script user does. Digits stay\n * ASCII on purpose: the Scripture reference parser only understands ASCII digits, so classifying\n * e.g. Arabic-Indic numerals as digits would route keystrokes into a query that cannot be parsed.\n *\n * @param key The keyboard `event.key` value.\n * @returns `isLetter` and `isDigit`, both false for named keys like `'Enter'` or `'ArrowUp'`.\n */\nexport function getKeyCharacterType(key: string) {\n const isLetter = /^\\p{L}$/u.test(key);\n const isDigit = /^[0-9]$/.test(key);\n return { isLetter, isDigit };\n}\n","import { createContext, useContext } from 'react';\n\n/**\n * Named shrink steps, ordered widest to narrowest. Consumers compare against these (`step >=\n * SHRINK_STEP.MINIMUM`), so the ascending order is part of the contract.\n *\n * Not every surface uses all four. `BookChapterControl` walks the whole ladder, while a control\n * with only one shorter form — the project selector, the paragraph style label — reads a single\n * boundary (`step >= SHRINK_STEP.MINIMUM`) and ignores the rest.\n */\nexport const SHRINK_STEP = Object.freeze({\n /** Full labels. */\n WIDE: 0,\n /** Abbreviated primary label form. */\n TIGHT: 1,\n /** Secondary field clipped with an ellipsis — CSS does this on its own. */\n TIGHTER: 2,\n /** Secondary field dropped entirely; primary field alone. */\n MINIMUM: 3,\n});\n\n/**\n * The shrink step published by the nearest toolbar root.\n *\n * Deliberately defaults to `SHRINK_STEP.WIDE` rather than throwing the way `useMenuContext` does:\n * every component that reads this is also usable standalone (a `BookChapterControl` in a dialog, a\n * story, a test), and those must keep rendering their full-width form when no toolbar is above\n * them.\n */\nexport const ShrinkStepContext = createContext(SHRINK_STEP.WIDE);\n\n/**\n * Reads the shrink step published by the nearest toolbar root.\n *\n * The value is resolved at the position of the component that calls this. A component that\n * _renders_ the provider sits above it and will always read the default — so anything that needs\n * the real step must be a child of the toolbar, not the thing that builds it.\n *\n * @returns The current step, or `SHRINK_STEP.WIDE` when there is no provider.\n */\nexport function useShrinkStepValue(): number {\n return useContext(ShrinkStepContext);\n}\n\n/**\n * A shrink step forced from outside, overriding what a toolbar would measure from its own width.\n *\n * Separate from {@link ShrinkStepContext} because the two answer different questions. A toolbar\n * _publishes_ to `ShrinkStepContext` and cannot read its own value back, and that context defaults\n * to `SHRINK_STEP.WIDE` rather than being unset — so a publisher reading it could never tell \"no\n * one is overriding me\" from \"someone is overriding me with the widest step\". This context is\n * `undefined` until something sets it, which is the distinction a publisher needs.\n *\n * Set it with {@link ShrinkStepOverride} rather than reaching for the provider directly.\n */\nexport const ShrinkStepOverrideContext = createContext(undefined);\n\n/**\n * Reads a shrink step forced from outside, if any.\n *\n * Toolbars that measure their own width call this and prefer its value over their measurement, so\n * stories and tests can pin a step in an environment with no layout engine. Components that only\n * _read_ a step have no use for this — they call {@link useShrinkStepValue} instead.\n *\n * @returns The overriding step, or `undefined` when nothing is overriding.\n */\nexport function useShrinkStepOverride(): number | undefined {\n return useContext(ShrinkStepOverrideContext);\n}\n","import { useEffect } from 'react';\nimport { trackInteractionModality } from '@/utils/focus.util';\n\n/**\n * Starts the document-wide tracking that `getLastInteractionModality` reads, for a component whose\n * behavior depends on whether the user last used the pointer or the keyboard.\n *\n * The underlying registration is idempotent, so calling this from several components costs one pair\n * of document listeners in total. It exists so that no consumer has to decide where to put the\n * call: registering from an effect keeps render pure, and the listeners are in place long before\n * any interaction can reach the component that mounted them.\n */\nexport function useInteractionModality() {\n useEffect(() => {\n trackInteractionModality();\n }, []);\n}\n","import { ReactNode, useCallback, useEffect, useRef, useState } from 'react';\nimport { cn } from '@/utils/shadcn-ui/utils';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/shadcn-ui/tooltip';\nimport { useTruncationTooltip } from '@/hooks/use-truncation-tooltip.hook';\nimport { getLastInteractionModality } from '@/utils/focus.util';\nimport { useInteractionModality } from '@/hooks/use-interaction-modality.hook';\n\nexport type ToolbarCompoundLabelProps = {\n /** The field that identifies the item — a book abbreviation, project short name, marker code. */\n primary: ReactNode;\n /** The field that gives way first: clipped with an ellipsis, then dropped entirely. */\n secondary?: ReactNode;\n /**\n * Text placed between the two fields. Rendered as a real text node, so it survives into\n * `textContent` where a CSS `gap` would not — assertions and screen readers both read it.\n */\n separator?: string;\n /**\n * Render `secondary` before `primary`, for labels that read that way round — a measurement that\n * reads `12 pt` puts the number (`secondary`) first, even though `primary` (the unit, `pt`) is\n * still the field that must survive shrinking.\n */\n secondaryFirst?: boolean;\n /** Whether the secondary field is rendered at all. Defaults to `true`. */\n showSecondary?: boolean;\n /**\n * Whether what is rendered is only part of {@link ToolbarCompoundLabelProps.fullText}, so the\n * tooltip should open on hover even though nothing is visibly clipped. Set this when the primary\n * field is an abbreviation — `GEN` for `Genesis` — which CSS cannot detect.\n *\n * Defaults to true whenever the secondary field has been dropped.\n */\n isPartial?: boolean;\n /** The complete label. Shown in the tooltip whenever the rendered form is not the whole thing. */\n fullText: string;\n /** Additional classes for the label row. */\n className?: string;\n};\n\n/**\n * A two-field toolbar label that degrades predictably as its slot narrows: the secondary field\n * clips with an ellipsis, then disappears, leaving the primary field alone. A tooltip carries the\n * complete text whenever what is rendered is not all of it.\n *\n * The ellipsis step needs no JavaScript. Both fields can shrink, but the secondary is weighted to\n * absorb ~all of it, so it clips to nothing before the primary gives up a character — and the\n * primary keeps an ellipsis of its own rather than being cut mid-glyph by the trigger's\n * `overflow-hidden`. Only the abbreviation and dropped steps need the caller to say so.\n */\nexport function ToolbarCompoundLabel({\n primary,\n secondary,\n separator = ' ',\n secondaryFirst = false,\n showSecondary = true,\n isPartial,\n fullText,\n className,\n}: ToolbarCompoundLabelProps) {\n // Opens only when a field's text actually overflows its box, so a label that fits gets no\n // redundant tooltip. Both fields are watched: the secondary is weighted to give way first, but\n // once it has nothing left the primary is what clips, and that is exactly when the full text is\n // most worth offering.\n const {\n ref: secondaryRef,\n open: isSecondaryClipHovered,\n onPointerEnter: onSecondaryClipPointerEnter,\n onPointerLeave: onSecondaryClipPointerLeave,\n } = useTruncationTooltip();\n const {\n ref: primaryRef,\n open: isPrimaryClipHovered,\n onPointerEnter: onPrimaryClipPointerEnter,\n onPointerLeave: onPrimaryClipPointerLeave,\n } = useTruncationTooltip();\n\n // An abbreviated or dropped field is incomplete without being measurably clipped, so hover alone\n // has to open the tooltip. Same two-source pattern `project-selector.component.tsx` uses.\n const [isIncompleteHovered, setIsIncompleteHovered] = useState(false);\n\n // Keyboard reveal. These labels render inside a button or select trigger, so focus lands on that\n // ancestor and never on the span below — a React `onFocus` here would not fire. Without this the\n // shortened text is a pointer-only affordance: a keyboard user tabbing to an abbreviated\n // reference has no way at all to see what it stands for.\n const [isFocusRevealed, setIsFocusRevealed] = useState(false);\n const rootRef = useRef(\n // React's ref API requires `null` as the initial value for DOM refs.\n // eslint-disable-next-line no-null/no-null\n null,\n );\n\n const isSecondaryRendered = showSecondary && secondary !== undefined;\n const isShowingPartialLabel = isPartial ?? (secondary !== undefined && !showSecondary);\n\n useInteractionModality();\n\n useEffect(() => {\n const focusable = rootRef.current?.closest('button, [role=\"combobox\"], [tabindex]');\n if (!focusable) return undefined;\n\n const isClipped = (element: HTMLSpanElement | null) =>\n !!element && element.scrollWidth > element.clientWidth;\n\n const reveal = () => {\n // Only a keyboard arrival reveals — see `getLastInteractionModality`. A pointer user who just\n // dismissed a menu gets focus back without asking for an explanation of a label they can see.\n if (getLastInteractionModality() === 'pointer') return;\n // Same two sources as hover: a label that is short by construction, or one CSS has clipped.\n // Anything that already reads in full needs no tooltip on focus either.\n if (isShowingPartialLabel || isClipped(primaryRef.current) || isClipped(secondaryRef.current))\n setIsFocusRevealed(true);\n };\n const hide = () => setIsFocusRevealed(false);\n\n focusable.addEventListener('focus', reveal);\n focusable.addEventListener('blur', hide);\n return () => {\n focusable.removeEventListener('focus', reveal);\n focusable.removeEventListener('blur', hide);\n };\n }, [isShowingPartialLabel, primaryRef, secondaryRef]);\n\n const handlePointerEnter = useCallback(() => {\n if (isShowingPartialLabel) setIsIncompleteHovered(true);\n onPrimaryClipPointerEnter();\n if (isSecondaryRendered) onSecondaryClipPointerEnter();\n }, [\n isShowingPartialLabel,\n isSecondaryRendered,\n onPrimaryClipPointerEnter,\n onSecondaryClipPointerEnter,\n ]);\n\n // Wired to both pointer-leave and pointer-down. The press case is not redundant: these labels sit\n // inside popover and select triggers, and without it the tooltip stays open on top of the popover\n // the click just opened, because the pointer never \"leaves\".\n const closeTooltip = useCallback(() => {\n setIsIncompleteHovered(false);\n setIsFocusRevealed(false);\n onPrimaryClipPointerLeave();\n onSecondaryClipPointerLeave();\n }, [onPrimaryClipPointerLeave, onSecondaryClipPointerLeave]);\n\n // The open state is latched at event time, so a label that grows back to its full form while the\n // tooltip is up would otherwise keep showing a tooltip that now just repeats what is on screen.\n // Widening is exactly when that happens: the shrink step drops and `showSecondary` flips back on\n // under a pointer or focus that never moved.\n useEffect(() => {\n if (!isShowingPartialLabel) setIsIncompleteHovered(false);\n }, [isShowingPartialLabel]);\n\n const primaryNode = (\n \n {primary}\n \n );\n\n const secondaryNode = isSecondaryRendered ? (\n // Weighted to absorb essentially all of the shrinking, so the primary field only starts losing\n // characters once this one has none left.\n \n {secondary}\n \n ) : undefined;\n\n const [first, second] = secondaryFirst\n ? [secondaryNode, primaryNode]\n : [primaryNode, secondaryNode];\n\n return (\n // Nested TooltipProviders are harmless in Radix, so carrying our own means this works in any\n // host, including toolbars that never set one up.\n \n {/* `onOpenChange` is what makes this dismissable. A controlled Radix tooltip routes every\n close it decides on — Escape, an outside pointer press — through this callback, so\n without it the tooltip's own dismiss handler is a no-op AND its dismissable layer still\n calls `preventDefault()` on that Escape, swallowing the keypress from whatever popover\n sits underneath. Only closes are honoured; opening stays ours to decide. */}\n {\n if (!isOpen) closeTooltip();\n }}\n >\n \n \n {first}\n {/* Only between two rendered fields — never leading or trailing, which is what a\n naive \"is there a second slot\" check produces once one field is dropped. */}\n {first && second && (\n \n {separator}\n \n )}\n {second}\n
\n \n {/* `dir=\"auto\"` because the tooltip is the joined form as one text node: at the narrowest\n step it is the only place the secondary field is readable at all, and a separator\n between two scripts otherwise lands on the visually wrong side. */}\n {fullText}\n \n \n );\n}\n\nexport default ToolbarCompoundLabel;\n","import {\n ALL_ENGLISH_BOOK_NAMES,\n getLocalizedBookId,\n getLocalizedBookName,\n} from '@/components/shared/book.utils';\n\n/**\n * Builds the cmdk `CommandItem` value for a book row. Localized parts are included when they are\n * available because cmdk filters book rows by their value, so a query typed in the user's language\n * has to be able to match.\n *\n * Deliberately carries no chapter: a book row names a book and nothing more. Appending a chapter\n * here would spell a string {@link parseChapterFromItemValue} has to read as a chapter cell, which\n * is exactly the confusion the round-trip check there exists to prevent.\n */\nexport function generateCommandValue(\n bookId: string,\n localizedBookNames?: Map,\n): string {\n return `${bookId} ${ALL_ENGLISH_BOOK_NAMES[bookId]}${localizedBookNames ? ` ${getLocalizedBookId(bookId, localizedBookNames)} ${getLocalizedBookName(bookId, localizedBookNames)}` : ''}`;\n}\n\n/**\n * Builds the cmdk `CommandItem` value for one cell of the chapter grid.\n *\n * The format is deliberately **not** localized. The chapter grid renders its `CommandItem value`\n * from this function and `BookChapterControl` sets its controlled `commandValue` from it, so both\n * sides must produce byte-identical strings for cmdk to find the item to highlight. Localized parts\n * — which `generateCommandValue` adds for book rows, because cmdk filters those — would break the\n * match as soon as `localizedBookNames` is supplied.\n */\nexport function chapterItemValue(bookId: string, chapter: number): string {\n return `${bookId} ${ALL_ENGLISH_BOOK_NAMES[bookId] || ''} ${chapter}`;\n}\n\n/** Builds the cmdk `CommandItem` value for one cell of the verse grid. @see chapterItemValue */\nexport function verseItemValue(bookId: string, chapterNum: number, verse: number): string {\n return `${chapterItemValue(bookId, chapterNum)}:${verse}`;\n}\n\n/**\n * Reads the chapter number back out of a {@link chapterItemValue}, or `undefined` when the value\n * does not identify a chapter cell (a book row, or a verse cell — a verse value ends in digits too,\n * so the colon has to be excluded explicitly).\n *\n * Ending in digits is not sufficient evidence: several canon books have English names that end in a\n * number (`PS2` → \"Psalm 151\", `PS3` → \"Psalms 152-155\"), so a plain trailing-number match reads a\n * book row for one of those as a chapter cell. The candidate is therefore round-tripped through\n * {@link chapterItemValue} and only accepted when it reproduces the value byte for byte.\n */\nexport function parseChapterFromItemValue(value: string): number | undefined {\n if (value.includes(':')) return undefined;\n const match = /(\\d+)$/.exec(value);\n if (!match) return undefined;\n const chapter = parseInt(match[1], 10);\n const firstSpaceIndex = value.indexOf(' ');\n if (firstSpaceIndex < 0) return undefined;\n const bookId = value.slice(0, firstSpaceIndex);\n return value === chapterItemValue(bookId, chapter) ? chapter : undefined;\n}\n\n/**\n * Reads the verse number back out of a {@link verseItemValue}, or `undefined` when the value does\n * not identify a verse cell.\n *\n * The part before the colon has to be a chapter cell for the whole value to be a verse cell, so\n * this inherits {@link parseChapterFromItemValue}'s round-trip check.\n */\nexport function parseVerseFromItemValue(value: string): number | undefined {\n const match = /:(\\d+)$/.exec(value);\n if (!match) return undefined;\n const chapterPart = value.slice(0, value.length - match[0].length);\n if (parseChapterFromItemValue(chapterPart) === undefined) return undefined;\n return parseInt(match[1], 10);\n}\n\n/**\n * Value for the top-match row's `CommandItem`. It is a fixed sentinel rather than a\n * reference-shaped string so it can never collide with a chapter or verse cell's value, and so\n * parsing it yields neither a chapter nor a verse.\n */\nexport const TOP_MATCH_ITEM_VALUE = 'top-match';\n","import { Clock } from 'lucide-react';\nimport { useId, useRef, useState } from 'react';\nimport { Button, ButtonProps } from '@/components/shadcn-ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuTrigger,\n} from '@/components/shadcn-ui/dropdown-menu';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/shadcn-ui/tooltip';\nimport { resolveLocalizedString } from '@/utils/localization.util';\nimport { cn } from '@/utils/shadcn-ui/utils';\n\nconst DEFAULT_ARIA_LABEL = 'Show recent searches';\nconst DEFAULT_GROUP_HEADING = 'Recent';\n\n/** Interface defining the properties for the RecentSearches component */\nexport interface RecentSearchesProps {\n /** Array of recent search items */\n recentSearches: T[];\n /** Callback when a recent search item is selected */\n onSearchItemSelect: (item: T) => void;\n /** Function to render each search item as a string for display */\n renderItem?: (item: T) => string;\n /** Function to create a unique key for each item */\n getItemKey?: (item: T) => string;\n /**\n * Accessible name for the trigger button, which is also rendered as the button's visible tooltip\n * text. Write it as user-visible microcopy (sentence case), not as a screen-reader-only phrase.\n *\n * Passing an empty string suppresses the tooltip AND leaves the icon-only button without an\n * accessible name, so prefer omitting the prop — which falls back to a sensible default — over\n * passing `''`.\n *\n * A value that is still a raw `%localization_key%` is treated as not-yet-localized and falls back\n * to the default, so a key can never reach the screen as tooltip text.\n */\n ariaLabel?: string;\n /**\n * Heading for the recent searches list. Rendered as the list's visible heading and used as its\n * accessible name, so a screen reader announces what the list is rather than a bare \"menu\". Falls\n * back to the default when omitted or still a raw `%localization_key%`.\n */\n groupHeading?: string;\n /** Optional ID for the dropdown menu content for accessibility */\n id?: string;\n /** Class name for styling the `DropdownMenuItem` for each recent search result */\n classNameForItems?: string;\n /**\n * Class name for the trigger button. Defaults to absolute positioning inside an input field. Pass\n * a custom value to render the button standalone (e.g. `\"tw:h-9 tw:w-9\"`)\n */\n buttonClassName?: string;\n /** Variant for the trigger button. Defaults to `\"ghost\"` */\n buttonVariant?: ButtonProps['variant'];\n /** Controlled open state of the dropdown menu. If provided, the component becomes controlled. */\n open?: boolean;\n /** Called when the open state changes. Required when `open` is provided. */\n onOpenChange?: (open: boolean) => void;\n}\n\n/**\n * Generic component that displays a button to show recent searches in a dropdown menu. Only renders\n * if there are recent searches available. Works with any data type T.\n */\nexport default function RecentSearches({\n recentSearches,\n onSearchItemSelect,\n renderItem = (item) => String(item),\n getItemKey = (item) => String(item),\n ariaLabel,\n groupHeading,\n id,\n classNameForItems,\n buttonClassName = 'tw:absolute tw:end-0 tw:top-0 tw:h-full tw:px-3 tw:py-2',\n buttonVariant = 'ghost',\n open: openProp,\n onOpenChange,\n}: RecentSearchesProps) {\n const [isOpenInternal, setIsOpenInternal] = useState(false);\n const [isTooltipOpen, setIsTooltipOpen] = useState(false);\n const headingId = useId();\n // Set while the list is closing, so the focus Radix restores to the trigger is not mistaken for\n // the user pointing at it. Read and cleared once, by the very next open request.\n const isRestoringFocusFromListRef = useRef(false);\n const isControlled = openProp !== undefined;\n const isOpen = isControlled ? openProp : isOpenInternal;\n // An empty string is a deliberate \"no label\" (documented on the prop), so only `undefined` and a\n // raw localization key fall back.\n const resolvedAriaLabel =\n ariaLabel === '' ? '' : resolveLocalizedString(ariaLabel, DEFAULT_ARIA_LABEL);\n const resolvedGroupHeading = resolveLocalizedString(groupHeading, DEFAULT_GROUP_HEADING);\n\n const setIsOpen = (value: boolean) => {\n if (!value) {\n // Radix hands focus back to this trigger as the list closes, and `TooltipTrigger` reads any\n // focus as a reason to open. The pointer is wherever the user clicked — a row of the list, or\n // outside it — and never on the button, so no `pointerleave` would ever arrive to close that\n // tooltip again: it would sit over the search input beside it until the button happened to\n // blur. Mark the close so the restore is ignored, and shut any tooltip that is already up.\n isRestoringFocusFromListRef.current = true;\n setIsTooltipOpen(false);\n }\n if (!isControlled) setIsOpenInternal(value);\n onOpenChange?.(value);\n };\n\n const handleTooltipOpenChange = (value: boolean) => {\n if (value && isRestoringFocusFromListRef.current) {\n // One-shot: a later hover or Tab is a real request and opens normally.\n isRestoringFocusFromListRef.current = false;\n return;\n }\n setIsTooltipOpen(value);\n };\n\n if (recentSearches.length === 0) {\n return undefined;\n }\n\n // Radix closes the list itself when an item is selected, which already routes through `setIsOpen`\n // and reports the close once. Closing it again here would report it twice per selection.\n const handleSearchItemSelect = (item: T) => {\n onSearchItemSelect(item);\n };\n\n const button = (\n {\n isRestoringFocusFromListRef.current = false;\n }}\n >\n \n \n );\n\n // `modal={false}` because Radix menus default to modal, which traps focus and sets\n // `pointer-events: none` on the body for as long as the list is open. This list opens beside a\n // search input the user is still working in — usually inside another popover — so the\n // surrounding controls have to stay clickable.\n return (\n \n {/* This component is exported standalone and may be rendered anywhere, so it carries its\n own TooltipProvider rather than assuming a host tree already has one. */}\n \n {resolvedAriaLabel ? (\n \n \n {button}\n \n {resolvedAriaLabel}\n \n ) : (\n {button}\n )}\n \n {/* `aria-labelledby` rather than a bare heading: Radix's menu label is a plain `div` that\n nothing references, so without this the list announces as an unnamed menu of N items and\n a screen-reader user is never told these are recent searches. */}\n event.stopPropagation()}\n >\n {resolvedGroupHeading}\n {recentSearches.map((item) => (\n handleSearchItemSelect(item)}\n className={cn('tw:flex tw:items-center', classNameForItems)}\n >\n \n {renderItem(item)}\n \n ))}\n \n \n );\n}\n\n/** Generic hook for managing recent searches state and operations. */\nexport function useRecentSearches(\n recentSearches: T[],\n setRecentSearches: (items: T[]) => void,\n areItemsEqual: (a: T, b: T) => boolean = (a, b) => a === b,\n maxItems: number = 15,\n) {\n return (item: T) => {\n // Add the current item to recent searches, moving it to the top if it already exists\n const recentSearchesWithoutCurrent = recentSearches.filter(\n (existingItem) => !areItemsEqual(existingItem, item),\n );\n const updatedRecentSearches = [item, ...recentSearchesWithoutCurrent.slice(0, maxItems - 1)];\n setRecentSearches(updatedRecentSearches);\n };\n}\n","import { Direction } from '@/utils/dir-helper.util';\nimport { SerializedVerseRef } from '@sillsdev/scripture';\nimport { ChevronDown, ChevronsLeft, ChevronsRight, ChevronUp } from 'lucide-react';\nimport { ComponentType, useCallback, useMemo } from 'react';\nimport { compareScrRefs, LanguageStrings } from 'platform-bible-utils';\nimport { resolveLocalizedString } from '@/utils/localization.util';\nimport {\n getNextChapterRef,\n getNextVerseRef,\n getPreviousChapterRef,\n getPreviousVerseRef,\n} from 'platform-bible-utils/experimental';\n\nexport interface QuickNavButton {\n onClick: () => void;\n disabled?: boolean;\n title: string;\n icon: ComponentType<{ className?: string }>;\n group: 'chapter' | 'verse';\n}\n\n/** Whether stepping to `newRef` would do nothing: there is no target, or it equals `scrRef`. */\nfunction isNoOpNavigation(\n scrRef: SerializedVerseRef,\n newRef: SerializedVerseRef | undefined,\n): boolean {\n return !newRef || compareScrRefs(scrRef, newRef) === 0;\n}\n\nexport function useQuickNavButtons(\n scrRef: SerializedVerseRef,\n availableBooks: string[],\n direction: Direction,\n handleSubmit: (scrRef: SerializedVerseRef) => void,\n localizedStrings?: LanguageStrings,\n): QuickNavButton[] {\n // The buttons pass availableBooks (so navigation honors books-present and rolls across book\n // boundaries the way the keyboard commands do) but intentionally pass no ScriptureBounds — there\n // is no versification source here, so verse navigation keeps its pre-versification\n // floor-at-0 / unbounded-increment behavior within a book. Making the buttons versification-aware\n // to match the keyboard commands is tracked in PT-4379.\n //\n // Each target ref is computed once and reused for both the click handler and the disabled state,\n // so the button is disabled exactly when the step would be a no-op (no target, or the same ref).\n const previousChapterRef = useMemo(\n () => getPreviousChapterRef(scrRef, availableBooks),\n [scrRef, availableBooks],\n );\n const nextChapterRef = useMemo(\n () => getNextChapterRef(scrRef, availableBooks),\n [scrRef, availableBooks],\n );\n const previousVerseRef = useMemo(\n () => getPreviousVerseRef(scrRef, availableBooks),\n [scrRef, availableBooks],\n );\n const nextVerseRef = useMemo(\n () => getNextVerseRef(scrRef, availableBooks),\n [scrRef, availableBooks],\n );\n\n const submitIfChanged = useCallback(\n (newRef: SerializedVerseRef | undefined) => {\n if (newRef) handleSubmit(newRef);\n },\n [handleSubmit],\n );\n\n return useMemo(() => {\n return [\n {\n onClick: () => submitIfChanged(previousChapterRef),\n disabled: isNoOpNavigation(scrRef, previousChapterRef),\n title: resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_previousChapter%'],\n 'Previous chapter',\n ),\n icon: direction === 'ltr' ? ChevronsLeft : ChevronsRight,\n group: 'chapter' as const,\n },\n {\n onClick: () => submitIfChanged(nextChapterRef),\n disabled: isNoOpNavigation(scrRef, nextChapterRef),\n title: resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_nextChapter%'],\n 'Next chapter',\n ),\n icon: direction === 'ltr' ? ChevronsRight : ChevronsLeft,\n group: 'chapter' as const,\n },\n {\n onClick: () => submitIfChanged(previousVerseRef),\n disabled: isNoOpNavigation(scrRef, previousVerseRef),\n title: resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_previousVerse%'],\n 'Previous verse',\n ),\n icon: ChevronUp,\n group: 'verse' as const,\n },\n {\n onClick: () => submitIfChanged(nextVerseRef),\n disabled: isNoOpNavigation(scrRef, nextVerseRef),\n title: resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_nextVerse%'],\n 'Next verse',\n ),\n icon: ChevronDown,\n group: 'verse' as const,\n },\n ];\n }, [\n scrRef,\n direction,\n submitIfChanged,\n previousChapterRef,\n previousVerseRef,\n nextVerseRef,\n nextChapterRef,\n localizedStrings,\n ]);\n}\n","import { Canon, SerializedVerseRef } from '@sillsdev/scripture';\nimport { getChaptersForBook, Section } from 'platform-bible-utils';\nimport { ALL_ENGLISH_BOOK_NAMES, doesBookMatchQuery } from '@/components/shared/book.utils';\nimport { ArrowKey } from '@/utils/keyboard.util';\nimport { Direction } from '@/utils/dir-helper.util';\nimport { BookWithOptionalChapterAndVerse } from './book-chapter-control.types';\n\n// Smart parsing regex patterns\nexport const SCRIPTURE_REGEX_PATTERNS = {\n // Matches start of string (`^`), one or more non-colon/space words, optionally followed by space and more words (`([^:\\s]+(?:\\s+[^:\\s]+)*)`), end of string (`$`), case-insensitive (`i`)\n BOOK_ONLY: /^([^:\\s]+(?:\\s+[^:\\s]+)*)$/i,\n // Same as above, but followed by a space and a chapter number (`\\s+(\\d+)`)\n BOOK_CHAPTER: /^([^:\\s]+(?:\\s+[^:\\s]+)*)\\s+(\\d+)$/i,\n // Same as above, but followed by a colon and optionally a verse number (`:(\\d*)`)\n BOOK_CHAPTER_VERSE: /^([^:\\s]+(?:\\s+[^:\\s]+)*)\\s+(\\d+):(\\d*)$/i,\n} as const;\n\nexport const SEARCH_QUERY_FORMATS = [\n SCRIPTURE_REGEX_PATTERNS.BOOK_ONLY,\n SCRIPTURE_REGEX_PATTERNS.BOOK_CHAPTER,\n SCRIPTURE_REGEX_PATTERNS.BOOK_CHAPTER_VERSE,\n];\n\n/**\n * Returns true if the query contains a chapter-verse separator (`:`) following a chapter number.\n * Used to decide whether to switch to verse selection when the user is typing.\n */\nexport function hasChapterVerseSeparator(query: string): boolean {\n return SCRIPTURE_REGEX_PATTERNS.BOOK_CHAPTER_VERSE.test(query.trim());\n}\n\n/** Returns true if `bookId` appears strictly before `lowerBound.book` in canon order. */\nexport function isBookBefore(bookId: string, lowerBound: SerializedVerseRef): boolean {\n return Canon.bookIdToNumber(bookId) < Canon.bookIdToNumber(lowerBound.book);\n}\n\n/**\n * Returns true if the chapter in `bookId` is strictly before `lowerBound`. Chapters in books\n * earlier than `lowerBound.book` are treated as before. Chapters in later books are never before.\n */\nexport function isChapterBefore(\n bookId: string,\n chapterNum: number,\n lowerBound: SerializedVerseRef,\n): boolean {\n const bookCmp = Canon.bookIdToNumber(bookId) - Canon.bookIdToNumber(lowerBound.book);\n if (bookCmp < 0) return true;\n if (bookCmp > 0) return false;\n return chapterNum < lowerBound.chapterNum;\n}\n\n/**\n * Returns true if the verse in `bookId` / `chapterNum` is strictly before `lowerBound`. Verses in\n * earlier books or earlier chapters of the same book are treated as before.\n */\nexport function isVerseBefore(\n bookId: string,\n chapterNum: number,\n verseNum: number,\n lowerBound: SerializedVerseRef,\n): boolean {\n const bookCmp = Canon.bookIdToNumber(bookId) - Canon.bookIdToNumber(lowerBound.book);\n if (bookCmp < 0) return true;\n if (bookCmp > 0) return false;\n if (chapterNum < lowerBound.chapterNum) return true;\n if (chapterNum > lowerBound.chapterNum) return false;\n return verseNum < lowerBound.verseNum;\n}\n\nexport function fetchEndChapter(bookId: string) {\n // getChaptersForBook returns -1 if not found in scrBookData\n // scrBookData only includes OT and NT, so all DC will return -1\n return getChaptersForBook(Canon.bookIdToNumber(bookId));\n}\n\nexport function calculateTopMatch(\n query: string,\n availableBooks: string[],\n localizedBookNames?: Map,\n): BookWithOptionalChapterAndVerse | undefined {\n if (!query.trim() || availableBooks.length === 0) return undefined;\n\n // First try smart parsing with regex patterns\n const topMatch = SEARCH_QUERY_FORMATS.reduce(\n (result: BookWithOptionalChapterAndVerse | undefined, format) => {\n if (result) return result;\n\n const matches = format.exec(query.trim());\n if (matches) {\n const [book, chapter = undefined, verse = undefined] = matches.slice(1);\n\n let validBookId: string | undefined;\n\n // Match for partial book name or id\n\n const allPotentialMatches = availableBooks.filter((bookId) => {\n return doesBookMatchQuery(bookId, book, localizedBookNames);\n });\n\n // Only create a topMatch if exactly one book could match\n if (allPotentialMatches.length === 1) {\n [validBookId] = allPotentialMatches;\n }\n\n // Match for exact book id (English or localized)\n // This is only performed when a chapter number is provided, to prevent edge cases where\n // a search for e.g. `jud` would generate a top match for 'Jude', even though 'Judges' would\n // also be a valid match\n if (!validBookId && chapter) {\n // Check exact English book ID\n if (Canon.isBookIdValid(book)) {\n const bookIdUpperCase = book.toUpperCase();\n if (availableBooks.includes(bookIdUpperCase)) {\n validBookId = bookIdUpperCase;\n }\n }\n\n // Check exact localized book ID\n if (!validBookId && localizedBookNames) {\n const matchingLocalizedBookId = Array.from(localizedBookNames.entries()).find(\n ([, localizedBook]) => localizedBook.localizedId.toLowerCase() === book.toLowerCase(),\n );\n if (matchingLocalizedBookId && availableBooks.includes(matchingLocalizedBookId[0])) {\n [validBookId] = matchingLocalizedBookId;\n }\n }\n }\n\n // Match for exact full book name (English or localized)\n // This is only performed when a chapter number is provided, to prevent edge cases where\n // a search for e.g. `john` only matches `John` but not `1 John`, `2 John` and `3 John`\n if (!validBookId && chapter) {\n // Check exact English book name\n const getBookIdFromEnglishName = (bookName: string): string | undefined => {\n return Object.keys(ALL_ENGLISH_BOOK_NAMES).find(\n (bookId) => ALL_ENGLISH_BOOK_NAMES[bookId].toLowerCase() === bookName.toLowerCase(),\n );\n };\n\n const matchingBookIdForFullName = getBookIdFromEnglishName(book);\n if (matchingBookIdForFullName && availableBooks.includes(matchingBookIdForFullName)) {\n validBookId = matchingBookIdForFullName;\n }\n\n // Check exact localized book name\n if (!validBookId && localizedBookNames) {\n const matchingLocalizedBookName = Array.from(localizedBookNames.entries()).find(\n ([, localizedBook]) =>\n localizedBook.localizedName.toLowerCase() === book.toLowerCase(),\n );\n if (\n matchingLocalizedBookName &&\n availableBooks.includes(matchingLocalizedBookName[0])\n ) {\n [validBookId] = matchingLocalizedBookName;\n }\n }\n }\n\n if (validBookId) {\n let chapterNum = chapter ? parseInt(chapter, 10) : undefined;\n if (chapterNum && chapterNum > fetchEndChapter(validBookId))\n chapterNum = Math.max(fetchEndChapter(validBookId), 1);\n const verseNum = verse ? parseInt(verse, 10) : undefined;\n\n return {\n book: validBookId,\n chapterNum,\n verseNum,\n };\n }\n }\n\n return undefined;\n },\n undefined,\n );\n\n if (topMatch) return topMatch;\n\n return undefined;\n}\n\n/** Grouped and flattened book lists a `BookChapterControl` renders. */\nexport type BookChapterControlBookLists = {\n /** The active project's books, grouped by section — what the control browses by default. */\n projectBooksBySection: Record;\n /** Every reachable book, grouped by section — what searching spans. */\n reachableBooksBySection: Record;\n /**\n * `reachableBooksBySection` flattened — the candidate list for searching, top-match parsing, and\n * quick navigation. Searching spans this list whether or not the widened list is on screen, so a\n * book in an open resource is findable by name without expanding first; every match it surfaces\n * is still rendered greyed and labelled, so search never presents one as a project book.\n * Deliberately the flattened GROUPED list rather than the raw reachable ids: section grouping\n * drops the peripheral ids no section claims (FRT, BAK, OTH, INT, CNC, GLO, TDX, NDX) and orders\n * DC/Extra differently from raw canon order, so the raw list would offer callers books they have\n * never been offered.\n */\n reachableBooks: string[];\n /**\n * `projectBooksBySection` flattened — the navigation universe while the list is collapsed. Only\n * the project's books, so quick navigation stays inside the books the user has opted into.\n */\n projectBooks: string[];\n /** Reachable books the project does not have. These render greyed but stay selectable. */\n booksOutsideProject: ReadonlySet;\n};\n\n/**\n * Groups book ids into the sections the control renders. Ids no section claims — the peripheral\n * ones (FRT, BAK, OTH, INT, CNC, GLO, TDX, NDX) — are dropped, which is what keeps the control from\n * offering a book it cannot browse to.\n *\n * Deliberately NOT built on `getSectionForBook`, despite answering a similar question: that\n * function classifies a book already known to belong to a section and throws otherwise, and it\n * tests Extra with `Canon.isExtraMaterial`, which claims all eight peripheral ids. Routing this\n * through it would turn front and back matter into browsable Extra books and throw on anything else\n * — the opposite of the filtering this exists to do. `Canon.extraBooks()` is the narrow membership\n * test that keeps peripheral ids out.\n *\n * @param bookIds Book ids to group, in the order they should appear within their section\n */\nexport function groupBooksBySection(bookIds: readonly string[]): Record {\n return {\n [Section.OT]: bookIds.filter((bookId) => Canon.isBookOT(bookId)),\n [Section.NT]: bookIds.filter((bookId) => Canon.isBookNT(bookId)),\n [Section.DC]: bookIds.filter((bookId) => Canon.isBookDC(bookId)),\n [Section.Extra]: bookIds.filter((bookId) => Canon.extraBooks().includes(bookId)),\n };\n}\n\n/**\n * Derives every book list the control renders from the two inputs that determine them.\n *\n * Purely a function of its inputs: a book is reachable only if the caller passes it. A caller that\n * wants the book of the current reference reachable while the project lacks it must include that\n * book in `additionalBookIds`.\n *\n * @param projectBookIds Books the active project has\n * @param additionalBookIds Books reachable elsewhere, e.g. present in an open resource. Ids the\n * project already has are ignored — this arrives from a public callback that may include them.\n */\nexport function deriveBookChapterControlBookLists(\n projectBookIds: readonly string[],\n additionalBookIds: readonly string[],\n): BookChapterControlBookLists {\n const projectBookIdSet = new Set(projectBookIds);\n const extraBookIds = additionalBookIds.filter((bookId) => !projectBookIdSet.has(bookId));\n const extraBookIdSet = new Set(extraBookIds);\n\n // Canon-ordered so an extra book lands among its neighbours instead of after the project's books.\n // Ordered from `Canon.allBookIds` rather than `ALL_BOOK_IDS` so the widened list is always a\n // superset of the project's books: `ALL_BOOK_IDS` drops the ids the Canon library marks obsolete\n // (JSA, JDB, TBS, SST, DNT, BLT, 3ES), which a project's `booksPresent` can still claim and which\n // the collapsed list therefore offers. An obsolete book reachable through an open resource is\n // offered for the same reason - a book present in an open scripture stays browsable.\n // The fast path preserves the caller's array when nothing widens the list.\n const reachableBookIds =\n extraBookIdSet.size === 0\n ? projectBookIds\n : Canon.allBookIds.filter(\n (bookId) => projectBookIdSet.has(bookId) || extraBookIdSet.has(bookId),\n );\n\n const reachableBooksBySection = groupBooksBySection(reachableBookIds);\n const reachableBooks = Object.values(reachableBooksBySection).flat();\n\n const projectBooksBySection = groupBooksBySection(projectBookIds);\n\n return {\n projectBooksBySection,\n reachableBooksBySection,\n reachableBooks,\n // Grouped and flattened like `reachableBooks`, so it inherits the same peripheral-id exclusion.\n projectBooks: Object.values(projectBooksBySection).flat(),\n // Derived from the grouped-and-flattened list, so a peripheral id that grouping dropped can\n // never be marked dimmed for a list it is not part of.\n booksOutsideProject: new Set(reachableBooks.filter((bookId) => !projectBookIdSet.has(bookId))),\n };\n}\n\n/**\n * Number of columns in the chapter and verse grids. Drives both the arrow-key arithmetic in\n * {@link computeTargetGridItem} and the grids' rendered `gridTemplateColumns`, so the two cannot\n * drift out of sync and leave arrow navigation landing on the wrong cell.\n */\nexport const GRID_COLUMNS = 6;\n\n/** In a right-to-left grid the horizontal arrows point at the opposite neighbour. */\nfunction mirrorHorizontalKey(key: ArrowKey): ArrowKey {\n if (key === 'ArrowLeft') return 'ArrowRight';\n if (key === 'ArrowRight') return 'ArrowLeft';\n return key;\n}\n\n/**\n * Computes where the highlight moves when an arrow key is pressed in a numbered grid — the chapter\n * grid and the verse grid share this arithmetic.\n *\n * Horizontal movement wraps around the whole grid; vertical movement clamps at the first and last\n * item, so a partial last row can be reached from any column above it.\n *\n * @param current The currently highlighted item, 1-based. Callers seed a valid highlight when a\n * grid becomes visible, so an out-of-range value here means the seed did not happen; the helper\n * lands on the first item rather than moving from an unknown position.\n * @param key The arrow key that was pressed.\n * @param max The number of items in the grid. Values of 0 or less mean the count is unknown (the\n * Scripture data returns -1 for books it has no chapter count for), and the highlight is left\n * alone.\n * @param direction Layout direction. In `'rtl'` the horizontal arrows are mirrored so they follow\n * what the user sees; the vertical arrows are unaffected.\n * @returns The item the highlight should move to, 1-based.\n */\nexport function computeTargetGridItem({\n current,\n key,\n max,\n direction = 'ltr',\n}: {\n current: number;\n key: ArrowKey;\n max: number;\n direction?: Direction;\n}): number {\n if (max <= 0) return current;\n if (current < 1 || current > max) return 1;\n\n const effectiveKey = direction === 'rtl' ? mirrorHorizontalKey(key) : key;\n\n switch (effectiveKey) {\n case 'ArrowLeft':\n return current > 1 ? current - 1 : max;\n case 'ArrowRight':\n return current < max ? current + 1 : 1;\n case 'ArrowUp':\n return Math.max(1, current - GRID_COLUMNS);\n case 'ArrowDown':\n return Math.min(max, current + GRID_COLUMNS);\n default:\n return current;\n }\n}\n","import { CommandGroup, CommandItem } from '@/components/shadcn-ui/command';\nimport { LIST_ITEM_KEYBOARD_FOCUS_RING } from '@/utils/focus.util';\nimport { cn } from '@/utils/shadcn-ui/utils';\nimport { GRID_COLUMNS } from './book-chapter-control.utils';\n\nexport interface NumberedItemGridProps {\n /** Number of items to render (1..count, inclusive). Returns null if count <= 0. */\n count: number;\n /**\n * Builds the cmdk `value` for item `n`. Whatever steers the highlight must produce a\n * byte-identical string, so build it with the shared helpers in `book-item.utils` —\n * `chapterItemValue` / `verseItemValue` — rather than composing the format here.\n */\n valueBuilder: (n: number) => string;\n /** Callback when item `n` is selected (only fires when not disabled). */\n onSelect: (n: number) => void;\n /** Returns the `ref` callback for item `n` (used for keyboard navigation). */\n itemRef: (n: number) => (element: HTMLDivElement | null) => void;\n /** Whether item `n` is disabled (not selectable). Defaults to false. */\n isDisabled?: (n: number) => boolean;\n /** Whether item `n` should be visually dimmed. Defaults to false. */\n isDimmed?: (n: number) => boolean;\n /** Whether item `n` is the currently-selected item (highlighted). Defaults to false. */\n isSelected?: (n: number) => boolean;\n /**\n * When true, cells paint no keyboard focus ring even while cmdk still marks one `data-selected`.\n * Set it while a control outside the grid holds focus, so the grid and that control never show a\n * focus indicator at the same time. Suppresses the paint, not the state — see the matching prop\n * on `BookItem`.\n */\n suppressKeyboardHighlight?: boolean;\n /** Optional additional class name applied to the grid wrapper. */\n className?: string;\n}\n\n/**\n * Internal helper that renders a grid of numbered cmdk `CommandItem`s for use by `ChapterGrid` and\n * `VerseGrid`. Encapsulates the shared layout, Tailwind classes, and disabled / dimmed / selected\n * state styling so the two public components only need to supply the per-item differences.\n *\n * Not part of the public `platform-bible-react` API.\n */\nexport function NumberedItemGrid({\n count,\n valueBuilder,\n onSelect,\n itemRef,\n isDisabled,\n isDimmed,\n isSelected,\n suppressKeyboardHighlight = false,\n className,\n}: NumberedItemGridProps) {\n if (count <= 0) return undefined;\n\n return (\n \n {/* Column count is read from the shared constant rather than taken as a prop: the arrow-key\n arithmetic in `computeTargetGridItem` reads the same constant, and a per-instance override\n here would let the rendered layout and the keyboard arithmetic disagree — arrows would\n land on the wrong cell with nothing to catch it. */}\n \n {Array.from({ length: count }, (_, i) => i + 1).map((n) => {\n const disabled = isDisabled?.(n) ?? false;\n return (\n {\n if (disabled) return;\n onSelect(n);\n }}\n ref={itemRef(n)}\n disabled={disabled}\n aria-disabled={disabled || undefined}\n className={cn(\n 'tw:h-8 tw:w-8 tw:cursor-pointer tw:justify-center tw:rounded-md tw:text-center tw:text-sm',\n // Hide CommandItem's own trailing check icon (a multiselect affordance this grid\n // doesn't use) and give cells pointer feedback distinct from the keyboard focus ring.\n 'tw:[&>svg]:hidden tw:hover:bg-muted',\n !suppressKeyboardHighlight && LIST_ITEM_KEYBOARD_FOCUS_RING,\n // cmdk highlights the focused cell with its own data-selected background/text; this\n // grid shows keyboard focus with the ring above instead, so neutralize that here.\n // The selected-cell rule below re-asserts its own colors under data-selected so the\n // current chapter/verse keeps its highlight even while the keyboard focus is on it.\n 'tw:data-selected:bg-transparent tw:data-selected:text-inherit',\n {\n // The keyboard ring switches to `ring-primary-foreground` on this cell. The shared\n // `ring-ring/50` composites to within ~0.04 lightness of `bg-primary`, which makes\n // the ring all but invisible on exactly the cell the highlight is seeded onto when\n // the popover opens. `primary-foreground` is the token already guaranteed to read\n // against `primary`. `cn` merges away the earlier ring color, so this wins by\n // argument order rather than by CSS output order.\n //\n // Hover keeps the filled treatment (`bg-primary`) instead of taking the shared\n // `hover:bg-muted` above. This cell's text is `primary-foreground` — near-white,\n // chosen to read against the fill — so swapping the fill for a pale muted\n // background on hover leaves near-white text on a near-white ground and the\n // current chapter all but disappears under the pointer. `/90` keeps the pointer\n // feedback that hover owes the user without touching the contrast.\n 'tw:bg-primary tw:text-primary-foreground tw:hover:bg-primary/90 tw:data-selected:bg-primary tw:data-selected:text-primary-foreground tw:data-selected:ring-primary-foreground/70':\n isSelected?.(n) ?? false,\n },\n {\n // Same tokens as BookItem, so book rows and chapter/verse cells grey identically\n // inside one popover. Restated under data-selected so a dimmed cell keeps its\n // dimming while the keyboard highlight is on it, rather than losing it to the\n // suppression rule above.\n 'tw:bg-muted/50 tw:text-muted-foreground/50 tw:data-selected:bg-muted/50 tw:data-selected:text-muted-foreground/50':\n (isDimmed?.(n) ?? false) && !disabled,\n },\n disabled && 'tw:cursor-not-allowed tw:opacity-40',\n )}\n >\n {n}\n \n );\n })}\n \n \n );\n}\n\nexport default NumberedItemGrid;\n","import { chapterItemValue } from '@/components/shared/book-item.utils';\nimport { fetchEndChapter } from './book-chapter-control.utils';\nimport { NumberedItemGrid } from './numbered-item-grid.component';\n\nexport interface ChapterGridProps {\n /** The book ID to render chapters for */\n bookId: string;\n /** Current scripture reference for highlighting */\n scrRef: { book: string; chapterNum: number };\n /** Callback when a chapter is selected */\n onChapterSelect: (chapter: number) => void;\n /** Function to set chapter refs for keyboard navigation */\n setChapterRef: (chapter: number) => (element: HTMLDivElement | null) => void;\n /** Optional function to determine if a chapter should be dimmed */\n isChapterDimmed?: (chapter: number) => boolean;\n /** Optional function to determine if a chapter should be disabled (not selectable). */\n isChapterDisabled?: (chapter: number) => boolean;\n /** Forwarded to `NumberedItemGrid` — see `suppressKeyboardHighlight` there. */\n suppressKeyboardHighlight?: boolean;\n /** Optional additional class name for styling */\n className?: string;\n}\n\n/**\n * Renders a grid of chapter numbers for a given book, with highlighting for the current chapter and\n * optional dimmed chapters based on state logic.\n */\nexport function ChapterGrid({\n bookId,\n scrRef,\n onChapterSelect,\n setChapterRef,\n isChapterDimmed,\n isChapterDisabled,\n suppressKeyboardHighlight,\n className,\n}: ChapterGridProps) {\n if (!bookId) return undefined;\n\n return (\n chapterItemValue(bookId, chapter)}\n onSelect={onChapterSelect}\n itemRef={setChapterRef}\n isDisabled={isChapterDisabled}\n isDimmed={isChapterDimmed}\n isSelected={(chapter) => bookId === scrRef.book && chapter === scrRef.chapterNum}\n suppressKeyboardHighlight={suppressKeyboardHighlight}\n className={className}\n />\n );\n}\n","import { verseItemValue } from '@/components/shared/book-item.utils';\nimport { NumberedItemGrid } from './numbered-item-grid.component';\n\nexport interface VerseGridProps {\n /** The book ID the verses belong to */\n bookId: string;\n /** The chapter number the verses belong to */\n chapterNum: number;\n /** The number of verses to render (from 1 to endVerse, inclusive) */\n endVerse: number;\n /** Current scripture reference for highlighting */\n scrRef: { book: string; chapterNum: number; verseNum: number };\n /** Callback when a verse is selected */\n onVerseSelect: (verse: number) => void;\n /** Function to set verse refs for keyboard navigation */\n setVerseRef: (verse: number) => (element: HTMLDivElement | null) => void;\n /** Optional function to determine if a verse should be dimmed */\n isVerseDimmed?: (verse: number) => boolean;\n /** Optional function to determine if a verse should be disabled (not selectable). */\n isVerseDisabled?: (verse: number) => boolean;\n /** Forwarded to `NumberedItemGrid` — see `suppressKeyboardHighlight` there. */\n suppressKeyboardHighlight?: boolean;\n /** Optional additional class name for styling */\n className?: string;\n}\n\n/**\n * Renders a grid of verse numbers for a given book and chapter, with highlighting for the current\n * verse and optional dimmed verses based on state logic.\n */\nexport function VerseGrid({\n bookId,\n chapterNum,\n endVerse,\n scrRef,\n onVerseSelect,\n setVerseRef,\n isVerseDimmed,\n isVerseDisabled,\n suppressKeyboardHighlight,\n className,\n}: VerseGridProps) {\n if (!bookId || endVerse <= 0) return undefined;\n\n return (\n verseItemValue(bookId, chapterNum, verse)}\n onSelect={onVerseSelect}\n itemRef={setVerseRef}\n isDisabled={isVerseDisabled}\n isDimmed={isVerseDimmed}\n isSelected={(verse) =>\n bookId === scrRef.book && chapterNum === scrRef.chapterNum && verse === scrRef.verseNum\n }\n suppressKeyboardHighlight={suppressKeyboardHighlight}\n className={className}\n />\n );\n}\n\nexport default VerseGrid;\n","import { BookItem } from '@/components/shared/book-item.component';\nimport { Button } from '@/components/shadcn-ui/button';\nimport { ButtonGroup, ButtonGroupSeparator } from '@/components/shadcn-ui/button-group';\nimport {\n Command,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/shadcn-ui/command';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/shadcn-ui/popover';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/shadcn-ui/tooltip';\nimport { Direction, readDirection } from '@/utils/dir-helper.util';\nimport { getKeyCharacterType, isArrowKey } from '@/utils/keyboard.util';\nimport { resolveLocalizedString } from '@/utils/localization.util';\nimport { cn } from '@/utils/shadcn-ui/utils';\nimport { SerializedVerseRef } from '@sillsdev/scripture';\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\nimport { IconSelector } from '@tabler/icons-react';\nimport {\n formatReplacementString,\n formatScrRef,\n getSectionForBook,\n Section,\n} from 'platform-bible-utils';\nimport {\n getSectionLongName,\n getLocalizedBookName,\n getLocalizedBookId,\n ALL_BOOK_IDS,\n doesBookMatchQuery,\n} from '@/components/shared/book.utils';\nimport {\n Fragment,\n KeyboardEvent,\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { SHRINK_STEP, useShrinkStepValue } from '@/context/shrink-step.context';\nimport { ToolbarCompoundLabel } from '@/components/advanced/toolbar-compound-label/toolbar-compound-label.component';\nimport {\n chapterItemValue,\n generateCommandValue,\n parseChapterFromItemValue,\n parseVerseFromItemValue,\n TOP_MATCH_ITEM_VALUE,\n verseItemValue,\n} from '@/components/shared/book-item.utils';\nimport RecentSearches from '../recent-searches.component';\nimport { useQuickNavButtons } from './book-chapter-control.navigation';\nimport { BookChapterControlProps, ViewMode } from './book-chapter-control.types';\nimport {\n calculateTopMatch,\n deriveBookChapterControlBookLists,\n computeTargetGridItem,\n fetchEndChapter,\n groupBooksBySection,\n hasChapterVerseSeparator,\n isBookBefore,\n isChapterBefore,\n isVerseBefore,\n} from './book-chapter-control.utils';\nimport { ChapterGrid } from './chapter-grid.component';\nimport { VerseGrid } from './verse-grid.component';\n\n/**\n * Elements that can hold a tab stop. Deliberately narrower than `getFocusableElements` in\n * `focus.util`: that answers \"can this be focused at all\", which includes the back button this\n * control keeps out of the tab order on purpose, and it also filters on rendered geometry — which\n * jsdom reports as zero for everything, so Tab handling built on it could not be tested. Every\n * element inside an open popover is rendered, so `tabindex` alone is the right question here.\n */\nconst TAB_STOP_SELECTOR =\n 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]';\n\n/** The tab stops inside `container`, in document order. */\nfunction getTabStops(container: HTMLElement): HTMLElement[] {\n return Array.from(container.querySelectorAll(TAB_STOP_SELECTOR)).filter(\n (element) => element.tabIndex >= 0,\n );\n}\n\n/**\n * `BookChapterControl` is a component that provides an interactive UI for selecting book chapters.\n * It allows users to input a search query to find specific books and chapters, navigate through\n * options with keyboard interactions, and submit selections. The component handles various\n * interactions such as opening and closing the dropdown menu, filtering book lists based on search\n * input, and managing highlighted selections. It also integrates with external handlers for\n * submitting selected references and retrieving active book IDs.\n */\nexport function BookChapterControl({\n scrRef,\n handleSubmit,\n className,\n getActiveBookIds,\n getAdditionalBookIds,\n localizedBookNames,\n localizedStrings,\n recentSearches,\n onAddRecentSearch,\n id,\n getEndVerse,\n disableReferencesUpTo,\n submitKeys,\n triggerContent,\n triggerVariant = 'outline',\n showTriggerChevron = false,\n onOpenChange,\n onCloseAutoFocus,\n modal = false,\n align = 'center',\n ref,\n disabled,\n}: BookChapterControlProps) {\n const direction: Direction = readDirection();\n\n const shrinkStep = useShrinkStepValue();\n\n // Indicates if the Command popover is open or not\n const [isCommandOpen, setIsCommandOpen] = useState(false);\n // The value of the Command, mainly needed for reliable keyboard navigation\n const [commandValue, setCommandValue] = useState('');\n // The value of the Input inside the Command\n const [inputValue, setInputValue] = useState('');\n // The current view mode (books or chapters)\n const [viewMode, setViewMode] = useState('books');\n // The book currently selected for chapter view, if any\n const [selectedBookForChaptersView, setSelectedBookForChaptersView] = useState<\n string | undefined\n >(undefined);\n // The book/chapter currently selected for verse view, if any\n const [selectedBookForVersesView, setSelectedBookForVersesView] = useState(\n undefined,\n );\n const [selectedChapterForVersesView, setSelectedChapterForVersesView] = useState<\n number | undefined\n >(undefined);\n const [isCommandListHidden, setIsCommandListHidden] = useState(false);\n // Whether the book list is expanded past the active project's books. Governs browsing only —\n // searching always spans every reachable book.\n const [isShowingMoreBooks, setIsShowingMoreBooks] = useState(false);\n // Whether a control in the books-view header (a quick-nav arrow, the recent-searches trigger)\n // rather than the search input holds focus. Those controls draw their own focus ring, so the\n // list below must stop drawing one: two focus indicators at once leave the user no way to tell\n // which surface the next keystroke reaches.\n const [isHeaderControlFocused, setIsHeaderControlFocused] = useState(false);\n // Whether the books view's preview grid has taken over the keyboard from the search input. The\n // vertical arrows are the only way in — they are never caret keys — and editing the query is the\n // way back out. Until then the caret keeps the horizontal arrows, so a user typing a reference\n // can still move through what they typed. See `handleCommandKeyDown`.\n const [hasPreviewGridKeyboardControl, setHasPreviewGridKeyboardControl] = useState(false);\n\n // Reference to the PopoverTrigger button. Used by `onPointerDownOutside` to detect\n // clicks on our own trigger while the popover is open — see that handler for the full\n // story. `null` is React's canonical \"not yet attached\" ref value; there's no undefined\n // equivalent in the DOM/ref API.\n // eslint-disable-next-line no-null/no-null\n const triggerRef = useRef(null);\n // Set in `onPointerDownOutside` when we detect a click on our trigger while the popover\n // is open. Consumed in Button's `onClick` to call `event.preventDefault()` before Radix's\n // own `onOpenToggle` handler runs — `composeEventHandlers` skips `onOpenToggle` when\n // `defaultPrevented` is true, so the popover stays closed instead of toggling back open.\n const justClosedByTriggerRef = useRef(false);\n // Reference to the Command component\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const commandRef = useRef(undefined!);\n // Reference to the Input component inside the Command\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const commandInputRef = useRef(undefined!);\n // Reference to the CommandList inside the Command\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const commandListRef = useRef(undefined!);\n // Reference to the selected book item in the CommandList\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const selectedBookItemRef = useRef(undefined!);\n // References to the chapters that are shown as CommandItems\n const chapterRefs = useRef>({});\n // References to the verses that are shown as CommandItems\n const verseRefs = useRef>({});\n\n // Wrapper function to handle submit and add to recent searches\n const handleSubmitAndAddToRecent = useCallback(\n (newScrRef: SerializedVerseRef) => {\n handleSubmit(newScrRef);\n if (onAddRecentSearch) {\n onAddRecentSearch(newScrRef);\n }\n },\n [handleSubmit, onAddRecentSearch],\n );\n\n // #region Available books, filtering and top match logic\n\n const activeBookIds = useMemo(() => {\n return getActiveBookIds ? getActiveBookIds() : ALL_BOOK_IDS;\n }, [getActiveBookIds]);\n\n // Books offered beyond the active project. Ignored when there is no project list to be outside of\n // (no getActiveBookIds means the control already offers the whole canon).\n const additionalBookIds = useMemo(\n () => (getActiveBookIds && getAdditionalBookIds ? getAdditionalBookIds() : []),\n [getActiveBookIds, getAdditionalBookIds],\n );\n\n const {\n projectBooksBySection,\n reachableBooksBySection,\n reachableBooks,\n projectBooks,\n booksOutsideProject,\n } = useMemo(\n () => deriveBookChapterControlBookLists(activeBookIds, additionalBookIds),\n [activeBookIds, additionalBookIds],\n );\n\n // Deliberately the boolean and not `scrRef` or the set it comes from: handleOpenChange closes\n // over this and its identity feeds useImperativeHandle, so depending on either of those would\n // re-register the consumer's imperative handle on every reference change. Depending on the\n // boolean re-registers only when the current book actually crosses in or out of the project.\n const isCurrentBookOutsideProject = booksOutsideProject.has(scrRef.book);\n\n // Filter books based on search input\n const filteredBooksByType = useMemo(() => {\n if (!inputValue.trim())\n return isShowingMoreBooks ? reachableBooksBySection : projectBooksBySection;\n\n // Searching always spans every reachable book, whatever the toggle says\n return groupBooksBySection(\n reachableBooks.filter((bookId) => doesBookMatchQuery(bookId, inputValue, localizedBookNames)),\n );\n }, [\n projectBooksBySection,\n reachableBooksBySection,\n reachableBooks,\n isShowingMoreBooks,\n inputValue,\n localizedBookNames,\n ]);\n\n // Get the current top match\n const topMatch = useMemo(\n () => calculateTopMatch(inputValue, reachableBooks, localizedBookNames),\n [inputValue, reachableBooks, localizedBookNames],\n );\n\n // The reference the top-match row shows, and the one selecting that row submits. Both read this\n // single value so the row can never submit something other than what it displays. The highlighted\n // preview cell is the more specific of the two sources — the user moved the highlight there — so\n // it wins over the chapter/verse parsed out of the typed query.\n const topMatchReference = useMemo((): SerializedVerseRef | undefined => {\n if (!topMatch) return undefined;\n // Only a highlight on this book's own grid refines the reference. A value left over from an\n // earlier query names another book's cell, and mixing it in would compose a reference that was\n // never on screen.\n const highlight = commandValue.startsWith(`${topMatch.book} `) ? commandValue : '';\n const highlightedVerse = parseVerseFromItemValue(highlight);\n const highlightedChapter = parseChapterFromItemValue(highlight);\n // A value cannot name both a chapter cell and a verse cell, so no case-split on which kind of\n // highlight is present is needed: whichever one the value is, the other parse yields\n // `undefined` and falls through.\n return {\n book: topMatch.book,\n chapterNum: highlightedChapter ?? topMatch.chapterNum ?? 1,\n verseNum: highlightedVerse ?? topMatch.verseNum ?? 1,\n };\n }, [topMatch, commandValue]);\n\n // Surface open/close transitions to the parent. Fires only on the true boolean flip, not on\n // internal back-navigation (verses → chapters → books) which is handled without closing the\n // popover. Skip the initial mount run so callers don't see a spurious `onOpenChange(false)`\n // before any interaction — that phantom close has tripped parent focus-restore logic.\n const didMountRef = useRef(false);\n useEffect(() => {\n if (!didMountRef.current) {\n didMountRef.current = true;\n return;\n }\n onOpenChange?.(isCommandOpen);\n }, [isCommandOpen, onOpenChange]);\n\n // #endregion\n\n // #region Submitting references\n\n const handleTopMatchSelect = useCallback(() => {\n if (!topMatchReference) return;\n if (\n disableReferencesUpTo &&\n isVerseBefore(\n topMatchReference.book,\n topMatchReference.chapterNum,\n topMatchReference.verseNum,\n disableReferencesUpTo,\n )\n ) {\n return;\n }\n handleSubmitAndAddToRecent(topMatchReference);\n setIsCommandOpen(false);\n setInputValue('');\n setCommandValue(''); // Reset command value\n }, [handleSubmitAndAddToRecent, topMatchReference, disableReferencesUpTo]);\n\n const handleVerseSelect = useCallback(\n (verseNumber: number) => {\n const bookId = selectedBookForVersesView ?? topMatch?.book;\n const chapterNum = selectedChapterForVersesView ?? topMatch?.chapterNum;\n if (!bookId || !chapterNum) return;\n\n handleSubmitAndAddToRecent({\n book: bookId,\n chapterNum,\n verseNum: verseNumber,\n });\n // Don't reset view / selection state here — `handleOpenChange(true)` does that\n // when the popover reopens. Resetting now causes a flicker: the popover's fade-out\n // animation would otherwise render the book list for a frame before unmounting.\n setIsCommandOpen(false);\n },\n [handleSubmitAndAddToRecent, selectedBookForVersesView, selectedChapterForVersesView, topMatch],\n );\n\n const handleBookSelect = useCallback(\n (bookId: string) => {\n if (disableReferencesUpTo && isBookBefore(bookId, disableReferencesUpTo)) return;\n // Check if book has chapters - if not, submit immediately\n const endChapter = fetchEndChapter(bookId);\n if (endChapter <= 1) {\n handleSubmitAndAddToRecent({\n book: bookId,\n chapterNum: 1,\n verseNum: 1,\n });\n setIsCommandOpen(false);\n setInputValue('');\n return;\n }\n\n // Book has multiple chapters - transition to chapter view\n setSelectedBookForChaptersView(bookId);\n setViewMode('chapters');\n },\n [handleSubmitAndAddToRecent, disableReferencesUpTo],\n );\n\n const handleChapterSelect = useCallback(\n (chapterNumber: number) => {\n // Determine which book we're selecting a chapter for\n const bookId = viewMode === 'chapters' ? selectedBookForChaptersView : topMatch?.book;\n if (!bookId) return;\n\n // If verse selection is enabled and the chapter has multiple verses, transition to verse view\n if (getEndVerse) {\n const endVerse = getEndVerse(bookId, chapterNumber);\n if (endVerse > 1) {\n setSelectedBookForVersesView(bookId);\n setSelectedChapterForVersesView(chapterNumber);\n setViewMode('verses');\n setCommandValue('');\n return;\n }\n }\n\n handleSubmitAndAddToRecent({\n book: bookId,\n chapterNum: chapterNumber,\n verseNum: 1,\n });\n // See `handleVerseSelect` — skip the view/selection reset to avoid a flicker\n // back to the book list during the popover's fade-out animation.\n setIsCommandOpen(false);\n },\n [handleSubmitAndAddToRecent, viewMode, selectedBookForChaptersView, topMatch, getEndVerse],\n );\n\n const handleRecentItemSelect = useCallback(\n (item: SerializedVerseRef) => {\n handleSubmitAndAddToRecent(item);\n setIsCommandOpen(false);\n setInputValue('');\n },\n [handleSubmitAndAddToRecent],\n );\n\n // #endregion\n\n // #region Navigation and view changes\n\n // Hook that provides navigation buttons for quick chapter/verse navigation\n // The collapsed list is the books the user has opted into, so quick navigation stays inside them\n // until the list is expanded.\n const quickNavButtons = useQuickNavButtons(\n scrRef,\n isShowingMoreBooks ? reachableBooks : projectBooks,\n direction,\n handleSubmit,\n localizedStrings,\n );\n\n // Editing the query hands the keyboard back to the text: the user is typing a reference again,\n // so the horizontal arrows have to be able to reach what they typed.\n const handleInputValueChange = useCallback((nextInputValue: string) => {\n setInputValue(nextInputValue);\n setHasPreviewGridKeyboardControl(false);\n }, []);\n\n const handleBackToBooks = useCallback(() => {\n setViewMode('books');\n setSelectedBookForChaptersView(undefined);\n setSelectedBookForVersesView(undefined);\n setSelectedChapterForVersesView(undefined);\n // The books view is reached with the caret back in the search input, so the preview grid starts\n // without the keyboard however the user left it last time.\n setHasPreviewGridKeyboardControl(false);\n\n // Focus the search input when returning to book view\n setTimeout(() => {\n commandInputRef.current?.focus();\n }, 0);\n }, []);\n\n const handleBackToChapters = useCallback(() => {\n // Preserve selectedBookForChaptersView for the chapter view; reset verse state\n const previouslySelectedBook = selectedBookForVersesView;\n setSelectedBookForVersesView(undefined);\n setSelectedChapterForVersesView(undefined);\n\n if (previouslySelectedBook) {\n setSelectedBookForChaptersView(previouslySelectedBook);\n setViewMode('chapters');\n setCommandValue('');\n } else {\n handleBackToBooks();\n }\n }, [selectedBookForVersesView, handleBackToBooks]);\n\n // Reset view state when popover opens. Close requests always close the popover —\n // `Escape`, outside-click, and any other Radix-initiated dismiss route through here and\n // the user expects them to dismiss the whole picker. Stepping back through views is the\n // back button's job; trying to double-duty dismiss as \"go up one level\" silently rewinds\n // the user's selection when Radix fires a close for a transient reason (focus blip, click\n // in a non-item padding area, etc.).\n const handleOpenChange = useCallback(\n (shouldCommandBeOpen: boolean) => {\n setIsCommandOpen(shouldCommandBeOpen);\n if (shouldCommandBeOpen) {\n setViewMode('books');\n setSelectedBookForChaptersView(undefined);\n setSelectedBookForVersesView(undefined);\n setSelectedChapterForVersesView(undefined);\n setInputValue('');\n setHasPreviewGridKeyboardControl(false);\n setIsHeaderControlFocused(false);\n // Seed, don't force: the list opens expanded when the current book is outside the project so\n // that book is visible, and the toggle still collapses from there.\n setIsShowingMoreBooks(isCurrentBookOutsideProject);\n }\n },\n [isCurrentBookOutsideProject],\n );\n\n // `disabled` on the trigger button only prevents OPENING the popover — it does not affect one\n // that is already open, which would otherwise keep accepting input and submit a reference for a\n // control the UI reports as non-interactive (e.g. the toolbar's navigation target disappearing\n // mid-interaction). Close it when the control becomes disabled.\n useEffect(() => {\n if (disabled) handleOpenChange(false);\n }, [disabled, handleOpenChange]);\n\n // Imperative `open()` goes through handleOpenChange (not setIsCommandOpen directly) so the\n // deferred view-state reset runs: the control deliberately leaves stale chapters/verses view\n // state behind on close (see handleVerseSelect / handleChapterSelect) and only resets it when\n // the popover opens. Callers like the Ctrl+B command can't know what view the control was last\n // left in, and CommandInput only renders in 'books' view — without the reset, focus would no-op.\n //\n // Focusing the search input is driven by this request counter (each `open()` call increments\n // it) rather than a `setTimeout` so the focus effect below runs after the commit that actually\n // rendered the popover's books-view CommandInput, even if that render takes longer than a tick.\n const [focusSearchInputRequestId, setFocusSearchInputRequestId] = useState(0);\n\n useEffect(() => {\n if (focusSearchInputRequestId === 0) return;\n commandInputRef.current?.focus();\n }, [focusSearchInputRequestId]);\n\n useImperativeHandle(\n ref,\n () => ({\n open: () => {\n // Match the trigger button: a disabled control cannot be opened imperatively either\n if (disabled) return;\n handleOpenChange(true);\n setFocusSearchInputRequestId((requestId) => requestId + 1);\n },\n }),\n [handleOpenChange, disabled],\n );\n\n // #endregion\n\n // #region Helper functions and variables\n\n const { otLong, ntLong, dcLong, extraLong } = {\n otLong: localizedStrings?.['%scripture_section_ot_long%'],\n ntLong: localizedStrings?.['%scripture_section_nt_long%'],\n dcLong: localizedStrings?.['%scripture_section_dc_long%'],\n extraLong: localizedStrings?.['%scripture_section_extra_long%'],\n };\n\n const getSectionLabel = useCallback(\n (section: Section): string => {\n return getSectionLongName(section, otLong, ntLong, dcLong, extraLong);\n },\n [otLong, ntLong, dcLong, extraLong],\n );\n\n const doesChapterMatch = useCallback(\n (chapter: number) => {\n if (!topMatch) return false;\n return !!topMatch.chapterNum && !chapter.toString().includes(topMatch.chapterNum.toString());\n },\n [topMatch],\n );\n\n /** The complete reference. Rendered at the widest step, and carried in the tooltip at every step. */\n const currentDisplayValue = useMemo(\n () =>\n formatScrRef(\n scrRef,\n localizedBookNames ? getLocalizedBookName(scrRef.book, localizedBookNames) : 'English',\n ),\n [scrRef, localizedBookNames],\n );\n\n /**\n * The book in whichever form the current step calls for: spelled out when there is room, the\n * abbreviated id from step 1 on. Both helpers already handle the no-localization fallback\n * (`Canon.bookIdToEnglishName` / the uppercase id), so this needs no new data and no new\n * localized strings.\n */\n const bookLabel = useMemo(\n () =>\n shrinkStep >= SHRINK_STEP.TIGHT\n ? getLocalizedBookId(scrRef.book, localizedBookNames)\n : getLocalizedBookName(scrRef.book, localizedBookNames),\n [scrRef.book, localizedBookNames, shrinkStep],\n );\n\n const chapterVerseLabel = `${scrRef.chapterNum}:${scrRef.verseNum}`;\n\n const setChapterRef = useCallback((chapter: number) => {\n return (element: HTMLDivElement | null) => {\n chapterRefs.current[chapter] = element;\n };\n }, []);\n\n const setVerseRef = useCallback((verse: number) => {\n return (element: HTMLDivElement | null) => {\n verseRefs.current[verse] = element;\n };\n }, []);\n\n // Whether the current input contains a chapter-verse separator (colon)\n const hasVerseSeparatorInInput = useMemo(\n () => hasChapterVerseSeparator(inputValue),\n [inputValue],\n );\n\n // Whether we should show a verse grid for the current top match\n const shouldShowVerseGridForTopMatch = useMemo(() => {\n if (!getEndVerse || !topMatch || !topMatch.chapterNum) return false;\n if (!hasVerseSeparatorInInput) return false;\n return getEndVerse(topMatch.book, topMatch.chapterNum) > 0;\n }, [getEndVerse, topMatch, hasVerseSeparatorInInput]);\n\n // Only offer the expansion while browsing: searching already spans every reachable book, so the\n // control would sit there doing nothing.\n // `!isCommandListHidden` because the toggle governs that list: quick navigation hides it while\n // leaving viewMode 'books', and a control offering to expand a list that is not on screen does\n // nothing a user can see.\n const canShowMoreBooksToggle =\n viewMode === 'books' &&\n !isCommandListHidden &&\n !inputValue.trim() &&\n booksOutsideProject.size > 0;\n\n const isBookDisabled = useCallback(\n (bookId: string) =>\n disableReferencesUpTo ? isBookBefore(bookId, disableReferencesUpTo) : false,\n [disableReferencesUpTo],\n );\n\n const makeIsChapterDisabled = useCallback(\n (bookId: string) => (chapter: number) =>\n disableReferencesUpTo ? isChapterBefore(bookId, chapter, disableReferencesUpTo) : false,\n [disableReferencesUpTo],\n );\n\n const makeIsVerseDisabled = useCallback(\n (bookId: string, chapterNum: number) => (verse: number) =>\n disableReferencesUpTo\n ? isVerseBefore(bookId, chapterNum, verse, disableReferencesUpTo)\n : false,\n [disableReferencesUpTo],\n );\n\n // `||`, not `??`, throughout: an absent translation can come back as an empty string, which `??`\n // would pass straight through as a blank label. `||` falls back to the English text instead.\n // A key with no entry at all resolves to the key itself, which is truthy and so renders raw as\n // `%key%`; that case is guarded by `book-chapter-control-localization.test.ts`, which fails if any\n // key in `BOOK_CHAPTER_CONTROL_STRING_KEYS` lacks an English value.\n const selectChapterTitle = resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_selectChapter%'],\n 'Select chapter',\n );\n const selectVerseTitle = resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_selectVerse%'],\n 'Select verse',\n );\n const backLabel =\n viewMode === 'verses'\n ? resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_backToChapters%'],\n 'Back to chapters',\n )\n : resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_backToBooks%'],\n 'Back to books',\n );\n const bookNotInProjectLabel = resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_bookNotInProject%'],\n 'Not in project',\n );\n const bookNotInProjectDescriptionTemplate = resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_bookNotInProjectDescription%'],\n '{book} is not in this project',\n );\n // A localized template that places the book itself, rather than appending the short label to a\n // name here: word order, punctuation, and any inflection of the name belong to the translation.\n // Substitutes the same `Name (ID)` form BookItem announces for an undimmed row, so the id is not\n // dropped from a dimmed row's accessible name and both read alike.\n const getBookNotInProjectDescription = useCallback(\n (bookId: string) =>\n formatReplacementString(bookNotInProjectDescriptionTemplate, {\n book: `${getLocalizedBookName(bookId, localizedBookNames)} (${getLocalizedBookId(\n bookId,\n localizedBookNames,\n )})`,\n }),\n [bookNotInProjectDescriptionTemplate, localizedBookNames],\n );\n const showMoreBooksLabel = resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_showMoreBooks%'],\n 'Show more books',\n );\n const showProjectBooksOnlyLabel = resolveLocalizedString(\n localizedStrings?.['%webView_bookChapterControl_showProjectBooksOnly%'],\n 'Show project books only',\n );\n\n // #endregion\n\n // #region Keyboard handling\n\n // Handle keyboard navigation for CommandInput\n const handleInputKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // Override default Home and End key behavior to work normally for cursor movement.\n // Default behavior was to jump to the start/end of the list of items in the Command\n if (event.key === 'Home' || event.key === 'End') {\n event.stopPropagation(); // Prevent Command component from handling these\n }\n\n // Callers can declare extra submit keys (e.g. space and `-` for range pickers). We\n // only submit when the typed input resolves to a fully-qualified reference (book\n // AND chapter AND verse) — a partial match like \"GEN\" or \"GEN 1\" would be ambiguous\n // as an auto-complete from a separator keystroke, so we leave those for the user to\n // finish. When we do submit, consume the keystroke so the character doesn't end up\n // in the input after the popover closes.\n if (\n submitKeys &&\n submitKeys.includes(event.key) &&\n topMatch &&\n topMatch.chapterNum !== undefined &&\n topMatch.verseNum !== undefined\n ) {\n event.preventDefault();\n event.stopPropagation();\n handleTopMatchSelect();\n }\n },\n [submitKeys, topMatch, handleTopMatchSelect],\n );\n\n // Grid-aware keyboard navigation using Command's controlled value\n const handleCommandKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.ctrlKey) return;\n\n const eventTarget = event.target instanceof HTMLElement ? event.target : undefined;\n\n // The recent-searches list portals out to `body`, but it stays a React child of this popover,\n // so its keydowns still arrive at this capture-phase handler — ahead of the list's own\n // bubble-phase navigation. Not one of them is ours to claim: while that list is open it owns\n // every key the user presses, and taking arrows or Enter here would leave it unnavigable and\n // submit a reference out from under it. Both roles matter, because the list is focused in two\n // stages: Radix focuses the CONTENT (`role=\"menu\"`) when it opens and only moves focus onto a\n // row (`role=\"menuitem\"`) once the user arrows.\n //\n // Asking only \"is this inside a menu?\" is not enough, because THIS PICKER can itself live\n // inside one: `ScopeSelector`'s Navigate footer renders it in a `DropdownMenuItem` and\n // portals its popover into the `DropdownMenuContent` (`PopoverPortalContainerProvider`, a\n // pattern `popover.tsx` documents). Every keystroke in the grid would then have `role=\"menu\"`\n // as an ancestor, and this bail would disable the whole control there. So the question is\n // whether the keystroke landed OUTSIDE the cmdk surface this handler drives.\n const isInOwnCommandSurface = !!eventTarget && !!commandRef.current?.contains(eventTarget);\n if (!isInOwnCommandSurface && eventTarget?.closest('[role=\"menu\"], [role=\"menuitem\"]'))\n return;\n\n // Tab keeps focus inside the picker instead of dismissing it. Radix closes a non-modal\n // popover as soon as focus leaves it, and the chapter and verse views offer no tab stop of\n // their own — the back button is deliberately out of the tab order — so every Tab there lands\n // outside and takes the whole picker down, dropping the user back to the trigger with their\n // book and chapter choice discarded. Cycle through the current view's own stops instead (the\n // books view has the search input, the recent-searches trigger, the quick-nav arrows and the\n // show-more toggle) and swallow the key outright when the view has none. Escape still\n // dismisses, so this traps Tab rather than the user.\n if (event.key === 'Tab') {\n const tabStops = commandRef.current ? getTabStops(commandRef.current) : [];\n if (tabStops.length === 0) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n const lastStop = tabStops[tabStops.length - 1];\n const edge = event.shiftKey ? tabStops[0] : lastStop;\n if (document.activeElement === edge) {\n event.preventDefault();\n event.stopPropagation();\n (event.shiftKey ? lastStop : tabStops[0]).focus();\n }\n return;\n }\n\n const { isLetter, isDigit } = getKeyCharacterType(event.key);\n\n // Enter / Space pick the highlighted chapter / verse. cmdk binds Enter natively on\n // the Command root, but a grid picker reads more like \"activate the focused cell\"\n // than an input form, so we centralize both keys here and let the `data-selected`\n // item drive the submit. When focus is on a natively interactive element (the back\n // button), yield: the browser's own activation (click on Enter keydown / Space\n // keyup) should run the button's `onClick`, not submit a grid cell. We still\n // `stopPropagation` so cmdk's Enter handler doesn't ALSO fire in parallel and\n // submit the highlighted chapter while the back button is being pressed.\n if (\n (viewMode === 'chapters' || viewMode === 'verses') &&\n (event.key === ' ' || event.key === 'Enter')\n ) {\n const isTargetInteractive = !!eventTarget?.closest(\n 'button, a, input, select, textarea, [role=\"button\"]',\n );\n if (isTargetInteractive) {\n // Don't preventDefault — browser-native activation (Enter → click, Space →\n // click on keyup) must still reach the button's onClick.\n event.stopPropagation();\n return;\n }\n // Activate the highlighted cell by calling the same handler its onSelect would, using the\n // item number we already hold in `commandValue`. Reading cmdk's private DOM attributes\n // (`cmdk-item`, `data-selected`, `data-disabled`) and synthesizing a click would tie\n // activation to library internals that nothing of ours pins.\n const activation = (() => {\n if (viewMode === 'verses') {\n const bookId = selectedBookForVersesView;\n const chapterNum = selectedChapterForVersesView;\n const verse = parseVerseFromItemValue(commandValue);\n if (!bookId || !chapterNum || verse === undefined) return undefined;\n return {\n isDisabled: makeIsVerseDisabled(bookId, chapterNum)(verse),\n activate: () => handleVerseSelect(verse),\n };\n }\n const bookId = selectedBookForChaptersView;\n const chapter = parseChapterFromItemValue(commandValue);\n if (!bookId || chapter === undefined) return undefined;\n return {\n isDisabled: makeIsChapterDisabled(bookId)(chapter),\n activate: () => handleChapterSelect(chapter),\n };\n })();\n\n if (activation) {\n event.preventDefault();\n event.stopPropagation();\n // Skip activation when the cell is disabled, checking the same predicate the grid\n // renders it with — activation has no DOM node here to read a disabled state from.\n if (!activation.isDisabled) activation.activate();\n return;\n }\n }\n\n // Enter over a top match submits the reference its row displays. The preview grid owns the\n // highlight, so cmdk would otherwise dispatch Enter at the highlighted cell — which knows\n // only a chapter and would drop the verse the user typed. Space is deliberately not included:\n // the books view is a text field, where a space is a character.\n //\n // `!isCommandListHidden` for the same reason the arrow branch below checks it: quick\n // navigation unmounts the list, taking the top-match row with it, while `topMatch` still\n // reflects the stale query. Submitting it there would silently undo the quick-nav step the\n // user just took, with nothing on screen that named the reference being submitted.\n if (viewMode === 'books' && topMatch && !isCommandListHidden && event.key === 'Enter') {\n // The header's own controls (quick navigation, the recent-searches trigger) keep their\n // activation, and so does any input that isn't this picker's search box. The\n // recent-searches list itself never gets this far — the portalled-menu bail at the top of\n // this handler returns before any of these branches run.\n //\n // Excluding the search box is load-bearing, not a special case: it is itself an `input`, so\n // without this it would match the selector below and Enter — the normal way to commit a\n // typed reference — would never submit anything. The chapters/verses branch above needs no\n // such exclusion because the search box is not rendered in those views.\n const isTargetInteractive =\n eventTarget !== commandInputRef.current &&\n !!eventTarget?.closest('button, a, input, select, textarea, [role=\"button\"]');\n if (!isTargetInteractive) {\n event.preventDefault();\n event.stopPropagation();\n handleTopMatchSelect();\n return;\n }\n }\n\n // Letter / digit keys in chapter or verse view do nothing: the filter input isn't\n // visible there, so forwarding keystrokes to it would silently exit the grid\n // (jumping back to the book list and typing into the hidden input). Users stay\n // on the current page; Backspace is the explicit way back.\n if ((viewMode === 'chapters' || viewMode === 'verses') && (isLetter || isDigit)) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n // Backspace steps back one level: verses to chapters, chapters to books. This is the\n // keyboard counterpart to the header's back button, which is deliberately out of the tab\n // order, so it is the only way a keyboard user leaves a grid without committing a reference.\n if (event.key === 'Backspace' && (viewMode === 'chapters' || viewMode === 'verses')) {\n event.preventDefault();\n event.stopPropagation();\n if (viewMode === 'verses') handleBackToChapters();\n else handleBackToBooks();\n return;\n }\n\n // Narrows `event.key` to `ArrowKey` for `computeTargetGridItem` below, and leaves every\n // non-arrow key to cmdk.\n if (!isArrowKey(event.key)) return;\n\n // Quick navigation hides the whole list, and with it the top-match row and the preview grid\n // this handler would be steering. There is nothing on screen for an arrow to move, so\n // claiming one would swallow the keystroke — denying it both to cmdk and to the quick-nav\n // buttons' own focus-restore. The `fetchEndChapter(...) > 1` conjunct in the grid resolver\n // below exists for the same reason; this is the other half of \"is a grid actually rendered\".\n if (isCommandListHidden) return;\n\n // In the books view the search input keeps focus, so a horizontal arrow is first of all a\n // caret key: it belongs to the grid only once the caret has nowhere left to go in that\n // direction — the same rule a combobox uses, and the same reasoning that forwards Home and End\n // to the input. Claiming it unconditionally freezes the caret mid-query AND quietly retargets\n // what Enter submits, because the top-match row prefers the highlighted cell over the parsed\n // query: pressing ArrowLeft to edit the verse in \"mat 12:15\" would step the highlight to 14\n // and submit a verse that was never typed. The dedicated chapter and verse views render no\n // input and take all four arrows.\n //\n // Once the user has stepped into the preview grid, though, they are navigating cells and the\n // whole grid answers to the arrows. Leaving the horizontal pair on the caret strands them\n // there: able to move the highlight down a row but never back along one. The vertical arrows\n // are the way in (they were never caret keys) and editing the query is the way out, so the\n // caret is never taken away from someone who is still typing.\n if (\n viewMode === 'books' &&\n !hasPreviewGridKeyboardControl &&\n (event.key === 'ArrowLeft' || event.key === 'ArrowRight')\n ) {\n // Only when the caret is actually IN the input. An `` keeps its selection offsets\n // after blur, so reading them unconditionally would yield the key to a caret that cannot\n // move — and cmdk binds no horizontal arrows on the Command root, so the keystroke would do\n // nothing at all.\n const input = eventTarget === commandInputRef.current ? commandInputRef.current : undefined;\n const caretStart = input?.selectionStart ?? 0;\n const caretEnd = input?.selectionEnd ?? 0;\n // Which arrow walks toward the start of the text is a property of the layout, not of the\n // key: in a right-to-left field the leftmost character is the LAST one.\n const isTowardTextStart =\n direction === 'rtl' ? event.key === 'ArrowRight' : event.key === 'ArrowLeft';\n const canCaretMove =\n !!input &&\n (caretStart !== caretEnd ||\n (isTowardTextStart ? caretStart > 0 : caretEnd < input.value.length));\n if (canCaretMove) return;\n }\n\n // Shift+arrow is a selection gesture, not a navigation one: in the search box it extends the\n // text selection, and the grid has no notion of a range. Leave it to whatever has focus.\n if (event.shiftKey) return;\n\n // Arrows aimed at a focused header control belong to that control — the quick-nav buttons use\n // ArrowUp / ArrowDown to hand focus back to the search input. The books view's preview grid is\n // steered from the input and never holds focus itself, so it has no claim on those.\n if (\n viewMode === 'books' &&\n eventTarget !== commandInputRef.current &&\n eventTarget?.closest('button, a, [role=\"button\"]')\n )\n return;\n\n // Chapters and verses differ only in where the item count comes from and how an item's\n // cmdk value is spelled. Everything else — reading the current highlight, computing the\n // target, writing it back, scrolling it into view — is identical, so it lives in one place\n // and a fix cannot land in only one grid.\n //\n // Select by the grid that is actually rendered, not by view mode: the books view shows a\n // VERSE preview grid whenever the query carries a chapter-verse separator, and driving that\n // with chapter arithmetic writes a value no verse cell can match, blanking the highlight.\n const grid = (() => {\n const versePreviewInBooksView =\n viewMode === 'books' && topMatch && shouldShowVerseGridForTopMatch && topMatch.chapterNum\n ? { bookId: topMatch.book, chapterNum: topMatch.chapterNum }\n : undefined;\n const verseTarget =\n viewMode === 'verses'\n ? { bookId: selectedBookForVersesView, chapterNum: selectedChapterForVersesView }\n : versePreviewInBooksView;\n\n if (verseTarget) {\n const { bookId, chapterNum } = verseTarget;\n if (!bookId || !chapterNum || !getEndVerse) return undefined;\n return {\n max: getEndVerse(bookId, chapterNum),\n current: parseVerseFromItemValue(commandValue) ?? 0,\n buildValue: (item: number) => verseItemValue(bookId, chapterNum, item),\n refs: verseRefs,\n // In books view focus stays on the CommandInput so the user can keep typing; only\n // the dedicated grid views pull focus off the back button.\n takeFocus: viewMode === 'verses',\n };\n }\n\n // The books view renders its chapter preview only for books with more than one chapter, so\n // a single-chapter top match (Jude, Obadiah, Philemon, 2-3 John) has no grid to drive. Claim\n // the keystroke there and it would write a chapter value no rendered item carries, blanking\n // the highlight; let it fall through to cmdk so the list stays navigable instead.\n if (\n viewMode === 'chapters' ||\n (viewMode === 'books' && topMatch && fetchEndChapter(topMatch.book) > 1)\n ) {\n const bookId = viewMode === 'chapters' ? selectedBookForChaptersView : topMatch?.book;\n if (!bookId) return undefined;\n return {\n max: fetchEndChapter(bookId),\n current: parseChapterFromItemValue(commandValue) ?? 0,\n buildValue: (item: number) => chapterItemValue(bookId, item),\n refs: chapterRefs,\n takeFocus: viewMode === 'chapters',\n };\n }\n return undefined;\n })();\n\n if (!grid) return;\n\n // A non-positive count means the Scripture data has no chapter/verse count for this book\n // (deuterocanonical books come back as -1). Navigating with it produces a highlight value\n // no grid cell can match, which silently blanks the highlight.\n if (grid.max <= 0) return;\n\n // The grid is taking this key, so from here it owns the keyboard and the horizontal arrows\n // follow the vertical ones into it. Set before the clamp below, because entering the grid is\n // the point even on the press that cannot move the highlight — in a single-row grid\n // (Lamentations has five chapters) ArrowDown has nowhere to go, and a user who could not get\n // the arrows to follow would have no way in at all. Only the books view tracks this; the\n // dedicated grid views have no caret competing for the keys.\n if (viewMode === 'books') setHasPreviewGridKeyboardControl(true);\n\n if (grid.takeFocus) {\n // Arrow keys drive the grid now — pull focus off the back button (the only natively\n // focusable element in these views) so its focus ring doesn't compete with the grid's\n // highlight. The Command root carries tabIndex={-1} from cmdk, so it is a valid focus\n // target and PopoverContent's capture-phase key handling keeps working.\n commandRef.current?.focus();\n }\n\n const target = computeTargetGridItem({\n current: grid.current,\n key: event.key,\n max: grid.max,\n direction,\n });\n\n // An arrow key aimed at the grid belongs to the grid even when the highlight does not move.\n // The Command root navigates with `loop`, so releasing a clamped keystroke to it would wrap\n // the highlight to the opposite edge — precisely what clamping exists to prevent.\n event.preventDefault();\n event.stopPropagation();\n\n if (target === grid.current) return;\n\n setCommandValue(grid.buildValue(target));\n\n const targetElement = grid.refs.current[target];\n if (targetElement) targetElement.scrollIntoView({ block: 'nearest', behavior: 'smooth' });\n },\n [\n viewMode,\n topMatch,\n shouldShowVerseGridForTopMatch,\n isCommandListHidden,\n hasPreviewGridKeyboardControl,\n direction,\n handleBackToBooks,\n handleBackToChapters,\n handleChapterSelect,\n handleTopMatchSelect,\n handleVerseSelect,\n makeIsChapterDisabled,\n makeIsVerseDisabled,\n selectedBookForChaptersView,\n selectedBookForVersesView,\n selectedChapterForVersesView,\n getEndVerse,\n commandValue,\n ],\n );\n\n const handleQuickNavButtonKeyDown = useCallback((event: KeyboardEvent) => {\n if (event.shiftKey || event.key === 'Tab' || event.key === ' ') return;\n\n // Enter must activate the focused quick-nav button the way any other button\n // would. The browser turns keydown Enter into a click automatically, but cmdk's\n // onKeyDown on the Command root (an ancestor) would fire next and call\n // `event.preventDefault()` in its Enter branch — canceling that click synthesis\n // and submitting the highlighted book list item instead of running the\n // quick-nav handler. Stop propagation here (button onKeyDown runs before the\n // ancestor's) so cmdk never sees the Enter. Do NOT preventDefault — that's\n // what the browser uses to produce the click on the button.\n if (event.key === 'Enter') {\n event.stopPropagation();\n return;\n }\n\n // Up / Down signal the user wants to walk the book list. cmdk's arrow-key\n // handler on the Command root takes care of moving the `data-selected`\n // highlight (the keydown keeps bubbling up past us to reach it), but the\n // quick-nav button's focus ring would otherwise linger and compete with\n // the cmdk highlight. Pull focus to the search input — the visual focus\n // state that a user expects to see during book-list navigation.\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n commandInputRef.current?.focus();\n return;\n }\n\n const { isLetter, isDigit } = getKeyCharacterType(event.key);\n\n if (isLetter || isDigit) {\n event.preventDefault();\n\n setInputValue((prevValue) => prevValue + event.key);\n commandInputRef.current?.focus();\n\n setIsCommandListHidden(false);\n }\n }, []);\n\n // #endregion\n\n // #region Auto-scroll\n\n // Auto-scroll to currently selected book when dropdown opens in book view\n useLayoutEffect(() => {\n const scrollTimeout = setTimeout(() => {\n if (\n isCommandOpen &&\n viewMode === 'books' &&\n commandListRef.current &&\n selectedBookItemRef.current\n ) {\n const listElement = commandListRef.current;\n const itemElement = selectedBookItemRef.current;\n\n // Calculate scroll position to center the selected item\n const itemOffsetTop = itemElement.offsetTop;\n const listHeight = listElement.clientHeight;\n const itemHeight = itemElement.clientHeight;\n const scrollPosition = itemOffsetTop - listHeight / 2 + itemHeight / 2;\n\n listElement.scrollTo({\n top: Math.max(0, scrollPosition),\n behavior: 'smooth',\n });\n\n // Set the selected book as the active item for keyboard navigation\n setCommandValue(generateCommandValue(scrRef.book));\n }\n }, 0);\n\n return () => {\n clearTimeout(scrollTimeout);\n };\n }, [isCommandOpen, viewMode, inputValue, topMatch, scrRef.book]);\n\n // Auto-scroll to appropriate chapter\n useLayoutEffect(() => {\n if (viewMode === 'chapters' && selectedBookForChaptersView) {\n // Check if we're entering chapter view for the currently selected book\n const isCurrentlySelectedBook = selectedBookForChaptersView === scrRef.book;\n const initialChapter = isCurrentlySelectedBook ? scrRef.chapterNum : 1;\n\n // Seed commandValue to the starting chapter so arrow-key navigation has a concrete\n // starting point (see handleCommandKeyDown) and cmdk visibly highlights that chapter\n // even when focus is pinned on the PopoverContent wrapper by Radix's FocusScope in\n // modal mode.\n setCommandValue(chapterItemValue(selectedBookForChaptersView, initialChapter));\n\n // Reset scroll position to top, except when viewing the currently selected book\n setTimeout(() => {\n if (commandListRef.current) {\n if (isCurrentlySelectedBook) {\n // Scroll to the currently selected chapter\n const targetElement = chapterRefs.current[scrRef.chapterNum];\n if (targetElement) {\n targetElement.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }\n } else {\n // Reset to top for other books\n commandListRef.current.scrollTo({ top: 0 });\n }\n }\n\n // Ensure Command component has focus for keyboard navigation\n if (commandRef.current) {\n commandRef.current.focus();\n }\n }, 0);\n }\n }, [viewMode, selectedBookForChaptersView, topMatch, scrRef.book, scrRef.chapterNum]);\n\n // Auto-scroll to appropriate verse\n useLayoutEffect(() => {\n if (\n viewMode === 'verses' &&\n selectedBookForVersesView &&\n selectedChapterForVersesView !== undefined\n ) {\n const isCurrentlySelectedChapter =\n selectedBookForVersesView === scrRef.book &&\n selectedChapterForVersesView === scrRef.chapterNum;\n const initialVerse = isCurrentlySelectedChapter ? scrRef.verseNum : 1;\n\n // Seed commandValue so arrow-key navigation has a concrete starting verse and cmdk\n // highlights it when focus is pinned on the PopoverContent wrapper (modal FocusScope).\n setCommandValue(\n verseItemValue(selectedBookForVersesView, selectedChapterForVersesView, initialVerse),\n );\n\n setTimeout(() => {\n if (commandListRef.current) {\n if (isCurrentlySelectedChapter) {\n const targetElement = verseRefs.current[scrRef.verseNum];\n if (targetElement) {\n targetElement.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }\n } else {\n commandListRef.current.scrollTo({ top: 0 });\n }\n }\n if (commandRef.current) {\n commandRef.current.focus();\n }\n }, 0);\n }\n }, [\n viewMode,\n selectedBookForVersesView,\n selectedChapterForVersesView,\n scrRef.book,\n scrRef.chapterNum,\n scrRef.verseNum,\n ]);\n\n // Identity of the reference the preview grid is seeded from. Built out of the parsed reference\n // and the kind of grid on screen, so it changes exactly when a fresh seed is wanted — editing\n // the query to a different reference — and not when the highlight merely moves.\n const previewSeedKey = topMatch\n ? `${topMatch.book} ${topMatch.chapterNum ?? ''} ${topMatch.verseNum ?? ''} ${shouldShowVerseGridForTopMatch}`\n : '';\n const seededPreviewKeyRef = useRef('');\n // The cmdk value of the preview cell the highlight last named.\n const highlightedPreviewCellRef = useRef('');\n\n // The preview grid the books view renders under the top-match row, or `undefined` when there is\n // none on screen. Both the seeding effect below and the controlled-value handler read this, so\n // they cannot disagree about whether a grid exists to hold the highlight.\n const previewGrid = useMemo(() => {\n if (viewMode !== 'books' || !topMatch || isCommandListHidden) return undefined;\n\n const { book, chapterNum, verseNum } = topMatch;\n if (shouldShowVerseGridForTopMatch && chapterNum && getEndVerse) {\n return {\n max: getEndVerse(book, chapterNum),\n initial:\n verseNum ??\n (book === scrRef.book && chapterNum === scrRef.chapterNum ? scrRef.verseNum : 1),\n parse: parseVerseFromItemValue,\n buildValue: (item: number) => verseItemValue(book, chapterNum, item),\n };\n }\n // A single-chapter book renders no chapter preview, so there is no cell for a seed to land on;\n // writing one would blank the highlight instead of placing it.\n const endChapter = fetchEndChapter(book);\n if (endChapter <= 1) return undefined;\n return {\n max: endChapter,\n initial: chapterNum ?? (book === scrRef.book ? scrRef.chapterNum : 1),\n parse: parseChapterFromItemValue,\n buildValue: (item: number) => chapterItemValue(book, item),\n };\n }, [\n viewMode,\n topMatch,\n isCommandListHidden,\n shouldShowVerseGridForTopMatch,\n getEndVerse,\n scrRef.book,\n scrRef.chapterNum,\n scrRef.verseNum,\n ]);\n\n // The books view shows a chapter (or verse) preview grid under the top-match row. Seed its\n // highlight the same way the chapters and verses views seed theirs, so every grid surface obeys\n // the same rule: exactly one cell is highlighted for as long as the grid is on screen, and arrow\n // keys only ever move it.\n //\n // Seeding is still an effect rather than part of the value handler above, because a fresh\n // reference arrives as a render (the query changed), not as a value request from cmdk. Running it\n // in a LAYOUT effect keeps the seed in the same commit, so no frame is ever painted with the\n // highlight off the grid. A new parsed reference seeds afresh; a highlight the user moved\n // survives.\n useLayoutEffect(() => {\n if (viewMode !== 'books' || !topMatch || !previewGrid || previewGrid.max <= 0) {\n seededPreviewKeyRef.current = '';\n return;\n }\n\n const { max, initial, parse, buildValue } = previewGrid;\n // Only a value this grid actually renders can carry the highlight, so anything out of range or\n // belonging to another book counts as \"off the grid\".\n const cellNamedBy = (value: string) => {\n const item = parse(value);\n return item !== undefined && item >= 1 && item <= max && value === buildValue(item)\n ? item\n : undefined;\n };\n\n if (seededPreviewKeyRef.current !== previewSeedKey) {\n seededPreviewKeyRef.current = previewSeedKey;\n const seeded = buildValue(Math.min(Math.max(initial, 1), max));\n highlightedPreviewCellRef.current = seeded;\n setCommandValue(seeded);\n return;\n }\n\n if (cellNamedBy(commandValue) !== undefined) {\n highlightedPreviewCellRef.current = commandValue;\n return;\n }\n\n setCommandValue(\n cellNamedBy(highlightedPreviewCellRef.current) !== undefined\n ? highlightedPreviewCellRef.current\n : buildValue(Math.min(Math.max(initial, 1), max)),\n );\n }, [viewMode, topMatch, previewGrid, previewSeedKey, commandValue]);\n\n // #endregion\n\n return (\n \n \n {\n // When `onPointerDownOutside` detected our trigger was clicked while the\n // popover was open, it already closed the popover and set this flag. Without\n // this guard, the click event reaches Radix's `onOpenToggle` which sees\n // `open=false` (we already closed it) and toggles it back to `true`, causing\n // the reopen. `event.preventDefault()` makes `composeEventHandlers` skip\n // `onOpenToggle` so the popover stays closed.\n if (justClosedByTriggerRef.current) {\n justClosedByTriggerRef.current = false;\n event.preventDefault();\n }\n }}\n >\n {triggerContent ?? (\n = SHRINK_STEP.TIGHT}\n fullText={currentDisplayValue}\n />\n )}\n {showTriggerChevron && (\n \n )}\n \n \n event.stopPropagation()}\n // Close-on-trigger-click while open: Radix's built-in DismissableLayer prevents\n // dismissal when the pointer target is the trigger (it treats that as \"user intends\n // to toggle, let the trigger's own onClick handle it\"). But in our controlled\n // Popover the trigger's `onOpenToggle` calls `onOpenChange(!open)` — by the time\n // the click fires, React may have already re-rendered with `open=false` (from a\n // prior close), so `!open = true` and the popover reopens. We intercept here:\n // close the popover early (before Radix's own dismiss path) and set\n // `justClosedByTriggerRef` so the trigger's `onClick` can call `preventDefault()`\n // which makes Radix's `composeEventHandlers` skip `onOpenToggle` entirely.\n //\n // Guard with `isCommandOpen`: PopoverContent stays mounted during the fade-out\n // animation after close, so this handler still fires for trigger clicks made while\n // the popover is animating out. Treating those as \"close\" would set the\n // `justClosedByTriggerRef` interlock and block the legitimate reopen click. Only\n // intercept when the popover is logically open.\n onPointerDownOutside={(event) => {\n const { target } = event;\n if (\n isCommandOpen &&\n triggerRef.current &&\n target instanceof Node &&\n triggerRef.current.contains(target)\n ) {\n // Mark that we're closing due to a trigger click so the subsequent `click`\n // event on the button (which would reopen the popover via Radix's\n // `onOpenToggle`) can be blocked. See `justClosedByTriggerRef`.\n justClosedByTriggerRef.current = true;\n handleOpenChange(false);\n }\n }}\n onCloseAutoFocus={onCloseAutoFocus}\n >\n \n \n {/* Header: Input (with quick nav buttons) for book view, fixed header for chapter view */}\n {viewMode === 'books' ? (\n {\n setIsHeaderControlFocused(event.target !== commandInputRef.current);\n }}\n onBlur={(event) => {\n // Moving between two buttons in this row fires a blur before the next focus.\n // Ignore it while focus is still landing inside the row, so the ring does not\n // flicker back on between the quick-nav arrows.\n if (event.currentTarget.contains(event.relatedTarget)) return;\n setIsHeaderControlFocused(false);\n }}\n >\n
\n setIsCommandListHidden(false)}\n className={recentSearches && recentSearches.length > 0 ? 'tw:pe-8!' : ''}\n // Picker semantics: with nothing typed, Space picks the highlighted book (the\n // Enter UX). Neither of this control's own Space handlers covers that state —\n // `handleInputKeyDown` claims a key only for a FULLY-qualified `submitKeys`\n // match (an empty input has no top match at all), and the `data-selected` grid\n // pick in `handleCommandKeyDown` is gated on the chapters and verses views,\n // while this input exists only in the books view. Space is still an ordinary\n // character once anything is typed, so \"1 Samuel\" stays searchable.\n spaceSelectsHighlightedItem\n />\n {recentSearches && recentSearches.length > 0 && (\n formatScrRef(verseRef, 'English')}\n getItemKey={(verseRef) =>\n `${verseRef.book}-${verseRef.chapterNum}-${verseRef.verseNum}`\n }\n ariaLabel={localizedStrings?.['%history_recentSearches_ariaLabel%']}\n groupHeading={localizedStrings?.['%history_recent%']}\n buttonClassName=\"tw:absolute tw:end-1 tw:top-1\"\n />\n )}\n
\n {/* Navigation buttons for previous/next chapter/verse. `ButtonGroup` (rather than a\n plain flex row) supplies the `role=\"group\"` that names these four as one control\n and matches NavigationHistoryButtons, the neighbouring toolbar control. `gap-1`\n overrides the group's default flush-edge packing, which would run the ghost\n buttons together. A separator marks each change of `group`, so chapter and verse\n controls stay visually distinct. */}\n {/* `h-8.5` on the buttons and `translate-y-px` here are tuned against the\n `CommandInput` beside them, which InputGroup fixes at `h-8`, in this `items-end`\n row — change them together if that height changes. */}\n \n {quickNavButtons.map(\n (\n { onClick, disabled: isQuickNavDisabled, title, icon: Icon, group },\n index,\n ) => {\n const quickNavButton = (\n {\n setIsCommandListHidden(true);\n onClick();\n }}\n disabled={isQuickNavDisabled}\n // `rounded-lg!` re-asserts all four corners against `ButtonGroup`'s\n // horizontal variant, which squares off the inner edges so that flush\n // buttons read as one bar. These four are not flush — `gap-1` on the\n // group separates them — so the squared edges buy nothing and cost\n // something: the focus ring traces the border radius, so tabbing along\n // the row produced a ring that changed shape from button to button. The\n // radius matches what `size=\"sm\"` already applies inside a button group,\n // so only the corners the group removed come back.\n className=\"tw:h-8.5 tw:w-6 tw:rounded-lg! tw:p-0\"\n aria-label={title}\n onKeyDown={handleQuickNavButtonKeyDown}\n >\n \n \n );\n\n return (\n // Keyed by position, not by `title`: the titles are localized, so they all\n // change together the moment the strings resolve or the UI language does.\n // Keying on them would remount all four buttons at that instant, dropping\n // focus off whichever one the user was on and destroying an open tooltip.\n // The set is fixed in size and order, so the index is stable.\n // eslint-disable-next-line react/no-array-index-key\n \n {index > 0 && group !== quickNavButtons[index - 1].group && (\n \n )}\n {isQuickNavDisabled ? (\n // A disabled Button carries `pointer-events: none` from its own base\n // variants, so it is not hit-tested: neither a Radix tooltip nor a\n // `title` ON THE BUTTON can ever fire. These arrows come back disabled\n // at the edges of the canon — Genesis 1:1 is the default state of a\n // freshly opened project — which is exactly where a user asks what the\n // button was for. The wrapper is still hit-tested, so the native\n // tooltip it carries is the one hover explanation available here.\n \n {quickNavButton}\n \n ) : (\n \n {quickNavButton}\n {title}\n \n )}\n \n );\n },\n )}\n \n \n ) : (\n
\n \n \n \n {direction === 'ltr' ? (\n \n ) : (\n \n )}\n \n \n {backLabel}\n \n {viewMode === 'chapters' && selectedBookForChaptersView && (\n \n {getLocalizedBookName(selectedBookForChaptersView, localizedBookNames)}\n \n )}\n {viewMode === 'verses' &&\n selectedBookForVersesView &&\n selectedChapterForVersesView !== undefined && (\n \n {`${getLocalizedBookName(selectedBookForVersesView, localizedBookNames)} ${selectedChapterForVersesView}`}\n \n )}\n \n {viewMode === 'verses' ? selectVerseTitle : selectChapterTitle}\n \n
\n )}\n\n {/** Body */}\n {!isCommandListHidden && (\n \n {/** Book list mode (also used in case of top matches) */}\n {viewMode === 'books' && (\n <>\n {/* Book List - Show when we don't have a top match */}\n {!topMatch &&\n Object.entries(filteredBooksByType).map(([type, books]) => {\n if (books.length === 0) return undefined;\n\n return (\n // We are mapping over filteredBooksByType, which uses Section as key type\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n \n {books.map((bookId) => (\n \n handleBookSelect(selectedBookId)\n }\n section={getSectionForBook(bookId)}\n commandValue={generateCommandValue(bookId)}\n suppressKeyboardHighlight={isHeaderControlFocused}\n ref={bookId === scrRef.book ? selectedBookItemRef : undefined}\n localizedBookNames={localizedBookNames}\n disabled={isBookDisabled(bookId)}\n dimmedReason={\n booksOutsideProject.has(bookId)\n ? bookNotInProjectLabel\n : undefined\n }\n dimmedDescription={\n booksOutsideProject.has(bookId)\n ? getBookNotInProjectDescription(bookId)\n : undefined\n }\n />\n ))}\n \n );\n })}\n\n {/* Top match scripture reference */}\n {topMatch && topMatchReference && (\n \n svg:last-child]:hidden\"\n >\n \n {formatScrRef(\n topMatchReference,\n getLocalizedBookName(topMatch.book, localizedBookNames),\n )}\n \n \n {getLocalizedBookId(topMatch.book, localizedBookNames)}\n \n \n \n )}\n\n {/* Verse selector - when chapter-verse separator is present in the input */}\n {topMatch &&\n shouldShowVerseGridForTopMatch &&\n topMatch.chapterNum &&\n getEndVerse && (\n // No heading over this grid: the top-match row sits directly above it and\n // already names the book and the reference the grid is refining, so a\n // heading here only repeated the book back to the user one line later. The\n // dedicated verses view still carries one, because there it is the only\n // thing naming the book.\n \n )}\n\n {/* Chapter Selector - Show when we have a top match without a verse separator */}\n {topMatch &&\n !shouldShowVerseGridForTopMatch &&\n fetchEndChapter(topMatch.book) > 1 && (\n // No heading here either, for the same reason as the verse preview above:\n // the top-match row directly above already names the book.\n \n )}\n \n )}\n\n {/* Basic chapter view mode */}\n {viewMode === 'chapters' && selectedBookForChaptersView && (\n \n )}\n\n {/* Verse view mode */}\n {viewMode === 'verses' &&\n selectedBookForVersesView &&\n selectedChapterForVersesView !== undefined &&\n getEndVerse && (\n \n )}\n \n )}\n\n {/* Outside CommandList on purpose: inside it, cmdk would register this as an option —\n arrow-navigable and matched by typing — instead of a control. */}\n {canShowMoreBooksToggle && (\n
\n setIsShowingMoreBooks((wasShowing) => !wasShowing)}\n >\n {isShowingMoreBooks ? showProjectBooksOnlyLabel : showMoreBooksLabel}\n \n
\n )}\n \n
\n \n
\n );\n}\n\nexport default BookChapterControl;\n","import { SerializedVerseRef } from '@sillsdev/scripture';\nimport { LanguageStrings } from 'platform-bible-utils';\nimport { ComponentPropsWithoutRef, ReactNode, Ref } from 'react';\nimport { ButtonProps } from '@/components/shadcn-ui/button';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\n\n/**\n * Object containing all keys used for localization in the BookChapterControl component. If you're\n * using this component in an extension, you can pass it into the useLocalizedStrings hook to easily\n * obtain the localized strings and pass them into the localizedStrings prop of this component\n */\nexport const BOOK_CHAPTER_CONTROL_STRING_KEYS = Object.freeze([\n '%scripture_section_ot_long%',\n '%scripture_section_nt_long%',\n '%scripture_section_dc_long%',\n '%scripture_section_extra_long%',\n '%history_recent%',\n '%history_recentSearches_ariaLabel%',\n '%webView_bookChapterControl_bookNotInProject%',\n '%webView_bookChapterControl_bookNotInProjectDescription%',\n '%webView_bookChapterControl_selectChapter%',\n '%webView_bookChapterControl_selectVerse%',\n '%webView_bookChapterControl_showMoreBooks%',\n '%webView_bookChapterControl_showProjectBooksOnly%',\n '%webView_bookChapterControl_previousChapter%',\n '%webView_bookChapterControl_nextChapter%',\n '%webView_bookChapterControl_previousVerse%',\n '%webView_bookChapterControl_nextVerse%',\n '%webView_bookChapterControl_backToBooks%',\n '%webView_bookChapterControl_backToChapters%',\n] as const);\n\n/** Type definition for the localized strings used in the BookChapterControl component */\nexport type BookChapterControlLocalizedStrings = {\n [localizedKey in (typeof BOOK_CHAPTER_CONTROL_STRING_KEYS)[number]]?: string;\n};\n\nexport type BookWithOptionalChapterAndVerse = Omit &\n Partial>;\n\nexport type ViewMode = 'books' | 'chapters' | 'verses';\n\n/**\n * Imperative handle for controlling a {@link BookChapterControl} from outside React — e.g. the\n * `platform.openBookChapterControl` command opening it in response to Ctrl+B\n *\n * @experimental This export is unstable and may change shape or disappear without notice\n */\nexport type BookChapterControlHandle = {\n /**\n * Opens the reference dropdown and focuses its search input, ready for typing. No-op while the\n * control is disabled.\n */\n open: () => void;\n};\n\nexport type BookChapterControlProps = {\n /** The current scripture reference */\n scrRef: SerializedVerseRef;\n /** Callback to handle the submission of a selected reference */\n handleSubmit: (scrRef: SerializedVerseRef) => void;\n /** Optional additional class name for styling */\n className?: string;\n /** Callback to retrieve book IDs that are available in the current context */\n getActiveBookIds?: () => string[];\n /**\n * Optional callback returning book ids that exist outside the active project — e.g. books present\n * in an open resource. They are hidden from the default list, revealed by the \"show more books\"\n * control, and always searchable; those not also returned by `getActiveBookIds` render dimmed but\n * remain selectable.\n *\n * Ignored unless `getActiveBookIds` is also passed: without a project list the control already\n * offers the whole canon, so there is nothing left for this to add.\n *\n * WARNING: MUST BE STABLE - const or wrapped in useState, useMemo, etc. The reference must not be\n * updated every render\n */\n getAdditionalBookIds?: () => string[];\n /**\n * Optional map of localized book IDs/short names and full names. The key is the standard book ID\n * (e.g., \"2CH\"), the value contains a localized version of the ID and related book name (e.g. {\n * localizedId: '2CR', localizedName: '2 Crónicas' })\n */\n localizedBookNames?: Map;\n /** Optional localized strings for the component */\n localizedStrings?: LanguageStrings;\n /** Array of recent scripture references for quick access */\n recentSearches?: SerializedVerseRef[];\n /** Callback to add a new recent scripture reference */\n onAddRecentSearch?: (scrRef: SerializedVerseRef) => void;\n /** Optional ID for the popover content for accessibility */\n id?: string;\n /**\n * Optional callback returning the number of verses for a given book and chapter. When provided,\n * the control enables verse selection: clicking a chapter transitions to a verse selection\n * sub-screen, and typing a reference with a chapter:verse separator shows a verse grid. When\n * omitted, the control selects `verseNum: 1` after a chapter is chosen (current behavior).\n */\n getEndVerse?: (bookId: string, chapterNum: number) => number;\n /**\n * Optional lower bound. When provided, any reference that comes strictly before this one in canon\n * order is disabled in the UI (books, chapters, and verses). Used to prevent selecting an \"end\"\n * reference that precedes a \"start\" reference (e.g., in a range picker).\n */\n disableReferencesUpTo?: SerializedVerseRef;\n /**\n * Optional list of extra keys that submit the currently-matched reference from the search input\n * (in addition to `Enter`, which always submits). When one of these keys is pressed while the\n * typed input resolves to a valid top-match reference, that match is submitted and the key is\n * consumed (not inserted into the input). Intended for flows where a \"separator\" keystroke\n * implies completion — e.g. a range picker that uses space or `-` to confirm the start of a range\n * and advance to the end.\n */\n submitKeys?: readonly string[];\n /**\n * Optional override for the contents of the trigger button. When provided, this replaces the\n * default current-reference label (`\"MAT 5:3\"`) rendered inside the button — useful when the\n * current reference is already shown elsewhere and the trigger only needs an icon (e.g. an inline\n * \"change reference\" affordance). The Button itself is still the PopoverTrigger; only its inner\n * content is swapped.\n */\n triggerContent?: ReactNode;\n /**\n * Optional Button variant applied to the trigger. Defaults to `\"outline\"` (the standard inline\n * picker look); pass `\"ghost\"` when the control is embedded in a menu / list where a bordered\n * button would feel out of place.\n */\n triggerVariant?: ButtonProps['variant'];\n /**\n * Set to `true` to render an up-down chevron indicator at the end of the trigger, signaling that\n * it opens a picker. Defaults to `false` (no chevron) — most existing embeddings show the current\n * reference alone and don't need one.\n */\n showTriggerChevron?: boolean;\n /**\n * Optional callback fired whenever the control's popover open state changes. Useful when the\n * parent needs to react to the picker opening or closing — e.g. dimming a sibling control while\n * this one is active. Internal back-navigation within the popover (verses → chapters → books)\n * does not toggle this: only true open/close transitions do.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Optional handler forwarded to the underlying Radix `Popover.Content`. Fires as the popover\n * closes and decides where focus should land next — by default Radix returns focus to the trigger\n * button. Call `event.preventDefault()` and focus a different element when the trigger isn't the\n * right landing spot (e.g. the picker is nested inside a DropdownMenuItem and focus should return\n * to the menu item so arrow-key navigation continues to work).\n */\n onCloseAutoFocus?: ComponentPropsWithoutRef['onCloseAutoFocus'];\n /**\n * Optional flag forwarded to the underlying Radix `Popover.Root`. Defaults to `false`. Set to\n * `true` when the control is opened from inside another focus-trapping primitive (a Radix Dialog\n * or DropdownMenu) — the transient focus blip that happens when the picker transitions between\n * book/chapter/verse views would otherwise collide with the outer scope's focus trap and dismiss\n * the popover. Modal mode gives the popover its own FocusScope that pauses the outer scope while\n * it's open, avoiding the collision.\n */\n modal?: boolean;\n /**\n * Optional alignment for the popover relative to its trigger along the cross-axis. Forwarded to\n * the underlying Radix `Popover.Content`. Defaults to `\"center\"`. Use `\"start\"` when the control\n * sits on the right edge of a constrained container (e.g. the second picker in a range dialog) to\n * keep the popover anchored to the trigger's leading edge rather than spilling off-screen.\n */\n align?: ComponentPropsWithoutRef['align'];\n /**\n * Ref that receives a {@link BookChapterControlHandle} for imperative control\n *\n * @experimental This property is unstable and may change shape or disappear without notice\n */\n ref?: Ref;\n /**\n * When true, the control is disabled (e.g. no target to navigate): the trigger button cannot be\n * clicked, an already-open dropdown closes, and the imperative\n * {@link BookChapterControlHandle.open} is a no-op\n */\n disabled?: boolean;\n};\n","import { type CSSProperties, type ComponentProps, ReactNode, useState } from 'react';\nimport { Check, ChevronDown } from 'lucide-react';\nimport { cn } from '@/utils/shadcn-ui/utils';\nimport { Button, ButtonProps } from '@/components/shadcn-ui/button';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/shadcn-ui/popover';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/shadcn-ui/command';\n\nexport type ComboBoxLabelOption = { label: string; secondaryLabel?: string };\nexport type ComboBoxOption = string | number | ComboBoxLabelOption;\n\n/** Represents a group of options with an optional heading */\nexport type ComboBoxGroup = {\n /** The heading text for this group of options */\n groupHeading: string;\n /** The options within this group */\n options: readonly T[];\n};\n\nexport type ComboBoxProps = {\n /** Optional unique identifier */\n id?: string;\n /**\n * List of available options for the dropdown menu. Can be either:\n *\n * - A flat array of options (single group, no heading)\n * - An array of group objects. Each group has a heading and an array of options\n */\n options?: readonly T[] | readonly ComboBoxGroup[];\n /** @deprecated 3 December 2024. Renamed to `buttonClassName` */\n className?: string;\n /** Additional css classes to help with unique styling of the combo box button */\n buttonClassName?: string;\n /** Additional css classes to help with unique styling of the combo box popover */\n popoverContentClassName?: string;\n /**\n * Additional inline styles for the combo box popover. Use for z-index overrides instead of\n * className to avoid being overridden by PopoverContent's inline default z-index.\n */\n popoverContentStyle?: CSSProperties;\n /**\n * The selected value that the combo box currently holds. Must be shallow equal to one of the\n * options entries.\n */\n value?: T;\n /** Triggers when content of textfield is changed */\n onChange?: (newValue: T) => void;\n /** Used to determine the string value for a given option. */\n getOptionLabel?: (option: T) => string;\n /**\n * Used to determine the string value to display on the button for the selected value. If not\n * provided, falls back to `getOptionLabel`.\n */\n getButtonLabel?: (option: T) => string;\n /** Icon to be displayed on the trigger */\n icon?: ReactNode;\n /** Text displayed on button if `value` is undefined */\n buttonPlaceholder?: string;\n /** Placeholder text for text field */\n textPlaceholder?: string;\n /** Text to display when no options match input */\n commandEmptyMessage?: string;\n /** Variant of button */\n buttonVariant?: ButtonProps['variant'];\n /** Control how the popover menu should be aligned. Defaults to start */\n alignDropDown?: 'start' | 'center' | 'end';\n /** Optional boolean to set if trigger should be disabled */\n isDisabled?: boolean;\n /** Optional aria-label for the trigger button for accessibility */\n ariaLabel?: string;\n} & ComponentProps;\n\nfunction getOptionLabelDefault(option: ComboBoxOption): string {\n if (typeof option === 'string') {\n return option;\n }\n if (typeof option === 'number') {\n return option.toString();\n }\n return option.label;\n}\n\n/**\n * Autocomplete input and command palette with a list of suggestions.\n *\n * Thanks to Shadcn for heavy inspiration and documentation\n * https://ui.shadcn.com/docs/components/combobox\n */\nexport function ComboBox({\n id,\n options = [],\n className,\n buttonClassName,\n popoverContentClassName,\n popoverContentStyle,\n value,\n onChange = () => {},\n getOptionLabel = getOptionLabelDefault,\n getButtonLabel,\n icon = undefined,\n buttonPlaceholder = '',\n textPlaceholder = '',\n commandEmptyMessage = 'No option found',\n buttonVariant = 'outline',\n alignDropDown = 'start',\n isDisabled = false,\n ariaLabel,\n ...props\n}: ComboBoxProps) {\n const [open, setOpen] = useState(false);\n\n const buttonLabel = getButtonLabel ?? getOptionLabel;\n\n const isGroupedOptions = (\n groupOptions: readonly T[] | readonly ComboBoxGroup[],\n ): groupOptions is readonly ComboBoxGroup[] => {\n return Boolean(\n groupOptions.length > 0 &&\n typeof groupOptions[0] === 'object' &&\n 'options' in groupOptions[0],\n );\n };\n\n const renderCommandItem = (option: T, groupHeading?: string) => {\n const optionLabel = getOptionLabel(option);\n const secondaryLabel =\n typeof option === 'object' && 'secondaryLabel' in option ? option.secondaryLabel : undefined;\n\n const key = `${groupHeading ?? ''}${optionLabel}${secondaryLabel ?? ''}`;\n\n return (\n {\n onChange(option);\n setOpen(false);\n }}\n className=\"tw:gap-1.5!\"\n >\n \n \n {optionLabel}\n {secondaryLabel && · {secondaryLabel}}\n \n \n );\n };\n\n return (\n \n \n \n
\n {icon &&
{icon}
}\n \n {value ? buttonLabel(value) : buttonPlaceholder}\n \n
\n\n \n \n
\n \n \n \n {commandEmptyMessage}\n \n {isGroupedOptions(options) ? (\n options.map((group) => (\n \n {group.options.map((option) => renderCommandItem(option, group.groupHeading))}\n \n ))\n ) : (\n {options.map((option) => renderCommandItem(option))}\n )}\n \n \n \n
\n );\n}\n\nexport default ComboBox;\n","import { ComboBox } from '@/components/basics/combo-box.component';\nimport { Label } from '@/components/shadcn-ui/label';\nimport { useMemo } from 'react';\n\nexport type ChapterRangeSelectorProps = {\n /** The selected start chapter */\n startChapter: number;\n /** The selected end chapter */\n endChapter: number;\n /** Callback function to handle the selection of the start chapter */\n handleSelectStartChapter: (chapter: number) => void;\n /** Callback function to handle the selection of the end chapter */\n handleSelectEndChapter: (chapter: number) => void;\n /** Flag to disable the component */\n isDisabled?: boolean;\n /** The total number of chapters available */\n chapterCount: number;\n};\n\n/**\n * ChapterRangeSelector is a component that provides a UI for selecting a range of chapters. It\n * consists of two combo boxes for selecting the start and end chapters. The component ensures that\n * the selected start chapter is always less than or equal to the end chapter, and vice versa.\n *\n * @deprecated Jul 18 2025. This component is no longer supported or tested. Use of this component\n * is discouraged and it may be removed in the future.\n * @param {ChapterRangeSelectorProps} props - The props for the component.\n */\n\nexport function ChapterRangeSelector({\n startChapter,\n endChapter,\n handleSelectStartChapter,\n handleSelectEndChapter,\n isDisabled = false,\n chapterCount,\n}: ChapterRangeSelectorProps) {\n const chapterOptions = useMemo(\n () => Array.from({ length: chapterCount }, (_, index) => index + 1),\n [chapterCount],\n );\n\n const onChangeStartChapter = (value: number) => {\n handleSelectStartChapter(value);\n if (value > endChapter) {\n handleSelectEndChapter(value);\n }\n };\n\n const onChangeEndChapter = (value: number) => {\n handleSelectEndChapter(value);\n if (value < startChapter) {\n handleSelectStartChapter(value);\n }\n };\n\n return (\n <>\n \n option.toString()}\n value={startChapter}\n />\n\n \n option.toString()}\n value={endChapter}\n />\n \n );\n}\n\nexport default ChapterRangeSelector;\n","import { Button } from '@/components/shadcn-ui/button';\nimport { Label } from '@/components/shadcn-ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/shadcn-ui/radio-group';\nimport { Canon } from '@sillsdev/scripture';\nimport { LocalizedStringValue } from 'platform-bible-utils';\nimport { useState } from 'react';\nimport {\n ChapterRangeSelector,\n ChapterRangeSelectorProps,\n} from '../basics/chapter-range-selector.component';\n\n/** Enumeration of possible book selection modes */\nexport enum BookSelectionMode {\n CurrentBook = 'current book',\n ChooseBooks = 'choose books',\n}\n\nexport namespace BookSelectionMode {\n /** @deprecated Use BookSelectionMode.CurrentBook instead. */\n export const CURRENT_BOOK: BookSelectionMode = BookSelectionMode.CurrentBook;\n /** @deprecated Use BookSelectionMode.ChooseBooks instead. */\n export const CHOOSE_BOOKS: BookSelectionMode = BookSelectionMode.ChooseBooks;\n}\n\n/**\n * Object containing all keys used for localization in this component. If you're using this\n * component in an extension, you can pass it into the useLocalizedStrings hook to easily obtain the\n * localized strings and pass them into the localizedStrings prop of this component\n */\nexport const BOOK_SELECTOR_STRING_KEYS = Object.freeze([\n '%webView_bookSelector_currentBook%',\n '%webView_bookSelector_choose%',\n '%webView_bookSelector_chooseBooks%',\n] as const);\n\nexport type BookSelectorLocalizedStrings = {\n [localizedBookSelectorKey in (typeof BOOK_SELECTOR_STRING_KEYS)[number]]?: LocalizedStringValue;\n};\n\n/**\n * Gets the localized value for the provided key\n *\n * @param strings Object containing localized string\n * @param key Key for a localized string\n * @returns The localized value for the provided key, if available. Returns the key if no localized\n * value is available\n */\nconst localizeString = (\n strings: BookSelectorLocalizedStrings,\n key: keyof BookSelectorLocalizedStrings,\n) => {\n return strings[key] ?? key;\n};\n\ntype BookSelectorProps = ChapterRangeSelectorProps & {\n handleBookSelectionModeChange: (newMode: BookSelectionMode) => void;\n currentBookName: string;\n onSelectBooks: () => void;\n selectedBookIds: string[];\n localizedStrings: BookSelectorLocalizedStrings;\n};\n\n/**\n * BookSelector is a component that provides an interactive UI for selecting books. It can be set to\n * either allow the user to select a single book or to choose multiple books. In the former case, it\n * will display the range of chapters in the selected book, and in the latter case it will display a\n * list of the selected books.\n *\n * @deprecated Jul 18 2025. This component is no longer supported or tested and will be removed in a\n * later version. To let users select books, use the `SelectBooks` component instead (or\n * `ScopeSelector` to combine scope and book selection).\n * @param {BookSelectorProps} props\n * @param {function} props.handleBookSelectionModeChange - Callback function to handle changes in\n * book selection mode.\n * @param {string} props.currentBookName - The name of the currently selected book.\n * @param {function} props.onSelectBooks - Callback function to handle book selection.\n * @param {string[]} props.selectedBookIds - An array of book IDs that have been selected.\n * @param {BookSelectorLocalizedStrings} props.localizedStrings - Object containing localized\n * strings for the component.\n */\nexport function BookSelector({\n handleBookSelectionModeChange,\n currentBookName,\n onSelectBooks,\n selectedBookIds,\n chapterCount,\n endChapter,\n handleSelectEndChapter,\n startChapter,\n handleSelectStartChapter,\n localizedStrings,\n}: BookSelectorProps) {\n const currentBookText = localizeString(localizedStrings, '%webView_bookSelector_currentBook%');\n const chooseText = localizeString(localizedStrings, '%webView_bookSelector_choose%');\n const chooseBooksText = localizeString(localizedStrings, '%webView_bookSelector_chooseBooks%');\n\n const [bookSelectionMode, setBookSelectionMode] = useState(\n BookSelectionMode.CurrentBook,\n );\n\n const onSelectionModeChange = (newMode: BookSelectionMode) => {\n setBookSelectionMode(newMode);\n handleBookSelectionModeChange(newMode);\n };\n\n return (\n onSelectionModeChange(value as BookSelectionMode)}\n >\n
\n
\n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n \n onSelectBooks()}\n >\n {chooseText}\n \n
\n
\n \n );\n}\n\nexport default BookSelector;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createContext as n,useContext as e}from\"react\";const r=n(null);function t(n,e){let r=null;return null!=n&&(r=n[1]),{getTheme:function(){return null!=e?e:null!=r?r.getTheme():null}}}function o(){const n=e(r);return null==n&&function(n,...e){const r=new URL(\"https://lexical.dev/docs/error\"),t=new URLSearchParams;t.append(\"code\",n);for(const n of e)t.append(\"v\",n);throw r.search=t.toString(),Error(`Minified Lexical error #${n}; visit ${r.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(8),n}export{r as LexicalComposerContext,t as createLexicalComposerContext,o as useLexicalComposerContext};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createLexicalComposerContext as e,LexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEditor as o,$getRoot as n,$createParagraphNode as i,$getSelection as r,HISTORY_MERGE_TAG as a}from\"lexical\";import{useLayoutEffect as c,useEffect as l,useMemo as d}from\"react\";import{jsx as s}from\"react/jsx-runtime\";const m=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,u=m?c:l,p={tag:a};function f({initialConfig:a,children:c}){const l=d(()=>{const{theme:t,namespace:c,nodes:l,onError:d,editorState:s,html:u}=a,f=e(null,t),E=o({editable:a.editable,html:u,namespace:c,nodes:l,onError:e=>d(e,E),theme:t});return function(e,t){if(null===t)return;if(void 0===t)e.update(()=>{const t=n();if(t.isEmpty()){const o=i();t.append(o);const n=m?document.activeElement:null;(null!==r()||null!==n&&n===e.getRootElement())&&o.select()}},p);else if(null!==t)switch(typeof t){case\"string\":{const o=e.parseEditorState(t);e.setEditorState(o,p);break}case\"object\":e.setEditorState(t,p);break;case\"function\":e.update(()=>{n().isEmpty()&&t(e)},p)}}(E,s),[E,f]},[]);return u(()=>{const e=a.editable,[t]=l;t.setEditable(void 0===e||e)},[]),s(t.Provider,{value:l,children:c})}export{f as LexicalComposer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{HISTORY_MERGE_TAG as t}from\"lexical\";import{useLayoutEffect as o,useEffect as i}from\"react\";const r=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?o:i;function n({ignoreHistoryMergeTagChange:o=!0,ignoreSelectionChange:i=!1,onChange:n}){const[a]=e();return r(()=>{if(n)return a.registerUpdateListener(({editorState:e,dirtyElements:r,dirtyLeaves:d,prevEditorState:s,tags:c})=>{i&&0===r.size&&0===d.size||o&&c.has(t)||s.isEmpty()||n(e,a,c)})},[a,o,i,n]),null}export{n as OnChangePlugin};\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure. Also,\n * modifications have been made to integrate with our codebase.\n *\n * Original file location: src/components/editor/themes/editor-theme.ts\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n */\n\nimport { EditorThemeClasses } from 'lexical';\n\nimport './editor-theme.css';\n\nexport const editorTheme: EditorThemeClasses = {\n ltr: 'tw:text-left',\n rtl: 'tw:text-right',\n heading: {\n h1: 'tw:scroll-m-20 tw:text-4xl tw:font-extrabold tw:tracking-tight tw:lg:text-5xl',\n h2: 'tw:scroll-m-20 tw:border-b tw:pb-2 tw:text-3xl tw:font-semibold tw:tracking-tight tw:first:mt-0',\n h3: 'tw:scroll-m-20 tw:text-2xl tw:font-semibold tw:tracking-tight',\n h4: 'tw:scroll-m-20 tw:text-xl tw:font-semibold tw:tracking-tight',\n h5: 'tw:scroll-m-20 tw:text-lg tw:font-semibold tw:tracking-tight',\n h6: 'tw:scroll-m-20 tw:text-base tw:font-semibold tw:tracking-tight',\n },\n paragraph: 'tw:outline-hidden',\n quote: 'tw:mt-6 tw:border-l-2 tw:pl-6 tw:italic',\n link: 'tw:text-blue-600 tw:hover:underline tw:hover:cursor-pointer',\n list: {\n checklist: 'tw:relative',\n listitem: 'tw:mx-8',\n listitemChecked:\n 'tw:relative tw:mx-2 tw:px-6 tw:list-none tw:outline-hidden tw:line-through tw:before:content-[\"\"] tw:before:w-4 tw:before:h-4 tw:before:top-0.5 tw:before:left-0 tw:before:cursor-pointer tw:before:block tw:before:bg-cover tw:before:absolute tw:before:border tw:before:border-primary tw:before:rounded tw:before:bg-primary tw:before:bg-no-repeat tw:after:content-[\"\"] tw:after:cursor-pointer tw:after:border-white tw:after:border-solid tw:after:absolute tw:after:block tw:after:top-[6px] tw:after:w-[3px] tw:after:left-[7px] tw:after:right-[7px] tw:after:h-[6px] tw:after:rotate-45 tw:after:border-r-2 tw:after:border-b-2 tw:after:border-l-0 tw:after:border-t-0',\n listitemUnchecked:\n 'tw:relative tw:mx-2 tw:px-6 tw:list-none tw:outline-hidden tw:before:content-[\"\"] tw:before:w-4 tw:before:h-4 tw:before:top-0.5 tw:before:left-0 tw:before:cursor-pointer tw:before:block tw:before:bg-cover tw:before:absolute tw:before:border tw:before:border-primary tw:before:rounded',\n nested: {\n listitem: 'tw:list-none tw:before:hidden tw:after:hidden',\n },\n ol: 'tw:m-0 tw:p-0 tw:list-decimal tw:[&>li]:mt-2',\n olDepth: [\n 'tw:list-outside tw:!list-decimal',\n 'tw:list-outside tw:!list-[upper-roman]',\n 'tw:list-outside tw:!list-[lower-roman]',\n 'tw:list-outside tw:!list-[upper-alpha]',\n 'tw:list-outside tw:!list-[lower-alpha]',\n ],\n ul: 'tw:m-0 tw:p-0 tw:list-outside tw:[&>li]:mt-2',\n ulDepth: [\n 'tw:list-outside tw:!list-disc',\n 'tw:list-outside tw:!list-disc',\n 'tw:list-outside tw:!list-disc',\n 'tw:list-outside tw:!list-disc',\n 'tw:list-outside tw:!list-disc',\n ],\n },\n hashtag: 'tw:text-blue-600 tw:bg-blue-100 tw:rounded-md tw:px-1',\n text: {\n bold: 'tw:font-bold',\n code: 'tw:bg-gray-100 tw:p-1 tw:rounded-md',\n italic: 'tw:italic',\n strikethrough: 'tw:line-through',\n subscript: 'tw:sub',\n superscript: 'tw:sup',\n underline: 'tw:underline',\n underlineStrikethrough: 'tw:underline tw:line-through',\n },\n image: 'tw:relative tw:inline-block tw:user-select-none tw:cursor-default editor-image',\n inlineImage:\n 'tw:relative tw:inline-block tw:user-select-none tw:cursor-default inline-editor-image',\n keyword: 'tw:text-purple-900 tw:font-bold',\n code: 'EditorTheme__code',\n codeHighlight: {\n atrule: 'EditorTheme__tokenAttr',\n attr: 'EditorTheme__tokenAttr',\n boolean: 'EditorTheme__tokenProperty',\n builtin: 'EditorTheme__tokenSelector',\n cdata: 'EditorTheme__tokenComment',\n char: 'EditorTheme__tokenSelector',\n class: 'EditorTheme__tokenFunction',\n 'class-name': 'EditorTheme__tokenFunction',\n comment: 'EditorTheme__tokenComment',\n constant: 'EditorTheme__tokenProperty',\n deleted: 'EditorTheme__tokenProperty',\n doctype: 'EditorTheme__tokenComment',\n entity: 'EditorTheme__tokenOperator',\n function: 'EditorTheme__tokenFunction',\n important: 'EditorTheme__tokenVariable',\n inserted: 'EditorTheme__tokenSelector',\n keyword: 'EditorTheme__tokenAttr',\n namespace: 'EditorTheme__tokenVariable',\n number: 'EditorTheme__tokenProperty',\n operator: 'EditorTheme__tokenOperator',\n prolog: 'EditorTheme__tokenComment',\n property: 'EditorTheme__tokenProperty',\n punctuation: 'EditorTheme__tokenPunctuation',\n regex: 'EditorTheme__tokenVariable',\n selector: 'EditorTheme__tokenSelector',\n string: 'EditorTheme__tokenSelector',\n symbol: 'EditorTheme__tokenProperty',\n tag: 'EditorTheme__tokenProperty',\n url: 'EditorTheme__tokenOperator',\n variable: 'EditorTheme__tokenVariable',\n },\n characterLimit: 'tw:!bg-destructive/50',\n table: 'EditorTheme__table tw:w-fit tw:overflow-scroll tw:border-collapse',\n tableCell:\n 'EditorTheme__tableCell tw:w-24 tw:relative tw:border tw:px-4 tw:py-2 tw:text-left tw:[&[align=center]]:text-center tw:[&[align=right]]:text-right',\n tableCellActionButton:\n 'EditorTheme__tableCellActionButton tw:bg-background tw:block tw:border-0 tw:rounded-2xl tw:w-5 tw:h-5 tw:text-foreground tw:cursor-pointer',\n tableCellActionButtonContainer:\n 'EditorTheme__tableCellActionButtonContainer tw:block tw:right-1 tw:top-1.5 tw:absolute tw:z-10 tw:w-5 tw:h-5',\n tableCellEditing: 'EditorTheme__tableCellEditing tw:rounded-sm tw:shadow-sm',\n tableCellHeader:\n 'EditorTheme__tableCellHeader tw:bg-muted tw:border tw:px-4 tw:py-2 tw:text-left tw:font-bold tw:[&[align=center]]:text-center tw:[&[align=right]]:text-right',\n tableCellPrimarySelected:\n 'EditorTheme__tableCellPrimarySelected tw:border tw:border-primary tw:border-solid tw:block tw:h-[calc(100%-2px)] tw:w-[calc(100%-2px)] tw:absolute tw:-left-[1px] tw:-top-[1px] tw:z-10 ',\n tableCellResizer:\n 'EditorTheme__tableCellResizer tw:absolute tw:-right-1 tw:h-full tw:w-2 tw:cursor-ew-resize tw:z-10 tw:top-0',\n tableCellSelected: 'EditorTheme__tableCellSelected tw:bg-muted',\n tableCellSortedIndicator:\n 'EditorTheme__tableCellSortedIndicator tw:block tw:opacity-50 tw:absolute tw:bottom-0 tw:left-0 tw:w-full tw:h-1 tw:bg-muted',\n tableResizeRuler:\n 'EditorTheme__tableCellResizeRuler tw:block tw:absolute tw:w-[1px] tw:h-full tw:bg-primary tw:top-0',\n tableRowStriping: 'EditorTheme__tableRowStriping tw:m-0 tw:border-t tw:p-0 tw:even:bg-muted',\n tableSelected: 'EditorTheme__tableSelected tw:ring-2 tw:ring-primary tw:ring-offset-2',\n tableSelection: 'EditorTheme__tableSelection tw:bg-transparent',\n layoutItem: 'tw:border tw:border-dashed tw:px-4 tw:py-2',\n layoutContainer: 'tw:grid tw:gap-2.5 tw:my-2.5 tw:mx-0',\n autocomplete: 'tw:text-muted-foreground',\n blockCursor: '',\n embedBlock: {\n base: 'tw:user-select-none',\n focus: 'tw:ring-2 tw:ring-primary tw:ring-offset-2',\n },\n hr: 'tw:p-0.5 tw:border-none tw:my-1 tw:mx-0 tw:cursor-pointer tw:after:content-[\"\"] tw:after:block tw:after:h-0.5 tw:after:bg-muted tw:selected:ring-2 tw:selected:ring-primary tw:selected:ring-offset-2 tw:selected:user-select-none',\n indent: '[--lexical-indent-base-value:40px]',\n mark: '',\n markOverlap: '',\n};\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure.\n *\n * Original file location: src/components/blocks/editor-00/nodes.ts\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n */\n\nimport { HeadingNode, QuoteNode } from '@lexical/rich-text';\nimport { Klass, LexicalNode, LexicalNodeReplacement, ParagraphNode, TextNode } from 'lexical';\n\nexport const nodes: ReadonlyArray | LexicalNodeReplacement> = [\n HeadingNode,\n ParagraphNode,\n TextNode,\n QuoteNode,\n];\n","'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{ErrorBoundary as r}from\"react-error-boundary\";import{jsx as o}from\"react/jsx-runtime\";function n({children:n,onError:e}){return o(r,{fallback:o(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"},children:\"An error was thrown.\"}),onError:e,children:n})}export{n as LexicalErrorBoundary};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as n,useEffect as t,useMemo as i,useState as r,useRef as o}from\"react\";const c=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:t;function u(e){return{initialValueFn:()=>e.isEditable(),subscribe:n=>e.registerEditableListener(n)}}function a(){return function(n){const[t]=e(),u=i(()=>n(t),[t,n]),[a,l]=r(()=>u.initialValueFn()),d=o(a);return c(()=>{const{initialValueFn:e,subscribe:n}=u,t=e();return d.current!==t&&(d.current=t,l(t)),n(e=>{d.current=e,l(e)})},[u,n]),a}(u)}export{a as useLexicalEditable};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$isTextNode as e,$getEditor as t,$isRootNode as n,$getSelection as o,$isRangeSelection as l,$caretRangeFromSelection as r,$isTokenOrSegmented as s,$isElementNode as i,$getCharacterOffsets as c,$cloneWithPropertiesEphemeral as f,$getNodeByKey as u,$getPreviousSelection as g,$createTextNode as a,$createRangeSelection as d,$findMatchingParent as p,INTERNAL_$isBlock as h,$setSelection as y,$caretFromPoint as m,$isExtendableTextPointCaret as S,$extendCaretToRange as x,$isChildCaret as T,$isDecoratorNode as N,$isRootOrShadowRoot as w,$hasAncestor as C,$isLeafNode as v}from\"lexical\";export{$cloneWithProperties,$selectAll}from\"lexical\";function K(e,...t){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",e);for(const e of t)o.append(\"v\",e);throw n.search=o.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const E=new Map;function P(e){let t=e;for(;null!=t;){if(t.nodeType===Node.TEXT_NODE)return t;t=t.firstChild}return null}function k(e){const t=e.parentNode;if(null==t)throw new Error(\"Should never happen\");return[t,Array.from(t.childNodes).indexOf(e)]}function I(t,n,o,l,r){const s=n.getKey(),i=l.getKey(),c=document.createRange();let f=t.getElementByKey(s),u=t.getElementByKey(i),g=o,a=r;if(e(n)&&(f=P(f)),e(l)&&(u=P(u)),void 0===n||void 0===l||null===f||null===u)return null;\"BR\"===f.nodeName&&([f,g]=k(f)),\"BR\"===u.nodeName&&([u,a]=k(u));const d=f.firstChild;f===u&&null!=d&&\"BR\"===d.nodeName&&0===g&&0===a&&(a=1);try{c.setStart(f,g),c.setEnd(u,a)}catch(e){return null}return!c.collapsed||g===a&&s===i||(c.setStart(u,a),c.setEnd(f,g)),c}function B(e,t){const n=e.getRootElement();if(null===n)return[];const o=n.getBoundingClientRect(),l=getComputedStyle(n),r=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight),s=Array.from(t.getClientRects());let i,c=s.length;s.sort((e,t)=>{const n=e.top-t.top;return Math.abs(n)<=3?e.left-t.left:n});for(let e=0;et.top&&i.left+i.width>t.left,l=t.width+r===o.width;n||l?(s.splice(e--,1),c--):i=t}return s}function F(e){const t={};if(!e)return t;const n=e.split(\";\");for(const e of n)if(\"\"!==e){const[n,o]=e.split(/:([^]+)/);n&&o&&(t[n.trim()]=o.trim())}return t}function b(e){let t=E.get(e);return void 0===t&&(t=F(e),E.set(e,t)),t}function z(e){let t=\"\";for(const n in e)n&&(t+=`${n}: ${e[n]};`);return t}function R(e){const n=t().getElementByKey(e.getKey());if(null===n)return null;const o=n.ownerDocument.defaultView;return null===o?null:o.getComputedStyle(n)}function O(e){return R(n(e)?e:e.getParentOrThrow())}function A(e){const t=O(e);return null!==t&&\"rtl\"===t.direction}function M(e,t,n=\"self\"){const o=e.getStartEndPoints();if(t.isSelected(e)&&!s(t)&&null!==o){const[l,r]=o,s=e.isBackward(),i=l.getNode(),u=r.getNode(),g=t.is(i),a=t.is(u);if(g||a){const[o,l]=c(e),r=i.is(u),g=t.is(s?u:i),a=t.is(s?i:u);let d,p=0;if(r)p=o>l?l:o,d=o>l?o:l;else if(g){p=s?l:o,d=void 0}else if(a){p=0,d=s?o:l}const h=t.__text.slice(p,d);h!==t.__text&&(\"clone\"===n&&(t=f(t)),t.__text=h)}}return t}function _(e){if(\"text\"===e.type)return e.offset===e.getNode().getTextContentSize();const t=e.getNode();return i(t)||K(177),e.offset===t.getChildrenSize()}function L(t,o,r){let s=o.getNode(),c=r;if(i(s)){const e=s.getDescendantByIndex(o.offset);null!==e&&(s=e)}for(;c>0&&null!==s;){if(i(s)){const e=s.getLastDescendant();null!==e&&(s=e)}let r=s.getPreviousSibling(),f=0;if(null===r){let e=s.getParentOrThrow(),t=e.getPreviousSibling();for(;null===t;){if(e=e.getParent(),null===e){r=null;break}t=e.getPreviousSibling()}null!==e&&(f=e.isInline()?0:2,r=t)}let d=s.getTextContent();\"\"===d&&i(s)&&!s.isInline()&&(d=\"\\n\\n\");const p=d.length;if(!e(s)||c>=p){const e=s.getParent();s.remove(),null==e||0!==e.getChildrenSize()||n(e)||e.remove(),c-=p+f,s=r}else{const n=s.getKey(),r=t.getEditorState().read(()=>{const t=u(n);return e(t)&&t.isSimpleText()?t.getTextContent():null}),i=p-c,f=d.slice(0,i);if(null!==r&&r!==d){const e=g();let t=s;if(s.isSimpleText())s.setTextContent(r);else{const e=a(r);s.replace(e),t=e}if(l(e)&&e.isCollapsed()){const n=e.anchor.offset;t.select(n,n)}}else if(s.isSimpleText()){const e=o.key===n;let t=o.offset;t(\"function\"==typeof l?e[n]=l(o[n],t):null===l?delete e[n]:e[n]=l,e),{...o}),s=z(r);l(t)||e(t)?t.setStyle(s):t.setTextStyle(s),E.set(s,r)}function U(e,t){if(l(e)&&e.isCollapsed()){D(e,t);const n=e.anchor.getNode();i(n)&&n.isEmpty()&&D(n,t)}j(e=>{D(e,t)});const n=e.getNodes();if(n.length>0){const e=new Set;for(const o of n){if(!i(o)||!o.canBeEmpty()||0!==o.getChildrenSize())continue;const n=o.getKey();e.has(n)||(e.add(n),D(o,t))}}}function j(t){const n=o();if(!n)return;const i=new Map,c=e=>i.get(e.getKey())||[0,e.getTextContentSize()];if(l(n))for(const e of r(n).getTextSlices())e&&i.set(e.caret.origin.getKey(),e.getSliceIndices());const f=n.getNodes();for(const n of f){if(!e(n)||!n.canHaveFormat())continue;const[o,l]=c(n);if(l!==o)if(s(n)||0===o&&l===n.getTextContentSize())t(n);else{t(n.splitText(o,l)[0===o?0:1])}}l(n)&&\"text\"===n.anchor.type&&\"text\"===n.focus.type&&n.anchor.key===n.focus.key&&H(n)}function H(e){if(e.isBackward()){const{anchor:t,focus:n}=e,{key:o,offset:l,type:r}=t;t.set(n.key,n.offset,n.type),n.set(o,l,r)}}function V(e,t){const n=e.getFormatType(),o=e.getIndent();n!==t.getFormatType()&&t.setFormat(n),o!==t.getIndent()&&t.setIndent(o)}function W(e,t,n=V){if(null===e)return;const l=e.getStartEndPoints(),r=new Map;let s=null;if(l){const[e,t]=l;s=d(),s.anchor.set(e.key,e.offset,e.type),s.focus.set(t.key,t.offset,t.type);const n=p(e.getNode(),h),o=p(t.getNode(),h);i(n)&&r.set(n.getKey(),n),i(o)&&r.set(o.getKey(),o)}for(const t of e.getNodes())if(i(t)&&h(t))r.set(t.getKey(),t);else if(null===l){const e=p(t,h);i(e)&&r.set(e.getKey(),e)}for(const[e,o]of r){const l=t();n(o,l),o.replace(l,!0),s&&(e===s.anchor.key&&s.anchor.set(l.getKey(),s.anchor.offset,s.anchor.type),e===s.focus.key&&s.focus.set(l.getKey(),s.focus.offset,s.focus.type))}s&&e.is(o())&&y(s)}function X(e){return e.getNode().isAttached()}function q(e){let t=e;for(;null!==t&&!w(t);){const e=t.getLatest(),n=t.getParent();0===e.getChildrenSize()&&t.remove(!0),t=n}}function G(e,t,n=null){const o=e.getStartEndPoints(),l=o?o[0]:null,r=e.getNodes(),s=r.length;if(null!==l&&(0===s||1===s&&\"element\"===l.type&&0===l.getNode().getChildrenSize())){const e=\"text\"===l.type?l.getNode().getParentOrThrow():l.getNode(),o=e.getChildren();let r=t();return r.setFormat(e.getFormatType()),r.setIndent(e.getIndent()),o.forEach(e=>r.append(e)),n&&(r=n.append(r)),void e.replace(r)}let i=null,c=[];for(let o=0;o{t.append(e),p.add(e.getKey()),i(e)&&e.getChildrenKeys().forEach(e=>p.add(e))}),q(l)}}else if(d.has(n.getKey())){i(n)||K(179);const e=o();e.setFormat(n.getFormatType()),e.setIndent(n.getIndent()),f.push(e),n.remove(!0)}}if(null!==r)for(let e=0;e=0;e--){const t=f[e];u.insertAfter(t)}else{const e=u.getFirstChild();if(i(e)&&(u=e),null===e)if(r)u.append(r);else for(let e=0;e=0;e--){const t=f[e];u.insertAfter(t),h=t}const m=g();l(m)&&X(m.anchor)&&X(m.focus)?y(m.clone()):null!==h?h.selectEnd():e.dirty=!0}function Q(e){const t=Y(e);return null!==t&&\"vertical-rl\"===t.writingMode}function Y(e){const t=e.anchor.getNode();return i(t)?R(t):O(t)}function Z(e,t){let n=Q(e)?!t:t;te(e)&&(n=!n);const o=m(e.focus,n?\"previous\":\"next\");if(S(o))return!1;for(const e of x(o)){if(T(e))return!e.origin.isInline();if(!i(e.origin)){if(N(e.origin))return!0;break}}return!1}function ee(e,t,n,o){e.modify(t?\"extend\":\"move\",n,o)}function te(e){const t=Y(e);return null!==t&&\"rtl\"===t.direction}function ne(e,t,n){const o=te(e);let l;l=Q(e)||o?!n:n,ee(e,t,l,\"character\")}function oe(e,t,n){const o=b(e.getStyle());return null!==o&&o[t]||n}function le(t,n,o=\"\"){let r=null;const s=t.getNodes(),i=t.anchor,c=t.focus,f=t.isBackward(),u=f?c.getNode():i.getNode(),g=f?i.getNode():c.getNode(),a=f?c.offset:i.offset,d=f?i.offset:c.offset;if(l(t)&&t.isCollapsed()&&\"\"!==t.style){const e=b(t.style);if(null!==e&&n in e)return e[n]}for(let t=0;tc.length;)s.pop();d&&o(s)}function a(){i=null,r=null,null!==l&&l.disconnect(),l=null,u.remove();for(const t of s)t.remove();s=[]}u.style.position=\"relative\";const f=e.registerRootListener(function n(){const o=e.getRootElement();if(null===o)return a();const s=o.parentElement;if(!t(s))return a();a(),r=o,i=s,l=new MutationObserver(t=>{const o=e.getRootElement(),l=o&&o.parentElement;if(o!==r||l!==i)return n();for(const e of t)if(!u.contains(e.target))return c()}),l.observe(s,q),c()});return()=>{f(),a()}}function Q(t,e,n){if(\"text\"!==t.type&&r(e)){const o=e.getDOMSlot(n);return[o.element,o.getFirstChildOffset()+t.offset]}return[i(n)||n,t.offset]}function X(t){for(const e of t){const t=e.style;\"Highlight\"!==t.background&&(t.background=\"Highlight\"),\"HighlightText\"!==t.color&&(t.color=\"HighlightText\"),t.marginTop!==G(-1.5)&&(t.marginTop=G(-1.5)),t.paddingTop!==G(4)&&(t.paddingTop=G(4)),t.paddingBottom!==G(0)&&(t.paddingBottom=G(0))}}function Y(t,r=X){let i=null,l=null,s=null,u=null,c=null,a=null,f=()=>{};function d(e){e.read(()=>{const e=n();if(!o(e))return i=null,s=null,u=null,a=null,f(),void(f=()=>{});const[d,g]=function(t){const e=t.getStartEndPoints();return t.isBackward()?[e[1],e[0]]:e}(e),p=d.getNode(),m=p.getKey(),h=d.offset,v=g.getNode(),y=v.getKey(),w=g.offset,x=t.getElementByKey(m),E=t.getElementByKey(y),S=null===i||x!==l||h!==s||m!==i.getKey(),C=null===u||E!==c||w!==a||y!==u.getKey();if((S||C)&&null!==x&&null!==E){const e=function(t,e,n,o,r,i,l){const s=(t._window?t._window.document:document).createRange();return s.setStart(...Q(e,n,o)),s.setEnd(...Q(r,i,l)),s}(t,d,p,x,g,v,E);f(),f=J(t,e,r)}i=p,l=x,s=h,u=v,c=E,a=w})}return d(t.getEditorState()),e(t.registerUpdateListener(({editorState:t})=>d(t)),()=>{f()})}function Z(t,e){let n=null;const o=()=>{const o=getSelection(),r=o&&o.anchorNode,i=t.getRootElement();null!==r&&null!==i&&i.contains(r)?null!==n&&(n(),n=null):null===n&&(n=Y(t,e))};return t.registerRootListener(t=>{if(t){const e=t.ownerDocument;return e.addEventListener(\"selectionchange\",o),o(),()=>{null!==n&&n(),e.removeEventListener(\"selectionchange\",o)}}})}const tt=F,et=$,nt=j,ot=V,rt=O,it=W,lt=U,st=D,ut=H,ct=z;function at(t,e){for(const n of e)if(t.type.startsWith(n))return!0;return!1}function ft(t,e){const n=t[Symbol.iterator]();return new Promise((t,o)=>{const r=[],i=()=>{const{done:l,value:s}=n.next();if(l)return t(r);const u=new FileReader;u.addEventListener(\"error\",o),u.addEventListener(\"load\",()=>{const t=u.result;\"string\"==typeof t&&r.push({file:s,result:t}),i()}),at(s,e)?u.readAsDataURL(s):i()};i()})}function dt(t,e){return Array.from(mt(t,e))}function gt(t){return t?t.getAdjacentCaret():null}function pt(t,e){return Array.from(Et(t,e))}function mt(t,e){return vt(\"next\",t,e)}function ht(t,e){const n=a(c(t,e));return n&&n[0]}function vt(t,e,n){const o=x(),i=e||o,s=r(i)?l(i,t):c(i,t),f=wt(i),d=n?S(u(c(n,t)))||ht(n,t):ht(i,t);let g=f;return M({hasNext:t=>null!==t,initial:s,map:t=>({depth:g,node:t.origin}),step:t=>{if(t.isSameNodeCaret(d))return null;C(t)&&g++;const e=a(t);return!e||e[0].isSameNodeCaret(d)?null:(g+=e[1],e[0])}})}function yt(t){const e=a(c(t,\"next\"));return e&&[e[0].origin,e[1]]}function wt(t){let e=-1;for(let n=t;null!==n;n=n.getParent())e++;return e}function xt(t){const e=u(c(t,\"previous\")),n=a(e,\"root\");return n&&n[0].origin}function Et(t,e){return vt(\"previous\",t,e)}function St(t,e){let n=t;for(;null!=n;){if(n instanceof e)return n;n=n.getParent()}return null}function Ct(t){const e=s(t,t=>r(t)&&!t.isInline());return r(e)||k(4,t.__key),e}function At(t,e,n,o){const r=t=>t instanceof e;return t.registerNodeTransform(e,t=>{const e=(t=>{const e=t.getChildren();for(let t=0;tr(t)&&!t.isInline());if(null===u)continue;const c=u.getKey();u.canIndent()&&!i.has(c)&&(i.add(c),t(u))}return i.size>0}function _t(t,e){l(t,\"next\").insert(e)}let Kt=!(st||!et)&&void 0;function kt(t,e=!1){let n=1;if(function(){if(void 0===Kt){const t=document.createElement(\"div\");t.style.cssText=\"position: absolute; opacity: 0; width: 100px; left: -1000px;\",document.body.appendChild(t);const e=t.getBoundingClientRect();t.style.setProperty(\"zoom\",\"2\"),Kt=t.getBoundingClientRect().width===e.width,document.body.removeChild(t)}return Kt}()||e)for(;t;)n*=Number(window.getComputedStyle(t).getPropertyValue(\"zoom\")),t=t.parentElement;return n}function $t(t){return null!==t._parentEditor}function It(t,e){return Ot(t,e,null)}function Ot(t,e,n){let o=!1;for(const i of Ht(t))e(i)?null!==n&&n(i):(o=!0,r(i)&&Ot(i,e,n||(t=>i.insertAfter(t))),i.remove());return o}function Dt(t,e){const n=[],o=Array.from(t).reverse();for(let t=o.pop();void 0!==t;t=o.pop())if(e(t))n.push(t);else if(r(t))for(const e of Ht(t))o.push(e);return n}function Ft(t){return jt(l(t,\"next\"))}function Ht(t){return jt(l(t,\"previous\"))}function jt(t){return M({hasNext:T,initial:t.getAdjacentCaret(),map:t=>t.origin.getLatest(),step:t=>t.getAdjacentCaret()})}function zt(t){R(c(t,\"next\")).splice(1,t.getChildren())}function Ut(t){const e=e=>B(e,t),n=(e,n)=>_(e,t,n);return{$get:e,$set:n,accessors:[e,n],makeGetterMethod:()=>function(){return e(this)},makeSetterMethod:()=>function(t){return n(this,t)},stateConfig:t}}export{Dt as $descendantsMatching,dt as $dfs,mt as $dfsIterator,Tt as $filter,Ft as $firstToLastIterator,gt as $getAdjacentCaret,wt as $getDepth,Ct as $getNearestBlockElementAncestorOrThrow,St as $getNearestNodeOfType,xt as $getNextRightPreorderNode,yt as $getNextSiblingOrParentSibling,Bt as $handleIndentAndOutdent,_t as $insertFirst,Pt as $insertNodeIntoLeaf,bt as $insertNodeToNearestRoot,Lt as $insertNodeToNearestRootAtCaret,$t as $isEditorIsNestedEditor,Ht as $lastToFirstIterator,Nt as $restoreEditorState,pt as $reverseDfs,Et as $reverseDfsIterator,It as $unwrapAndFilterDescendants,zt as $unwrapNode,Rt as $wrapNodeInElement,tt as CAN_USE_BEFORE_INPUT,et as CAN_USE_DOM,nt as IS_ANDROID,ot as IS_ANDROID_CHROME,rt as IS_APPLE,it as IS_APPLE_WEBKIT,lt as IS_CHROME,st as IS_FIREFOX,ut as IS_IOS,ct as IS_SAFARI,kt as calculateZoomLevel,at as isMimeType,Ut as makeStateWrapper,Y as markSelection,ft as mediaFileReader,Mt as objectKlassEquals,J as positionNodeOnRange,At as registerNestedElementResolver,Z as selectionAlwaysOnDisplay};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{defineExtension as t,safeCast as e,CLEAR_EDITOR_COMMAND as n,COMMAND_PRIORITY_EDITOR as i,$getRoot as o,$getSelection as s,$createParagraphNode as r,$isRangeSelection as c,FORMAT_TEXT_COMMAND as a,$isNodeSelection as d,COMMAND_PRIORITY_LOW as u,DecoratorNode as f,$getState as l,toggleTextFormatType as h,$setState as g,TEXT_TYPE_TO_FORMAT as p,createState as m,shallowMergeConfig as v,RootNode as x,TextNode as E,LineBreakNode as y,TabNode as S,ParagraphNode as b,$isEditorState as w,HISTORY_MERGE_TAG as N,createEditor as O,mergeRegister as R,$getNodeByKey as C,$create as D,CLICK_COMMAND as F,isDOMNode as M,$getNodeFromDOMNode as I,addClassNamesToElement as _,createCommand as P,$createNodeSelection as A,$setSelection as j,removeClassNamesFromElement as k,$getEditor as $,KEY_TAB_COMMAND as K,OUTDENT_CONTENT_COMMAND as z,INDENT_CONTENT_COMMAND as L,INSERT_TAB_COMMAND as U,COMMAND_PRIORITY_CRITICAL as T,$isBlockElementNode as B,$createRangeSelection as W,$normalizeSelection__EXPERIMENTAL as G}from\"lexical\";export{configExtension,declarePeerDependency,defineExtension,safeCast,shallowMergeConfig}from\"lexical\";import{$insertNodeToNearestRoot as V,selectionAlwaysOnDisplay as Z,$handleIndentAndOutdent as J,$getNearestBlockElementAncestorOrThrow as H}from\"@lexical/utils\";const q=Symbol.for(\"preact-signals\");function Q(){if(it>1)return void it--;let t,e=!1;for(!function(){let t=nt;for(nt=void 0;void 0!==t;)t.S.v===t.v&&(t.S.i=t.i),t=t.o}();void 0!==tt;){let n=tt;for(tt=void 0,ot++;void 0!==n;){const i=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&ft(n))try{n.c()}catch(n){e||(t=n,e=!0)}n=i}}if(ot=0,it--,e)throw t}function X(t){if(it>0)return t();rt=++st,it++;try{return t()}finally{Q()}}let Y,tt;function et(t){const e=Y;Y=void 0;try{return t()}finally{Y=e}}let nt,it=0,ot=0,st=0,rt=0,ct=0;function at(t){if(void 0===Y)return;let e=t.n;return void 0===e||e.t!==Y?(e={i:0,S:t,p:Y.s,n:void 0,t:Y,e:void 0,x:void 0,r:e},void 0!==Y.s&&(Y.s.n=e),Y.s=e,t.n=e,32&Y.f&&t.S(e),e):-1===e.i?(e.i=0,void 0!==e.n&&(e.n.p=e.p,void 0!==e.p&&(e.p.n=e.n),e.p=Y.s,e.n=void 0,Y.s.n=e,Y.s=e),e):void 0}function dt(t,e){this.v=t,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=null==e?void 0:e.watched,this.Z=null==e?void 0:e.unwatched,this.name=null==e?void 0:e.name}function ut(t,e){return new dt(t,e)}function ft(t){for(let e=t.s;void 0!==e;e=e.n)if(e.S.i!==e.i||!e.S.h()||e.S.i!==e.i)return!0;return!1}function lt(t){for(let e=t.s;void 0!==e;e=e.n){const n=e.S.n;if(void 0!==n&&(e.r=n),e.S.n=e,e.i=-1,void 0===e.n){t.s=e;break}}}function ht(t){let e,n=t.s;for(;void 0!==n;){const t=n.p;-1===n.i?(n.S.U(n),void 0!==t&&(t.n=n.n),void 0!==n.n&&(n.n.p=t)):e=n,n.S.n=n.r,void 0!==n.r&&(n.r=void 0),n=t}t.s=e}function gt(t,e){dt.call(this,void 0),this.x=t,this.s=void 0,this.g=ct-1,this.f=4,this.W=null==e?void 0:e.watched,this.Z=null==e?void 0:e.unwatched,this.name=null==e?void 0:e.name}function pt(t,e){return new gt(t,e)}function mt(t){const e=t.m;if(t.m=void 0,\"function\"==typeof e){it++;const n=Y;Y=void 0;try{e()}catch(e){throw t.f&=-2,t.f|=8,vt(t),e}finally{Y=n,Q()}}}function vt(t){for(let e=t.s;void 0!==e;e=e.n)e.S.U(e);t.x=void 0,t.s=void 0,mt(t)}function xt(t){if(Y!==this)throw new Error(\"Out-of-order effect\");ht(this),Y=t,this.f&=-2,8&this.f&&vt(this),Q()}function Et(t,e){this.x=t,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=null==e?void 0:e.name}function yt(t,e){const n=new Et(t,e);try{n.c()}catch(t){throw n.d(),t}const i=n.d.bind(n);return i[Symbol.dispose]=i,i}function St(t,e={}){const n={};for(const i in t){const o=e[i],s=ut(void 0===o?t[i]:o);n[i]=s}return n}dt.prototype.brand=q,dt.prototype.h=function(){return!0},dt.prototype.S=function(t){const e=this.t;e!==t&&void 0===t.e&&(t.x=e,this.t=t,void 0!==e?e.e=t:et(()=>{var t;null==(t=this.W)||t.call(this)}))},dt.prototype.U=function(t){if(void 0!==this.t){const e=t.e,n=t.x;void 0!==e&&(e.x=n,t.e=void 0),void 0!==n&&(n.e=e,t.x=void 0),t===this.t&&(this.t=n,void 0===n&&et(()=>{var t;null==(t=this.Z)||t.call(this)}))}},dt.prototype.subscribe=function(t){return yt(()=>{const e=this.value,n=Y;Y=void 0;try{t(e)}finally{Y=n}},{name:\"sub\"})},dt.prototype.valueOf=function(){return this.value},dt.prototype.toString=function(){return this.value+\"\"},dt.prototype.toJSON=function(){return this.value},dt.prototype.peek=function(){const t=Y;Y=void 0;try{return this.value}finally{Y=t}},Object.defineProperty(dt.prototype,\"value\",{get(){const t=at(this);return void 0!==t&&(t.i=this.i),this.v},set(t){if(t!==this.v){if(ot>100)throw new Error(\"Cycle detected\");!function(t){0!==it&&0===ot&&t.l!==rt&&(t.l=rt,nt={S:t,v:t.v,i:t.i,o:nt})}(this),this.v=t,this.i++,ct++,it++;try{for(let t=this.t;void 0!==t;t=t.x)t.t.N()}finally{Q()}}}}),gt.prototype=new dt,gt.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f))return!0;if(this.f&=-5,this.g===ct)return!0;if(this.g=ct,this.f|=1,this.i>0&&!ft(this))return this.f&=-2,!0;const t=Y;try{lt(this),Y=this;const t=this.x();(16&this.f||this.v!==t||0===this.i)&&(this.v=t,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return Y=t,ht(this),this.f&=-2,!0},gt.prototype.S=function(t){if(void 0===this.t){this.f|=36;for(let t=this.s;void 0!==t;t=t.n)t.S.S(t)}dt.prototype.S.call(this,t)},gt.prototype.U=function(t){if(void 0!==this.t&&(dt.prototype.U.call(this,t),void 0===this.t)){this.f&=-33;for(let t=this.s;void 0!==t;t=t.n)t.S.U(t)}},gt.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(let t=this.t;void 0!==t;t=t.x)t.t.N()}},Object.defineProperty(gt.prototype,\"value\",{get(){if(1&this.f)throw new Error(\"Cycle detected\");const t=at(this);if(this.h(),void 0!==t&&(t.i=this.i),16&this.f)throw this.v;return this.v}}),Et.prototype.c=function(){const t=this.S();try{if(8&this.f)return;if(void 0===this.x)return;const t=this.x();\"function\"==typeof t&&(this.m=t)}finally{t()}},Et.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1,this.f&=-9,mt(this),lt(this),it++;const t=Y;return Y=this,xt.bind(this,t)},Et.prototype.N=function(){2&this.f||(this.f|=2,this.u=tt,tt=this)},Et.prototype.d=function(){this.f|=8,1&this.f||vt(this)},Et.prototype.dispose=function(){this.d()};const bt=t({build:(t,e,n)=>St(e),config:e({defaultSelection:\"rootEnd\",disabled:!1}),name:\"@lexical/extension/AutoFocus\",register(t,e,n){const i=n.getOutput();return yt(()=>i.disabled.value?void 0:t.registerRootListener(e=>{t.focus(()=>{const t=document.activeElement;null===e||null!==t&&e.contains(t)||e.focus({preventScroll:!0})},{defaultSelection:i.defaultSelection.peek()})}))}});function wt(){const t=o(),e=s(),n=r();t.clear(),t.append(n),null!==e&&n.select(),c(e)&&(e.format=0)}function Nt(t,e=wt){return t.registerCommand(n,n=>(t.update(e),!0),i)}const Ot=t({build:(t,e,n)=>St(e),config:e({$onClear:wt}),name:\"@lexical/extension/ClearEditor\",register(t,e,n){const{$onClear:i}=n.getOutput();return yt(()=>Nt(t,i.value))}});function Rt(t){const e=new Set,n=new Set;for(const i of Ct(t)){const t=\"function\"==typeof i?i:i.replace;e.add(t.getType()),n.add(t)}return{nodes:n,types:e}}function Ct(t){return(\"function\"==typeof t.nodes?t.nodes():t.nodes)||[]}const Dt=m(\"format\",{parse:t=>\"number\"==typeof t?t:0});class Ft extends f{$config(){return this.config(\"decorator-text\",{extends:f,stateConfigs:[{flat:!0,stateConfig:Dt}]})}getFormat(){return l(this,Dt)}getFormatFlags(t,e){return h(this.getFormat(),t,e)}hasFormat(t){const e=p[t];return 0!==(this.getFormat()&e)}setFormat(t){return g(this,Dt,t)}toggleFormat(t){const e=this.getFormat(),n=h(e,t,null);return this.setFormat(n)}isInline(){return!0}createDOM(){return document.createElement(\"span\")}updateDOM(){return!1}}function Mt(t){return t instanceof Ft}function It(t,e,n){const i=e.fontWeight,o=e.textDecoration.split(\" \"),s=\"700\"===i||\"bold\"===i,r=o.includes(\"line-through\"),c=\"italic\"===e.fontStyle,a=o.includes(\"underline\"),d=e.verticalAlign;return s&&!t.hasFormat(\"bold\")&&t.toggleFormat(\"bold\"),r&&!t.hasFormat(\"strikethrough\")&&t.toggleFormat(\"strikethrough\"),c&&!t.hasFormat(\"italic\")&&t.toggleFormat(\"italic\"),a&&!t.hasFormat(\"underline\")&&t.toggleFormat(\"underline\"),\"sub\"!==d||t.hasFormat(\"subscript\")||t.toggleFormat(\"subscript\"),\"super\"!==d||t.hasFormat(\"superscript\")||t.toggleFormat(\"superscript\"),n&&!t.hasFormat(n)&&t.toggleFormat(n),t}function _t(t,e,n=At){for(const[i,o]of Object.entries(n))t.hasFormat(o)&&(e=Pt(e,i));return e}function Pt(t,e){const n=document.createElement(e);return n.appendChild(t),n}const At={b:\"bold\",code:\"code\",em:\"italic\",i:\"italic\",mark:\"highlight\",s:\"strikethrough\",strong:\"bold\",sub:\"subscript\",sup:\"superscript\",u:\"underline\"},jt=t({name:\"@lexical/extension/DecoratorText\",nodes:()=>[Ft],register:(t,e,n)=>t.registerCommand(a,t=>{const e=s();if(d(e)||c(e))for(const n of e.getNodes())Mt(n)&&n.toggleFormat(t);return!1},u)});function kt(t,e){let n;return ut(t(),{unwatched(){n&&(n(),n=void 0)},watched(){this.value=t(),n=e(this)}})}const $t=t({build:t=>kt(()=>t.getEditorState(),e=>t.registerUpdateListener(t=>{e.value=t.editorState})),name:\"@lexical/extension/EditorState\"});function Kt(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),i=new URLSearchParams;i.append(\"code\",t);for(const t of e)i.append(\"v\",t);throw n.search=i.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function zt(t,e){if(t&&e&&!Array.isArray(e)&&\"object\"==typeof t&&\"object\"==typeof e){const n=t,i=e;for(const t in i)n[t]=zt(n[t],i[t]);return t}return e}const Lt=0,Ut=1,Tt=2,Bt=3,Wt=4,Gt=5,Vt=6,Zt=7;function Jt(t){return t.id===Lt}function Ht(t){return t.id===Tt}function qt(t){return function(t){return t.id===Ut}(t)||Kt(305,String(t.id),String(Ut)),Object.assign(t,{id:Tt})}const Qt=new Set;class Xt{builder;configs;_dependency;_peerNameSet;extension;state;_signal;constructor(t,e){this.builder=t,this.extension=e,this.configs=new Set,this.state={id:Lt}}mergeConfigs(){let t=this.extension.config||{};const e=this.extension.mergeConfig?this.extension.mergeConfig.bind(this.extension):v;for(const n of this.configs)t=e(t,n);return t}init(t){const e=this.state;Ht(e)||Kt(306,String(e.id));const n={getDependency:this.getInitDependency.bind(this),getDirectDependentNames:this.getDirectDependentNames.bind(this),getPeer:this.getInitPeer.bind(this),getPeerNameSet:this.getPeerNameSet.bind(this)},i={...n,getDependency:this.getDependency.bind(this),getInitResult:this.getInitResult.bind(this),getPeer:this.getPeer.bind(this)},o=function(t,e,n){return Object.assign(t,{config:e,id:Bt,registerState:n})}(e,this.mergeConfigs(),n);let s;this.state=o,this.extension.init&&(s=this.extension.init(t,o.config,n)),this.state=function(t,e,n){return Object.assign(t,{id:Wt,initResult:e,registerState:n})}(o,s,i)}build(t){const e=this.state;let n;e.id!==Wt&&Kt(307,String(e.id),String(Gt)),this.extension.build&&(n=this.extension.build(t,e.config,e.registerState));const i={...e.registerState,getOutput:()=>n,getSignal:this.getSignal.bind(this)};this.state=function(t,e,n){return Object.assign(t,{id:Gt,output:e,registerState:n})}(e,n,i)}register(t,e){this._signal=e;const n=this.state;n.id!==Gt&&Kt(308,String(n.id),String(Gt));const i=this.extension.register&&this.extension.register(t,n.config,n.registerState);return this.state=function(t){return Object.assign(t,{id:Vt})}(n),()=>{const t=this.state;t.id!==Zt&&Kt(309,String(n.id),String(Zt)),this.state=function(t){return Object.assign(t,{id:Gt})}(t),i&&i()}}afterRegistration(t){const e=this.state;let n;return e.id!==Vt&&Kt(310,String(e.id),String(Vt)),this.extension.afterRegistration&&(n=this.extension.afterRegistration(t,e.config,e.registerState)),this.state=function(t){return Object.assign(t,{id:Zt})}(e),n}getSignal(){return void 0===this._signal&&Kt(311),this._signal}getInitResult(){void 0===this.extension.init&&Kt(312,this.extension.name);const t=this.state;return function(t){return t.id>=Wt}(t)||Kt(313,String(t.id),String(Wt)),t.initResult}getInitPeer(t){const e=this.builder.extensionNameMap.get(t);return e?e.getExtensionInitDependency():void 0}getExtensionInitDependency(){const t=this.state;return function(t){return t.id>=Bt}(t)||Kt(314,String(t.id),String(Bt)),{config:t.config}}getPeer(t){const e=this.builder.extensionNameMap.get(t);return e?e.getExtensionDependency():void 0}getInitDependency(t){const e=this.builder.getExtensionRep(t);return void 0===e&&Kt(315,this.extension.name,t.name),e.getExtensionInitDependency()}getDependency(t){const e=this.builder.getExtensionRep(t);return void 0===e&&Kt(315,this.extension.name,t.name),e.getExtensionDependency()}getState(){const t=this.state;return function(t){return t.id>=Zt}(t)||Kt(316,String(t.id),String(Zt)),t}getDirectDependentNames(){return this.builder.incomingEdges.get(this.extension.name)||Qt}getPeerNameSet(){let t=this._peerNameSet;return t||(t=new Set((this.extension.peerDependencies||[]).map(([t])=>t)),this._peerNameSet=t),t}getExtensionDependency(){if(!this._dependency){const t=this.state;(function(t){return t.id>=Gt})(t)||Kt(317,this.extension.name),this._dependency={config:t.config,init:t.initResult,output:t.output}}return this._dependency}}const Yt={tag:N};function te(){const t=o();t.isEmpty()&&t.append(r())}const ee=t({config:e({setOptions:Yt,updateOptions:Yt}),init:({$initialEditorState:t=te})=>({$initialEditorState:t,initialized:!1}),afterRegistration(t,{updateOptions:e,setOptions:n},i){const o=i.getInitResult();if(!o.initialized){o.initialized=!0;const{$initialEditorState:i}=o;if(w(i))t.setEditorState(i,n);else if(\"function\"==typeof i)t.update(()=>{i(t)},e);else if(i&&(\"string\"==typeof i||\"object\"==typeof i)){const e=t.parseEditorState(i);t.setEditorState(e,n)}}return()=>{}},name:\"@lexical/extension/InitialState\",nodes:[x,E,y,S,b]}),ne=Symbol.for(\"@lexical/extension/LexicalBuilder\");function ie(...t){return ae.fromExtensions(t).buildEditor()}function oe(){}function se(t){throw t}function re(t){return Array.isArray(t)?t:[t]}const ce=\"0.43.0+prod.esm\";class ae{roots;extensionNameMap;outgoingConfigEdges;incomingEdges;conflicts;_sortedExtensionReps;PACKAGE_VERSION;constructor(t){this.outgoingConfigEdges=new Map,this.incomingEdges=new Map,this.extensionNameMap=new Map,this.conflicts=new Map,this.PACKAGE_VERSION=ce,this.roots=t;for(const e of t)this.addExtension(e)}static fromExtensions(t){const e=[re(ee)];for(const n of t)e.push(re(n));return new ae(e)}static maybeFromEditor(t){const e=t[ne];return e&&(e.PACKAGE_VERSION!==ce&&Kt(292,e.PACKAGE_VERSION,ce),e instanceof ae||Kt(293)),e}static fromEditor(t){const e=ae.maybeFromEditor(t);return void 0===e&&Kt(294),e}constructEditor(){const{$initialEditorState:t,onError:e,...n}=this.buildCreateEditorArgs(),i=Object.assign(O({...n,...e?{onError:t=>{e(t,i)}}:{}}),{[ne]:this});for(const t of this.sortedExtensionReps())t.build(i);return i}buildEditor(){let t=oe;function e(){try{t()}finally{t=oe}}const n=Object.assign(this.constructEditor(),{dispose:e,[Symbol.dispose]:e});return t=R(this.registerEditor(n),()=>n.setRootElement(null)),n}hasExtensionByName(t){return this.extensionNameMap.has(t)}getExtensionRep(t){const e=this.extensionNameMap.get(t.name);if(e)return e.extension!==t&&Kt(295,t.name),e}addEdge(t,e,n){const i=this.outgoingConfigEdges.get(t);i?i.set(e,n):this.outgoingConfigEdges.set(t,new Map([[e,n]]));const o=this.incomingEdges.get(e);o?o.add(t):this.incomingEdges.set(e,new Set([t]))}addExtension(t){void 0!==this._sortedExtensionReps&&Kt(296);const e=re(t),[n]=e;\"string\"!=typeof n.name&&Kt(297,typeof n.name);let i=this.extensionNameMap.get(n.name);if(void 0!==i&&i.extension!==n&&Kt(298,n.name),!i){i=new Xt(this,n),this.extensionNameMap.set(n.name,i);const t=this.conflicts.get(n.name);\"string\"==typeof t&&Kt(299,n.name,t);for(const t of n.conflictsWith||[])this.extensionNameMap.has(t)&&Kt(299,n.name,t),this.conflicts.set(t,n.name);for(const t of n.dependencies||[]){const e=re(t);this.addEdge(n.name,e[0].name,e.slice(1)),this.addExtension(e)}for(const[t,e]of n.peerDependencies||[])this.addEdge(n.name,t,e?[e]:[])}}sortedExtensionReps(){if(this._sortedExtensionReps)return this._sortedExtensionReps;const t=[],e=(n,i)=>{let o=n.state;if(Ht(o))return;const s=n.extension.name;var r;Jt(o)||Kt(300,s,i||\"[unknown]\"),Jt(r=o)||Kt(304,String(r.id),String(Lt)),o=Object.assign(r,{id:Ut}),n.state=o;const c=this.outgoingConfigEdges.get(s);if(c)for(const t of c.keys()){const n=this.extensionNameMap.get(t);n&&e(n,s)}o=qt(o),n.state=o,t.push(n)};for(const t of this.extensionNameMap.values())Jt(t.state)&&e(t);for(const e of t)for(const[t,n]of this.outgoingConfigEdges.get(e.extension.name)||[])if(n.length>0){const e=this.extensionNameMap.get(t);if(e)for(const t of n)e.configs.add(t)}for(const[t,...e]of this.roots)if(e.length>0){const n=this.extensionNameMap.get(t.name);void 0===n&&Kt(301,t.name);for(const t of e)n.configs.add(t)}return this._sortedExtensionReps=t,this._sortedExtensionReps}registerEditor(t){const e=this.sortedExtensionReps(),n=new AbortController,i=[()=>n.abort()],o=n.signal;for(const n of e){const e=n.register(t,o);e&&i.push(e)}for(const n of e){const e=n.afterRegistration(t);e&&i.push(e)}return R(...i)}buildCreateEditorArgs(){const t={},e=new Set,n=new Map,i=new Map,o={},s={},r=this.sortedExtensionReps();for(const c of r){const{extension:r}=c;if(void 0!==r.onError&&(t.onError=r.onError),void 0!==r.disableEvents&&(t.disableEvents=r.disableEvents),void 0!==r.parentEditor&&(t.parentEditor=r.parentEditor),void 0!==r.editable&&(t.editable=r.editable),void 0!==r.namespace&&(t.namespace=r.namespace),void 0!==r.$initialEditorState&&(t.$initialEditorState=r.$initialEditorState),r.nodes)for(const t of Ct(r)){if(\"function\"!=typeof t){const e=n.get(t.replace);e&&Kt(302,r.name,t.replace.name,e.extension.name),n.set(t.replace,c)}e.add(t)}if(r.html){if(r.html.export)for(const[t,e]of r.html.export.entries())i.set(t,e);r.html.import&&Object.assign(o,r.html.import)}r.theme&&zt(s,r.theme)}Object.keys(s).length>0&&(t.theme=s),e.size&&(t.nodes=[...e]);const c=Object.keys(o).length>0,a=i.size>0;(c||a)&&(t.html={},c&&(t.html.import=o),a&&(t.html.export=i));for(const e of r)e.init(t);return t.onError||(t.onError=se),t}}function de(t,e){const n=ae.fromEditor(t).getExtensionRep(e);return void 0===n&&Kt(303,e.name),n.getExtensionDependency()}function ue(t,e){const n=ae.fromEditor(t).extensionNameMap.get(e);return n?n.getExtensionDependency():void 0}function fe(t,e){const n=ue(t,e);return void 0===n&&Kt(291,e),n}const le=new Set,he=t({build(t,e,n){const i=n.getDependency($t).output,o=ut({watchedNodeKeys:new Map}),r=kt(()=>{},()=>yt(()=>{const t=r.peek(),{watchedNodeKeys:e}=o.value;let n,c=!1;i.value.read(()=>{if(s())for(const[i,o]of e.entries()){if(0===o.size){e.delete(i);continue}const s=C(i),r=s&&s.isSelected()||!1;c=c||r!==(!!t&&t.has(i)),r&&(n=n||new Set,n.add(i))}}),!c&&n&&t&&n.size===t.size||(r.value=n)}));return{watchNodeKey:function(t){const e=pt(()=>(r.value||le).has(t)),{watchedNodeKeys:n}=o.peek();let i=n.get(t);const s=void 0!==i;return i=i||new Set,i.add(e),s||(n.set(t,i),o.value={watchedNodeKeys:n}),e}}},dependencies:[$t],name:\"@lexical/extension/NodeSelection\"}),ge=P(\"INSERT_HORIZONTAL_RULE_COMMAND\");class pe extends f{static getType(){return\"horizontalrule\"}static clone(t){return new pe(t.__key)}static importJSON(t){return ve().updateFromJSON(t)}static importDOM(){return{hr:()=>({conversion:me,priority:0})}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(t){const e=document.createElement(\"hr\");return _(e,t.theme.hr),e}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}}function me(){return{node:ve()}}function ve(){return D(pe)}function xe(t){return t instanceof pe}const Ee=t({dependencies:[$t,he],name:\"@lexical/extension/HorizontalRule\",nodes:()=>[pe],register(t,e,n){const{watchNodeKey:o}=n.getDependency(he).output,r=ut({nodeSelections:new Map}),a=t._config.theme.hrSelected??\"selected\";return R(t.registerCommand(ge,t=>{const e=s();if(!c(e))return!1;if(null!==e.focus.getNode()){const t=ve();V(t)}return!0},i),t.registerCommand(F,t=>{if(M(t.target)){const e=I(t.target);if(xe(e))return function(t,e=!1){const n=s(),i=t.isSelected(),o=t.getKey();let r;e&&d(n)?r=n:(r=A(),j(r)),i?r.delete(o):r.add(o)}(e,t.shiftKey),!0}return!1},u),t.registerMutationListener(pe,(e,n)=>{X(()=>{let n=!1;const{nodeSelections:i}=r.peek();for(const[s,r]of e.entries())if(\"destroyed\"===r)i.delete(s),n=!0;else{const e=i.get(s),r=t.getElementByKey(s);e?e.domNode.value=r:(n=!0,i.set(s,{domNode:ut(r),selectedSignal:o(s)}))}n&&(r.value={nodeSelections:i})})}),yt(()=>{const t=[];for(const{domNode:e,selectedSignal:n}of r.value.nodeSelections.values())t.push(yt(()=>{const t=e.value;if(t){n.value?_(t,a):k(t,a)}}));return R(...t)}))}});const ye=t({build:(t,e)=>St({inheritEditableFromParent:e.inheritEditableFromParent}),config:e({$getParentEditor:function(){const t=$();return ae.fromEditor(t),t},inheritEditableFromParent:!1}),init:(t,e,n)=>{const i=e.$getParentEditor();t.parentEditor=i,t.theme=t.theme||i._config.theme},name:\"@lexical/extension/NestedEditor\",register:(t,e,n)=>yt(()=>{const e=t._parentEditor;if(e&&n.getOutput().inheritEditableFromParent.value)return t.setEditable(e.isEditable()),e.registerEditableListener(t.setEditable.bind(t))})}),Se=t({build:(t,e,n)=>St(e),config:e({disabled:!1,onReposition:void 0}),name:\"@lexical/utils/SelectionAlwaysOnDisplay\",register:(t,e,n)=>{const i=n.getOutput();return yt(()=>{if(!i.disabled.value)return Z(t,i.onReposition.value)})}});function be(t){return t.canBeEmpty()}function we(t,e,n=be){return R(t.registerCommand(K,e=>{const n=s();if(!c(n))return!1;e.preventDefault();const i=function(t){if(t.getNodes().filter(t=>B(t)&&t.canIndent()).length>0)return!0;const e=t.anchor,n=t.focus,i=n.isBefore(e)?n:e,o=i.getNode(),s=H(o);if(s.canIndent()){const t=s.getKey();let e=W();if(e.anchor.set(t,0,\"element\"),e.focus.set(t,0,\"element\"),e=G(e),e.anchor.is(i))return!0}return!1}(n)?e.shiftKey?z:L:U;return t.dispatchCommand(i,void 0)},i),t.registerCommand(L,()=>{const t=\"number\"==typeof e?e:e?e.peek():null,i=s();if(!c(i))return!1;const o=\"function\"==typeof n?n:n.peek();return J(e=>{if(o(e)){const n=e.getIndent()+1;(!t||nSt(e),config:e({$canIndent:be,disabled:!1,maxIndent:null}),name:\"@lexical/extension/TabIndentation\",register(t,e,n){const{disabled:i,maxIndent:o,$canIndent:s}=n.getOutput();return yt(()=>{if(!i.value)return we(t,o,s)})}});export{ve as $createHorizontalRuleNode,Mt as $isDecoratorTextNode,xe as $isHorizontalRuleNode,bt as AutoFocusExtension,Ot as ClearEditorExtension,jt as DecoratorTextExtension,Ft as DecoratorTextNode,$t as EditorStateExtension,Ee as HorizontalRuleExtension,pe as HorizontalRuleNode,ge as INSERT_HORIZONTAL_RULE_COMMAND,ee as InitialStateExtension,ae as LexicalBuilder,ye as NestedEditorExtension,he as NodeSelectionExtension,Se as SelectionAlwaysOnDisplayExtension,Ne as TabIndentationExtension,It as applyFormatFromStyle,_t as applyFormatToDom,X as batch,ie as buildEditorFromExtensions,pt as computed,yt as effect,de as getExtensionDependencyFromEditor,Rt as getKnownTypesAndNodes,ue as getPeerDependencyFromEditor,fe as getPeerDependencyFromEditorOrThrow,St as namedSignals,Nt as registerClearEditor,we as registerTabIndentation,ut as signal,et as untracked,kt as watchedSignal};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{defineExtension as e}from\"lexical\";const r=e({name:\"@lexical/react/ReactProvider\"});export{r as ReactProviderExtension};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getRoot as t,$isDecoratorNode as e,$isElementNode as n,$isParagraphNode as r,$isTextNode as i,TextNode as o,$createTextNode as l}from\"lexical\";function s(){return t().getTextContent()}function f(t,e=!0){if(t)return!1;let n=s();return e&&(n=n.trim()),\"\"===n}function u(t,e){return()=>f(t,e)}function c(o){if(!f(o,!1))return!1;const l=t().getChildren(),s=l.length;if(s>1)return!1;for(let t=0;tc(t)}function a(t,e){let r=t.getFirstChild(),o=0;t:for(;null!==r;){if(n(r)){const t=r.getFirstChild();if(null!==t){r=t;continue}}else if(i(r)){const t=r.getTextContentSize();if(o+t>e)return{node:r,offset:e-o};o+=t}const t=r.getNextSibling();if(null!==t){r=t;continue}let l=r.getParent();for(;null!==l;){const t=l.getNextSibling();if(null!==t){r=t;continue t}l=l.getParent()}break}return null}function d(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function x(t,e,n,r){const s=t=>t instanceof n,f=t=>{const e=l(t.getTextContent());e.setFormat(t.getFormat()),t.replace(e)};return[t.registerNodeTransform(o,t=>{if(!t.isSimpleText())return;let n,o=t.getPreviousSibling(),l=t.getTextContent(),u=t;if(i(o)){const n=o.getTextContent(),r=e(n+l);if(s(o)){if(null===r||0!==(t=>t.getLatest().__mode)(o))return void f(o);{const e=r.end-n.length;if(e>0){const r=n+l.slice(0,e);if(o.select(),o.setTextContent(r),e===l.length)t.remove();else{const n=l.slice(e);t.setTextContent(n)}return}}}else if(null===r||r.start{const n=t.getTextContent(),r=e(n);if(null===r||0!==r.start)return void f(t);if(n.length>r.end)return void t.splitText(r.end);const o=t.getPreviousSibling();i(o)&&o.isTextEntity()&&(f(o),f(t));const l=t.getNextSibling();i(l)&&l.isTextEntity()&&(f(l),s(t)&&f(t))})]}export{c as $canShowPlaceholder,g as $canShowPlaceholderCurry,a as $findTextIntersectionFromCharacters,f as $isRootTextContentEmpty,u as $isRootTextContentEmptyCurry,s as $rootTextContent,x as registerLexicalTextEntity};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{effect as e,namedSignals as t}from\"@lexical/extension\";import{defineExtension as n,safeCast as o,$getSelection as i,$isRangeSelection as a,$isTextNode as r}from\"lexical\";function s(e){const t=window.location.origin,n=n=>{if(n.origin!==t)return;const o=e.getRootElement();if(document.activeElement!==o)return;const s=n.data;if(\"string\"==typeof s){let t;try{t=JSON.parse(s)}catch(e){return}if(t&&\"nuanria_messaging\"===t.protocol&&\"request\"===t.type){const o=t.payload;if(o&&\"makeChanges\"===o.functionId){const t=o.args;if(t){const[o,s,d,c,g]=t;e.update(()=>{const e=i();if(a(e)){const t=e.anchor;let i=t.getNode(),a=0,l=0;if(r(i)&&o>=0&&s>=0&&(a=o,l=o+s,e.setTextNodeRange(i,a,i,l)),a===l&&\"\"===d||(e.insertRawText(d),i=t.getNode()),r(i)){a=c,l=c+g;const t=i.getTextContentSize();a=a>t?t:a,l=l>t?t:l,e.setTextNodeRange(i,a,i,l)}n.stopImmediatePropagation()}})}}}}};return window.addEventListener(\"message\",n,!0),()=>{window.removeEventListener(\"message\",n,!0)}}const d=n({build:(e,n,o)=>t(n),config:o({disabled:\"undefined\"==typeof window}),name:\"@lexical/dragon\",register:(t,n,o)=>e(()=>o.getOutput().disabled.value?void 0:s(t))});export{d as DragonExtension,s as registerDragonSupport};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as r}from\"@lexical/react/LexicalComposerContext\";import{useLexicalEditable as e}from\"@lexical/react/useLexicalEditable\";import{LexicalBuilder as t}from\"@lexical/extension\";import{ReactProviderExtension as o}from\"@lexical/react/ReactProviderExtension\";import{useLayoutEffect as n,useEffect as i,useState as c,useMemo as a,Suspense as l}from\"react\";import{flushSync as s,createPortal as u}from\"react-dom\";import{jsx as d,jsxs as f,Fragment as m}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as p}from\"@lexical/text\";import{mergeRegister as x}from\"@lexical/utils\";import{registerDragonSupport as E}from\"@lexical/dragon\";import{registerRichText as h}from\"@lexical/rich-text\";function g(r,...e){const t=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",r);for(const r of e)o.append(\"v\",r);throw t.search=o.toString(),Error(`Minified Lexical error #${r}; visit ${t.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const y=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:i;function w({editor:r,ErrorBoundary:e}){return function(r,e){const[t,o]=c(()=>r.getDecorators());return y(()=>r.registerDecoratorListener(r=>{s(()=>{o(r)})}),[r]),i(()=>{o(r.getDecorators())},[r]),a(()=>{const o=[],n=Object.keys(t);for(let i=0;ir._onError(e),children:d(l,{fallback:null,children:t[c]})}),s=r.getElementByKey(c);null!==s&&o.push(u(a,s,c))}return o},[e,t,r])}(r,e)}function v({editor:r,ErrorBoundary:e}){return function(r){const e=t.maybeFromEditor(r);if(e&&e.hasExtensionByName(o.name)){for(const r of[\"@lexical/plain-text\",\"@lexical/rich-text\"])e.hasExtensionByName(r)&&g(320,r);return!0}return!1}(r)?null:d(w,{editor:r,ErrorBoundary:e})}function B(r){return r.getEditorState().read(p(r.isComposing()))}function L({contentEditable:e,placeholder:t=null,ErrorBoundary:o}){const[n]=r();return function(r){y(()=>x(h(r),E(r)),[r])}(n),f(m,{children:[e,d(b,{content:t}),d(v,{editor:n,ErrorBoundary:o})]})}function b({content:t}){const[o]=r(),n=function(r){const[e,t]=c(()=>B(r));return y(()=>{function e(){const e=B(r);t(e)}return e(),x(r.registerUpdateListener(()=>{e()}),r.registerEditableListener(()=>{e()}))},[r]),e}(o),i=e();return n?\"function\"==typeof t?t(i):t:null}export{L as RichTextPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useEffect as t}from\"react\";function o({defaultSelection:o}){const[l]=e();return t(()=>{l.focus(()=>{const e=document.activeElement,t=l.getRootElement();null===t||null!==e&&t.contains(e)||t.focus({preventScroll:!0})},{defaultSelection:o})},[o,l]),null}export{o as AutoFocusPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{registerClearEditor as o}from\"@lexical/extension\";import{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as n,useEffect as t}from\"react\";const i=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:t;function r({onClear:n}){const[t]=e();return i(()=>o(t,n),[t,n]),null}export{r as ClearEditorPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as i,forwardRef as a,useState as r,useCallback as n,useMemo as o}from\"react\";import{jsx as l,jsxs as d,Fragment as c}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as s}from\"@lexical/text\";import{mergeRegister as u}from\"@lexical/utils\";const m=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:i;function f({editor:e,ariaActiveDescendant:t,ariaAutoComplete:i,ariaControls:a,ariaDescribedBy:d,ariaErrorMessage:c,ariaExpanded:s,ariaInvalid:u,ariaLabel:f,ariaLabelledBy:b,ariaMultiline:p,ariaOwns:x,ariaRequired:E,autoCapitalize:v,className:w,id:y,role:C=\"textbox\",spellCheck:g=!0,style:L,tabIndex:h,\"data-testid\":D,...I},R){const[k,q]=r(e.isEditable()),z=n(t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)},[e]),A=o(()=>function(...e){return t=>{for(const i of e)\"function\"==typeof i?i(t):null!=i&&(i.current=t)}}(R,z),[z,R]);return m(()=>(q(e.isEditable()),e.registerEditableListener(e=>{q(e)})),[e]),l(\"div\",{\"aria-activedescendant\":k?t:void 0,\"aria-autocomplete\":k?i:\"none\",\"aria-controls\":k?a:void 0,\"aria-describedby\":d,...null!=c?{\"aria-errormessage\":c}:{},\"aria-expanded\":k&&\"combobox\"===C?!!s:void 0,...null!=u?{\"aria-invalid\":u}:{},\"aria-label\":f,\"aria-labelledby\":b,\"aria-multiline\":p,\"aria-owns\":k?x:void 0,\"aria-readonly\":!k||void 0,\"aria-required\":E,autoCapitalize:v,className:w,contentEditable:k,\"data-testid\":D,id:y,ref:A,role:C,spellCheck:g,style:L,tabIndex:h,...I})}const b=a(f);function p(e){return e.getEditorState().read(s(e.isComposing()))}const x=a(E);function E(t,i){const{placeholder:a,...r}=t,[n]=e();return d(c,{children:[l(b,{editor:n,...r,ref:i}),null!=a&&l(v,{editor:n,content:a})]})}function v({content:e,editor:i}){const a=function(e){const[t,i]=r(()=>p(e));return m(()=>{function t(){const t=p(e);i(t)}return t(),u(e.registerUpdateListener(()=>{t()}),e.registerEditableListener(()=>{t()}))},[e]),t}(i),[n,o]=r(i.isEditable());if(t(()=>(o(i.isEditable()),i.registerEditableListener(e=>{o(e)})),[i]),!a)return null;let d=null;return\"function\"==typeof e?d=e(n):null!==e&&(d=e),null===d?null:l(\"div\",{\"aria-hidden\":!0,children:d})}export{x as ContentEditable,b as ContentEditableElement};\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure. Also,\n * modifications have been made to integrate with our codebase.\n *\n * Original file location: src/components/editor/editor-ui/content-editable.tsx\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n */\n\nimport { ReactNode } from 'react';\nimport { ContentEditable as LexicalContentEditable } from '@lexical/react/LexicalContentEditable';\n\ntype Props = {\n placeholder: string;\n className?: string;\n placeholderClassName?: string;\n};\n\nexport function ContentEditable({\n placeholder,\n className,\n placeholderClassName,\n}: Props): ReactNode {\n return (\n \n {placeholder}\n \n }\n />\n );\n}\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure.\n *\n * Original file location: src/components/editor/context/toolbar-context.tsx\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n */\n\n'use client';\n\nimport { createContext, ReactNode, useContext, useMemo } from 'react';\nimport { LexicalEditor } from 'lexical';\n\nconst Context = createContext<\n | {\n activeEditor: LexicalEditor;\n $updateToolbar: () => void;\n blockType: string;\n setBlockType: (blockType: string) => void;\n showModal: (title: string, showModal: (onClose: () => void) => ReactNode) => void;\n }\n | undefined\n>(undefined);\n\nexport function ToolbarContext({\n activeEditor,\n $updateToolbar,\n blockType,\n setBlockType,\n showModal,\n children,\n}: {\n activeEditor: LexicalEditor;\n $updateToolbar: () => void;\n blockType: string;\n setBlockType: (blockType: string) => void;\n showModal: (title: string, showModal: (onClose: () => void) => ReactNode) => void;\n children: ReactNode;\n}) {\n const contextValue = useMemo(\n () => ({\n activeEditor,\n $updateToolbar,\n blockType,\n setBlockType,\n showModal,\n }),\n [activeEditor, $updateToolbar, blockType, setBlockType, showModal],\n );\n\n return {children};\n}\n\nexport function useToolbarContext() {\n const context = useContext(Context);\n if (!context) {\n throw new Error('useToolbarContext must be used within a ToolbarContext provider');\n }\n return context;\n}\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure.\n *\n * Original file location: src/components/editor/editor-hooks/use-modal.tsx\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n */\n\nimport { ReactNode, useCallback, useMemo, useState } from 'react';\n\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/shadcn-ui/dialog';\n\nexport function useEditorModal(): [\n ReactNode | undefined,\n (title: string, showModal: (onClose: () => void) => ReactNode) => void,\n] {\n const [modalContent, setModalContent] = useState<\n | {\n closeOnClickOutside: boolean;\n content: ReactNode;\n title: string;\n }\n | undefined\n >(undefined);\n\n const onClose = useCallback(() => {\n setModalContent(undefined);\n }, []);\n\n const modal = useMemo(() => {\n if (modalContent === undefined) {\n return undefined;\n }\n const { title, content } = modalContent;\n return (\n \n \n \n {title}\n \n {content}\n \n \n );\n }, [modalContent, onClose]);\n\n const showModal = useCallback(\n (\n title: string,\n getContent: (onClose: () => void) => ReactNode,\n closeOnClickOutside = false,\n ) => {\n setModalContent({\n closeOnClickOutside,\n content: getContent(onClose),\n title,\n });\n },\n [onClose],\n );\n\n return [modal, showModal];\n}\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure.\n *\n * Original file location: src/components/editor/plugins/toolbar/toolbar-plugin.tsx\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n *\n * Documentation for the Toolbar Plugin-framework:\n * https://shadcn-editor.vercel.app/docs/plugins/toolbar\n */\n\nimport { ReactNode, useEffect, useState } from 'react';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { COMMAND_PRIORITY_CRITICAL, SELECTION_CHANGE_COMMAND } from 'lexical';\n\nimport { ToolbarContext } from '@/components/advanced/editor/context/toolbar-context';\nimport { useEditorModal } from '@/components/advanced/editor/editor-hooks/use-modal';\n\nexport function ToolbarPlugin({\n children,\n}: {\n children: (props: { blockType: string }) => ReactNode;\n}) {\n const [editor] = useLexicalComposerContext();\n\n const [activeEditor, setActiveEditor] = useState(editor);\n const [blockType, setBlockType] = useState('paragraph');\n\n const [modal, showModal] = useEditorModal();\n\n const $updateToolbar = () => {};\n\n useEffect(() => {\n return activeEditor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n (_payload, newEditor) => {\n setActiveEditor(newEditor);\n return false;\n },\n COMMAND_PRIORITY_CRITICAL,\n );\n }, [activeEditor]);\n\n return (\n \n {modal}\n\n {children({ blockType })}\n \n );\n}\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure.\n *\n * Original file location: src/components/editor/editor-hooks/use-update-toolbar.ts\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n */\n\nimport { useEffect } from 'react';\nimport { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport {\n $getSelection,\n BaseSelection,\n COMMAND_PRIORITY_CRITICAL,\n SELECTION_CHANGE_COMMAND,\n} from 'lexical';\n\nimport { useToolbarContext } from '@/components/advanced/editor/context/toolbar-context';\n\nexport function useUpdateToolbarHandler(callback: (selection: BaseSelection) => void) {\n const [editor] = useLexicalComposerContext();\n const { activeEditor } = useToolbarContext();\n\n useEffect(() => {\n return activeEditor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n const selection = $getSelection();\n if (selection) {\n callback(selection);\n }\n return false;\n },\n COMMAND_PRIORITY_CRITICAL,\n );\n /**\n * We use `editor` (not `activeEditor`) in the dependency array because `activeEditor` can\n * change frequently. Re-registering the command on every `activeEditor` change would be\n * unnecessary. We only need to re-register when the main editor instance or callback changes.\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [editor, callback]);\n\n useEffect(() => {\n activeEditor.getEditorState().read(() => {\n const selection = $getSelection();\n if (selection) {\n callback(selection);\n }\n });\n }, [activeEditor, callback]);\n}\n","import React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Toggle as TogglePrimitive } from 'radix-ui';\n\nimport { cn } from '@/utils/shadcn-ui/utils';\n\n// CUSTOM: Added TSDoc with links to shadcn/ui and Radix UI documentation for this export\n/**\n * Variants factory for Toggle button styling. Provides `variant` (default, outline) and `size`\n * (default, sm, lg) options.\n *\n * @see Shadcn UI Documentation: {@link https://ui.shadcn.com/docs/components/toggle}\n * @see Radix UI Documentation: {@link https://www.radix-ui.com/primitives/docs/components/toggle}\n */\nconst toggleVariants = cva(\n // CUSTOM: Added pr-twp at the front of the base class string to apply Platform.Bible's Tailwind\n // CSS scope isolation; all Toggle and ToggleGroupItem components inherit this via toggleVariants\n 'pr-twp tw:group/toggle tw:inline-flex tw:items-center tw:justify-center tw:gap-1 tw:rounded-lg tw:text-sm tw:font-medium tw:whitespace-nowrap tw:transition-all tw:outline-none tw:hover:bg-muted tw:hover:text-foreground tw:focus-visible:border-ring tw:focus-visible:ring-[3px] tw:focus-visible:ring-ring/50 tw:disabled:pointer-events-none tw:disabled:opacity-50 tw:aria-invalid:border-destructive tw:aria-invalid:ring-destructive/20 tw:aria-pressed:bg-muted tw:data-[state=on]:bg-muted tw:dark:aria-invalid:ring-destructive/40 tw:[&_svg]:pointer-events-none tw:[&_svg]:shrink-0 tw:[&_svg:not([class*=size-])]:size-4',\n {\n variants: {\n variant: {\n default: 'tw:bg-transparent',\n outline: 'tw:border tw:border-input tw:bg-transparent tw:hover:bg-muted',\n },\n size: {\n default:\n 'tw:h-8 tw:min-w-8 tw:px-2.5 tw:has-data-[icon=inline-end]:pe-2 tw:has-data-[icon=inline-start]:ps-2',\n sm: 'tw:h-7 tw:min-w-7 tw:rounded-[min(var(--tw-radius-md),12px)] tw:px-2.5 tw:text-[0.8rem] tw:has-data-[icon=inline-end]:pe-1.5 tw:has-data-[icon=inline-start]:ps-1.5 tw:[&_svg:not([class*=size-])]:size-3.5',\n lg: 'tw:h-9 tw:min-w-9 tw:px-2.5 tw:has-data-[icon=inline-end]:pe-2 tw:has-data-[icon=inline-start]:ps-2',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\n// CUSTOM: Added TSDoc with links to shadcn/ui and Radix UI documentation for this component\n/**\n * A two-state button that can be toggled on or off. Built on Radix UI primitives and styled with\n * Shadcn UI. The `pr-twp` scope class is applied via the `toggleVariants` base class string.\n *\n * @see Shadcn UI Documentation: {@link https://ui.shadcn.com/docs/components/toggle}\n * @see Radix UI Documentation: {@link https://www.radix-ui.com/primitives/docs/components/toggle}\n */\nfunction Toggle({\n className,\n variant = 'default',\n size = 'default',\n ...props\n}: React.ComponentProps & VariantProps) {\n return (\n \n );\n}\n\nexport { Toggle, toggleVariants };\n","'use client';\n\nimport React from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\n\nimport { cn } from '@/utils/shadcn-ui/utils';\nimport { toggleVariants } from '@/components/shadcn-ui/toggle';\n// CUSTOM: Import readDirection for RTL support in ToggleGroup\nimport { Direction, readDirection } from '@/utils/dir-helper.util';\n\n// CUSTOM: Added @inheritdoc TSDoc pointing to ToggleGroup for documentation inheritance\n/** @inheritdoc ToggleGroup */\nconst ToggleGroupContext = React.createContext<\n VariantProps & {\n spacing?: number;\n orientation?: 'horizontal' | 'vertical';\n }\n>({\n size: 'default',\n variant: 'default',\n spacing: 0,\n orientation: 'horizontal',\n});\n\n// CUSTOM: Added TSDoc with links to shadcn/ui and Radix UI documentation for this component\n/**\n * ToggleGroup components provide a set of two-state buttons that can be toggled on or off. These\n * components are built on Radix UI primitives and styled with Shadcn UI.\n *\n * @see Shadcn UI Documentation: {@link https://ui.shadcn.com/docs/components/toggle-group}\n * @see Radix UI Documentation: {@link https://www.radix-ui.com/primitives/docs/components/toggle-group}\n */\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = 'horizontal',\n children,\n ...props\n}: React.ComponentProps &\n VariantProps & {\n spacing?: number;\n orientation?: 'horizontal' | 'vertical';\n }) {\n // CUSTOM: Read text direction so ToggleGroup passes dir to Radix, enabling RTL support\n const dir: Direction = readDirection();\n return (\n \n {/* CUSTOM: Memoize context value to avoid creating a new object reference on every render,\n which would cause all consumers to re-render unnecessarily (react/jsx-no-constructed-context-values) */}\n ({ variant, size, spacing, orientation }),\n [variant, size, spacing, orientation],\n )}\n >\n {children}\n \n \n );\n}\n\n// CUSTOM: Added @inheritdoc TSDoc pointing to ToggleGroup for documentation inheritance\n/** @inheritdoc ToggleGroup */\nfunction ToggleGroupItem({\n className,\n children,\n variant = 'default',\n size = 'default',\n ...props\n}: React.ComponentProps & VariantProps) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n \n {children}\n \n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n","/**\n * This file was automatically generated on installation of the Shadcn/Lexical editor. The default\n * location of this file has been changed to integrate better with our project structure.\n *\n * Original file location: src/components/editor/plugins/toolbar/font-format-toolbar-plugin.tsx\n *\n * Shadcn/Lexical Editor Documentation: https://shadcn-editor.vercel.app/docs/\n *\n * Documentation for this specific plugin:\n * https://shadcn-editor.vercel.app/docs/plugins/toolbar/font-format-toolbar\n */\n\nimport { useCallback, useState } from 'react';\nimport { $isTableSelection } from '@lexical/table';\nimport { $isRangeSelection, BaseSelection, FORMAT_TEXT_COMMAND } from 'lexical';\nimport { BoldIcon, ItalicIcon } from 'lucide-react';\n\nimport { useToolbarContext } from '@/components/advanced/editor/context/toolbar-context';\nimport { useUpdateToolbarHandler } from '@/components/advanced/editor/editor-hooks/use-update-toolbar';\nimport { ToggleGroup, ToggleGroupItem } from '@/components/shadcn-ui/toggle-group';\n\nconst FORMATS = [\n { format: 'bold', icon: BoldIcon, label: 'Bold' },\n { format: 'italic', icon: ItalicIcon, label: 'Italic' },\n // CUSTOM: TJ removed underline and strikethrough as they are not supported by the current comment\n // data conversion and are not in P9 anyway. We can add these back if we ever get this supported.\n /* { format: 'underline', icon: UnderlineIcon, label: 'Underline' },\n { format: 'strikethrough', icon: StrikethroughIcon, label: 'Strikethrough' }, */\n] as const;\n\nexport function FontFormatToolbarPlugin() {\n const { activeEditor } = useToolbarContext();\n const [activeFormats, setActiveFormats] = useState([]);\n\n const $updateToolbar = useCallback((selection: BaseSelection) => {\n if ($isRangeSelection(selection) || $isTableSelection(selection)) {\n const formats: string[] = [];\n FORMATS.forEach(({ format }) => {\n if (selection.hasFormat(format)) {\n formats.push(format);\n }\n });\n setActiveFormats((prev) => {\n // Only update if formats have changed\n if (prev.length !== formats.length || !formats.every((f) => prev.includes(f))) {\n return formats;\n }\n return prev;\n });\n }\n }, []);\n\n useUpdateToolbarHandler($updateToolbar);\n\n return (\n \n {FORMATS.map(({ format, icon: Icon, label }) => (\n {\n activeEditor.dispatchCommand(FORMAT_TEXT_COMMAND, format);\n }}\n >\n \n \n ))}\n \n );\n}\n","import { createContext, ReactNode, useContext, useMemo } from 'react';\n\n/**\n * Attribute a content-zoom-eligible element carries to mark it as one zoom area. Its value is the\n * zoom area id; an empty value marks the view's `main` area. Mirrors `CONTENT_ZOOM_ROOT_ATTRIBUTE`\n * in paranext-core's `src/shared/models/web-view.model.ts`. This library cannot import that module\n * (it lives under core's `src/shared`, outside this package's reach), and `@papi/core` publishes\n * the constant as a type-only declaration whose value is not importable at runtime, so the literal\n * is duplicated here; a platform test compares the two constants so they cannot drift silently.\n *\n * @experimental This export is unstable and may change shape or disappear without notice\n */\nexport const CONTENT_ZOOM_ROOT_ATTRIBUTE = 'data-platform-content-zoom-root';\n\n/**\n * Attribute a web view puts on an element that is not itself scaled — a row, a column, a card — to\n * tie a click, a focus or a Ctrl/⌘+wheel anywhere inside it to one zoom area. Its value is that\n * area's id, spelled as for {@link CONTENT_ZOOM_ROOT_ATTRIBUTE}. A marked element inside it still\n * decides for itself, and the attribute scales nothing, so never put it on a marked element.\n * Mirrors `CONTENT_ZOOM_SCOPE_ATTRIBUTE` in paranext-core's `src/shared/models/web-view.model.ts`;\n * the literal is duplicated here for the same reason as {@link CONTENT_ZOOM_ROOT_ATTRIBUTE}, and a\n * platform test compares the two constants.\n *\n * @experimental This export is unstable and may change shape or disappear without notice\n */\nexport const CONTENT_ZOOM_SCOPE_ATTRIBUTE = 'data-platform-content-zoom-scope';\n\n/**\n * Attribute that names a zoom area for the user: put on an element carrying\n * {@link CONTENT_ZOOM_ROOT_ATTRIBUTE}, it makes the platform's zoom indicator read `