dhi-copilot-ai 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dhi-copilot-ai.css +1 -1
- package/dist/dhi-copilot-ai.js +270 -208
- package/dist/dhi-copilot-ai.umd.cjs +3 -3
- package/package.json +1 -1
package/dist/dhi-copilot-ai.js
CHANGED
|
@@ -21239,7 +21239,6 @@ const ConfigProvider = ({ children, value }) => {
|
|
|
21239
21239
|
const defaultConfig = {
|
|
21240
21240
|
apiUrl: void 0,
|
|
21241
21241
|
companyId: void 0,
|
|
21242
|
-
// ← Ajouté ici
|
|
21243
21242
|
userToken: void 0,
|
|
21244
21243
|
userId: void 0,
|
|
21245
21244
|
userName: "Utilisateur",
|
|
@@ -24286,6 +24285,7 @@ const apiService = {
|
|
|
24286
24285
|
method: "POST",
|
|
24287
24286
|
headers,
|
|
24288
24287
|
body: JSON.stringify(payload)
|
|
24288
|
+
// Le payload contiendra désormais 'category' si défini
|
|
24289
24289
|
});
|
|
24290
24290
|
if (!response.ok) {
|
|
24291
24291
|
const detail = await response.text().catch(() => response.statusText);
|
|
@@ -24293,6 +24293,22 @@ const apiService = {
|
|
|
24293
24293
|
}
|
|
24294
24294
|
return response.json();
|
|
24295
24295
|
},
|
|
24296
|
+
// --- SKILLS / CATEGORIES ---
|
|
24297
|
+
/**
|
|
24298
|
+
* Récupère la liste statique des catégories métier.
|
|
24299
|
+
* Endpoint public.
|
|
24300
|
+
*/
|
|
24301
|
+
getCategories: async (apiUrl) => {
|
|
24302
|
+
try {
|
|
24303
|
+
const url = `${cleanUrl(apiUrl)}/skills/categories`;
|
|
24304
|
+
const response = await fetch(url);
|
|
24305
|
+
if (!response.ok) return [];
|
|
24306
|
+
return await response.json();
|
|
24307
|
+
} catch (error) {
|
|
24308
|
+
console.warn("[Fluxoon Copilot] Impossible de charger les catégories métier :", error);
|
|
24309
|
+
return [];
|
|
24310
|
+
}
|
|
24311
|
+
},
|
|
24296
24312
|
// --- HISTORIQUE ---
|
|
24297
24313
|
/** Récupère la liste des conversations (threads) existantes */
|
|
24298
24314
|
getThreads: async (apiUrl, token) => {
|
|
@@ -24308,8 +24324,8 @@ const apiService = {
|
|
|
24308
24324
|
const client2 = createClient(apiUrl);
|
|
24309
24325
|
const res = await client2.get(`/chat/history/${threadId}`);
|
|
24310
24326
|
const rawMessages = res.data;
|
|
24311
|
-
const
|
|
24312
|
-
let
|
|
24327
|
+
const intermediateMessages = [];
|
|
24328
|
+
let sourcesPool = [];
|
|
24313
24329
|
rawMessages.forEach((msg) => {
|
|
24314
24330
|
if (msg.role === "tool") {
|
|
24315
24331
|
const sourcesFound = msg.content.match(/SOURCE:\s*([^\n]+)/g);
|
|
@@ -24317,29 +24333,34 @@ const apiService = {
|
|
|
24317
24333
|
const names = sourcesFound.map(
|
|
24318
24334
|
(s2) => s2.replace("SOURCE:", "").trim().split("/").pop() || ""
|
|
24319
24335
|
);
|
|
24320
|
-
|
|
24321
|
-
}
|
|
24322
|
-
} else if (msg.role === "assistant") {
|
|
24323
|
-
if (msg.content.trim() !== "") {
|
|
24324
|
-
cleanedMessages.push({
|
|
24325
|
-
id: `hist-${Math.random()}`,
|
|
24326
|
-
role: "assistant",
|
|
24327
|
-
content: msg.content,
|
|
24328
|
-
timestamp: /* @__PURE__ */ new Date(),
|
|
24329
|
-
sources: [...currentSources]
|
|
24330
|
-
});
|
|
24331
|
-
currentSources = [];
|
|
24336
|
+
sourcesPool = [.../* @__PURE__ */ new Set([...sourcesPool, ...names])];
|
|
24332
24337
|
}
|
|
24333
|
-
} else if (msg.role === "user") {
|
|
24334
|
-
|
|
24338
|
+
} else if (msg.role === "assistant" || msg.role === "user") {
|
|
24339
|
+
intermediateMessages.push({
|
|
24340
|
+
...msg,
|
|
24335
24341
|
id: `hist-${Math.random()}`,
|
|
24336
|
-
|
|
24337
|
-
|
|
24338
|
-
|
|
24342
|
+
timestamp: /* @__PURE__ */ new Date(),
|
|
24343
|
+
// On attache les sources collectées au message assistant
|
|
24344
|
+
sources: msg.role === "assistant" ? [...sourcesPool] : []
|
|
24339
24345
|
});
|
|
24346
|
+
if (msg.role === "assistant") {
|
|
24347
|
+
sourcesPool = [];
|
|
24348
|
+
}
|
|
24340
24349
|
}
|
|
24341
24350
|
});
|
|
24342
|
-
|
|
24351
|
+
const finalMessages = [];
|
|
24352
|
+
for (let i2 = 0; i2 < intermediateMessages.length; i2++) {
|
|
24353
|
+
const current = intermediateMessages[i2];
|
|
24354
|
+
const next = intermediateMessages[i2 + 1];
|
|
24355
|
+
if (current.role === "assistant") {
|
|
24356
|
+
if (next && next.role === "assistant") {
|
|
24357
|
+
next.sources = [.../* @__PURE__ */ new Set([...next.sources, ...current.sources])];
|
|
24358
|
+
continue;
|
|
24359
|
+
}
|
|
24360
|
+
}
|
|
24361
|
+
finalMessages.push(current);
|
|
24362
|
+
}
|
|
24363
|
+
return finalMessages;
|
|
24343
24364
|
},
|
|
24344
24365
|
// --- CONNECTEURS (RESOURCES RAG) ---
|
|
24345
24366
|
/** Liste tous les connecteurs configurés */
|
|
@@ -24388,21 +24409,29 @@ const useStore = create$2((set, get) => ({
|
|
|
24388
24409
|
// Un threadId local est généré dès le départ pour la session WelcomeScreen.
|
|
24389
24410
|
// Il sera confirmé (ou remplacé) par le backend au premier envoi.
|
|
24390
24411
|
threadId: generateThreadId(),
|
|
24412
|
+
categories: [],
|
|
24413
|
+
selectedCategory: null,
|
|
24391
24414
|
// --- ACTIONS SYNCHRONES ---
|
|
24392
24415
|
setConfig: (config) => set({ config }),
|
|
24393
24416
|
setView: (view) => set({ activeView: view }),
|
|
24394
24417
|
setLoading: (loading) => set({ isLoading: loading }),
|
|
24395
24418
|
setShowAddForm: (show) => set({ showAddForm: show }),
|
|
24396
|
-
clearChat: () => set({
|
|
24419
|
+
clearChat: () => set({
|
|
24420
|
+
messages: [],
|
|
24421
|
+
threadId: generateThreadId(),
|
|
24422
|
+
selectedCategory: null
|
|
24423
|
+
// Réinitialisation de la catégorie
|
|
24424
|
+
}),
|
|
24397
24425
|
addMessage: (message) => set((state) => ({ messages: [...state.messages, message] })),
|
|
24398
|
-
/**
|
|
24399
|
-
* Appelé après la réponse du backend pour synchroniser son thread_id.
|
|
24400
|
-
* On n'écrase que si le backend renvoie quelque chose de valide.
|
|
24401
|
-
*/
|
|
24402
24426
|
confirmThreadId: (id2) => {
|
|
24403
|
-
if (id2 && id2.trim() !== "") {
|
|
24404
|
-
|
|
24405
|
-
|
|
24427
|
+
if (id2 && id2.trim() !== "") set({ threadId: id2 });
|
|
24428
|
+
},
|
|
24429
|
+
setSelectedCategory: (id2) => set({ selectedCategory: id2 }),
|
|
24430
|
+
fetchCategories: async () => {
|
|
24431
|
+
const { config, categories } = get();
|
|
24432
|
+
if (!config.apiUrl || categories.length > 0) return;
|
|
24433
|
+
const data = await apiService.getCategories(config.apiUrl);
|
|
24434
|
+
set({ categories: data });
|
|
24406
24435
|
},
|
|
24407
24436
|
// --- ACTIONS ASYNCHRONES ---
|
|
24408
24437
|
fetchThreads: async () => {
|
|
@@ -24423,19 +24452,19 @@ const useStore = create$2((set, get) => ({
|
|
|
24423
24452
|
loadThread: async (threadId) => {
|
|
24424
24453
|
const { config } = get();
|
|
24425
24454
|
if (!threadId) {
|
|
24426
|
-
set({
|
|
24455
|
+
set({
|
|
24456
|
+
threadId: generateThreadId(),
|
|
24457
|
+
messages: [],
|
|
24458
|
+
activeView: "chat",
|
|
24459
|
+
selectedCategory: null
|
|
24460
|
+
});
|
|
24427
24461
|
return;
|
|
24428
24462
|
}
|
|
24429
24463
|
set({ isLoading: true, threadId, activeView: "chat" });
|
|
24430
24464
|
try {
|
|
24431
|
-
const history = await apiService.getHistory(
|
|
24432
|
-
config.apiUrl,
|
|
24433
|
-
config.userToken,
|
|
24434
|
-
threadId
|
|
24435
|
-
);
|
|
24465
|
+
const history = await apiService.getHistory(config.apiUrl, config.userToken, threadId);
|
|
24436
24466
|
set({ messages: history, isLoading: false });
|
|
24437
24467
|
} catch (e) {
|
|
24438
|
-
console.error("Erreur historique:", e);
|
|
24439
24468
|
set({ isLoading: false });
|
|
24440
24469
|
}
|
|
24441
24470
|
},
|
|
@@ -37129,19 +37158,72 @@ const FilePill = ({ file, onRemove }) => {
|
|
|
37129
37158
|
}
|
|
37130
37159
|
);
|
|
37131
37160
|
};
|
|
37161
|
+
const CategoryMenu = ({ onClose }) => {
|
|
37162
|
+
const { categories, selectedCategory, setSelectedCategory } = useStore();
|
|
37163
|
+
const { primaryColor } = useConfig();
|
|
37164
|
+
const handleSelect = (id2) => {
|
|
37165
|
+
setSelectedCategory(id2);
|
|
37166
|
+
onClose();
|
|
37167
|
+
};
|
|
37168
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37169
|
+
motion.div,
|
|
37170
|
+
{
|
|
37171
|
+
initial: { opacity: 0, y: 10, scale: 0.95 },
|
|
37172
|
+
animate: { opacity: 1, y: 0, scale: 1 },
|
|
37173
|
+
exit: { opacity: 0, y: 10, scale: 0.95 },
|
|
37174
|
+
className: "absolute bottom-full left-0 mb-2 w-full max-w-[320px] bg-white/95 backdrop-blur-xl border border-slate-200 rounded-3xl shadow-2xl overflow-hidden z-50",
|
|
37175
|
+
children: [
|
|
37176
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "p-4 border-b border-slate-100 flex items-center justify-between bg-slate-50/50", children: [
|
|
37177
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
37178
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { size: 14, className: "text-amber-500" }),
|
|
37179
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-black text-slate-700 uppercase tracking-wider", children: "Modes de recherche" })
|
|
37180
|
+
] }),
|
|
37181
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("button", { onClick: onClose, className: "p-1 hover:bg-slate-200 rounded-lg transition-colors border-none bg-transparent cursor-pointer", children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { size: 14, className: "text-slate-400" }) })
|
|
37182
|
+
] }),
|
|
37183
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-h-[350px] overflow-y-auto custom-scrollbar p-2 space-y-1", children: [
|
|
37184
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37185
|
+
"button",
|
|
37186
|
+
{
|
|
37187
|
+
onClick: () => handleSelect(null),
|
|
37188
|
+
className: `w-full flex items-start gap-3 p-3 rounded-2xl transition-all border-none cursor-pointer text-left ${!selectedCategory ? "bg-blue-50" : "bg-transparent hover:bg-slate-50"}`,
|
|
37189
|
+
children: [
|
|
37190
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-2 bg-white rounded-xl shadow-sm", children: "🤖" }),
|
|
37191
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
37192
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-xs font-bold ${!selectedCategory ? "text-blue-600" : "text-slate-700"}`, children: "Routage Automatique" }),
|
|
37193
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[10px] text-slate-400 leading-tight", children: "L'IA choisit le meilleur outil selon votre demande." })
|
|
37194
|
+
] })
|
|
37195
|
+
]
|
|
37196
|
+
}
|
|
37197
|
+
),
|
|
37198
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-px bg-slate-100 my-2 mx-2" }),
|
|
37199
|
+
categories.map((cat) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37200
|
+
"button",
|
|
37201
|
+
{
|
|
37202
|
+
onClick: () => handleSelect(cat.id),
|
|
37203
|
+
className: `w-full flex items-start gap-3 p-3 rounded-2xl transition-all border-none cursor-pointer text-left ${selectedCategory === cat.id ? "bg-blue-50" : "bg-transparent hover:bg-slate-50"}`,
|
|
37204
|
+
children: [
|
|
37205
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-2 bg-white rounded-xl shadow-sm text-base", children: cat.icon }),
|
|
37206
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1", children: [
|
|
37207
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-xs font-bold ${selectedCategory === cat.id ? "text-blue-600" : "text-slate-700"}`, children: cat.label }),
|
|
37208
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[10px] text-slate-400 leading-tight line-clamp-2", children: cat.description })
|
|
37209
|
+
] }),
|
|
37210
|
+
selectedCategory === cat.id && /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { size: 14, className: "text-blue-500 mt-1" })
|
|
37211
|
+
]
|
|
37212
|
+
},
|
|
37213
|
+
cat.id
|
|
37214
|
+
))
|
|
37215
|
+
] })
|
|
37216
|
+
]
|
|
37217
|
+
}
|
|
37218
|
+
);
|
|
37219
|
+
};
|
|
37132
37220
|
const ChatInput = ({ onSend, disabled }) => {
|
|
37133
37221
|
const [text2, setText] = reactExports.useState("");
|
|
37134
37222
|
const [files, setFiles] = reactExports.useState([]);
|
|
37135
|
-
const
|
|
37223
|
+
const [isMenuOpen, setIsMenuOpen] = reactExports.useState(false);
|
|
37224
|
+
const { config, selectedCategory, categories } = useStore();
|
|
37136
37225
|
const fileInputRef = reactExports.useRef(null);
|
|
37137
|
-
const
|
|
37138
|
-
if (e.target.files) {
|
|
37139
|
-
setFiles([...files, ...Array.from(e.target.files)]);
|
|
37140
|
-
}
|
|
37141
|
-
};
|
|
37142
|
-
const removeFile = (index2) => {
|
|
37143
|
-
setFiles(files.filter((_, i2) => i2 !== index2));
|
|
37144
|
-
};
|
|
37226
|
+
const activeCat = categories.find((c) => c.id === selectedCategory);
|
|
37145
37227
|
const submit = () => {
|
|
37146
37228
|
if ((text2.trim() || files.length > 0) && !disabled) {
|
|
37147
37229
|
onSend(text2, files);
|
|
@@ -37149,51 +37231,58 @@ const ChatInput = ({ onSend, disabled }) => {
|
|
|
37149
37231
|
setFiles([]);
|
|
37150
37232
|
}
|
|
37151
37233
|
};
|
|
37152
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
|
|
37153
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children:
|
|
37154
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
37155
|
-
|
|
37156
|
-
|
|
37157
|
-
{
|
|
37158
|
-
|
|
37159
|
-
|
|
37160
|
-
|
|
37161
|
-
|
|
37162
|
-
|
|
37163
|
-
|
|
37164
|
-
|
|
37165
|
-
|
|
37166
|
-
|
|
37167
|
-
|
|
37168
|
-
|
|
37169
|
-
|
|
37170
|
-
|
|
37171
|
-
}
|
|
37172
|
-
|
|
37173
|
-
|
|
37174
|
-
|
|
37175
|
-
|
|
37176
|
-
|
|
37177
|
-
|
|
37178
|
-
|
|
37179
|
-
|
|
37180
|
-
|
|
37181
|
-
|
|
37182
|
-
|
|
37183
|
-
|
|
37184
|
-
|
|
37185
|
-
|
|
37186
|
-
|
|
37187
|
-
|
|
37188
|
-
|
|
37189
|
-
|
|
37190
|
-
|
|
37191
|
-
|
|
37192
|
-
|
|
37193
|
-
|
|
37194
|
-
|
|
37195
|
-
|
|
37196
|
-
|
|
37234
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative space-y-3", children: [
|
|
37235
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: isMenuOpen && /* @__PURE__ */ jsxRuntimeExports.jsx(CategoryMenu, { onClose: () => setIsMenuOpen(false) }) }),
|
|
37236
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: files.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2 mb-2", children: files.map((file, i2) => /* @__PURE__ */ jsxRuntimeExports.jsx(FilePill, { file, onRemove: () => setFiles(files.filter((_, idx) => idx !== i2)) }, i2)) }) }),
|
|
37237
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative flex flex-col bg-white/70 backdrop-blur-md border border-slate-200 rounded-[24px] overflow-hidden focus-within:border-blue-400 transition-all shadow-sm", children: [
|
|
37238
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-end gap-2 p-2", children: [
|
|
37239
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("input", { type: "file", multiple: true, ref: fileInputRef, className: "hidden", onChange: (e) => e.target.files && setFiles([...files, ...Array.from(e.target.files)]) }),
|
|
37240
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("button", { onClick: () => {
|
|
37241
|
+
var _a2;
|
|
37242
|
+
return (_a2 = fileInputRef.current) == null ? void 0 : _a2.click();
|
|
37243
|
+
}, className: "p-2 text-slate-400 hover:text-blue-600 transition-colors border-none bg-transparent cursor-pointer", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Paperclip, { size: 20 }) }),
|
|
37244
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37245
|
+
"textarea",
|
|
37246
|
+
{
|
|
37247
|
+
rows: 1,
|
|
37248
|
+
value: text2,
|
|
37249
|
+
onChange: (e) => setText(e.target.value),
|
|
37250
|
+
onKeyDown: (e) => e.key === "Enter" && !e.shiftKey && (e.preventDefault(), submit()),
|
|
37251
|
+
placeholder: "Posez votre question...",
|
|
37252
|
+
className: "w-full bg-transparent border-none focus:ring-0 resize-none py-2 text-[14px] text-slate-700 max-h-32 outline-none"
|
|
37253
|
+
}
|
|
37254
|
+
),
|
|
37255
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37256
|
+
"button",
|
|
37257
|
+
{
|
|
37258
|
+
onClick: submit,
|
|
37259
|
+
disabled: !text2.trim() && files.length === 0 || disabled,
|
|
37260
|
+
className: "p-2.5 rounded-xl text-white disabled:opacity-30 transition-all border-none cursor-pointer shrink-0",
|
|
37261
|
+
style: { backgroundColor: config.primaryColor },
|
|
37262
|
+
children: disabled ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { size: 18, className: "animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(SendHorizontal, { size: 18 })
|
|
37263
|
+
}
|
|
37264
|
+
)
|
|
37265
|
+
] }),
|
|
37266
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "px-3 py-2 bg-slate-50/50 border-t border-slate-100 flex items-center justify-between", children: [
|
|
37267
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37268
|
+
"button",
|
|
37269
|
+
{
|
|
37270
|
+
onClick: () => setIsMenuOpen(!isMenuOpen),
|
|
37271
|
+
className: `
|
|
37272
|
+
flex items-center gap-2 px-2.5 py-1 rounded-lg border transition-all cursor-pointer
|
|
37273
|
+
${selectedCategory ? "bg-white border-blue-200 text-blue-600 shadow-sm" : "bg-transparent border-transparent text-slate-400 hover:text-slate-600"}
|
|
37274
|
+
`,
|
|
37275
|
+
children: [
|
|
37276
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { size: 12, className: selectedCategory ? "text-blue-500" : "" }),
|
|
37277
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[10px] font-bold uppercase tracking-tight", children: [
|
|
37278
|
+
"Mode : ",
|
|
37279
|
+
activeCat ? activeCat.label : "Automatique"
|
|
37280
|
+
] })
|
|
37281
|
+
]
|
|
37282
|
+
}
|
|
37283
|
+
),
|
|
37284
|
+
selectedCategory && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[9px] font-medium text-slate-400 italic animate-in fade-in", children: "Précision accrue activée" })
|
|
37285
|
+
] })
|
|
37197
37286
|
] })
|
|
37198
37287
|
] });
|
|
37199
37288
|
};
|
|
@@ -37201,8 +37290,7 @@ const WelcomeScreen = ({ onSuggestion }) => {
|
|
|
37201
37290
|
const { botName, logoUrl, primaryColor } = useConfig();
|
|
37202
37291
|
const suggestions = [
|
|
37203
37292
|
{ label: "Je veux une liste des employés ?", icon: Sparkles },
|
|
37204
|
-
{ label: "
|
|
37205
|
-
{ label: "Résume-moi le dernier document RH", icon: FileText }
|
|
37293
|
+
{ label: "Quel est le matériel de l'entreprise disponibles ?", icon: MessageCircle }
|
|
37206
37294
|
];
|
|
37207
37295
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center p-8 text-center animate-in fade-in zoom-in duration-500", children: [
|
|
37208
37296
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative mb-6", children: [
|
|
@@ -37260,7 +37348,11 @@ const ChatView = () => {
|
|
|
37260
37348
|
isLoading,
|
|
37261
37349
|
threadId,
|
|
37262
37350
|
confirmThreadId,
|
|
37263
|
-
config: storeConfig
|
|
37351
|
+
config: storeConfig,
|
|
37352
|
+
// --- Nouveautés Catégories ---
|
|
37353
|
+
selectedCategory,
|
|
37354
|
+
categories,
|
|
37355
|
+
fetchCategories
|
|
37264
37356
|
} = useStore();
|
|
37265
37357
|
const configContext = useConfig();
|
|
37266
37358
|
const { initialMessage, botName, userName } = configContext;
|
|
@@ -37268,6 +37360,11 @@ const ChatView = () => {
|
|
|
37268
37360
|
const userToken = (configContext == null ? void 0 : configContext.userToken) || (storeConfig == null ? void 0 : storeConfig.userToken);
|
|
37269
37361
|
const companyId = (configContext == null ? void 0 : configContext.companyId) || (storeConfig == null ? void 0 : storeConfig.companyId);
|
|
37270
37362
|
const scrollRef = reactExports.useRef(null);
|
|
37363
|
+
reactExports.useEffect(() => {
|
|
37364
|
+
if (apiUrl) {
|
|
37365
|
+
fetchCategories();
|
|
37366
|
+
}
|
|
37367
|
+
}, [apiUrl, fetchCategories]);
|
|
37271
37368
|
reactExports.useEffect(() => {
|
|
37272
37369
|
if (scrollRef.current) {
|
|
37273
37370
|
scrollRef.current.scrollTo({
|
|
@@ -37290,25 +37387,14 @@ const ChatView = () => {
|
|
|
37290
37387
|
addMessage({
|
|
37291
37388
|
id: "err-company-" + Date.now(),
|
|
37292
37389
|
role: "assistant",
|
|
37293
|
-
content: "⚠️ **Identifiant d'entreprise manquant.**\n\nVeuillez configurer l'identifiant de l'entreprise
|
|
37390
|
+
content: "⚠️ **Identifiant d'entreprise manquant.**\n\nVeuillez configurer l'identifiant de l'entreprise. Cette information est indispensable.",
|
|
37294
37391
|
timestamp: /* @__PURE__ */ new Date()
|
|
37295
37392
|
});
|
|
37296
37393
|
setLoading(false);
|
|
37297
37394
|
}, 600);
|
|
37298
37395
|
return;
|
|
37299
37396
|
}
|
|
37300
|
-
if (!apiUrl)
|
|
37301
|
-
console.error(
|
|
37302
|
-
"[DHI Copilot] apiUrl manquant. Vérifiez la prop `config` sur <dhi-copilot-ai>."
|
|
37303
|
-
);
|
|
37304
|
-
addMessage({
|
|
37305
|
-
id: "err-config-" + Date.now(),
|
|
37306
|
-
role: "assistant",
|
|
37307
|
-
content: "⚠️ **Configuration manquante.**\n\nL'URL du serveur n'est pas définie. Veuillez vérifier l'intégration du widget.",
|
|
37308
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
37309
|
-
});
|
|
37310
|
-
return;
|
|
37311
|
-
}
|
|
37397
|
+
if (!apiUrl) return;
|
|
37312
37398
|
let displayContent = text2.trim();
|
|
37313
37399
|
if (files.length > 0) {
|
|
37314
37400
|
const fileList = files.map((f2) => `📄 ${f2.name}`).join("\n");
|
|
@@ -37334,11 +37420,13 @@ ${fileList}`;
|
|
|
37334
37420
|
if (files.length > 0) {
|
|
37335
37421
|
finalPrompt = finalPrompt ? `${finalPrompt}
|
|
37336
37422
|
|
|
37337
|
-
(Contexte :
|
|
37423
|
+
(Contexte : Fichiers joints : ${fileNames})` : `Analyse les documents suivants : ${fileNames}`;
|
|
37338
37424
|
}
|
|
37339
37425
|
const data = await apiService.sendMessage(apiUrl, companyId, userToken, {
|
|
37340
37426
|
message: finalPrompt,
|
|
37341
|
-
thread_id: currentThreadId
|
|
37427
|
+
thread_id: currentThreadId,
|
|
37428
|
+
category: selectedCategory
|
|
37429
|
+
// ← Envoi de l'ID (ex: "remunerations") ou null
|
|
37342
37430
|
});
|
|
37343
37431
|
if (data == null ? void 0 : data.thread_id) {
|
|
37344
37432
|
confirmThreadId(data.thread_id);
|
|
@@ -37351,11 +37439,11 @@ ${fileList}`;
|
|
|
37351
37439
|
timestamp: /* @__PURE__ */ new Date()
|
|
37352
37440
|
});
|
|
37353
37441
|
} catch (error) {
|
|
37354
|
-
console.error("[
|
|
37442
|
+
console.error("[Fluxoon Copilot] Chat Error:", error);
|
|
37355
37443
|
addMessage({
|
|
37356
37444
|
id: "err-" + Date.now(),
|
|
37357
37445
|
role: "assistant",
|
|
37358
|
-
content: "⚠️ **Connexion interrompue.**\n\nLe serveur
|
|
37446
|
+
content: "⚠️ **Connexion interrompue.**\n\nLe serveur ne répond pas. Vérifiez votre configuration réseau.",
|
|
37359
37447
|
timestamp: /* @__PURE__ */ new Date()
|
|
37360
37448
|
});
|
|
37361
37449
|
} finally {
|
|
@@ -37368,46 +37456,37 @@ ${fileList}`;
|
|
|
37368
37456
|
"div",
|
|
37369
37457
|
{
|
|
37370
37458
|
ref: scrollRef,
|
|
37371
|
-
className: "flex-1 overflow-y-auto px-4 py-6 space-y-6 custom-scrollbar scroll-smooth",
|
|
37372
|
-
children: messages.length === 0 && !isLoading ? (
|
|
37373
|
-
/*
|
|
37374
|
-
|
|
37375
|
-
|
|
37376
|
-
|
|
37377
|
-
|
|
37378
|
-
|
|
37379
|
-
|
|
37380
|
-
|
|
37381
|
-
content: formattedIntro,
|
|
37382
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
37383
|
-
}
|
|
37384
|
-
}
|
|
37385
|
-
),
|
|
37386
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37387
|
-
WelcomeScreen,
|
|
37388
|
-
{
|
|
37389
|
-
onSuggestion: (suggestion) => handleSendMessage(suggestion)
|
|
37459
|
+
className: "flex-1 overflow-y-auto overflow-x-hidden px-4 py-6 space-y-6 custom-scrollbar scroll-smooth break-words",
|
|
37460
|
+
children: messages.length === 0 && !isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-6 animate-in fade-in duration-700 w-full overflow-x-hidden", children: [
|
|
37461
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37462
|
+
MessageBubble,
|
|
37463
|
+
{
|
|
37464
|
+
message: {
|
|
37465
|
+
id: "virtual-intro",
|
|
37466
|
+
role: "assistant",
|
|
37467
|
+
content: formattedIntro,
|
|
37468
|
+
timestamp: /* @__PURE__ */ new Date()
|
|
37390
37469
|
}
|
|
37391
|
-
|
|
37392
|
-
|
|
37393
|
-
|
|
37394
|
-
|
|
37395
|
-
|
|
37396
|
-
|
|
37397
|
-
|
|
37398
|
-
|
|
37399
|
-
)
|
|
37470
|
+
}
|
|
37471
|
+
),
|
|
37472
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37473
|
+
WelcomeScreen,
|
|
37474
|
+
{
|
|
37475
|
+
onSuggestion: (suggestion) => handleSendMessage(suggestion)
|
|
37476
|
+
}
|
|
37477
|
+
)
|
|
37478
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col min-h-full w-full overflow-x-hidden", children: [
|
|
37479
|
+
messages.map((msg) => /* @__PURE__ */ jsxRuntimeExports.jsx(MessageBubble, { message: msg }, msg.id)),
|
|
37480
|
+
isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThinkingIndicator, {}) })
|
|
37481
|
+
] })
|
|
37400
37482
|
}
|
|
37401
37483
|
),
|
|
37402
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-4 bg-white/40 backdrop-blur-xl border-t border-black/[0.03] shadow-[0_-10px_30px_rgba(0,0,0,0.02)]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-[
|
|
37484
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-4 bg-white/40 backdrop-blur-xl border-t border-black/[0.03] shadow-[0_-10px_30px_rgba(0,0,0,0.02)] shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "w-[94%] max-w-[680px] mx-auto", children: [
|
|
37403
37485
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ChatInput, { onSend: handleSendMessage, disabled: isLoading }),
|
|
37404
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
37405
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
37406
|
-
|
|
37407
|
-
|
|
37408
|
-
] }),
|
|
37409
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[9px] text-slate-300 font-medium italic", children: "Vérifiez les sources citées." })
|
|
37410
|
-
] })
|
|
37486
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center items-center gap-4 mt-3", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[9px] text-slate-400 font-bold uppercase tracking-widest flex items-center gap-1", children: [
|
|
37487
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1 h-1 rounded-full bg-emerald-500" }),
|
|
37488
|
+
"Fluxoon Multi-Skill Active"
|
|
37489
|
+
] }) })
|
|
37411
37490
|
] }) })
|
|
37412
37491
|
] });
|
|
37413
37492
|
};
|
|
@@ -37963,21 +38042,46 @@ const SettingsView = () => {
|
|
|
37963
38042
|
) }) });
|
|
37964
38043
|
};
|
|
37965
38044
|
const Navbar = ({ activeView, setView, onClose }) => {
|
|
37966
|
-
const { config } = useStore();
|
|
38045
|
+
const { config, loadThread } = useStore();
|
|
37967
38046
|
const menuItems = [
|
|
37968
38047
|
{ id: "chat", icon: MessageSquare, label: "Chat" },
|
|
37969
38048
|
{ id: "history", icon: Clock, label: "Historique" },
|
|
37970
38049
|
{ id: "settings", icon: Settings, label: "Sources" }
|
|
37971
38050
|
];
|
|
37972
|
-
|
|
37973
|
-
|
|
38051
|
+
const handleNewChat = () => {
|
|
38052
|
+
loadThread(null);
|
|
38053
|
+
setView("chat");
|
|
38054
|
+
};
|
|
38055
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("nav", { className: "flex items-center justify-between px-5 py-2 bg-white/40 backdrop-blur-xl border-b border-black/[0.03] shrink-0 z-10", children: [
|
|
38056
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38057
|
+
"button",
|
|
38058
|
+
{
|
|
38059
|
+
onClick: handleNewChat,
|
|
38060
|
+
title: "Démarrer une nouvelle discussion",
|
|
38061
|
+
style: {
|
|
38062
|
+
color: config.primaryColor,
|
|
38063
|
+
backgroundColor: `${config.primaryColor}15`
|
|
38064
|
+
// 15 = environ 8% d'opacité
|
|
38065
|
+
},
|
|
38066
|
+
className: "p-2 rounded-xl hover:scale-110 active:scale-95 transition-all border-none cursor-pointer flex items-center justify-center group shadow-sm",
|
|
38067
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38068
|
+
Plus,
|
|
38069
|
+
{
|
|
38070
|
+
size: 20,
|
|
38071
|
+
strokeWidth: 3,
|
|
38072
|
+
className: "group-hover:rotate-90 transition-transform duration-300"
|
|
38073
|
+
}
|
|
38074
|
+
)
|
|
38075
|
+
}
|
|
38076
|
+
),
|
|
38077
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex bg-slate-200/50 p-1 rounded-2xl gap-1", children: menuItems.map((item) => {
|
|
37974
38078
|
const isActive = activeView === item.id;
|
|
37975
38079
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37976
38080
|
"button",
|
|
37977
38081
|
{
|
|
37978
38082
|
onClick: () => setView(item.id),
|
|
37979
38083
|
className: `
|
|
37980
|
-
flex items-center gap-2 px-3 py-1.5 rounded-
|
|
38084
|
+
flex items-center gap-2 px-3 py-1.5 rounded-xl transition-all duration-300
|
|
37981
38085
|
text-xs font-bold select-none border-none cursor-pointer
|
|
37982
38086
|
${isActive ? "bg-white shadow-md" : "text-slate-400 hover:text-slate-600"}
|
|
37983
38087
|
`,
|
|
@@ -38000,8 +38104,9 @@ const Navbar = ({ activeView, setView, onClose }) => {
|
|
|
38000
38104
|
"button",
|
|
38001
38105
|
{
|
|
38002
38106
|
onClick: onClose,
|
|
38003
|
-
|
|
38004
|
-
|
|
38107
|
+
title: "Fermer le Copilot",
|
|
38108
|
+
className: "p-2 rounded-xl hover:bg-red-50 hover:text-red-500 text-slate-400 transition-all border-none cursor-pointer flex items-center justify-center",
|
|
38109
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { size: 22, strokeWidth: 2 })
|
|
38005
38110
|
}
|
|
38006
38111
|
)
|
|
38007
38112
|
] });
|
|
@@ -38090,36 +38195,10 @@ const Shell = ({ isOpen, setIsOpen }) => {
|
|
|
38090
38195
|
border: "1px solid rgba(255, 255, 255, 0.3)"
|
|
38091
38196
|
},
|
|
38092
38197
|
className: "relative h-16 w-16 rounded-2xl flex items-center justify-center text-white cursor-pointer outline-none z-50 backdrop-blur-lg shadow-[0_8px_32px_rgba(0,0,0,0.15)] transition-shadow",
|
|
38093
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { mode: "wait", children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38094
|
-
|
|
38095
|
-
{
|
|
38096
|
-
|
|
38097
|
-
animate: { rotate: 0, opacity: 1 },
|
|
38098
|
-
exit: { rotate: 90, opacity: 0 },
|
|
38099
|
-
className: "flex items-center justify-center",
|
|
38100
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { size: 32, strokeWidth: 2.5 })
|
|
38101
|
-
},
|
|
38102
|
-
"close"
|
|
38103
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
38104
|
-
motion.div,
|
|
38105
|
-
{
|
|
38106
|
-
initial: { scale: 0, opacity: 0 },
|
|
38107
|
-
animate: { scale: 1, opacity: 1 },
|
|
38108
|
-
className: "relative flex items-center justify-center",
|
|
38109
|
-
children: [
|
|
38110
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-10 w-10 bg-white/90 rounded-xl p-1.5 shadow-inner flex items-center justify-center overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: logoUrl, alt: botName, className: "h-full w-full object-contain" }) }),
|
|
38111
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38112
|
-
"div",
|
|
38113
|
-
{
|
|
38114
|
-
style: { backgroundColor: primaryColor },
|
|
38115
|
-
className: "absolute -top-3 -right-3 h-7 w-7 rounded-lg shadow-lg flex items-center justify-center text-white border-2 border-white",
|
|
38116
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Bot, { size: 14, strokeWidth: 2.5 })
|
|
38117
|
-
}
|
|
38118
|
-
)
|
|
38119
|
-
]
|
|
38120
|
-
},
|
|
38121
|
-
"open"
|
|
38122
|
-
) })
|
|
38198
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { mode: "wait", children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(motion.div, { initial: { rotate: -90, opacity: 0 }, animate: { rotate: 0, opacity: 1 }, exit: { rotate: 90, opacity: 0 }, className: "flex items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { size: 32, strokeWidth: 2.5 }) }, "close") : /* @__PURE__ */ jsxRuntimeExports.jsxs(motion.div, { initial: { scale: 0, opacity: 0 }, animate: { scale: 1, opacity: 1 }, className: "relative flex items-center justify-center", children: [
|
|
38199
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-10 w-10 bg-white/90 rounded-xl p-1.5 shadow-inner flex items-center justify-center overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: logoUrl, alt: botName, className: "h-full w-full object-contain" }) }),
|
|
38200
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { backgroundColor: primaryColor }, className: "absolute -top-3 -right-3 h-7 w-7 rounded-lg shadow-lg flex items-center justify-center text-white border-2 border-white", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Bot, { size: 14, strokeWidth: 2.5 }) })
|
|
38201
|
+
] }, "open") })
|
|
38123
38202
|
}
|
|
38124
38203
|
),
|
|
38125
38204
|
/* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -38134,35 +38213,21 @@ const Shell = ({ isOpen, setIsOpen }) => {
|
|
|
38134
38213
|
top: 0,
|
|
38135
38214
|
[isRight ? "right" : "left"]: 0,
|
|
38136
38215
|
height: "100%",
|
|
38137
|
-
|
|
38138
|
-
|
|
38216
|
+
// Largeur adaptive : 100% sur mobile, entre 400px et 800px sur Desktop
|
|
38217
|
+
width: window.innerWidth < 768 ? "100%" : "clamp(420px, 35vw, 800px)",
|
|
38139
38218
|
zIndex: 40,
|
|
38140
|
-
// ── Le fond : blanc légèrement satiné, pas transparent à 100%
|
|
38141
38219
|
background: "rgba(255, 255, 255, 0.97)",
|
|
38142
38220
|
backdropFilter: "blur(24px)",
|
|
38143
38221
|
WebkitBackdropFilter: "blur(24px)",
|
|
38144
|
-
// ── Bordure latérale subtilement teintée avec la couleur primaire
|
|
38145
38222
|
borderLeft: isRight ? `1px solid rgba(${hexToRgb(primaryColor)}, 0.15)` : "none",
|
|
38146
38223
|
borderRight: !isRight ? `1px solid rgba(${hexToRgb(primaryColor)}, 0.15)` : "none",
|
|
38147
|
-
|
|
38148
|
-
|
|
38149
|
-
|
|
38224
|
+
boxShadow: isRight ? `-24px 0 80px -8px rgba(0,0,0,0.22), -4px 0 24px -4px rgba(0,0,0,0.10)` : `24px 0 80px -8px rgba(0,0,0,0.22), 4px 0 24px -4px rgba(0,0,0,0.10)`,
|
|
38225
|
+
overflowY: "hidden",
|
|
38226
|
+
overflowX: "hidden"
|
|
38227
|
+
// Empêche tout scroll horizontal parasite
|
|
38150
38228
|
},
|
|
38151
38229
|
children: [
|
|
38152
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38153
|
-
"div",
|
|
38154
|
-
{
|
|
38155
|
-
style: {
|
|
38156
|
-
position: "absolute",
|
|
38157
|
-
top: 0,
|
|
38158
|
-
left: 0,
|
|
38159
|
-
right: 0,
|
|
38160
|
-
height: "3px",
|
|
38161
|
-
background: `linear-gradient(90deg, ${primaryColor}, ${primaryColor}88)`,
|
|
38162
|
-
zIndex: 1
|
|
38163
|
-
}
|
|
38164
|
-
}
|
|
38165
|
-
),
|
|
38230
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: "3px", background: `linear-gradient(90deg, ${primaryColor}, ${primaryColor}88)`, zIndex: 1 } }),
|
|
38166
38231
|
/* @__PURE__ */ jsxRuntimeExports.jsx(MainContainer, { close: () => setIsOpen(false) })
|
|
38167
38232
|
]
|
|
38168
38233
|
},
|
|
@@ -38176,12 +38241,9 @@ function hexToRgb(hex2) {
|
|
|
38176
38241
|
const clean = hex2.replace("#", "");
|
|
38177
38242
|
const full = clean.length === 3 ? clean.split("").map((c) => c + c).join("") : clean;
|
|
38178
38243
|
const num = parseInt(full, 16);
|
|
38179
|
-
|
|
38180
|
-
const g = num >> 8 & 255;
|
|
38181
|
-
const b2 = num & 255;
|
|
38182
|
-
return `${r}, ${g}, ${b2}`;
|
|
38244
|
+
return `${num >> 16 & 255}, ${num >> 8 & 255}, ${num & 255}`;
|
|
38183
38245
|
}
|
|
38184
|
-
const tailwindStyles = '/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-900:oklch(41.4% .112 45.904);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-500:oklch(60.6% .25 292.717);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--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);--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--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)}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-top-3{top:calc(var(--spacing) * -3)}.top-4{top:calc(var(--spacing) * 4)}.-right-2{right:calc(var(--spacing) * -2)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.z-50{z-index:50}.z-\\[999999\\]{z-index:999999}.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-auto{margin-inline:auto}.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-3{margin-top:calc(var(--spacing) * 3)}.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)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-\\[88\\%\\]{max-width:88%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[160px\\]{max-width:160px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[480px\\]{max-width:480px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\\[-4px\\]{--tw-translate-x:-4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\\[1\\.02\\]{scale:1.02}.rotate-180{rotate:180deg}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.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)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}: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-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[24px\\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-none{border-top-left-radius:0}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-tr-none{border-top-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-black\\/\\[0\\.03\\]{border-color:#00000008}@supports (color:color-mix(in lab,red,red)){.border-black\\/\\[0\\.03\\]{border-color:color-mix(in oklab,var(--color-black) 3%,transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-red-400{border-color:var(--color-red-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/60{border-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/60{border-color:color-mix(in oklab,var(--color-slate-200) 60%,transparent)}}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-white\\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\\/50{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50\\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\\/50{background-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-indigo-50\\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.bg-indigo-50\\/50{background-color:color-mix(in oklab,var(--color-indigo-50) 50%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/50{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-100\\/50{background-color:#f1f5f980}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\\/50{background-color:color-mix(in oklab,var(--color-slate-100) 50%,transparent)}}.bg-slate-200\\/50{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\\/50{background-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/40{background-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.object-contain{object-fit:contain}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-\\[14px\\]{font-size:14px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.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)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-900{color:var(--color-amber-900)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-700{color:var(--color-indigo-700)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-violet-500{color:var(--color-violet-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_-10px_30px_rgba\\(0\\,0\\,0\\,0\\.02\\)\\]{--tw-shadow:0 -10px 30px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:0 8px 32px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-50{--tw-ring-color:var(--color-blue-50)}.ring-red-500{--tw-ring-color:var(--color-red-500)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-shadow{transition-property:box-shadow;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-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.group-hover\\:text-blue-400:is(:where(.group):hover *){color:var(--color-blue-400)}.group-hover\\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-slate-300::placeholder{color:var(--color-slate-300)}.focus-within\\:border-blue-400:focus-within{border-color:var(--color-blue-400)}@media(hover:hover){.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-\\[1\\.01\\]:hover{scale:1.01}.hover\\:border-blue-100:hover{border-color:var(--color-blue-100)}.hover\\:border-blue-200:hover{border-color:var(--color-blue-200)}.hover\\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-blue-600:hover{color:var(--color-blue-600)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-0:focus{--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)}.focus\\:ring-1:focus{--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)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 50%, transparent)}}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:opacity-30:disabled{opacity:.3}@media(min-width:48rem){.md\\:col-span-2{grid-column:span 2/span 2}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@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-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-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}';
|
|
38246
|
+
const tailwindStyles = '/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-900:oklch(41.4% .112 45.904);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-500:oklch(60.6% .25 292.717);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--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: 1.5 ;--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);--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--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)}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-top-3{top:calc(var(--spacing) * -3)}.top-4{top:calc(var(--spacing) * 4)}.-right-2{right:calc(var(--spacing) * -2)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-50{z-index:50}.z-\\[999999\\]{z-index:999999}.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-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.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-3{margin-top:calc(var(--spacing) * 3)}.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)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\\[350px\\]{max-height:350px}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-\\[94\\%\\]{width:94%}.w-full{width:100%}.max-w-\\[88\\%\\]{max-width:88%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[160px\\]{max-width:160px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[320px\\]{max-width:320px}.max-w-\\[680px\\]{max-width:680px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\\[-4px\\]{--tw-translate-x:-4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\\[1\\.02\\]{scale:1.02}.rotate-180{rotate:180deg}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.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)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}: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-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[24px\\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-none{border-top-left-radius:0}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-tr-none{border-top-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-black\\/\\[0\\.03\\]{border-color:#00000008}@supports (color:color-mix(in lab,red,red)){.border-black\\/\\[0\\.03\\]{border-color:color-mix(in oklab,var(--color-black) 3%,transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-red-400{border-color:var(--color-red-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/60{border-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/60{border-color:color-mix(in oklab,var(--color-slate-200) 60%,transparent)}}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-white\\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\\/50{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50\\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\\/50{background-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-indigo-50\\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.bg-indigo-50\\/50{background-color:color-mix(in oklab,var(--color-indigo-50) 50%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/50{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-100\\/50{background-color:#f1f5f980}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\\/50{background-color:color-mix(in oklab,var(--color-slate-100) 50%,transparent)}}.bg-slate-200\\/50{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\\/50{background-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/40{background-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-white\\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.object-contain{object-fit:contain}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-\\[14px\\]{font-size:14px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.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)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-900{color:var(--color-amber-900)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-700{color:var(--color-indigo-700)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-violet-500{color:var(--color-violet-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_-10px_30px_rgba\\(0\\,0\\,0\\,0\\.02\\)\\]{--tw-shadow:0 -10px 30px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:0 8px 32px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-50{--tw-ring-color:var(--color-blue-50)}.ring-red-500{--tw-ring-color:var(--color-red-500)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-shadow{transition-property:box-shadow;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-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\\:rotate-90:is(:where(.group):hover *){rotate:90deg}.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.group-hover\\:text-blue-400:is(:where(.group):hover *){color:var(--color-blue-400)}.group-hover\\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-slate-300::placeholder{color:var(--color-slate-300)}.focus-within\\:border-blue-400:focus-within{border-color:var(--color-blue-400)}@media(hover:hover){.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-\\[1\\.01\\]:hover{scale:1.01}.hover\\:border-blue-100:hover{border-color:var(--color-blue-100)}.hover\\:border-blue-200:hover{border-color:var(--color-blue-200)}.hover\\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-blue-600:hover{color:var(--color-blue-600)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-0:focus{--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)}.focus\\:ring-1:focus{--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)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 50%, transparent)}}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:opacity-30:disabled{opacity:.3}@media(min-width:48rem){.md\\:col-span-2{grid-column:span 2/span 2}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@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-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-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}';
|
|
38185
38247
|
const GlobalStyles = () => {
|
|
38186
38248
|
const { primaryColor } = useConfig();
|
|
38187
38249
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("style", { children: `
|