@opentabs-dev/browser-extension 0.0.39 → 0.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/side-panel/bridge.d.ts +11 -2
- package/dist/side-panel/bridge.d.ts.map +1 -1
- package/dist/side-panel/bridge.js +12 -3
- package/dist/side-panel/bridge.js.map +1 -1
- package/dist/side-panel/components/PluginMenu.d.ts +1 -1
- package/dist/side-panel/components/PluginMenu.d.ts.map +1 -1
- package/dist/side-panel/components/PluginMenu.js +5 -5
- package/dist/side-panel/components/PluginMenu.js.map +1 -1
- package/dist/side-panel/components/SearchResults.d.ts.map +1 -1
- package/dist/side-panel/components/SearchResults.js +1 -8
- package/dist/side-panel/components/SearchResults.js.map +1 -1
- package/dist/side-panel/components/retro/Menu.js +1 -1
- package/dist/side-panel/components/retro/Menu.js.map +1 -1
- package/dist/side-panel/side-panel.js +16 -11
- package/dist/side-panel/styles.css +1 -1
- package/package.json +3 -1
|
@@ -35,8 +35,17 @@ interface PluginInstallResult {
|
|
|
35
35
|
}
|
|
36
36
|
/** Returns true if a tool's displayName, name, or description matches the filter string */
|
|
37
37
|
declare const matchesTool: (tool: PluginState["tools"][number], filterLower: string) => boolean;
|
|
38
|
-
/** Returns true if a plugin's displayName, name, or any tool matches the filter string
|
|
38
|
+
/** Returns true if a plugin's displayName, name, or any tool name matches the filter string.
|
|
39
|
+
* Tool descriptions are excluded to avoid false positives (e.g., "slack" matching unrelated
|
|
40
|
+
* plugins that mention Slack in a tool description). */
|
|
39
41
|
declare const matchesPlugin: (plugin: PluginState, filterLower: string) => boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Extracts a normalized short name from an npm package name for deduplication.
|
|
44
|
+
* "@opentabs-dev/opentabs-plugin-slack" → "slack"
|
|
45
|
+
* "opentabs-plugin-datadog" → "datadog"
|
|
46
|
+
* "slack" → "slack"
|
|
47
|
+
*/
|
|
48
|
+
declare const extractShortName: (name: string) => string;
|
|
40
49
|
/**
|
|
41
50
|
* Reject all pending requests immediately.
|
|
42
51
|
* Called on WebSocket disconnect (sp:connectionState connected=false) so the
|
|
@@ -78,5 +87,5 @@ declare const updatePlugin: (name: string) => Promise<PluginInstallResult>;
|
|
|
78
87
|
/** Send a confirmation response to the MCP server via the background script (fire-and-forget) */
|
|
79
88
|
declare const sendConfirmationResponse: (id: string, decision: "allow_once" | "allow_always" | "deny", scope?: "tool_domain" | "tool_all" | "domain_all") => void;
|
|
80
89
|
export type { FailedPluginState, PluginInstallResult, PluginSearchResult, PluginState };
|
|
81
|
-
export { getConnectionState, fetchConfigState, matchesPlugin, matchesTool, setToolEnabled, setAllToolsEnabled, searchPlugins, installPlugin, removePlugin, updatePlugin, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
|
|
90
|
+
export { getConnectionState, fetchConfigState, extractShortName, matchesPlugin, matchesTool, setToolEnabled, setAllToolsEnabled, searchPlugins, installPlugin, removePlugin, updatePlugin, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
|
|
82
91
|
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1G,qFAAqF;AACrF,KAAK,WAAW,GAAG,iBAAiB,CAAC;AAErC,yDAAyD;AACzD,KAAK,iBAAiB,GAAG,uBAAuB,CAAC;AAEjD,sDAAsD;AACtD,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,kEAAkE;AAClE,UAAU,mBAAmB;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,2FAA2F;AAC3F,QAAA,MAAM,WAAW,GAAI,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,MAAM,KAAG,OAGzB,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,19 @@
|
|
|
13
13
|
const matchesTool = (tool, filterLower) => tool.displayName.toLowerCase().includes(filterLower) ||
|
|
14
14
|
tool.name.toLowerCase().includes(filterLower) ||
|
|
15
15
|
tool.description.toLowerCase().includes(filterLower);
|
|
16
|
-
/** Returns true if a plugin's displayName, name, or any tool matches the filter string
|
|
16
|
+
/** Returns true if a plugin's displayName, name, or any tool name matches the filter string.
|
|
17
|
+
* Tool descriptions are excluded to avoid false positives (e.g., "slack" matching unrelated
|
|
18
|
+
* plugins that mention Slack in a tool description). */
|
|
17
19
|
const matchesPlugin = (plugin, filterLower) => plugin.displayName.toLowerCase().includes(filterLower) ||
|
|
18
20
|
plugin.name.toLowerCase().includes(filterLower) ||
|
|
19
|
-
plugin.tools.some(tool =>
|
|
21
|
+
plugin.tools.some(tool => tool.displayName.toLowerCase().includes(filterLower) || tool.name.toLowerCase().includes(filterLower));
|
|
22
|
+
/**
|
|
23
|
+
* Extracts a normalized short name from an npm package name for deduplication.
|
|
24
|
+
* "@opentabs-dev/opentabs-plugin-slack" → "slack"
|
|
25
|
+
* "opentabs-plugin-datadog" → "datadog"
|
|
26
|
+
* "slack" → "slack"
|
|
27
|
+
*/
|
|
28
|
+
const extractShortName = (name) => (name.split('/').pop() ?? name).replace(/^opentabs-plugin-/, '');
|
|
20
29
|
/** Timeout for pending JSON-RPC requests relayed through the background script (ms) */
|
|
21
30
|
const REQUEST_TIMEOUT_MS = 30_000;
|
|
22
31
|
/** Map of request ID → pending request. Responses are matched by ID. */
|
|
@@ -121,5 +130,5 @@ const sendConfirmationResponse = (id, decision, scope) => {
|
|
|
121
130
|
console.warn('[opentabs:side-panel] Failed to send confirmation response:', err);
|
|
122
131
|
});
|
|
123
132
|
};
|
|
124
|
-
export { getConnectionState, fetchConfigState, matchesPlugin, matchesTool, setToolEnabled, setAllToolsEnabled, searchPlugins, installPlugin, removePlugin, updatePlugin, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
|
|
133
|
+
export { getConnectionState, fetchConfigState, extractShortName, matchesPlugin, matchesTool, setToolEnabled, setAllToolsEnabled, searchPlugins, installPlugin, removePlugin, updatePlugin, handleServerResponse, rejectAllPending, sendConfirmationResponse, };
|
|
125
134
|
//# sourceMappingURL=bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+BH,2FAA2F;AAC3F,MAAM,WAAW,GAAG,CAAC,IAAkC,EAAE,WAAmB,EAAW,EAAE,CACvF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/side-panel/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ interface PluginMenuProps {
|
|
|
8
8
|
className?: string;
|
|
9
9
|
}
|
|
10
10
|
declare const PluginMenu: {
|
|
11
|
-
({ plugin, onUpdate, onRemove, updating, removing, className }: PluginMenuProps): import("react/jsx-runtime").JSX.Element
|
|
11
|
+
({ plugin, onUpdate, onRemove, updating, removing, className }: PluginMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
displayName: string;
|
|
13
13
|
};
|
|
14
14
|
export { PluginMenu };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginMenu.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,UAAU,eAAe;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,UAAU;oEAAmE,eAAe;;
|
|
1
|
+
{"version":3,"file":"PluginMenu.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/PluginMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,UAAU,eAAe;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,UAAU;oEAAmE,eAAe;;CAsDjG,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Loader } from './retro/Loader';
|
|
3
3
|
import { Menu } from './retro/Menu';
|
|
4
|
-
import { MoreHorizontal } from 'lucide-react';
|
|
4
|
+
import { ArrowUpCircle, MoreHorizontal, Trash2 } from 'lucide-react';
|
|
5
5
|
import { useEffect, useRef, useState } from 'react';
|
|
6
6
|
const CONFIRM_DURATION_MS = 3000;
|
|
7
7
|
const PluginMenu = ({ plugin, onUpdate, onRemove, updating, removing, className }) => {
|
|
8
8
|
const [confirmPending, setConfirmPending] = useState(false);
|
|
9
9
|
const confirmTimerRef = useRef(undefined);
|
|
10
10
|
useEffect(() => () => clearTimeout(confirmTimerRef.current), []);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
11
|
+
const isLocal = plugin.source === 'local';
|
|
12
|
+
const removeLabel = isLocal ? 'Remove' : 'Uninstall';
|
|
13
|
+
const handleRemoveClick = () => {
|
|
14
14
|
if (confirmPending) {
|
|
15
15
|
clearTimeout(confirmTimerRef.current);
|
|
16
16
|
setConfirmPending(false);
|
|
@@ -24,7 +24,7 @@ const PluginMenu = ({ plugin, onUpdate, onRemove, updating, removing, className
|
|
|
24
24
|
return (_jsx("div", { className: className, onClick: e => e.stopPropagation(), onKeyDown: e => {
|
|
25
25
|
if (e.key === 'Enter' || e.key === ' ')
|
|
26
26
|
e.stopPropagation();
|
|
27
|
-
}, role: "presentation", children: _jsxs(Menu, { children: [_jsx(Menu.Trigger, { asChild: true, children: _jsx("button", { className: "hover:bg-muted/50 flex h-6 w-6 items-center justify-center rounded", "aria-label": "Plugin options", children: _jsx(MoreHorizontal, { className: "h-4 w-4" }) }) }), _jsxs(Menu.Content, { align: "end", children: [plugin.update && (_jsxs(Menu.Item, { onClick: onUpdate,
|
|
27
|
+
}, role: "presentation", children: _jsxs(Menu, { children: [_jsx(Menu.Trigger, { asChild: true, children: _jsx("button", { className: "hover:bg-muted/50 flex h-6 w-6 items-center justify-center rounded", "aria-label": "Plugin options", children: _jsx(MoreHorizontal, { className: "h-4 w-4" }) }) }), _jsxs(Menu.Content, { align: "end", children: [plugin.update && (_jsxs(Menu.Item, { onClick: onUpdate, children: [updating ? _jsx(Loader, { size: "sm" }) : _jsx(ArrowUpCircle, { className: "h-3.5 w-3.5" }), "Update to v", plugin.update.latestVersion] })), plugin.update && _jsx(Menu.Separator, {}), _jsxs(Menu.Item, { onClick: handleRemoveClick, className: "text-destructive focus:bg-destructive/10 focus:text-destructive data-[highlighted]:bg-destructive/10 data-[highlighted]:text-destructive", children: [removing ? _jsx(Loader, { size: "sm" }) : _jsx(Trash2, { className: "h-3.5 w-3.5" }), confirmPending ? 'Confirm?' : removeLabel] })] })] }) }));
|
|
28
28
|
};
|
|
29
29
|
PluginMenu.displayName = 'PluginMenu';
|
|
30
30
|
export { PluginMenu };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginMenu.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginMenu.js","sourceRoot":"","sources":["../../../src/side-panel/components/PluginMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/SearchResults.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAa,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"SearchResults.d.ts","sourceRoot":"","sources":["../../../src/side-panel/components/SearchResults.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAa,cAAc,EAAE,MAAM,OAAO,CAAC;AAEjE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAMD,QAAA,MAAM,aAAa;oKAahB,kBAAkB;;CA6DpB,CAAC;AAIF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -2,14 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { NpmPluginCard } from './NpmPluginCard';
|
|
3
3
|
import { PluginList } from './PluginList';
|
|
4
4
|
import { Loader } from './retro/Loader';
|
|
5
|
-
import { matchesPlugin } from '../bridge';
|
|
6
|
-
/**
|
|
7
|
-
* Extracts a normalized short name from an npm package name for deduplication.
|
|
8
|
-
* "@opentabs-dev/opentabs-plugin-slack" → "slack"
|
|
9
|
-
* "opentabs-plugin-datadog" → "datadog"
|
|
10
|
-
* "slack" → "slack"
|
|
11
|
-
*/
|
|
12
|
-
const extractShortName = (name) => (name.split('/').pop() ?? name).replace(/^opentabs-plugin-/, '');
|
|
5
|
+
import { extractShortName, matchesPlugin } from '../bridge';
|
|
13
6
|
const SectionHeader = ({ children }) => (_jsx("div", { className: "font-head text-muted-foreground mb-1.5 text-[10px] tracking-widest uppercase", children: children }));
|
|
14
7
|
const SearchResults = ({ plugins, activeTools, setPlugins, toolFilter, npmResults, npmSearching, installingPlugins, onInstall, installErrors, onUpdate, onRemove, removingPlugins, }) => {
|
|
15
8
|
const filterLower = toolFilter.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchResults.js","sourceRoot":"","sources":["../../../src/side-panel/components/SearchResults.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchResults.js","sourceRoot":"","sources":["../../../src/side-panel/components/SearchResults.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const Menu = DropdownMenuPrimitive.Root;
|
|
|
6
6
|
const MenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
7
7
|
const MenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn('border-border bg-card z-50 w-56 rounded border-2 shadow-md', className), ...props }) })));
|
|
8
8
|
MenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
9
|
-
const MenuItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Item, { ref: ref, className: cn('
|
|
9
|
+
const MenuItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Item, { ref: ref, className: cn('text-foreground focus:bg-primary focus:text-primary-foreground data-[highlighted]:bg-primary data-[highlighted]:text-primary-foreground relative flex cursor-pointer items-center gap-2 px-3 py-1.5 font-sans text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4', className), ...props })));
|
|
10
10
|
MenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
11
11
|
const MenuSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(DropdownMenuPrimitive.Separator, { ref: ref, className: cn('bg-border -mx-1 my-1 h-px', className), ...props })));
|
|
12
12
|
MenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/side-panel/components/retro/Menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAExC,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC;AAElD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClD,KAAC,qBAAqB,CAAC,MAAM,cAC3B,KAAC,qBAAqB,CAAC,OAAO,IAC5B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CAAC,4DAA4D,EAAE,SAAS,CAAC,KAClF,KAAK,GACT,GAC2B,CAChC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;AAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,qBAAqB,CAAC,IAAI,IACzB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/side-panel/components/retro/Menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAExC,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC;AAElD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClD,KAAC,qBAAqB,CAAC,MAAM,cAC3B,KAAC,qBAAqB,CAAC,OAAO,IAC5B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CAAC,4DAA4D,EAAE,SAAS,CAAC,KAClF,KAAK,GACT,GAC2B,CAChC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;AAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,qBAAqB,CAAC,IAAI,IACzB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,iZAAiZ,EACjZ,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE9D,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,qBAAqB,CAAC,SAAS,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAChH,CAAC,CAAC;AACH,aAAa,CAAC,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC;AAExE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC;AAEH,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC"}
|
|
@@ -51481,7 +51481,10 @@ var require_client = __commonJS({
|
|
|
51481
51481
|
|
|
51482
51482
|
// src/side-panel/bridge.ts
|
|
51483
51483
|
var matchesTool = (tool, filterLower) => tool.displayName.toLowerCase().includes(filterLower) || tool.name.toLowerCase().includes(filterLower) || tool.description.toLowerCase().includes(filterLower);
|
|
51484
|
-
var matchesPlugin = (plugin, filterLower) => plugin.displayName.toLowerCase().includes(filterLower) || plugin.name.toLowerCase().includes(filterLower) || plugin.tools.some(
|
|
51484
|
+
var matchesPlugin = (plugin, filterLower) => plugin.displayName.toLowerCase().includes(filterLower) || plugin.name.toLowerCase().includes(filterLower) || plugin.tools.some(
|
|
51485
|
+
(tool) => tool.displayName.toLowerCase().includes(filterLower) || tool.name.toLowerCase().includes(filterLower)
|
|
51486
|
+
);
|
|
51487
|
+
var extractShortName = (name) => (name.split("/").pop() ?? name).replace(/^opentabs-plugin-/, "");
|
|
51485
51488
|
var REQUEST_TIMEOUT_MS = 3e4;
|
|
51486
51489
|
var pendingRequests = /* @__PURE__ */ new Map();
|
|
51487
51490
|
var rejectAllPending = () => {
|
|
@@ -59757,7 +59760,7 @@ var MenuItem2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
59757
59760
|
{
|
|
59758
59761
|
ref,
|
|
59759
59762
|
className: cn(
|
|
59760
|
-
"
|
|
59763
|
+
"text-foreground focus:bg-primary focus:text-primary-foreground data-[highlighted]:bg-primary data-[highlighted]:text-primary-foreground relative flex cursor-pointer items-center gap-2 px-3 py-1.5 font-sans text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4",
|
|
59761
59764
|
className
|
|
59762
59765
|
),
|
|
59763
59766
|
...props
|
|
@@ -60014,6 +60017,7 @@ var COUNTDOWN_POLL_INTERVAL_MS = 200;
|
|
|
60014
60017
|
var TOOL_INVOCATION_TIMEOUT_MS = 5 * 60 * 1e3;
|
|
60015
60018
|
|
|
60016
60019
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
60020
|
+
init_circle_arrow_up();
|
|
60017
60021
|
init_ellipsis();
|
|
60018
60022
|
init_triangle_alert();
|
|
60019
60023
|
init_arrow_up();
|
|
@@ -60023,6 +60027,7 @@ init_moon();
|
|
|
60023
60027
|
init_search();
|
|
60024
60028
|
init_shield_alert();
|
|
60025
60029
|
init_sun();
|
|
60030
|
+
init_trash_2();
|
|
60026
60031
|
init_wrench();
|
|
60027
60032
|
init_x();
|
|
60028
60033
|
|
|
@@ -60847,8 +60852,9 @@ var PluginMenu = ({ plugin, onUpdate, onRemove, updating, removing, className })
|
|
|
60847
60852
|
const [confirmPending, setConfirmPending] = (0, import_react14.useState)(false);
|
|
60848
60853
|
const confirmTimerRef = (0, import_react14.useRef)(void 0);
|
|
60849
60854
|
(0, import_react14.useEffect)(() => () => clearTimeout(confirmTimerRef.current), []);
|
|
60850
|
-
|
|
60851
|
-
const
|
|
60855
|
+
const isLocal = plugin.source === "local";
|
|
60856
|
+
const removeLabel = isLocal ? "Remove" : "Uninstall";
|
|
60857
|
+
const handleRemoveClick = () => {
|
|
60852
60858
|
if (confirmPending) {
|
|
60853
60859
|
clearTimeout(confirmTimerRef.current);
|
|
60854
60860
|
setConfirmPending(false);
|
|
@@ -60877,8 +60883,8 @@ var PluginMenu = ({ plugin, onUpdate, onRemove, updating, removing, className })
|
|
|
60877
60883
|
}
|
|
60878
60884
|
) }),
|
|
60879
60885
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MenuObject.Content, { align: "end", children: [
|
|
60880
|
-
plugin.update && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MenuObject.Item, { onClick: onUpdate,
|
|
60881
|
-
updating
|
|
60886
|
+
plugin.update && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MenuObject.Item, { onClick: onUpdate, children: [
|
|
60887
|
+
updating ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Loader2, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CircleArrowUp, { className: "h-3.5 w-3.5" }),
|
|
60882
60888
|
"Update to v",
|
|
60883
60889
|
plugin.update.latestVersion
|
|
60884
60890
|
] }),
|
|
@@ -60886,11 +60892,11 @@ var PluginMenu = ({ plugin, onUpdate, onRemove, updating, removing, className })
|
|
|
60886
60892
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
60887
60893
|
MenuObject.Item,
|
|
60888
60894
|
{
|
|
60889
|
-
onClick:
|
|
60890
|
-
className: "text-destructive
|
|
60895
|
+
onClick: handleRemoveClick,
|
|
60896
|
+
className: "text-destructive focus:bg-destructive/10 focus:text-destructive data-[highlighted]:bg-destructive/10 data-[highlighted]:text-destructive",
|
|
60891
60897
|
children: [
|
|
60892
|
-
removing
|
|
60893
|
-
confirmPending ? "Confirm?" :
|
|
60898
|
+
removing ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Loader2, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Trash2, { className: "h-3.5 w-3.5" }),
|
|
60899
|
+
confirmPending ? "Confirm?" : removeLabel
|
|
60894
60900
|
]
|
|
60895
60901
|
}
|
|
60896
60902
|
)
|
|
@@ -64424,7 +64430,6 @@ NpmPluginCard.displayName = "NpmPluginCard";
|
|
|
64424
64430
|
|
|
64425
64431
|
// src/side-panel/components/SearchResults.tsx
|
|
64426
64432
|
var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
|
|
64427
|
-
var extractShortName = (name) => (name.split("/").pop() ?? name).replace(/^opentabs-plugin-/, "");
|
|
64428
64433
|
var SectionHeader = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-head text-muted-foreground mb-1.5 text-[10px] tracking-widest uppercase", children });
|
|
64429
64434
|
var SearchResults = ({
|
|
64430
64435
|
plugins,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@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-border-style:solid;--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-outline-style:solid;--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-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{--font-sans:"Space Grotesk", sans-serif;--font-mono:"Space Mono", monospace;--color-yellow-400:oklch(85.2% .199 91.936);--color-gray-500:oklch(55.1% .027 264.364);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--radius);--font-head:"Archivo Black", sans-serif;--color-background:var(--background);--color-foreground:var(--foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-primary-hover:var(--primary-hover);--color-secondary-hover:var(--secondary-hover);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-success:var(--success);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--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(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::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{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.start-1{inset-inline-start:calc(var(--spacing) * 1)}.start-2{inset-inline-start:calc(var(--spacing) * 2)}.start-3{inset-inline-start:calc(var(--spacing) * 3)}.start-4{inset-inline-start:calc(var(--spacing) * 4)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-40{margin-top:calc(var(--spacing) * 40)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-px{height:1px}.max-h-20{max-height:calc(var(--spacing) * 20)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-\[6ch\]{width:6ch}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-\[320px\]{max-width:320px}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:--radix-tooltip-content-transform-origin}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-in{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)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:var(--radius)}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-accent{border-color:var(--color-accent)}.border-accent-foreground{border-color:var(--color-accent-foreground)}.border-border{border-color:var(--color-border)}.border-card{border-color:var(--color-card)}.border-current{border-color:currentColor}.border-destructive,.border-destructive\/40{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/40{border-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.border-destructive\/50{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.border-destructive\/60{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/60{border-color:color-mix(in oklab, var(--color-destructive) 60%, transparent)}}.border-muted-foreground{border-color:var(--color-muted-foreground)}.border-success{border-color:var(--color-success)}.bg-\[\#ffdb33\]{background-color:#ffdb33}.bg-accent{background-color:var(--color-accent)}.bg-accent-foreground{background-color:var(--color-accent-foreground)}.bg-accent\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/20{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/20{background-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.bg-accent\/30{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/30{background-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.bg-background{background-color:var(--color-background)}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive,.bg-destructive\/10{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}.bg-destructive\/20{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/20{background-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.bg-foreground{background-color:var(--color-foreground)}.bg-muted,.bg-muted\/50{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.bg-primary,.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/20{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/20{background-color:color-mix(in oklab, var(--color-success) 20%, transparent)}}.bg-transparent{background-color:#0000}.bg-yellow-400{background-color:var(--color-yellow-400)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.p-16{padding:calc(var(--spacing) * 16)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-head{font-family:var(--font-head)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive,.text-destructive\/80{color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.text-destructive\/80{color:color-mix(in oklab, var(--color-destructive) 80%, transparent)}}.text-foreground{color:var(--color-foreground)}.text-gray-500{color:var(--color-gray-500)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-success{color:var(--color-success)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.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,)}.underline{text-decoration-line:underline}.decoration-primary{-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.shadow{--tw-shadow:3px 3px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:4px 4px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:2px 2px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:1px 1px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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)}.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)}.shadow-destructive{--tw-shadow-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.shadow-destructive{--tw-shadow-color:color-mix(in oklab, var(--color-destructive) var(--tw-shadow-alpha), transparent)}}.shadow-primary{--tw-shadow-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary{--tw-shadow-color:color-mix(in oklab, var(--color-primary) var(--tw-shadow-alpha), transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.filter{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,)}.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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.zoom-in-95{--tw-enter-scale:.95}.\[opentabs\:offscreen\]{opentabs:offscreen}.\[opentabs\:side-panel\]{opentabs:side-panel}.running{animation-play-state:running}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:shadow-xs:focus-within{--tw-shadow:1px 1px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow:hover{--tw-shadow:3px 3px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-none:hover{--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)}.hover\:shadow-sm:hover{--tw-shadow:2px 2px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:shadow-xs:focus{--tw-shadow:1px 1px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.active\:translate-x-1:active{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-2:active{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:shadow-none:active{--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)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--color-accent)}.data-\[highlighted\]\:text-destructive[data-highlighted]{color:var(--color-destructive)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-background[data-state=checked]{background-color:var(--color-background)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{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)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:shadow-sm[data-state=open]{--tw-shadow:2px 2px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (min-width:48rem){.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:py-3{padding-block:calc(var(--spacing) * 3)}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>div\]\:h-2>div{height:calc(var(--spacing) * 2)}.\[\&\>div\]\:h-3>div{height:calc(var(--spacing) * 3)}.\[\&\>div\]\:h-4>div{height:calc(var(--spacing) * 4)}.\[\&\>div\]\:w-2>div{width:calc(var(--spacing) * 2)}.\[\&\>div\]\:w-3>div{width:calc(var(--spacing) * 3)}.\[\&\>div\]\:w-4>div{width:calc(var(--spacing) * 4)}.\[\&\>div\]\:border-border>div{border-color:var(--color-border)}.\[\&\>div\]\:bg-primary>div{background-color:var(--color-primary)}.\[\&\>div\]\:bg-secondary>div{background-color:var(--color-secondary)}.\[\&\>div\]\:bg-transparent>div{background-color:#0000}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}}@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}:root{--radius:0;--background:#fff;--foreground:#000;--card:#fff;--card-foreground:#000;--primary:#ffdb33;--primary-hover:#fc0;--primary-foreground:#000;--secondary:#000;--secondary-hover:#1a1a1a;--secondary-foreground:#fff;--muted:#ccc;--muted-foreground:#5a5a5a;--accent:#fae583;--accent-foreground:#000;--destructive:#e63946;--destructive-foreground:#fff;--success:#16a34a;--success-foreground:#fff;--border:#000;--avatar-0:#c62828;--avatar-1:#d17000;--avatar-2:#a67a00;--avatar-3:#117a34;--avatar-4:#0a7070;--avatar-5:#1a5bb5;--avatar-6:#3d3daa;--avatar-7:#6430b0;--avatar-8:#b31d6a;--avatar-9:#3d5060}.dark{--background:#1a1a1a;--foreground:#f5f5f5;--card:#242424;--card-foreground:#f5f5f5;--primary:#ffdb33;--primary-hover:#fc0;--primary-foreground:#000;--secondary:#3a3a3a;--secondary-hover:#4a4a4a;--secondary-foreground:#f5f5f5;--muted:#3f3f46;--muted-foreground:#a0a0a0;--accent:#fae583;--accent-foreground:#000;--destructive:#e63946;--destructive-foreground:#fff;--success:#22c55e;--success-foreground:#000;--border:#5c5c5c;--avatar-0:#ef5350;--avatar-1:#ff9800;--avatar-2:#c8a415;--avatar-3:#2ecc71;--avatar-4:#26a69a;--avatar-5:#42a5f5;--avatar-6:#7c6de5;--avatar-7:#9c5cf0;--avatar-8:#e84d8a;--avatar-9:#78909c}body{background:var(--background);width:100%;min-height:100vh;color:var(--foreground);font-family:var(--font-sans);margin:0;padding:0}#root{width:100%;min-height:100vh}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-dot{animation:2s ease-in-out infinite pulse-dot}@keyframes tool-pulse{0%,to{background-color:#0000}50%{background-color:color-mix(in srgb, var(--primary) 5%, transparent)}}.animate-tool-pulse{animation:1.5s ease-in-out infinite tool-pulse}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}.animate-accordion-down{animation:.2s ease-out accordion-down}.animate-accordion-up{animation:.2s ease-out accordion-up}.hide-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hide-number-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";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:"<percentage>";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:"<length>";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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@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))}}
|
|
2
|
+
@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-border-style:solid;--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-outline-style:solid;--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-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{--font-sans:"Space Grotesk", sans-serif;--font-mono:"Space Mono", monospace;--color-yellow-400:oklch(85.2% .199 91.936);--color-gray-500:oklch(55.1% .027 264.364);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--radius);--font-head:"Archivo Black", sans-serif;--color-background:var(--background);--color-foreground:var(--foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-primary-hover:var(--primary-hover);--color-secondary-hover:var(--secondary-hover);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-success:var(--success);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--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(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::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{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.start-1{inset-inline-start:calc(var(--spacing) * 1)}.start-2{inset-inline-start:calc(var(--spacing) * 2)}.start-3{inset-inline-start:calc(var(--spacing) * 3)}.start-4{inset-inline-start:calc(var(--spacing) * 4)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-40{margin-top:calc(var(--spacing) * 40)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-px{height:1px}.max-h-20{max-height:calc(var(--spacing) * 20)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-\[6ch\]{width:6ch}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-\[320px\]{max-width:320px}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:--radix-tooltip-content-transform-origin}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-in{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)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:var(--radius)}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-accent{border-color:var(--color-accent)}.border-accent-foreground{border-color:var(--color-accent-foreground)}.border-border{border-color:var(--color-border)}.border-card{border-color:var(--color-card)}.border-current{border-color:currentColor}.border-destructive,.border-destructive\/40{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/40{border-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.border-destructive\/50{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--color-destructive) 50%, transparent)}}.border-destructive\/60{border-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/60{border-color:color-mix(in oklab, var(--color-destructive) 60%, transparent)}}.border-muted-foreground{border-color:var(--color-muted-foreground)}.border-success{border-color:var(--color-success)}.bg-\[\#ffdb33\]{background-color:#ffdb33}.bg-accent{background-color:var(--color-accent)}.bg-accent-foreground{background-color:var(--color-accent-foreground)}.bg-accent\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/20{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/20{background-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.bg-accent\/30{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/30{background-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.bg-background{background-color:var(--color-background)}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-destructive,.bg-destructive\/10{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}.bg-destructive\/20{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/20{background-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.bg-foreground{background-color:var(--color-foreground)}.bg-muted,.bg-muted\/50{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.bg-primary,.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/20{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/20{background-color:color-mix(in oklab, var(--color-success) 20%, transparent)}}.bg-transparent{background-color:#0000}.bg-yellow-400{background-color:var(--color-yellow-400)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.p-16{padding:calc(var(--spacing) * 16)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-3\.5{padding-right:calc(var(--spacing) * 3.5)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-head{font-family:var(--font-head)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive,.text-destructive\/80{color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.text-destructive\/80{color:color-mix(in oklab, var(--color-destructive) 80%, transparent)}}.text-foreground{color:var(--color-foreground)}.text-gray-500{color:var(--color-gray-500)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-success{color:var(--color-success)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.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,)}.underline{text-decoration-line:underline}.decoration-primary{-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.shadow{--tw-shadow:3px 3px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:4px 4px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:2px 2px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:1px 1px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--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)}.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)}.shadow-destructive{--tw-shadow-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.shadow-destructive{--tw-shadow-color:color-mix(in oklab, var(--color-destructive) var(--tw-shadow-alpha), transparent)}}.shadow-primary{--tw-shadow-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.shadow-primary{--tw-shadow-color:color-mix(in oklab, var(--color-primary) var(--tw-shadow-alpha), transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.filter{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,)}.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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.zoom-in-95{--tw-enter-scale:.95}.\[opentabs\:offscreen\]{opentabs:offscreen}.\[opentabs\:side-panel\]{opentabs:side-panel}.running{animation-play-state:running}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:shadow-xs:focus-within{--tw-shadow:1px 1px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow:hover{--tw-shadow:3px 3px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-none:hover{--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)}.hover\:shadow-sm:hover{--tw-shadow:2px 2px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:bg-destructive\/10:focus{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.focus\:bg-destructive\/10:focus{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}.focus\:bg-primary:focus{background-color:var(--color-primary)}.focus\:text-destructive:focus{color:var(--color-destructive)}.focus\:text-primary-foreground:focus{color:var(--color-primary-foreground)}.focus\:shadow-xs:focus{--tw-shadow:1px 1px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.active\:translate-x-1:active{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-2:active{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:shadow-none:active{--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)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-destructive\/10[data-highlighted]{background-color:var(--color-destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[highlighted\]\:bg-destructive\/10[data-highlighted]{background-color:color-mix(in oklab, var(--color-destructive) 10%, transparent)}}.data-\[highlighted\]\:bg-primary[data-highlighted]{background-color:var(--color-primary)}.data-\[highlighted\]\:text-destructive[data-highlighted]{color:var(--color-destructive)}.data-\[highlighted\]\:text-primary-foreground[data-highlighted]{color:var(--color-primary-foreground)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-background[data-state=checked]{background-color:var(--color-background)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{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)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:shadow-sm[data-state=open]{--tw-shadow:2px 2px 0 0 var(--tw-shadow-color,var(--border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (min-width:48rem){.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:py-3{padding-block:calc(var(--spacing) * 3)}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>div\]\:h-2>div{height:calc(var(--spacing) * 2)}.\[\&\>div\]\:h-3>div{height:calc(var(--spacing) * 3)}.\[\&\>div\]\:h-4>div{height:calc(var(--spacing) * 4)}.\[\&\>div\]\:w-2>div{width:calc(var(--spacing) * 2)}.\[\&\>div\]\:w-3>div{width:calc(var(--spacing) * 3)}.\[\&\>div\]\:w-4>div{width:calc(var(--spacing) * 4)}.\[\&\>div\]\:border-border>div{border-color:var(--color-border)}.\[\&\>div\]\:bg-primary>div{background-color:var(--color-primary)}.\[\&\>div\]\:bg-secondary>div{background-color:var(--color-secondary)}.\[\&\>div\]\:bg-transparent>div{background-color:#0000}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}}@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}:root{--radius:0;--background:#fff;--foreground:#000;--card:#fff;--card-foreground:#000;--primary:#ffdb33;--primary-hover:#fc0;--primary-foreground:#000;--secondary:#000;--secondary-hover:#1a1a1a;--secondary-foreground:#fff;--muted:#ccc;--muted-foreground:#5a5a5a;--accent:#fae583;--accent-foreground:#000;--destructive:#e63946;--destructive-foreground:#fff;--success:#16a34a;--success-foreground:#fff;--border:#000;--avatar-0:#c62828;--avatar-1:#d17000;--avatar-2:#a67a00;--avatar-3:#117a34;--avatar-4:#0a7070;--avatar-5:#1a5bb5;--avatar-6:#3d3daa;--avatar-7:#6430b0;--avatar-8:#b31d6a;--avatar-9:#3d5060}.dark{--background:#1a1a1a;--foreground:#f5f5f5;--card:#242424;--card-foreground:#f5f5f5;--primary:#ffdb33;--primary-hover:#fc0;--primary-foreground:#000;--secondary:#3a3a3a;--secondary-hover:#4a4a4a;--secondary-foreground:#f5f5f5;--muted:#3f3f46;--muted-foreground:#a0a0a0;--accent:#fae583;--accent-foreground:#000;--destructive:#e63946;--destructive-foreground:#fff;--success:#22c55e;--success-foreground:#000;--border:#5c5c5c;--avatar-0:#ef5350;--avatar-1:#ff9800;--avatar-2:#c8a415;--avatar-3:#2ecc71;--avatar-4:#26a69a;--avatar-5:#42a5f5;--avatar-6:#7c6de5;--avatar-7:#9c5cf0;--avatar-8:#e84d8a;--avatar-9:#78909c}body{background:var(--background);width:100%;min-height:100vh;color:var(--foreground);font-family:var(--font-sans);margin:0;padding:0}#root{width:100%;min-height:100vh}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-dot{animation:2s ease-in-out infinite pulse-dot}@keyframes tool-pulse{0%,to{background-color:#0000}50%{background-color:color-mix(in srgb, var(--primary) 5%, transparent)}}.animate-tool-pulse{animation:1.5s ease-in-out infinite tool-pulse}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}.animate-accordion-down{animation:.2s ease-out accordion-down}.animate-accordion-up{animation:.2s ease-out accordion-up}.hide-number-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hide-number-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";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:"<percentage>";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:"<length>";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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@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))}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentabs-dev/browser-extension",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.40",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"manifest.json",
|
|
@@ -23,11 +23,13 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@opentabs-dev/shared": "*",
|
|
25
25
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
26
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
26
27
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
27
28
|
"@radix-ui/react-progress": "^1.1.8",
|
|
28
29
|
"@radix-ui/react-slot": "^1.2.4",
|
|
29
30
|
"@radix-ui/react-switch": "^1.2.6",
|
|
30
31
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
32
|
+
"@radix-ui/react-visually-hidden": "^1.2.3",
|
|
31
33
|
"class-variance-authority": "^0.7.1",
|
|
32
34
|
"clsx": "^2.1.1",
|
|
33
35
|
"tailwind-merge": "^3.5.0",
|