@cnc_cbz/usefultools-plugin-official 1.1.0 → 1.1.1

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.
@@ -0,0 +1,3158 @@
1
+ import { defineComponent, ref, computed, watch, onBeforeUnmount, openBlock, createElementBlock, createElementVNode, toDisplayString, createTextVNode, withDirectives, vModelText, Fragment, renderList, vModelCheckbox, createStaticVNode, normalizeClass } from "vue";
2
+ const _hoisted_1 = { class: "flex flex-col h-full gap-4 min-w-0 overflow-y-auto pb-2" };
3
+ const _hoisted_2 = { class: "bg-deep-charcoal border-4 border-black rounded-xl px-4 py-3 shadow-hard shrink-0" };
4
+ const _hoisted_3 = { class: "flex flex-wrap items-center gap-3" };
5
+ const _hoisted_4 = { class: "flex flex-wrap items-center gap-2 text-xs min-w-0" };
6
+ const _hoisted_5 = { class: "px-2 py-1 bg-bg-dark border-2 border-black rounded font-mono text-primary shadow-hard-sm" };
7
+ const _hoisted_6 = { class: "px-2 py-1 bg-bg-dark border-2 border-black rounded font-mono text-electric-blue shadow-hard-sm" };
8
+ const _hoisted_7 = { class: "px-2 py-1 bg-bg-dark border-2 border-black rounded font-mono text-coral-red shadow-hard-sm" };
9
+ const _hoisted_8 = { class: "px-2 py-1 bg-bg-dark border-2 border-black rounded font-mono text-neon-green shadow-hard-sm max-w-full break-all [overflow-wrap:anywhere]" };
10
+ const _hoisted_9 = { class: "material-icons text-sm" };
11
+ const _hoisted_10 = { class: "bg-deep-charcoal border-4 border-black rounded-xl p-4 shadow-hard min-w-0 shrink-0" };
12
+ const _hoisted_11 = { class: "flex items-center justify-between gap-3 mb-3" };
13
+ const _hoisted_12 = { class: "bg-deep-charcoal border-4 border-black rounded-xl p-4 shadow-hard min-w-0 shrink-0" };
14
+ const _hoisted_13 = {
15
+ key: 0,
16
+ class: "space-y-4 mt-4"
17
+ };
18
+ const _hoisted_14 = { class: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_320px] gap-4 min-w-0" };
19
+ const _hoisted_15 = { class: "bg-bg-dark border-4 border-black rounded-xl p-3 shadow-hard-sm min-w-0" };
20
+ const _hoisted_16 = { class: "flex items-center justify-between gap-2 mb-2" };
21
+ const _hoisted_17 = { class: "flex flex-wrap gap-1" };
22
+ const _hoisted_18 = ["onClick"];
23
+ const _hoisted_19 = { class: "bg-bg-dark border-4 border-black rounded-xl p-3 shadow-hard-sm min-w-0" };
24
+ const _hoisted_20 = { class: "flex items-center justify-between gap-2 mb-2" };
25
+ const _hoisted_21 = { class: "flex flex-wrap gap-1" };
26
+ const _hoisted_22 = ["onClick"];
27
+ const _hoisted_23 = { class: "bg-bg-dark border-4 border-black rounded-xl p-3 shadow-hard-sm min-w-0" };
28
+ const _hoisted_24 = { class: "space-y-2 text-xs" };
29
+ const _hoisted_25 = { class: "flex items-center gap-2 text-gray-300 cursor-pointer" };
30
+ const _hoisted_26 = { class: "flex items-center gap-2 text-gray-300 cursor-pointer" };
31
+ const _hoisted_27 = { class: "mt-4 pt-3 border-t-2 border-black" };
32
+ const _hoisted_28 = { class: "mt-2 font-mono text-sm text-neon-green break-all [overflow-wrap:anywhere]" };
33
+ const _hoisted_29 = { class: "bg-bg-dark border-4 border-black rounded-xl p-3 shadow-hard-sm min-w-0" };
34
+ const _hoisted_30 = { class: "w-4 shrink-0 flex items-stretch justify-center pointer-events-none" };
35
+ const _hoisted_31 = ["data-position", "onPointerdown"];
36
+ const _hoisted_32 = { class: "flex items-center justify-between gap-3" };
37
+ const _hoisted_33 = { class: "text-[10px] font-bold text-gray-500 uppercase tracking-wider" };
38
+ const _hoisted_34 = { class: "mt-1 text-base font-bold text-primary" };
39
+ const _hoisted_35 = { class: "mt-3 rounded-lg border-2 border-black bg-bg-dark px-3 py-2 h-16 overflow-auto" };
40
+ const _hoisted_36 = { class: "font-mono text-xs text-gray-100 break-all [overflow-wrap:anywhere]" };
41
+ const _hoisted_37 = { class: "flex items-center justify-between gap-3 mt-3" };
42
+ const _hoisted_38 = { class: "text-xs text-gray-500" };
43
+ const _hoisted_39 = { class: "flex items-center gap-2" };
44
+ const _hoisted_40 = ["disabled", "onClick"];
45
+ const _hoisted_41 = ["disabled", "onClick"];
46
+ const _hoisted_42 = { class: "w-4 shrink-0 flex items-stretch justify-center pointer-events-none" };
47
+ const _hoisted_43 = {
48
+ key: 1,
49
+ class: "text-sm text-gray-500"
50
+ };
51
+ const _hoisted_44 = {
52
+ key: 1,
53
+ class: "mt-4 text-xs text-gray-500"
54
+ };
55
+ const _hoisted_45 = { class: "bg-deep-charcoal border-4 border-black rounded-xl shadow-hard min-h-[320px] max-h-[420px] min-w-0 overflow-hidden" };
56
+ const _hoisted_46 = {
57
+ key: 0,
58
+ class: "overflow-auto h-full min-w-0"
59
+ };
60
+ const _hoisted_47 = { class: "w-full table-fixed text-sm" };
61
+ const _hoisted_48 = { class: "sticky top-0 z-10 bg-bg-dark" };
62
+ const _hoisted_49 = { class: "px-3 py-2 align-top font-mono text-xs text-gray-500 w-14" };
63
+ const _hoisted_50 = { class: "max-h-28 overflow-auto whitespace-pre-wrap break-all [overflow-wrap:anywhere] pr-1" };
64
+ const _hoisted_51 = {
65
+ key: 1,
66
+ class: "h-full flex items-center justify-center text-gray-500 text-sm"
67
+ };
68
+ const _hoisted_52 = { class: "bg-deep-charcoal border-4 border-black rounded-xl shadow-hard min-h-[260px] min-w-0 overflow-hidden flex flex-col" };
69
+ const _hoisted_53 = { class: "flex flex-wrap items-center justify-between gap-3 px-4 py-3 border-b-2 border-black" };
70
+ const _hoisted_54 = { class: "flex flex-wrap items-center gap-2" };
71
+ const _hoisted_55 = { class: "material-icons text-sm" };
72
+ const _hoisted_56 = { class: "material-icons text-sm" };
73
+ const _hoisted_57 = { class: "px-4 py-3 border-b-2 border-black bg-bg-dark" };
74
+ const _hoisted_58 = { class: "mt-1 text-xs text-gray-500" };
75
+ const _hoisted_59 = { class: "font-mono text-gray-300" };
76
+ const _hoisted_60 = { class: "flex-1 overflow-auto min-w-0" };
77
+ const _hoisted_61 = { class: "min-h-full w-full max-w-full text-neon-green px-4 py-4 font-mono text-sm leading-7 whitespace-pre-wrap break-all [overflow-wrap:anywhere]" };
78
+ const sampleInput = `张三----男----38
79
+ 里斯----男----13`;
80
+ const _sfc_main = /* @__PURE__ */ defineComponent({
81
+ __name: "index",
82
+ setup(__props) {
83
+ const input = ref(sampleInput);
84
+ const sourceSeparator = ref("----");
85
+ const outputSeparator = ref(";");
86
+ const trimCells = ref(true);
87
+ const keepEmptyLines = ref(false);
88
+ const copyField = ref("");
89
+ const exportSuccess = ref(false);
90
+ const configOpen = ref(true);
91
+ const draggingPosition = ref(null);
92
+ const dragInsertIndex = ref(null);
93
+ const sortingTrackRef = ref(null);
94
+ const columnOrder = ref([]);
95
+ const sourcePresets = ["----", ",", "|", "\\t"];
96
+ const outputPresets = [";", ",", "|", "\\t"];
97
+ function decodeSeparator(value) {
98
+ return value.replace(/\\t/g, " ").replace(/\\n/g, "\n").replace(/\\r/g, "\r");
99
+ }
100
+ function normalizeCell(cell) {
101
+ return trimCells.value ? cell.trim() : cell;
102
+ }
103
+ const parsedRows = computed(() => {
104
+ const text = input.value.replace(/\r\n/g, "\n");
105
+ if (!text) return [];
106
+ const separator = decodeSeparator(sourceSeparator.value);
107
+ const lines = text.split("\n");
108
+ return lines.map((raw, index) => {
109
+ const isBlank = raw.trim().length === 0;
110
+ if (isBlank) {
111
+ return {
112
+ lineNumber: index + 1,
113
+ raw,
114
+ isBlank: true,
115
+ cells: []
116
+ };
117
+ }
118
+ const cells = separator ? raw.split(separator).map(normalizeCell) : [normalizeCell(raw)];
119
+ return {
120
+ lineNumber: index + 1,
121
+ raw,
122
+ isBlank: false,
123
+ cells
124
+ };
125
+ }).filter((row) => keepEmptyLines.value || !row.isBlank);
126
+ });
127
+ const maxColumns = computed(() => {
128
+ const widths = parsedRows.value.filter((row) => !row.isBlank).map((row) => row.cells.length);
129
+ return widths.length ? Math.max(...widths) : 0;
130
+ });
131
+ watch(maxColumns, (count) => {
132
+ const next = columnOrder.value.filter((index) => index < count);
133
+ for (let i = 0; i < count; i += 1) {
134
+ if (!next.includes(i)) next.push(i);
135
+ }
136
+ columnOrder.value = next;
137
+ }, { immediate: true });
138
+ const structuredRows = computed(() => {
139
+ return parsedRows.value.map((row) => {
140
+ if (row.isBlank) {
141
+ return {
142
+ ...row,
143
+ paddedCells: Array.from({ length: maxColumns.value }, () => ""),
144
+ reorderedCells: Array.from({ length: maxColumns.value }, () => "")
145
+ };
146
+ }
147
+ const paddedCells = Array.from(
148
+ { length: maxColumns.value },
149
+ (_, index) => row.cells[index] ?? ""
150
+ );
151
+ return {
152
+ ...row,
153
+ paddedCells,
154
+ reorderedCells: columnOrder.value.map((index) => paddedCells[index] ?? "")
155
+ };
156
+ });
157
+ });
158
+ const rowCount = computed(() => structuredRows.value.filter((row) => !row.isBlank).length);
159
+ const inconsistentRowCount = computed(() => {
160
+ return structuredRows.value.filter((row) => !row.isBlank && row.cells.length !== maxColumns.value).length;
161
+ });
162
+ const filledCounts = computed(() => {
163
+ return Array.from({ length: maxColumns.value }, (_, index) => {
164
+ return structuredRows.value.filter((row) => !row.isBlank && (row.paddedCells[index] ?? "") !== "").length;
165
+ });
166
+ });
167
+ const columnSamples = computed(() => {
168
+ return Array.from({ length: maxColumns.value }, (_, index) => {
169
+ const found = structuredRows.value.find((row) => !row.isBlank && (row.paddedCells[index] ?? "").trim());
170
+ return (found == null ? void 0 : found.paddedCells[index]) || "(空样本)";
171
+ });
172
+ });
173
+ const columnCards = computed(() => {
174
+ return columnOrder.value.map((columnIndex, position) => ({
175
+ position,
176
+ columnIndex,
177
+ label: `列 ${columnIndex + 1}`,
178
+ sample: columnSamples.value[columnIndex] || "(空样本)",
179
+ filled: filledCounts.value[columnIndex] || 0
180
+ }));
181
+ });
182
+ const orderSummary = computed(() => {
183
+ return columnOrder.value.length ? columnOrder.value.map((index) => index + 1).join(" → ") : "-";
184
+ });
185
+ const outputText = computed(() => {
186
+ const separator = decodeSeparator(outputSeparator.value);
187
+ return structuredRows.value.map((row) => {
188
+ if (row.isBlank) return "";
189
+ return row.reorderedCells.join(separator);
190
+ }).join("\n");
191
+ });
192
+ async function copy(text, field) {
193
+ if (!text) return;
194
+ await navigator.clipboard.writeText(text);
195
+ copyField.value = field;
196
+ setTimeout(() => {
197
+ copyField.value = "";
198
+ }, 1200);
199
+ }
200
+ function resetSample() {
201
+ input.value = sampleInput;
202
+ sourceSeparator.value = "----";
203
+ outputSeparator.value = ";";
204
+ trimCells.value = true;
205
+ keepEmptyLines.value = false;
206
+ columnOrder.value = [0, 1, 2];
207
+ }
208
+ function clearAll() {
209
+ input.value = "";
210
+ sourceSeparator.value = "----";
211
+ outputSeparator.value = ";";
212
+ trimCells.value = true;
213
+ keepEmptyLines.value = false;
214
+ columnOrder.value = [];
215
+ }
216
+ function moveColumn(position, direction) {
217
+ const target = position + direction;
218
+ if (target < 0 || target >= columnOrder.value.length) return;
219
+ const next = [...columnOrder.value];
220
+ const [current] = next.splice(position, 1);
221
+ next.splice(target, 0, current);
222
+ columnOrder.value = next;
223
+ }
224
+ function reverseColumns() {
225
+ columnOrder.value = [...columnOrder.value].reverse();
226
+ }
227
+ function resetColumns() {
228
+ columnOrder.value = Array.from({ length: maxColumns.value }, (_, index) => index);
229
+ }
230
+ function reorderColumns(insertIndex) {
231
+ if (draggingPosition.value === null) return;
232
+ const from = draggingPosition.value;
233
+ let to = Math.max(0, Math.min(insertIndex, columnOrder.value.length));
234
+ if (from < to) to -= 1;
235
+ if (to === from) return;
236
+ const next = [...columnOrder.value];
237
+ const [current] = next.splice(from, 1);
238
+ next.splice(to, 0, current);
239
+ columnOrder.value = next;
240
+ }
241
+ function updateInsertIndexFromClientX(clientX) {
242
+ const track = sortingTrackRef.value;
243
+ if (!track) return;
244
+ const cards = Array.from(track.querySelectorAll("[data-sort-card]"));
245
+ if (!cards.length) {
246
+ dragInsertIndex.value = 0;
247
+ return;
248
+ }
249
+ const rect = track.getBoundingClientRect();
250
+ const edgeThreshold = 56;
251
+ if (clientX < rect.left + edgeThreshold) track.scrollLeft -= 20;
252
+ else if (clientX > rect.right - edgeThreshold) track.scrollLeft += 20;
253
+ let nextInsert = cards.length;
254
+ for (const card of cards) {
255
+ const position = Number(card.dataset.position ?? 0);
256
+ const cardRect = card.getBoundingClientRect();
257
+ const midpoint = cardRect.left + cardRect.width / 2;
258
+ if (clientX < midpoint) {
259
+ nextInsert = position;
260
+ break;
261
+ }
262
+ nextInsert = position + 1;
263
+ }
264
+ dragInsertIndex.value = nextInsert;
265
+ }
266
+ function handlePointerMove(event) {
267
+ if (draggingPosition.value === null) return;
268
+ updateInsertIndexFromClientX(event.clientX);
269
+ }
270
+ function stopPointerDrag(commit) {
271
+ if (commit && draggingPosition.value !== null && dragInsertIndex.value !== null) {
272
+ reorderColumns(dragInsertIndex.value);
273
+ }
274
+ draggingPosition.value = null;
275
+ dragInsertIndex.value = null;
276
+ document.body.style.userSelect = "";
277
+ window.removeEventListener("pointermove", handlePointerMove);
278
+ window.removeEventListener("pointerup", handlePointerUp);
279
+ window.removeEventListener("pointercancel", handlePointerCancel);
280
+ }
281
+ function handlePointerUp() {
282
+ stopPointerDrag(true);
283
+ }
284
+ function handlePointerCancel() {
285
+ stopPointerDrag(false);
286
+ }
287
+ function onCardPointerDown(event, position) {
288
+ const target = event.target;
289
+ if (target == null ? void 0 : target.closest("button")) return;
290
+ draggingPosition.value = position;
291
+ dragInsertIndex.value = position;
292
+ document.body.style.userSelect = "none";
293
+ updateInsertIndexFromClientX(event.clientX);
294
+ window.addEventListener("pointermove", handlePointerMove);
295
+ window.addEventListener("pointerup", handlePointerUp);
296
+ window.addEventListener("pointercancel", handlePointerCancel);
297
+ }
298
+ onBeforeUnmount(() => {
299
+ stopPointerDrag(false);
300
+ });
301
+ function fallbackDownload(text, fileName) {
302
+ const blob = new Blob([text], { type: "text/plain;charset=utf-8" });
303
+ const url = URL.createObjectURL(blob);
304
+ const link = document.createElement("a");
305
+ link.href = url;
306
+ link.download = fileName;
307
+ link.click();
308
+ window.setTimeout(() => URL.revokeObjectURL(url), 1200);
309
+ }
310
+ function getFileName() {
311
+ const now = /* @__PURE__ */ new Date();
312
+ const date = `${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, "0")}${String(now.getDate()).padStart(2, "0")}`;
313
+ const time = `${String(now.getHours()).padStart(2, "0")}${String(now.getMinutes()).padStart(2, "0")}${String(now.getSeconds()).padStart(2, "0")}`;
314
+ return `text-splitter-${date}-${time}.txt`;
315
+ }
316
+ async function exportResult() {
317
+ const text = outputText.value;
318
+ if (!text) return;
319
+ const fileName = getFileName();
320
+ try {
321
+ const [{ save }, { writeTextFile }] = await Promise.all([
322
+ import("@tauri-apps/plugin-dialog"),
323
+ import("@tauri-apps/plugin-fs")
324
+ ]);
325
+ const filePath = await save({
326
+ title: "导出文本分割结果",
327
+ defaultPath: fileName,
328
+ filters: [{ name: "Text", extensions: ["txt"] }]
329
+ });
330
+ if (filePath) {
331
+ await writeTextFile(filePath, text);
332
+ exportSuccess.value = true;
333
+ setTimeout(() => {
334
+ exportSuccess.value = false;
335
+ }, 1500);
336
+ }
337
+ } catch {
338
+ fallbackDownload(text, fileName);
339
+ exportSuccess.value = true;
340
+ setTimeout(() => {
341
+ exportSuccess.value = false;
342
+ }, 1500);
343
+ }
344
+ }
345
+ return (_ctx, _cache) => {
346
+ return openBlock(), createElementBlock("div", _hoisted_1, [
347
+ createElementVNode("div", _hoisted_2, [
348
+ createElementVNode("div", _hoisted_3, [
349
+ _cache[8] || (_cache[8] = createElementVNode(
350
+ "div",
351
+ { class: "flex items-center gap-2 shrink-0" },
352
+ [
353
+ createElementVNode("span", { class: "material-icons text-primary text-lg" }, "view_column"),
354
+ createElementVNode("span", { class: "text-sm font-bold text-gray-300 uppercase tracking-wider" }, "文本分割")
355
+ ],
356
+ -1
357
+ /* CACHED */
358
+ )),
359
+ createElementVNode("div", { class: "flex flex-wrap items-center gap-2 shrink-0" }, [
360
+ createElementVNode("button", {
361
+ class: "h-8 px-3 bg-bg-dark text-gray-300 font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs",
362
+ onClick: resetSample
363
+ }, " 示例 "),
364
+ createElementVNode("button", {
365
+ class: "h-8 px-3 bg-coral-red text-white font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs",
366
+ onClick: clearAll
367
+ }, " 清空 ")
368
+ ]),
369
+ _cache[9] || (_cache[9] = createElementVNode(
370
+ "span",
371
+ { class: "text-gray-600 text-xs shrink-0" },
372
+ "·",
373
+ -1
374
+ /* CACHED */
375
+ )),
376
+ createElementVNode("div", _hoisted_4, [
377
+ createElementVNode(
378
+ "span",
379
+ _hoisted_5,
380
+ "行 " + toDisplayString(rowCount.value),
381
+ 1
382
+ /* TEXT */
383
+ ),
384
+ createElementVNode(
385
+ "span",
386
+ _hoisted_6,
387
+ "列 " + toDisplayString(maxColumns.value),
388
+ 1
389
+ /* TEXT */
390
+ ),
391
+ createElementVNode(
392
+ "span",
393
+ _hoisted_7,
394
+ "乱 " + toDisplayString(inconsistentRowCount.value),
395
+ 1
396
+ /* TEXT */
397
+ ),
398
+ createElementVNode(
399
+ "span",
400
+ _hoisted_8,
401
+ " 顺 " + toDisplayString(orderSummary.value),
402
+ 1
403
+ /* TEXT */
404
+ )
405
+ ]),
406
+ _cache[10] || (_cache[10] = createElementVNode(
407
+ "div",
408
+ { class: "flex-1" },
409
+ null,
410
+ -1
411
+ /* CACHED */
412
+ )),
413
+ createElementVNode("button", {
414
+ class: "h-8 px-3 bg-bg-dark text-gray-300 font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs flex items-center gap-1 shrink-0",
415
+ onClick: _cache[0] || (_cache[0] = ($event) => configOpen.value = !configOpen.value)
416
+ }, [
417
+ createElementVNode(
418
+ "span",
419
+ _hoisted_9,
420
+ toDisplayString(configOpen.value ? "expand_less" : "tune"),
421
+ 1
422
+ /* TEXT */
423
+ ),
424
+ createTextVNode(
425
+ " " + toDisplayString(configOpen.value ? "收起配置" : "展开配置"),
426
+ 1
427
+ /* TEXT */
428
+ )
429
+ ])
430
+ ])
431
+ ]),
432
+ createElementVNode("div", _hoisted_10, [
433
+ createElementVNode("div", _hoisted_11, [
434
+ _cache[11] || (_cache[11] = createElementVNode(
435
+ "div",
436
+ { class: "flex items-center gap-2" },
437
+ [
438
+ createElementVNode("span", { class: "material-icons text-primary text-lg" }, "subject"),
439
+ createElementVNode("span", { class: "text-sm font-bold text-gray-400 uppercase tracking-wider" }, "原始数据")
440
+ ],
441
+ -1
442
+ /* CACHED */
443
+ )),
444
+ createElementVNode(
445
+ "button",
446
+ {
447
+ class: "h-8 px-3 bg-bg-dark text-gray-300 font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs",
448
+ onClick: _cache[1] || (_cache[1] = ($event) => copy(input.value, "input"))
449
+ },
450
+ toDisplayString(copyField.value === "input" ? "已复制原文" : "复制原文"),
451
+ 1
452
+ /* TEXT */
453
+ )
454
+ ]),
455
+ withDirectives(createElementVNode(
456
+ "textarea",
457
+ {
458
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => input.value = $event),
459
+ rows: "8",
460
+ placeholder: "每行一条数据,例如:张三----男----38",
461
+ class: "w-full max-w-full bg-bg-dark text-gray-100 border-4 border-black rounded-lg px-4 py-3 font-mono text-sm leading-7 shadow-hard resize-y focus:border-primary focus:shadow-none focus:translate-x-[4px] focus:translate-y-[4px] transition-all outline-none placeholder-gray-600 [overflow-wrap:anywhere]"
462
+ },
463
+ null,
464
+ 512
465
+ /* NEED_PATCH */
466
+ ), [
467
+ [vModelText, input.value]
468
+ ])
469
+ ]),
470
+ createElementVNode("div", _hoisted_12, [
471
+ createElementVNode("div", { class: "flex flex-wrap items-center justify-between gap-3" }, [
472
+ _cache[12] || (_cache[12] = createElementVNode(
473
+ "div",
474
+ { class: "flex items-center gap-2" },
475
+ [
476
+ createElementVNode("span", { class: "material-icons text-primary text-lg" }, "tune"),
477
+ createElementVNode("span", { class: "text-sm font-bold text-gray-400 uppercase tracking-wider" }, "分隔符配置 + 开关 + 列排序")
478
+ ],
479
+ -1
480
+ /* CACHED */
481
+ )),
482
+ createElementVNode("div", { class: "flex flex-wrap items-center gap-2" }, [
483
+ createElementVNode("button", {
484
+ class: "h-8 px-3 bg-bg-dark text-gray-300 font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs",
485
+ onClick: resetColumns
486
+ }, " 重置顺序 "),
487
+ createElementVNode("button", {
488
+ class: "h-8 px-3 bg-bg-dark text-gray-300 font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs",
489
+ onClick: reverseColumns
490
+ }, " 列倒序 ")
491
+ ])
492
+ ]),
493
+ configOpen.value ? (openBlock(), createElementBlock("div", _hoisted_13, [
494
+ createElementVNode("div", _hoisted_14, [
495
+ createElementVNode("div", _hoisted_15, [
496
+ createElementVNode("div", _hoisted_16, [
497
+ _cache[13] || (_cache[13] = createElementVNode(
498
+ "span",
499
+ { class: "text-xs font-bold text-gray-500 uppercase tracking-wider" },
500
+ "原始分隔符",
501
+ -1
502
+ /* CACHED */
503
+ )),
504
+ createElementVNode("div", _hoisted_17, [
505
+ (openBlock(), createElementBlock(
506
+ Fragment,
507
+ null,
508
+ renderList(sourcePresets, (preset) => {
509
+ return createElementVNode("button", {
510
+ key: preset,
511
+ class: "px-2 py-0.5 text-[10px] font-mono bg-deep-charcoal border border-black rounded text-gray-400 hover:text-primary hover:border-primary transition-all",
512
+ onClick: ($event) => sourceSeparator.value = preset
513
+ }, toDisplayString(preset), 9, _hoisted_18);
514
+ }),
515
+ 64
516
+ /* STABLE_FRAGMENT */
517
+ ))
518
+ ])
519
+ ]),
520
+ withDirectives(createElementVNode(
521
+ "input",
522
+ {
523
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => sourceSeparator.value = $event),
524
+ placeholder: "如 ----、,、|、 ",
525
+ class: "w-full h-11 bg-deep-charcoal text-gray-100 border-4 border-black rounded-lg px-3 font-mono text-sm shadow-hard-sm focus:border-primary focus:shadow-none focus:translate-x-[2px] focus:translate-y-[2px] transition-all outline-none placeholder-gray-600"
526
+ },
527
+ null,
528
+ 512
529
+ /* NEED_PATCH */
530
+ ), [
531
+ [vModelText, sourceSeparator.value]
532
+ ]),
533
+ _cache[14] || (_cache[14] = createElementVNode(
534
+ "p",
535
+ { class: "mt-2 text-[11px] text-gray-600" },
536
+ "支持 、 、 ;留空时按整行处理。",
537
+ -1
538
+ /* CACHED */
539
+ ))
540
+ ]),
541
+ createElementVNode("div", _hoisted_19, [
542
+ createElementVNode("div", _hoisted_20, [
543
+ _cache[15] || (_cache[15] = createElementVNode(
544
+ "span",
545
+ { class: "text-xs font-bold text-gray-500 uppercase tracking-wider" },
546
+ "输出分隔符",
547
+ -1
548
+ /* CACHED */
549
+ )),
550
+ createElementVNode("div", _hoisted_21, [
551
+ (openBlock(), createElementBlock(
552
+ Fragment,
553
+ null,
554
+ renderList(outputPresets, (preset) => {
555
+ return createElementVNode("button", {
556
+ key: preset,
557
+ class: "px-2 py-0.5 text-[10px] font-mono bg-deep-charcoal border border-black rounded text-gray-400 hover:text-primary hover:border-primary transition-all",
558
+ onClick: ($event) => outputSeparator.value = preset
559
+ }, toDisplayString(preset), 9, _hoisted_22);
560
+ }),
561
+ 64
562
+ /* STABLE_FRAGMENT */
563
+ ))
564
+ ])
565
+ ]),
566
+ withDirectives(createElementVNode(
567
+ "input",
568
+ {
569
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => outputSeparator.value = $event),
570
+ placeholder: "如 ;、,、|、 ",
571
+ class: "w-full h-11 bg-deep-charcoal text-gray-100 border-4 border-black rounded-lg px-3 font-mono text-sm shadow-hard-sm focus:border-primary focus:shadow-none focus:translate-x-[2px] focus:translate-y-[2px] transition-all outline-none placeholder-gray-600"
572
+ },
573
+ null,
574
+ 512
575
+ /* NEED_PATCH */
576
+ ), [
577
+ [vModelText, outputSeparator.value]
578
+ ]),
579
+ _cache[16] || (_cache[16] = createElementVNode(
580
+ "p",
581
+ { class: "mt-2 text-[11px] text-gray-600" },
582
+ "调整顺序后按此分隔符拼接最终内容。",
583
+ -1
584
+ /* CACHED */
585
+ ))
586
+ ]),
587
+ createElementVNode("div", _hoisted_23, [
588
+ _cache[20] || (_cache[20] = createElementVNode(
589
+ "div",
590
+ { class: "text-xs font-bold text-gray-500 uppercase tracking-wider mb-3" },
591
+ "选项",
592
+ -1
593
+ /* CACHED */
594
+ )),
595
+ createElementVNode("div", _hoisted_24, [
596
+ createElementVNode("label", _hoisted_25, [
597
+ withDirectives(createElementVNode(
598
+ "input",
599
+ {
600
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => trimCells.value = $event),
601
+ type: "checkbox",
602
+ class: "accent-primary"
603
+ },
604
+ null,
605
+ 512
606
+ /* NEED_PATCH */
607
+ ), [
608
+ [vModelCheckbox, trimCells.value]
609
+ ]),
610
+ _cache[17] || (_cache[17] = createTextVNode(
611
+ " 去除字段首尾空格 ",
612
+ -1
613
+ /* CACHED */
614
+ ))
615
+ ]),
616
+ createElementVNode("label", _hoisted_26, [
617
+ withDirectives(createElementVNode(
618
+ "input",
619
+ {
620
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => keepEmptyLines.value = $event),
621
+ type: "checkbox",
622
+ class: "accent-primary"
623
+ },
624
+ null,
625
+ 512
626
+ /* NEED_PATCH */
627
+ ), [
628
+ [vModelCheckbox, keepEmptyLines.value]
629
+ ]),
630
+ _cache[18] || (_cache[18] = createTextVNode(
631
+ " 保留空行 ",
632
+ -1
633
+ /* CACHED */
634
+ ))
635
+ ])
636
+ ]),
637
+ createElementVNode("div", _hoisted_27, [
638
+ _cache[19] || (_cache[19] = createElementVNode(
639
+ "div",
640
+ { class: "text-[10px] font-bold text-gray-500 uppercase tracking-wider" },
641
+ "当前顺序",
642
+ -1
643
+ /* CACHED */
644
+ )),
645
+ createElementVNode(
646
+ "div",
647
+ _hoisted_28,
648
+ toDisplayString(orderSummary.value),
649
+ 1
650
+ /* TEXT */
651
+ )
652
+ ])
653
+ ])
654
+ ]),
655
+ createElementVNode("div", _hoisted_29, [
656
+ _cache[24] || (_cache[24] = createStaticVNode('<div class="flex flex-wrap items-center justify-between gap-3 mb-3"><div class="flex items-center gap-2"><span class="material-icons text-primary text-sm">drag_indicator</span><span class="text-xs font-bold text-gray-500 uppercase tracking-wider">列排序</span></div><span class="text-[11px] text-gray-500">拖动卡片、或点左右箭头换序</span></div>', 1)),
657
+ columnCards.value.length ? (openBlock(), createElementBlock(
658
+ "div",
659
+ {
660
+ key: 0,
661
+ ref_key: "sortingTrackRef",
662
+ ref: sortingTrackRef,
663
+ class: "flex items-stretch overflow-x-auto pb-1 min-w-0"
664
+ },
665
+ [
666
+ (openBlock(true), createElementBlock(
667
+ Fragment,
668
+ null,
669
+ renderList(columnCards.value, (card) => {
670
+ return openBlock(), createElementBlock(
671
+ Fragment,
672
+ {
673
+ key: card.columnIndex
674
+ },
675
+ [
676
+ createElementVNode("div", _hoisted_30, [
677
+ createElementVNode(
678
+ "div",
679
+ {
680
+ class: normalizeClass(["w-1 rounded-full border-2 border-dashed transition-all", draggingPosition.value !== null && dragInsertIndex.value === card.position ? "border-primary bg-primary/30 opacity-100" : "border-white/10 opacity-40"])
681
+ },
682
+ null,
683
+ 2
684
+ /* CLASS */
685
+ )
686
+ ]),
687
+ createElementVNode("div", {
688
+ "data-position": card.position,
689
+ "data-sort-card": "true",
690
+ class: normalizeClass(["w-56 shrink-0 mr-2 bg-deep-charcoal border-4 border-black rounded-xl p-3 shadow-hard-sm transition-all cursor-grab active:cursor-grabbing touch-none select-none", draggingPosition.value === card.position ? "opacity-60 border-primary scale-[0.98] shadow-none" : "hover:border-primary"]),
691
+ onPointerdown: ($event) => onCardPointerDown($event, card.position)
692
+ }, [
693
+ createElementVNode("div", _hoisted_32, [
694
+ createElementVNode("div", null, [
695
+ createElementVNode(
696
+ "div",
697
+ _hoisted_33,
698
+ "位置 " + toDisplayString(card.position + 1),
699
+ 1
700
+ /* TEXT */
701
+ ),
702
+ createElementVNode(
703
+ "div",
704
+ _hoisted_34,
705
+ toDisplayString(card.label),
706
+ 1
707
+ /* TEXT */
708
+ )
709
+ ]),
710
+ _cache[21] || (_cache[21] = createElementVNode(
711
+ "span",
712
+ { class: "material-icons text-gray-500 text-sm" },
713
+ "drag_indicator",
714
+ -1
715
+ /* CACHED */
716
+ ))
717
+ ]),
718
+ createElementVNode("div", _hoisted_35, [
719
+ createElementVNode(
720
+ "div",
721
+ _hoisted_36,
722
+ toDisplayString(card.sample),
723
+ 1
724
+ /* TEXT */
725
+ )
726
+ ]),
727
+ createElementVNode("div", _hoisted_37, [
728
+ createElementVNode(
729
+ "span",
730
+ _hoisted_38,
731
+ "非空 " + toDisplayString(card.filled),
732
+ 1
733
+ /* TEXT */
734
+ ),
735
+ createElementVNode("div", _hoisted_39, [
736
+ createElementVNode("button", {
737
+ class: "w-8 h-8 bg-bg-dark text-gray-300 border-2 border-black rounded shadow-hard-sm hover:text-primary transition-all disabled:opacity-40 disabled:cursor-not-allowed",
738
+ disabled: card.position === 0,
739
+ onClick: ($event) => moveColumn(card.position, -1)
740
+ }, [..._cache[22] || (_cache[22] = [
741
+ createElementVNode(
742
+ "span",
743
+ { class: "material-icons text-sm" },
744
+ "chevron_left",
745
+ -1
746
+ /* CACHED */
747
+ )
748
+ ])], 8, _hoisted_40),
749
+ createElementVNode("button", {
750
+ class: "w-8 h-8 bg-bg-dark text-gray-300 border-2 border-black rounded shadow-hard-sm hover:text-primary transition-all disabled:opacity-40 disabled:cursor-not-allowed",
751
+ disabled: card.position === columnCards.value.length - 1,
752
+ onClick: ($event) => moveColumn(card.position, 1)
753
+ }, [..._cache[23] || (_cache[23] = [
754
+ createElementVNode(
755
+ "span",
756
+ { class: "material-icons text-sm" },
757
+ "chevron_right",
758
+ -1
759
+ /* CACHED */
760
+ )
761
+ ])], 8, _hoisted_41)
762
+ ])
763
+ ])
764
+ ], 42, _hoisted_31)
765
+ ],
766
+ 64
767
+ /* STABLE_FRAGMENT */
768
+ );
769
+ }),
770
+ 128
771
+ /* KEYED_FRAGMENT */
772
+ )),
773
+ createElementVNode("div", _hoisted_42, [
774
+ createElementVNode(
775
+ "div",
776
+ {
777
+ class: normalizeClass(["w-1 rounded-full border-2 border-dashed transition-all", draggingPosition.value !== null && dragInsertIndex.value === columnCards.value.length ? "border-primary bg-primary/30 opacity-100" : "border-white/10 opacity-40"])
778
+ },
779
+ null,
780
+ 2
781
+ /* CLASS */
782
+ )
783
+ ])
784
+ ],
785
+ 512
786
+ /* NEED_PATCH */
787
+ )) : (openBlock(), createElementBlock("div", _hoisted_43, "识别到列后,这里会显示可排序的列卡片。"))
788
+ ])
789
+ ])) : (openBlock(), createElementBlock("div", _hoisted_44, " 配置已收起。点击右上角“展开配置”可修改分隔符、开关和列顺序。 "))
790
+ ]),
791
+ createElementVNode("div", _hoisted_45, [
792
+ _cache[26] || (_cache[26] = createStaticVNode('<div class="flex items-center justify-between px-4 py-3 border-b-2 border-black"><div class="flex items-center gap-2"><span class="material-icons text-primary text-lg">table_rows</span><span class="text-sm font-bold text-gray-400 uppercase tracking-wider">分割预览表格</span></div><span class="text-xs text-gray-500">全宽 · 滚动</span></div>', 1)),
793
+ structuredRows.value.length ? (openBlock(), createElementBlock("div", _hoisted_46, [
794
+ createElementVNode("table", _hoisted_47, [
795
+ createElementVNode("thead", _hoisted_48, [
796
+ createElementVNode("tr", null, [
797
+ _cache[25] || (_cache[25] = createElementVNode(
798
+ "th",
799
+ { class: "px-3 py-2 text-left text-[10px] font-bold text-gray-500 uppercase tracking-wider border-b-2 border-black w-14" },
800
+ "行",
801
+ -1
802
+ /* CACHED */
803
+ )),
804
+ (openBlock(true), createElementBlock(
805
+ Fragment,
806
+ null,
807
+ renderList(columnCards.value, (card) => {
808
+ return openBlock(), createElementBlock(
809
+ "th",
810
+ {
811
+ key: card.columnIndex,
812
+ class: "px-3 py-2 text-left text-[10px] font-bold text-gray-500 uppercase tracking-wider border-b-2 border-black break-all"
813
+ },
814
+ toDisplayString(card.label),
815
+ 1
816
+ /* TEXT */
817
+ );
818
+ }),
819
+ 128
820
+ /* KEYED_FRAGMENT */
821
+ ))
822
+ ])
823
+ ]),
824
+ createElementVNode("tbody", null, [
825
+ (openBlock(true), createElementBlock(
826
+ Fragment,
827
+ null,
828
+ renderList(structuredRows.value, (row) => {
829
+ return openBlock(), createElementBlock("tr", {
830
+ key: `${row.lineNumber}-${row.raw}`,
831
+ class: "border-b border-black/30 hover:bg-white/5 transition-colors"
832
+ }, [
833
+ createElementVNode(
834
+ "td",
835
+ _hoisted_49,
836
+ toDisplayString(row.lineNumber),
837
+ 1
838
+ /* TEXT */
839
+ ),
840
+ (openBlock(true), createElementBlock(
841
+ Fragment,
842
+ null,
843
+ renderList(row.reorderedCells, (cell, index) => {
844
+ return openBlock(), createElementBlock(
845
+ "td",
846
+ {
847
+ key: `${row.lineNumber}-${index}`,
848
+ class: normalizeClass(["px-3 py-2 align-top font-mono text-sm min-w-0", cell ? "text-gray-100" : "text-gray-600 bg-white/5"])
849
+ },
850
+ [
851
+ createElementVNode(
852
+ "div",
853
+ _hoisted_50,
854
+ toDisplayString(cell || "(空)"),
855
+ 1
856
+ /* TEXT */
857
+ )
858
+ ],
859
+ 2
860
+ /* CLASS */
861
+ );
862
+ }),
863
+ 128
864
+ /* KEYED_FRAGMENT */
865
+ ))
866
+ ]);
867
+ }),
868
+ 128
869
+ /* KEYED_FRAGMENT */
870
+ ))
871
+ ])
872
+ ])
873
+ ])) : (openBlock(), createElementBlock("div", _hoisted_51, " 输入文本后,这里会显示拆列后的预览。 "))
874
+ ]),
875
+ createElementVNode("div", _hoisted_52, [
876
+ createElementVNode("div", _hoisted_53, [
877
+ _cache[27] || (_cache[27] = createElementVNode(
878
+ "div",
879
+ { class: "flex items-center gap-2" },
880
+ [
881
+ createElementVNode("span", { class: "material-icons text-primary text-lg" }, "output"),
882
+ createElementVNode("span", { class: "text-sm font-bold text-gray-400 uppercase tracking-wider" }, "输出结果")
883
+ ],
884
+ -1
885
+ /* CACHED */
886
+ )),
887
+ createElementVNode("div", _hoisted_54, [
888
+ createElementVNode("button", {
889
+ class: "h-8 px-3 bg-bg-dark text-gray-300 font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs flex items-center gap-1",
890
+ onClick: _cache[7] || (_cache[7] = ($event) => copy(outputText.value, "output"))
891
+ }, [
892
+ createElementVNode(
893
+ "span",
894
+ _hoisted_55,
895
+ toDisplayString(copyField.value === "output" ? "check" : "content_copy"),
896
+ 1
897
+ /* TEXT */
898
+ ),
899
+ createTextVNode(
900
+ " " + toDisplayString(copyField.value === "output" ? "已复制结果" : "复制结果"),
901
+ 1
902
+ /* TEXT */
903
+ )
904
+ ]),
905
+ createElementVNode("button", {
906
+ class: "h-8 px-3 bg-primary text-black font-bold border-2 border-black rounded shadow-hard-sm hover:shadow-none hover:translate-x-0.5 hover:translate-y-0.5 transition-all text-xs flex items-center gap-1",
907
+ onClick: exportResult
908
+ }, [
909
+ createElementVNode(
910
+ "span",
911
+ _hoisted_56,
912
+ toDisplayString(exportSuccess.value ? "check" : "download"),
913
+ 1
914
+ /* TEXT */
915
+ ),
916
+ createTextVNode(
917
+ " " + toDisplayString(exportSuccess.value ? "已导出" : "导出 TXT"),
918
+ 1
919
+ /* TEXT */
920
+ )
921
+ ])
922
+ ])
923
+ ]),
924
+ createElementVNode("div", _hoisted_57, [
925
+ _cache[28] || (_cache[28] = createElementVNode(
926
+ "div",
927
+ { class: "text-[10px] font-bold text-gray-500 uppercase tracking-wider" },
928
+ "当前输出分隔符",
929
+ -1
930
+ /* CACHED */
931
+ )),
932
+ createElementVNode("div", _hoisted_58, [
933
+ createElementVNode(
934
+ "span",
935
+ _hoisted_59,
936
+ toDisplayString(outputSeparator.value || "(空)"),
937
+ 1
938
+ /* TEXT */
939
+ )
940
+ ])
941
+ ]),
942
+ createElementVNode("div", _hoisted_60, [
943
+ createElementVNode(
944
+ "pre",
945
+ _hoisted_61,
946
+ toDisplayString(outputText.value),
947
+ 1
948
+ /* TEXT */
949
+ )
950
+ ])
951
+ ])
952
+ ]);
953
+ };
954
+ }
955
+ });
956
+ export {
957
+ _sfc_main as default
958
+ };
959
+
960
+ ;(function(){var c=typeof __exports__!=="undefined"&&__exports__;var d=c&&(c.default||c);if(d)d.__pluginCss=`/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
961
+ @layer properties {
962
+ @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
963
+ *, :before, :after, ::backdrop {
964
+ --tw-translate-x: 0;
965
+ --tw-translate-y: 0;
966
+ --tw-translate-z: 0;
967
+ --tw-rotate-x: initial;
968
+ --tw-rotate-y: initial;
969
+ --tw-rotate-z: initial;
970
+ --tw-skew-x: initial;
971
+ --tw-skew-y: initial;
972
+ --tw-space-y-reverse: 0;
973
+ --tw-border-style: solid;
974
+ --tw-leading: initial;
975
+ --tw-font-weight: initial;
976
+ --tw-tracking: initial;
977
+ --tw-shadow: 0 0 #0000;
978
+ --tw-shadow-color: initial;
979
+ --tw-shadow-alpha: 100%;
980
+ --tw-inset-shadow: 0 0 #0000;
981
+ --tw-inset-shadow-color: initial;
982
+ --tw-inset-shadow-alpha: 100%;
983
+ --tw-ring-color: initial;
984
+ --tw-ring-shadow: 0 0 #0000;
985
+ --tw-inset-ring-color: initial;
986
+ --tw-inset-ring-shadow: 0 0 #0000;
987
+ --tw-ring-inset: initial;
988
+ --tw-ring-offset-width: 0px;
989
+ --tw-ring-offset-color: #fff;
990
+ --tw-ring-offset-shadow: 0 0 #0000;
991
+ --tw-outline-style: solid;
992
+ --tw-duration: initial;
993
+ --tw-scale-x: 1;
994
+ --tw-scale-y: 1;
995
+ --tw-scale-z: 1;
996
+ --tw-blur: initial;
997
+ --tw-brightness: initial;
998
+ --tw-contrast: initial;
999
+ --tw-grayscale: initial;
1000
+ --tw-hue-rotate: initial;
1001
+ --tw-invert: initial;
1002
+ --tw-opacity: initial;
1003
+ --tw-saturate: initial;
1004
+ --tw-sepia: initial;
1005
+ --tw-drop-shadow: initial;
1006
+ --tw-drop-shadow-color: initial;
1007
+ --tw-drop-shadow-alpha: 100%;
1008
+ --tw-drop-shadow-size: initial;
1009
+ }
1010
+ }
1011
+ }
1012
+
1013
+ @layer theme {
1014
+ :root, :host {
1015
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
1016
+ monospace;
1017
+ --color-gray-100: oklch(96.7% .003 264.542);
1018
+ --color-gray-200: oklch(92.8% .006 264.531);
1019
+ --color-gray-300: oklch(87.2% .01 258.338);
1020
+ --color-gray-400: oklch(70.7% .022 261.325);
1021
+ --color-gray-500: oklch(55.1% .027 264.364);
1022
+ --color-gray-600: oklch(44.6% .03 256.802);
1023
+ --color-gray-700: oklch(37.3% .034 259.733);
1024
+ --color-black: #000;
1025
+ --color-white: #fff;
1026
+ --spacing: .25rem;
1027
+ --container-lg: 32rem;
1028
+ --text-xs: .75rem;
1029
+ --text-xs--line-height: calc(1 / .75);
1030
+ --text-sm: .875rem;
1031
+ --text-sm--line-height: calc(1.25 / .875);
1032
+ --text-base: 1rem;
1033
+ --text-base--line-height: calc(1.5 / 1);
1034
+ --text-lg: 1.125rem;
1035
+ --text-lg--line-height: calc(1.75 / 1.125);
1036
+ --text-xl: 1.25rem;
1037
+ --text-xl--line-height: calc(1.75 / 1.25);
1038
+ --text-2xl: 1.5rem;
1039
+ --text-2xl--line-height: calc(2 / 1.5);
1040
+ --text-3xl: 1.875rem;
1041
+ --text-3xl--line-height: calc(2.25 / 1.875);
1042
+ --text-5xl: 3rem;
1043
+ --text-5xl--line-height: 1;
1044
+ --font-weight-bold: 700;
1045
+ --font-weight-black: 900;
1046
+ --tracking-wider: .05em;
1047
+ --tracking-widest: .1em;
1048
+ --leading-relaxed: 1.625;
1049
+ --radius-sm: .25rem;
1050
+ --radius-lg: .5rem;
1051
+ --radius-xl: .75rem;
1052
+ --animate-spin: spin 1s linear infinite;
1053
+ --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
1054
+ --default-transition-duration: .15s;
1055
+ --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
1056
+ --color-primary: #f9b11f;
1057
+ --color-bg-dark: #231c0f;
1058
+ --color-electric-blue: #3b82f6;
1059
+ --color-neon-green: #84cc16;
1060
+ --color-vibrant-purple: #a855f7;
1061
+ --color-deep-charcoal: #1f1a14;
1062
+ --color-coral-red: #ff6b6b;
1063
+ --color-hot-pink: #ec4899;
1064
+ --font-display: "Space Grotesk", sans-serif;
1065
+ }
1066
+ }
1067
+
1068
+ @layer base, components;
1069
+
1070
+ @layer utilities {
1071
+ .pointer-events-none {
1072
+ pointer-events: none;
1073
+ }
1074
+
1075
+ .sr-only {
1076
+ clip-path: inset(50%);
1077
+ white-space: nowrap;
1078
+ border-width: 0;
1079
+ width: 1px;
1080
+ height: 1px;
1081
+ margin: -1px;
1082
+ padding: 0;
1083
+ position: absolute;
1084
+ overflow: hidden;
1085
+ }
1086
+
1087
+ .absolute {
1088
+ position: absolute;
1089
+ }
1090
+
1091
+ .fixed {
1092
+ position: fixed;
1093
+ }
1094
+
1095
+ .relative {
1096
+ position: relative;
1097
+ }
1098
+
1099
+ .sticky {
1100
+ position: sticky;
1101
+ }
1102
+
1103
+ .inset-0 {
1104
+ inset: calc(var(--spacing) * 0);
1105
+ }
1106
+
1107
+ .start {
1108
+ inset-inline-start: var(--spacing);
1109
+ }
1110
+
1111
+ .end {
1112
+ inset-inline-end: var(--spacing);
1113
+ }
1114
+
1115
+ .top-0 {
1116
+ top: calc(var(--spacing) * 0);
1117
+ }
1118
+
1119
+ .top-1\\/2 {
1120
+ top: 50%;
1121
+ }
1122
+
1123
+ .right-2 {
1124
+ right: calc(var(--spacing) * 2);
1125
+ }
1126
+
1127
+ .left-2 {
1128
+ left: calc(var(--spacing) * 2);
1129
+ }
1130
+
1131
+ .z-10 {
1132
+ z-index: 10;
1133
+ }
1134
+
1135
+ .z-50 {
1136
+ z-index: 50;
1137
+ }
1138
+
1139
+ .col-span-2 {
1140
+ grid-column: span 2 / span 2;
1141
+ }
1142
+
1143
+ .-mx-1 {
1144
+ margin-inline: calc(var(--spacing) * -1);
1145
+ }
1146
+
1147
+ .mx-0\\.5 {
1148
+ margin-inline: calc(var(--spacing) * .5);
1149
+ }
1150
+
1151
+ .mt-0\\.5 {
1152
+ margin-top: calc(var(--spacing) * .5);
1153
+ }
1154
+
1155
+ .mt-1 {
1156
+ margin-top: calc(var(--spacing) * 1);
1157
+ }
1158
+
1159
+ .mt-2 {
1160
+ margin-top: calc(var(--spacing) * 2);
1161
+ }
1162
+
1163
+ .mt-3 {
1164
+ margin-top: calc(var(--spacing) * 3);
1165
+ }
1166
+
1167
+ .mt-4 {
1168
+ margin-top: calc(var(--spacing) * 4);
1169
+ }
1170
+
1171
+ .mr-1 {
1172
+ margin-right: calc(var(--spacing) * 1);
1173
+ }
1174
+
1175
+ .mr-2 {
1176
+ margin-right: calc(var(--spacing) * 2);
1177
+ }
1178
+
1179
+ .mr-3 {
1180
+ margin-right: calc(var(--spacing) * 3);
1181
+ }
1182
+
1183
+ .mb-1 {
1184
+ margin-bottom: calc(var(--spacing) * 1);
1185
+ }
1186
+
1187
+ .mb-1\\.5 {
1188
+ margin-bottom: calc(var(--spacing) * 1.5);
1189
+ }
1190
+
1191
+ .mb-2 {
1192
+ margin-bottom: calc(var(--spacing) * 2);
1193
+ }
1194
+
1195
+ .mb-3 {
1196
+ margin-bottom: calc(var(--spacing) * 3);
1197
+ }
1198
+
1199
+ .ml-0\\.5 {
1200
+ margin-left: calc(var(--spacing) * .5);
1201
+ }
1202
+
1203
+ .ml-1 {
1204
+ margin-left: calc(var(--spacing) * 1);
1205
+ }
1206
+
1207
+ .ml-1\\.5 {
1208
+ margin-left: calc(var(--spacing) * 1.5);
1209
+ }
1210
+
1211
+ .ml-2 {
1212
+ margin-left: calc(var(--spacing) * 2);
1213
+ }
1214
+
1215
+ .ml-auto {
1216
+ margin-left: auto;
1217
+ }
1218
+
1219
+ .block {
1220
+ display: block;
1221
+ }
1222
+
1223
+ .flex {
1224
+ display: flex;
1225
+ }
1226
+
1227
+ .grid {
1228
+ display: grid;
1229
+ }
1230
+
1231
+ .hidden {
1232
+ display: none;
1233
+ }
1234
+
1235
+ .inline {
1236
+ display: inline;
1237
+ }
1238
+
1239
+ .inline-block {
1240
+ display: inline-block;
1241
+ }
1242
+
1243
+ .inline-flex {
1244
+ display: inline-flex;
1245
+ }
1246
+
1247
+ .table {
1248
+ display: table;
1249
+ }
1250
+
1251
+ .h-2 {
1252
+ height: calc(var(--spacing) * 2);
1253
+ }
1254
+
1255
+ .h-3 {
1256
+ height: calc(var(--spacing) * 3);
1257
+ }
1258
+
1259
+ .h-3\\.5 {
1260
+ height: calc(var(--spacing) * 3.5);
1261
+ }
1262
+
1263
+ .h-4 {
1264
+ height: calc(var(--spacing) * 4);
1265
+ }
1266
+
1267
+ .h-5 {
1268
+ height: calc(var(--spacing) * 5);
1269
+ }
1270
+
1271
+ .h-7 {
1272
+ height: calc(var(--spacing) * 7);
1273
+ }
1274
+
1275
+ .h-8 {
1276
+ height: calc(var(--spacing) * 8);
1277
+ }
1278
+
1279
+ .h-9 {
1280
+ height: calc(var(--spacing) * 9);
1281
+ }
1282
+
1283
+ .h-10 {
1284
+ height: calc(var(--spacing) * 10);
1285
+ }
1286
+
1287
+ .h-11 {
1288
+ height: calc(var(--spacing) * 11);
1289
+ }
1290
+
1291
+ .h-12 {
1292
+ height: calc(var(--spacing) * 12);
1293
+ }
1294
+
1295
+ .h-16 {
1296
+ height: calc(var(--spacing) * 16);
1297
+ }
1298
+
1299
+ .h-85 {
1300
+ height: calc(var(--spacing) * 85);
1301
+ }
1302
+
1303
+ .h-full {
1304
+ height: 100%;
1305
+ }
1306
+
1307
+ .max-h-28 {
1308
+ max-height: calc(var(--spacing) * 28);
1309
+ }
1310
+
1311
+ .max-h-36 {
1312
+ max-height: calc(var(--spacing) * 36);
1313
+ }
1314
+
1315
+ .max-h-40 {
1316
+ max-height: calc(var(--spacing) * 40);
1317
+ }
1318
+
1319
+ .max-h-48 {
1320
+ max-height: calc(var(--spacing) * 48);
1321
+ }
1322
+
1323
+ .max-h-60 {
1324
+ max-height: calc(var(--spacing) * 60);
1325
+ }
1326
+
1327
+ .max-h-\\[200px\\] {
1328
+ max-height: 200px;
1329
+ }
1330
+
1331
+ .max-h-\\[420px\\] {
1332
+ max-height: 420px;
1333
+ }
1334
+
1335
+ .max-h-full {
1336
+ max-height: 100%;
1337
+ }
1338
+
1339
+ .min-h-0 {
1340
+ min-height: calc(var(--spacing) * 0);
1341
+ }
1342
+
1343
+ .min-h-\\[80px\\] {
1344
+ min-height: 80px;
1345
+ }
1346
+
1347
+ .min-h-\\[180px\\] {
1348
+ min-height: 180px;
1349
+ }
1350
+
1351
+ .min-h-\\[200px\\] {
1352
+ min-height: 200px;
1353
+ }
1354
+
1355
+ .min-h-\\[260px\\] {
1356
+ min-height: 260px;
1357
+ }
1358
+
1359
+ .min-h-\\[320px\\] {
1360
+ min-height: 320px;
1361
+ }
1362
+
1363
+ .min-h-full {
1364
+ min-height: 100%;
1365
+ }
1366
+
1367
+ .w-1 {
1368
+ width: calc(var(--spacing) * 1);
1369
+ }
1370
+
1371
+ .w-1\\.5 {
1372
+ width: calc(var(--spacing) * 1.5);
1373
+ }
1374
+
1375
+ .w-2 {
1376
+ width: calc(var(--spacing) * 2);
1377
+ }
1378
+
1379
+ .w-3 {
1380
+ width: calc(var(--spacing) * 3);
1381
+ }
1382
+
1383
+ .w-3\\.5 {
1384
+ width: calc(var(--spacing) * 3.5);
1385
+ }
1386
+
1387
+ .w-4 {
1388
+ width: calc(var(--spacing) * 4);
1389
+ }
1390
+
1391
+ .w-5 {
1392
+ width: calc(var(--spacing) * 5);
1393
+ }
1394
+
1395
+ .w-7 {
1396
+ width: calc(var(--spacing) * 7);
1397
+ }
1398
+
1399
+ .w-8 {
1400
+ width: calc(var(--spacing) * 8);
1401
+ }
1402
+
1403
+ .w-9 {
1404
+ width: calc(var(--spacing) * 9);
1405
+ }
1406
+
1407
+ .w-10 {
1408
+ width: calc(var(--spacing) * 10);
1409
+ }
1410
+
1411
+ .w-14 {
1412
+ width: calc(var(--spacing) * 14);
1413
+ }
1414
+
1415
+ .w-16 {
1416
+ width: calc(var(--spacing) * 16);
1417
+ }
1418
+
1419
+ .w-20 {
1420
+ width: calc(var(--spacing) * 20);
1421
+ }
1422
+
1423
+ .w-24 {
1424
+ width: calc(var(--spacing) * 24);
1425
+ }
1426
+
1427
+ .w-28 {
1428
+ width: calc(var(--spacing) * 28);
1429
+ }
1430
+
1431
+ .w-32 {
1432
+ width: calc(var(--spacing) * 32);
1433
+ }
1434
+
1435
+ .w-56 {
1436
+ width: calc(var(--spacing) * 56);
1437
+ }
1438
+
1439
+ .w-72 {
1440
+ width: calc(var(--spacing) * 72);
1441
+ }
1442
+
1443
+ .w-full {
1444
+ width: 100%;
1445
+ }
1446
+
1447
+ .max-w-70 {
1448
+ max-width: calc(var(--spacing) * 70);
1449
+ }
1450
+
1451
+ .max-w-full {
1452
+ max-width: 100%;
1453
+ }
1454
+
1455
+ .max-w-lg {
1456
+ max-width: var(--container-lg);
1457
+ }
1458
+
1459
+ .min-w-0 {
1460
+ min-width: calc(var(--spacing) * 0);
1461
+ }
1462
+
1463
+ .min-w-\\[90px\\] {
1464
+ min-width: 90px;
1465
+ }
1466
+
1467
+ .min-w-\\[200px\\] {
1468
+ min-width: 200px;
1469
+ }
1470
+
1471
+ .flex-1 {
1472
+ flex: 1;
1473
+ }
1474
+
1475
+ .shrink-0 {
1476
+ flex-shrink: 0;
1477
+ }
1478
+
1479
+ .table-fixed {
1480
+ table-layout: fixed;
1481
+ }
1482
+
1483
+ .border-collapse {
1484
+ border-collapse: collapse;
1485
+ }
1486
+
1487
+ .translate-x-0\\.5 {
1488
+ --tw-translate-x: calc(var(--spacing) * .5);
1489
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1490
+ }
1491
+
1492
+ .-translate-y-1\\/2 {
1493
+ --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
1494
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1495
+ }
1496
+
1497
+ .translate-y-0\\.5 {
1498
+ --tw-translate-y: calc(var(--spacing) * .5);
1499
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1500
+ }
1501
+
1502
+ .scale-\\[0\\.98\\] {
1503
+ scale: .98;
1504
+ }
1505
+
1506
+ .transform {
1507
+ transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
1508
+ }
1509
+
1510
+ .animate-pulse {
1511
+ animation: var(--animate-pulse);
1512
+ }
1513
+
1514
+ .animate-spin {
1515
+ animation: var(--animate-spin);
1516
+ }
1517
+
1518
+ .cursor-grab {
1519
+ cursor: grab;
1520
+ }
1521
+
1522
+ .cursor-pointer {
1523
+ cursor: pointer;
1524
+ }
1525
+
1526
+ .touch-none {
1527
+ touch-action: none;
1528
+ }
1529
+
1530
+ .resize {
1531
+ resize: both;
1532
+ }
1533
+
1534
+ .resize-none {
1535
+ resize: none;
1536
+ }
1537
+
1538
+ .resize-y {
1539
+ resize: vertical;
1540
+ }
1541
+
1542
+ .appearance-none {
1543
+ appearance: none;
1544
+ }
1545
+
1546
+ .grid-cols-1 {
1547
+ grid-template-columns: repeat(1, minmax(0, 1fr));
1548
+ }
1549
+
1550
+ .grid-cols-2 {
1551
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1552
+ }
1553
+
1554
+ .grid-cols-4 {
1555
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1556
+ }
1557
+
1558
+ .grid-cols-5 {
1559
+ grid-template-columns: repeat(5, minmax(0, 1fr));
1560
+ }
1561
+
1562
+ .grid-cols-\\[1fr_60px_1fr\\] {
1563
+ grid-template-columns: 1fr 60px 1fr;
1564
+ }
1565
+
1566
+ .flex-col {
1567
+ flex-direction: column;
1568
+ }
1569
+
1570
+ .flex-wrap {
1571
+ flex-wrap: wrap;
1572
+ }
1573
+
1574
+ .items-baseline {
1575
+ align-items: baseline;
1576
+ }
1577
+
1578
+ .items-center {
1579
+ align-items: center;
1580
+ }
1581
+
1582
+ .items-stretch {
1583
+ align-items: stretch;
1584
+ }
1585
+
1586
+ .justify-between {
1587
+ justify-content: space-between;
1588
+ }
1589
+
1590
+ .justify-center {
1591
+ justify-content: center;
1592
+ }
1593
+
1594
+ .justify-end {
1595
+ justify-content: flex-end;
1596
+ }
1597
+
1598
+ .gap-0\\.5 {
1599
+ gap: calc(var(--spacing) * .5);
1600
+ }
1601
+
1602
+ .gap-1 {
1603
+ gap: calc(var(--spacing) * 1);
1604
+ }
1605
+
1606
+ .gap-1\\.5 {
1607
+ gap: calc(var(--spacing) * 1.5);
1608
+ }
1609
+
1610
+ .gap-2 {
1611
+ gap: calc(var(--spacing) * 2);
1612
+ }
1613
+
1614
+ .gap-3 {
1615
+ gap: calc(var(--spacing) * 3);
1616
+ }
1617
+
1618
+ .gap-4 {
1619
+ gap: calc(var(--spacing) * 4);
1620
+ }
1621
+
1622
+ .gap-5 {
1623
+ gap: calc(var(--spacing) * 5);
1624
+ }
1625
+
1626
+ :where(.space-y-0\\.5 > :not(:last-child)) {
1627
+ --tw-space-y-reverse: 0;
1628
+ margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
1629
+ margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
1630
+ }
1631
+
1632
+ :where(.space-y-1 > :not(:last-child)) {
1633
+ --tw-space-y-reverse: 0;
1634
+ margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
1635
+ margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
1636
+ }
1637
+
1638
+ :where(.space-y-1\\.5 > :not(:last-child)) {
1639
+ --tw-space-y-reverse: 0;
1640
+ margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
1641
+ margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
1642
+ }
1643
+
1644
+ :where(.space-y-2 > :not(:last-child)) {
1645
+ --tw-space-y-reverse: 0;
1646
+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
1647
+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1648
+ }
1649
+
1650
+ :where(.space-y-4 > :not(:last-child)) {
1651
+ --tw-space-y-reverse: 0;
1652
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
1653
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
1654
+ }
1655
+
1656
+ .gap-x-6 {
1657
+ column-gap: calc(var(--spacing) * 6);
1658
+ }
1659
+
1660
+ .gap-y-1 {
1661
+ row-gap: calc(var(--spacing) * 1);
1662
+ }
1663
+
1664
+ .truncate {
1665
+ text-overflow: ellipsis;
1666
+ white-space: nowrap;
1667
+ overflow: hidden;
1668
+ }
1669
+
1670
+ .overflow-auto {
1671
+ overflow: auto;
1672
+ }
1673
+
1674
+ .overflow-hidden {
1675
+ overflow: hidden;
1676
+ }
1677
+
1678
+ .overflow-x-auto {
1679
+ overflow-x: auto;
1680
+ }
1681
+
1682
+ .overflow-y-auto {
1683
+ overflow-y: auto;
1684
+ }
1685
+
1686
+ .rounded {
1687
+ border-radius: .25rem;
1688
+ }
1689
+
1690
+ .rounded-full {
1691
+ border-radius: 3.40282e38px;
1692
+ }
1693
+
1694
+ .rounded-lg {
1695
+ border-radius: var(--radius-lg);
1696
+ }
1697
+
1698
+ .rounded-sm {
1699
+ border-radius: var(--radius-sm);
1700
+ }
1701
+
1702
+ .rounded-xl {
1703
+ border-radius: var(--radius-xl);
1704
+ }
1705
+
1706
+ .border {
1707
+ border-style: var(--tw-border-style);
1708
+ border-width: 1px;
1709
+ }
1710
+
1711
+ .border-2 {
1712
+ border-style: var(--tw-border-style);
1713
+ border-width: 2px;
1714
+ }
1715
+
1716
+ .border-4 {
1717
+ border-style: var(--tw-border-style);
1718
+ border-width: 4px;
1719
+ }
1720
+
1721
+ .border-t-2 {
1722
+ border-top-style: var(--tw-border-style);
1723
+ border-top-width: 2px;
1724
+ }
1725
+
1726
+ .border-r {
1727
+ border-right-style: var(--tw-border-style);
1728
+ border-right-width: 1px;
1729
+ }
1730
+
1731
+ .border-b {
1732
+ border-bottom-style: var(--tw-border-style);
1733
+ border-bottom-width: 1px;
1734
+ }
1735
+
1736
+ .border-b-2 {
1737
+ border-bottom-style: var(--tw-border-style);
1738
+ border-bottom-width: 2px;
1739
+ }
1740
+
1741
+ .border-l {
1742
+ border-left-style: var(--tw-border-style);
1743
+ border-left-width: 1px;
1744
+ }
1745
+
1746
+ .border-dashed {
1747
+ --tw-border-style: dashed;
1748
+ border-style: dashed;
1749
+ }
1750
+
1751
+ .border-black {
1752
+ border-color: var(--color-black);
1753
+ }
1754
+
1755
+ .border-black\\/30 {
1756
+ border-color: #0000004d;
1757
+ }
1758
+
1759
+ @supports (color: color-mix(in lab, red, red)) {
1760
+ .border-black\\/30 {
1761
+ border-color: color-mix(in oklab, var(--color-black) 30%, transparent);
1762
+ }
1763
+ }
1764
+
1765
+ .border-coral-red {
1766
+ border-color: var(--color-coral-red);
1767
+ }
1768
+
1769
+ .border-coral-red\\/40 {
1770
+ border-color: #ff6b6b66;
1771
+ }
1772
+
1773
+ @supports (color: color-mix(in lab, red, red)) {
1774
+ .border-coral-red\\/40 {
1775
+ border-color: color-mix(in oklab, var(--color-coral-red) 40%, transparent);
1776
+ }
1777
+ }
1778
+
1779
+ .border-electric-blue\\/40 {
1780
+ border-color: #3b82f666;
1781
+ }
1782
+
1783
+ @supports (color: color-mix(in lab, red, red)) {
1784
+ .border-electric-blue\\/40 {
1785
+ border-color: color-mix(in oklab, var(--color-electric-blue) 40%, transparent);
1786
+ }
1787
+ }
1788
+
1789
+ .border-gray-600 {
1790
+ border-color: var(--color-gray-600);
1791
+ }
1792
+
1793
+ .border-gray-700 {
1794
+ border-color: var(--color-gray-700);
1795
+ }
1796
+
1797
+ .border-neon-green {
1798
+ border-color: var(--color-neon-green);
1799
+ }
1800
+
1801
+ .border-neon-green\\/40 {
1802
+ border-color: #84cc1666;
1803
+ }
1804
+
1805
+ @supports (color: color-mix(in lab, red, red)) {
1806
+ .border-neon-green\\/40 {
1807
+ border-color: color-mix(in oklab, var(--color-neon-green) 40%, transparent);
1808
+ }
1809
+ }
1810
+
1811
+ .border-primary {
1812
+ border-color: var(--color-primary);
1813
+ }
1814
+
1815
+ .border-primary\\/40 {
1816
+ border-color: #f9b11f66;
1817
+ }
1818
+
1819
+ @supports (color: color-mix(in lab, red, red)) {
1820
+ .border-primary\\/40 {
1821
+ border-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
1822
+ }
1823
+ }
1824
+
1825
+ .border-transparent {
1826
+ border-color: #0000;
1827
+ }
1828
+
1829
+ .border-white\\/5 {
1830
+ border-color: #ffffff0d;
1831
+ }
1832
+
1833
+ @supports (color: color-mix(in lab, red, red)) {
1834
+ .border-white\\/5 {
1835
+ border-color: color-mix(in oklab, var(--color-white) 5%, transparent);
1836
+ }
1837
+ }
1838
+
1839
+ .border-white\\/10 {
1840
+ border-color: #ffffff1a;
1841
+ }
1842
+
1843
+ @supports (color: color-mix(in lab, red, red)) {
1844
+ .border-white\\/10 {
1845
+ border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
1846
+ }
1847
+ }
1848
+
1849
+ .border-white\\/20 {
1850
+ border-color: #fff3;
1851
+ }
1852
+
1853
+ @supports (color: color-mix(in lab, red, red)) {
1854
+ .border-white\\/20 {
1855
+ border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
1856
+ }
1857
+ }
1858
+
1859
+ .bg-bg-dark {
1860
+ background-color: var(--color-bg-dark);
1861
+ }
1862
+
1863
+ .bg-black\\/60 {
1864
+ background-color: #0009;
1865
+ }
1866
+
1867
+ @supports (color: color-mix(in lab, red, red)) {
1868
+ .bg-black\\/60 {
1869
+ background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
1870
+ }
1871
+ }
1872
+
1873
+ .bg-coral-red {
1874
+ background-color: var(--color-coral-red);
1875
+ }
1876
+
1877
+ .bg-coral-red\\/10 {
1878
+ background-color: #ff6b6b1a;
1879
+ }
1880
+
1881
+ @supports (color: color-mix(in lab, red, red)) {
1882
+ .bg-coral-red\\/10 {
1883
+ background-color: color-mix(in oklab, var(--color-coral-red) 10%, transparent);
1884
+ }
1885
+ }
1886
+
1887
+ .bg-coral-red\\/12 {
1888
+ background-color: #ff6b6b1f;
1889
+ }
1890
+
1891
+ @supports (color: color-mix(in lab, red, red)) {
1892
+ .bg-coral-red\\/12 {
1893
+ background-color: color-mix(in oklab, var(--color-coral-red) 12%, transparent);
1894
+ }
1895
+ }
1896
+
1897
+ .bg-coral-red\\/15 {
1898
+ background-color: #ff6b6b26;
1899
+ }
1900
+
1901
+ @supports (color: color-mix(in lab, red, red)) {
1902
+ .bg-coral-red\\/15 {
1903
+ background-color: color-mix(in oklab, var(--color-coral-red) 15%, transparent);
1904
+ }
1905
+ }
1906
+
1907
+ .bg-coral-red\\/20 {
1908
+ background-color: #ff6b6b33;
1909
+ }
1910
+
1911
+ @supports (color: color-mix(in lab, red, red)) {
1912
+ .bg-coral-red\\/20 {
1913
+ background-color: color-mix(in oklab, var(--color-coral-red) 20%, transparent);
1914
+ }
1915
+ }
1916
+
1917
+ .bg-deep-charcoal {
1918
+ background-color: var(--color-deep-charcoal);
1919
+ }
1920
+
1921
+ .bg-electric-blue {
1922
+ background-color: var(--color-electric-blue);
1923
+ }
1924
+
1925
+ .bg-electric-blue\\/20 {
1926
+ background-color: #3b82f633;
1927
+ }
1928
+
1929
+ @supports (color: color-mix(in lab, red, red)) {
1930
+ .bg-electric-blue\\/20 {
1931
+ background-color: color-mix(in oklab, var(--color-electric-blue) 20%, transparent);
1932
+ }
1933
+ }
1934
+
1935
+ .bg-hot-pink {
1936
+ background-color: var(--color-hot-pink);
1937
+ }
1938
+
1939
+ .bg-neon-green {
1940
+ background-color: var(--color-neon-green);
1941
+ }
1942
+
1943
+ .bg-neon-green\\/10 {
1944
+ background-color: #84cc161a;
1945
+ }
1946
+
1947
+ @supports (color: color-mix(in lab, red, red)) {
1948
+ .bg-neon-green\\/10 {
1949
+ background-color: color-mix(in oklab, var(--color-neon-green) 10%, transparent);
1950
+ }
1951
+ }
1952
+
1953
+ .bg-neon-green\\/12 {
1954
+ background-color: #84cc161f;
1955
+ }
1956
+
1957
+ @supports (color: color-mix(in lab, red, red)) {
1958
+ .bg-neon-green\\/12 {
1959
+ background-color: color-mix(in oklab, var(--color-neon-green) 12%, transparent);
1960
+ }
1961
+ }
1962
+
1963
+ .bg-neon-green\\/20 {
1964
+ background-color: #84cc1633;
1965
+ }
1966
+
1967
+ @supports (color: color-mix(in lab, red, red)) {
1968
+ .bg-neon-green\\/20 {
1969
+ background-color: color-mix(in oklab, var(--color-neon-green) 20%, transparent);
1970
+ }
1971
+ }
1972
+
1973
+ .bg-primary {
1974
+ background-color: var(--color-primary);
1975
+ }
1976
+
1977
+ .bg-primary\\/10 {
1978
+ background-color: #f9b11f1a;
1979
+ }
1980
+
1981
+ @supports (color: color-mix(in lab, red, red)) {
1982
+ .bg-primary\\/10 {
1983
+ background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);
1984
+ }
1985
+ }
1986
+
1987
+ .bg-primary\\/15 {
1988
+ background-color: #f9b11f26;
1989
+ }
1990
+
1991
+ @supports (color: color-mix(in lab, red, red)) {
1992
+ .bg-primary\\/15 {
1993
+ background-color: color-mix(in oklab, var(--color-primary) 15%, transparent);
1994
+ }
1995
+ }
1996
+
1997
+ .bg-primary\\/20 {
1998
+ background-color: #f9b11f33;
1999
+ }
2000
+
2001
+ @supports (color: color-mix(in lab, red, red)) {
2002
+ .bg-primary\\/20 {
2003
+ background-color: color-mix(in oklab, var(--color-primary) 20%, transparent);
2004
+ }
2005
+ }
2006
+
2007
+ .bg-primary\\/30 {
2008
+ background-color: #f9b11f4d;
2009
+ }
2010
+
2011
+ @supports (color: color-mix(in lab, red, red)) {
2012
+ .bg-primary\\/30 {
2013
+ background-color: color-mix(in oklab, var(--color-primary) 30%, transparent);
2014
+ }
2015
+ }
2016
+
2017
+ .bg-transparent {
2018
+ background-color: #0000;
2019
+ }
2020
+
2021
+ .bg-vibrant-purple {
2022
+ background-color: var(--color-vibrant-purple);
2023
+ }
2024
+
2025
+ .bg-white {
2026
+ background-color: var(--color-white);
2027
+ }
2028
+
2029
+ .bg-white\\/5 {
2030
+ background-color: #ffffff0d;
2031
+ }
2032
+
2033
+ @supports (color: color-mix(in lab, red, red)) {
2034
+ .bg-white\\/5 {
2035
+ background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
2036
+ }
2037
+ }
2038
+
2039
+ .bg-white\\/10 {
2040
+ background-color: #ffffff1a;
2041
+ }
2042
+
2043
+ @supports (color: color-mix(in lab, red, red)) {
2044
+ .bg-white\\/10 {
2045
+ background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
2046
+ }
2047
+ }
2048
+
2049
+ .bg-white\\/\\[0\\.02\\] {
2050
+ background-color: #ffffff05;
2051
+ }
2052
+
2053
+ @supports (color: color-mix(in lab, red, red)) {
2054
+ .bg-white\\/\\[0\\.02\\] {
2055
+ background-color: color-mix(in oklab, var(--color-white) 2%, transparent);
2056
+ }
2057
+ }
2058
+
2059
+ .bg-white\\/\\[0\\.03\\] {
2060
+ background-color: #ffffff08;
2061
+ }
2062
+
2063
+ @supports (color: color-mix(in lab, red, red)) {
2064
+ .bg-white\\/\\[0\\.03\\] {
2065
+ background-color: color-mix(in oklab, var(--color-white) 3%, transparent);
2066
+ }
2067
+ }
2068
+
2069
+ .bg-\\[url\\(\\'data\\:image\\/svg\\+xml\\;charset\\=utf-8\\,\\%3Csvg\\%20xmlns\\%3D\\%22http\\%3A\\%2F\\%2Fwww\\.w3\\.org\\%2F2000\\%2Fsvg\\%22\\%20width\\%3D\\%2212\\%22\\%20height\\%3D\\%2212\\%22\\%20viewBox\\%3D\\%220\\%200\\%2024\\%2024\\%22\\%20fill\\%3D\\%22\\%23999\\%22\\%3E\\%3Cpath\\%20d\\%3D\\%22M7\\%2010l5\\%205\\%205-5z\\%22\\%2F\\%3E\\%3C\\%2Fsvg\\%3E\\'\\)\\] {
2070
+ background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23999%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%2F%3E%3C%2Fsvg%3E");
2071
+ }
2072
+
2073
+ .bg-\\[right_4px_center\\] {
2074
+ background-position: right 4px center;
2075
+ }
2076
+
2077
+ .bg-no-repeat {
2078
+ background-repeat: no-repeat;
2079
+ }
2080
+
2081
+ .object-contain {
2082
+ object-fit: contain;
2083
+ }
2084
+
2085
+ .p-1\\.5 {
2086
+ padding: calc(var(--spacing) * 1.5);
2087
+ }
2088
+
2089
+ .p-2 {
2090
+ padding: calc(var(--spacing) * 2);
2091
+ }
2092
+
2093
+ .p-2\\.5 {
2094
+ padding: calc(var(--spacing) * 2.5);
2095
+ }
2096
+
2097
+ .p-3 {
2098
+ padding: calc(var(--spacing) * 3);
2099
+ }
2100
+
2101
+ .p-4 {
2102
+ padding: calc(var(--spacing) * 4);
2103
+ }
2104
+
2105
+ .p-5 {
2106
+ padding: calc(var(--spacing) * 5);
2107
+ }
2108
+
2109
+ .p-6 {
2110
+ padding: calc(var(--spacing) * 6);
2111
+ }
2112
+
2113
+ .px-1 {
2114
+ padding-inline: calc(var(--spacing) * 1);
2115
+ }
2116
+
2117
+ .px-1\\.5 {
2118
+ padding-inline: calc(var(--spacing) * 1.5);
2119
+ }
2120
+
2121
+ .px-2 {
2122
+ padding-inline: calc(var(--spacing) * 2);
2123
+ }
2124
+
2125
+ .px-2\\.5 {
2126
+ padding-inline: calc(var(--spacing) * 2.5);
2127
+ }
2128
+
2129
+ .px-3 {
2130
+ padding-inline: calc(var(--spacing) * 3);
2131
+ }
2132
+
2133
+ .px-4 {
2134
+ padding-inline: calc(var(--spacing) * 4);
2135
+ }
2136
+
2137
+ .px-5 {
2138
+ padding-inline: calc(var(--spacing) * 5);
2139
+ }
2140
+
2141
+ .py-0\\.5 {
2142
+ padding-block: calc(var(--spacing) * .5);
2143
+ }
2144
+
2145
+ .py-1 {
2146
+ padding-block: calc(var(--spacing) * 1);
2147
+ }
2148
+
2149
+ .py-1\\.5 {
2150
+ padding-block: calc(var(--spacing) * 1.5);
2151
+ }
2152
+
2153
+ .py-2 {
2154
+ padding-block: calc(var(--spacing) * 2);
2155
+ }
2156
+
2157
+ .py-2\\.5 {
2158
+ padding-block: calc(var(--spacing) * 2.5);
2159
+ }
2160
+
2161
+ .py-3 {
2162
+ padding-block: calc(var(--spacing) * 3);
2163
+ }
2164
+
2165
+ .py-4 {
2166
+ padding-block: calc(var(--spacing) * 4);
2167
+ }
2168
+
2169
+ .py-6 {
2170
+ padding-block: calc(var(--spacing) * 6);
2171
+ }
2172
+
2173
+ .py-8 {
2174
+ padding-block: calc(var(--spacing) * 8);
2175
+ }
2176
+
2177
+ .pt-3 {
2178
+ padding-top: calc(var(--spacing) * 3);
2179
+ }
2180
+
2181
+ .pr-1 {
2182
+ padding-right: calc(var(--spacing) * 1);
2183
+ }
2184
+
2185
+ .pr-1\\.5 {
2186
+ padding-right: calc(var(--spacing) * 1.5);
2187
+ }
2188
+
2189
+ .pr-2 {
2190
+ padding-right: calc(var(--spacing) * 2);
2191
+ }
2192
+
2193
+ .pr-4 {
2194
+ padding-right: calc(var(--spacing) * 4);
2195
+ }
2196
+
2197
+ .pr-6 {
2198
+ padding-right: calc(var(--spacing) * 6);
2199
+ }
2200
+
2201
+ .pr-11 {
2202
+ padding-right: calc(var(--spacing) * 11);
2203
+ }
2204
+
2205
+ .pb-1 {
2206
+ padding-bottom: calc(var(--spacing) * 1);
2207
+ }
2208
+
2209
+ .pb-2 {
2210
+ padding-bottom: calc(var(--spacing) * 2);
2211
+ }
2212
+
2213
+ .pl-1\\.5 {
2214
+ padding-left: calc(var(--spacing) * 1.5);
2215
+ }
2216
+
2217
+ .pl-2 {
2218
+ padding-left: calc(var(--spacing) * 2);
2219
+ }
2220
+
2221
+ .pl-4 {
2222
+ padding-left: calc(var(--spacing) * 4);
2223
+ }
2224
+
2225
+ .pl-8 {
2226
+ padding-left: calc(var(--spacing) * 8);
2227
+ }
2228
+
2229
+ .pl-\\[22px\\] {
2230
+ padding-left: 22px;
2231
+ }
2232
+
2233
+ .pl-\\[98px\\] {
2234
+ padding-left: 98px;
2235
+ }
2236
+
2237
+ .text-center {
2238
+ text-align: center;
2239
+ }
2240
+
2241
+ .text-left {
2242
+ text-align: left;
2243
+ }
2244
+
2245
+ .text-right {
2246
+ text-align: right;
2247
+ }
2248
+
2249
+ .align-middle {
2250
+ vertical-align: middle;
2251
+ }
2252
+
2253
+ .align-top {
2254
+ vertical-align: top;
2255
+ }
2256
+
2257
+ .font-mono {
2258
+ font-family: var(--font-mono);
2259
+ }
2260
+
2261
+ .text-2xl {
2262
+ font-size: var(--text-2xl);
2263
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
2264
+ }
2265
+
2266
+ .text-3xl {
2267
+ font-size: var(--text-3xl);
2268
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
2269
+ }
2270
+
2271
+ .text-5xl {
2272
+ font-size: var(--text-5xl);
2273
+ line-height: var(--tw-leading, var(--text-5xl--line-height));
2274
+ }
2275
+
2276
+ .text-base {
2277
+ font-size: var(--text-base);
2278
+ line-height: var(--tw-leading, var(--text-base--line-height));
2279
+ }
2280
+
2281
+ .text-lg {
2282
+ font-size: var(--text-lg);
2283
+ line-height: var(--tw-leading, var(--text-lg--line-height));
2284
+ }
2285
+
2286
+ .text-sm {
2287
+ font-size: var(--text-sm);
2288
+ line-height: var(--tw-leading, var(--text-sm--line-height));
2289
+ }
2290
+
2291
+ .text-xl {
2292
+ font-size: var(--text-xl);
2293
+ line-height: var(--tw-leading, var(--text-xl--line-height));
2294
+ }
2295
+
2296
+ .text-xs {
2297
+ font-size: var(--text-xs);
2298
+ line-height: var(--tw-leading, var(--text-xs--line-height));
2299
+ }
2300
+
2301
+ .text-\\[9px\\] {
2302
+ font-size: 9px;
2303
+ }
2304
+
2305
+ .text-\\[10px\\] {
2306
+ font-size: 10px;
2307
+ }
2308
+
2309
+ .text-\\[11px\\] {
2310
+ font-size: 11px;
2311
+ }
2312
+
2313
+ .leading-6 {
2314
+ --tw-leading: calc(var(--spacing) * 6);
2315
+ line-height: calc(var(--spacing) * 6);
2316
+ }
2317
+
2318
+ .leading-7 {
2319
+ --tw-leading: calc(var(--spacing) * 7);
2320
+ line-height: calc(var(--spacing) * 7);
2321
+ }
2322
+
2323
+ .leading-none {
2324
+ --tw-leading: 1;
2325
+ line-height: 1;
2326
+ }
2327
+
2328
+ .leading-relaxed {
2329
+ --tw-leading: var(--leading-relaxed);
2330
+ line-height: var(--leading-relaxed);
2331
+ }
2332
+
2333
+ .font-black {
2334
+ --tw-font-weight: var(--font-weight-black);
2335
+ font-weight: var(--font-weight-black);
2336
+ }
2337
+
2338
+ .font-bold {
2339
+ --tw-font-weight: var(--font-weight-bold);
2340
+ font-weight: var(--font-weight-bold);
2341
+ }
2342
+
2343
+ .tracking-wider {
2344
+ --tw-tracking: var(--tracking-wider);
2345
+ letter-spacing: var(--tracking-wider);
2346
+ }
2347
+
2348
+ .tracking-widest {
2349
+ --tw-tracking: var(--tracking-widest);
2350
+ letter-spacing: var(--tracking-widest);
2351
+ }
2352
+
2353
+ .\\[overflow-wrap\\:anywhere\\] {
2354
+ overflow-wrap: anywhere;
2355
+ }
2356
+
2357
+ .break-all {
2358
+ word-break: break-all;
2359
+ }
2360
+
2361
+ .whitespace-nowrap {
2362
+ white-space: nowrap;
2363
+ }
2364
+
2365
+ .whitespace-pre {
2366
+ white-space: pre;
2367
+ }
2368
+
2369
+ .whitespace-pre-wrap {
2370
+ white-space: pre-wrap;
2371
+ }
2372
+
2373
+ .text-black {
2374
+ color: var(--color-black);
2375
+ }
2376
+
2377
+ .text-coral-red {
2378
+ color: var(--color-coral-red);
2379
+ }
2380
+
2381
+ .text-coral-red\\/40 {
2382
+ color: #ff6b6b66;
2383
+ }
2384
+
2385
+ @supports (color: color-mix(in lab, red, red)) {
2386
+ .text-coral-red\\/40 {
2387
+ color: color-mix(in oklab, var(--color-coral-red) 40%, transparent);
2388
+ }
2389
+ }
2390
+
2391
+ .text-coral-red\\/70 {
2392
+ color: #ff6b6bb3;
2393
+ }
2394
+
2395
+ @supports (color: color-mix(in lab, red, red)) {
2396
+ .text-coral-red\\/70 {
2397
+ color: color-mix(in oklab, var(--color-coral-red) 70%, transparent);
2398
+ }
2399
+ }
2400
+
2401
+ .text-coral-red\\/90 {
2402
+ color: #ff6b6be6;
2403
+ }
2404
+
2405
+ @supports (color: color-mix(in lab, red, red)) {
2406
+ .text-coral-red\\/90 {
2407
+ color: color-mix(in oklab, var(--color-coral-red) 90%, transparent);
2408
+ }
2409
+ }
2410
+
2411
+ .text-electric-blue {
2412
+ color: var(--color-electric-blue);
2413
+ }
2414
+
2415
+ .text-gray-100 {
2416
+ color: var(--color-gray-100);
2417
+ }
2418
+
2419
+ .text-gray-200 {
2420
+ color: var(--color-gray-200);
2421
+ }
2422
+
2423
+ .text-gray-300 {
2424
+ color: var(--color-gray-300);
2425
+ }
2426
+
2427
+ .text-gray-400 {
2428
+ color: var(--color-gray-400);
2429
+ }
2430
+
2431
+ .text-gray-500 {
2432
+ color: var(--color-gray-500);
2433
+ }
2434
+
2435
+ .text-gray-600 {
2436
+ color: var(--color-gray-600);
2437
+ }
2438
+
2439
+ .text-gray-700 {
2440
+ color: var(--color-gray-700);
2441
+ }
2442
+
2443
+ .text-hot-pink {
2444
+ color: var(--color-hot-pink);
2445
+ }
2446
+
2447
+ .text-neon-green {
2448
+ color: var(--color-neon-green);
2449
+ }
2450
+
2451
+ .text-neon-green\\/40 {
2452
+ color: #84cc1666;
2453
+ }
2454
+
2455
+ @supports (color: color-mix(in lab, red, red)) {
2456
+ .text-neon-green\\/40 {
2457
+ color: color-mix(in oklab, var(--color-neon-green) 40%, transparent);
2458
+ }
2459
+ }
2460
+
2461
+ .text-neon-green\\/70 {
2462
+ color: #84cc16b3;
2463
+ }
2464
+
2465
+ @supports (color: color-mix(in lab, red, red)) {
2466
+ .text-neon-green\\/70 {
2467
+ color: color-mix(in oklab, var(--color-neon-green) 70%, transparent);
2468
+ }
2469
+ }
2470
+
2471
+ .text-neon-green\\/90 {
2472
+ color: #84cc16e6;
2473
+ }
2474
+
2475
+ @supports (color: color-mix(in lab, red, red)) {
2476
+ .text-neon-green\\/90 {
2477
+ color: color-mix(in oklab, var(--color-neon-green) 90%, transparent);
2478
+ }
2479
+ }
2480
+
2481
+ .text-primary {
2482
+ color: var(--color-primary);
2483
+ }
2484
+
2485
+ .text-primary\\/70 {
2486
+ color: #f9b11fb3;
2487
+ }
2488
+
2489
+ @supports (color: color-mix(in lab, red, red)) {
2490
+ .text-primary\\/70 {
2491
+ color: color-mix(in oklab, var(--color-primary) 70%, transparent);
2492
+ }
2493
+ }
2494
+
2495
+ .text-primary\\/80 {
2496
+ color: #f9b11fcc;
2497
+ }
2498
+
2499
+ @supports (color: color-mix(in lab, red, red)) {
2500
+ .text-primary\\/80 {
2501
+ color: color-mix(in oklab, var(--color-primary) 80%, transparent);
2502
+ }
2503
+ }
2504
+
2505
+ .text-transparent {
2506
+ color: #0000;
2507
+ }
2508
+
2509
+ .text-vibrant-purple {
2510
+ color: var(--color-vibrant-purple);
2511
+ }
2512
+
2513
+ .text-white {
2514
+ color: var(--color-white);
2515
+ }
2516
+
2517
+ .uppercase {
2518
+ text-transform: uppercase;
2519
+ }
2520
+
2521
+ .italic {
2522
+ font-style: italic;
2523
+ }
2524
+
2525
+ .placeholder-gray-600::placeholder {
2526
+ color: var(--color-gray-600);
2527
+ }
2528
+
2529
+ .accent-electric-blue {
2530
+ accent-color: var(--color-electric-blue);
2531
+ }
2532
+
2533
+ .accent-primary {
2534
+ accent-color: var(--color-primary);
2535
+ }
2536
+
2537
+ .opacity-0 {
2538
+ opacity: 0;
2539
+ }
2540
+
2541
+ .opacity-40 {
2542
+ opacity: .4;
2543
+ }
2544
+
2545
+ .opacity-60 {
2546
+ opacity: .6;
2547
+ }
2548
+
2549
+ .opacity-70 {
2550
+ opacity: .7;
2551
+ }
2552
+
2553
+ .opacity-100 {
2554
+ opacity: 1;
2555
+ }
2556
+
2557
+ .shadow-hard {
2558
+ --tw-shadow: 4px 4px 0 0 var(--tw-shadow-color, #000);
2559
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2560
+ }
2561
+
2562
+ .shadow-hard-sm {
2563
+ --tw-shadow: 2px 2px 0 0 var(--tw-shadow-color, #000);
2564
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2565
+ }
2566
+
2567
+ .shadow-hard-xl {
2568
+ --tw-shadow: 8px 8px 0 0 var(--tw-shadow-color, #000);
2569
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2570
+ }
2571
+
2572
+ .shadow-none {
2573
+ --tw-shadow: 0 0 #0000;
2574
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2575
+ }
2576
+
2577
+ .ring {
2578
+ --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
2579
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2580
+ }
2581
+
2582
+ .outline {
2583
+ outline-style: var(--tw-outline-style);
2584
+ outline-width: 1px;
2585
+ }
2586
+
2587
+ .transition {
2588
+ 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;
2589
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2590
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2591
+ }
2592
+
2593
+ .transition-all {
2594
+ transition-property: all;
2595
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2596
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2597
+ }
2598
+
2599
+ .transition-colors {
2600
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
2601
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2602
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2603
+ }
2604
+
2605
+ .transition-opacity {
2606
+ transition-property: opacity;
2607
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2608
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2609
+ }
2610
+
2611
+ .transition-transform {
2612
+ transition-property: transform, translate, scale, rotate;
2613
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2614
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
2615
+ }
2616
+
2617
+ .duration-300 {
2618
+ --tw-duration: .3s;
2619
+ transition-duration: .3s;
2620
+ }
2621
+
2622
+ .outline-none {
2623
+ --tw-outline-style: none;
2624
+ outline-style: none;
2625
+ }
2626
+
2627
+ .select-all {
2628
+ -webkit-user-select: all;
2629
+ user-select: all;
2630
+ }
2631
+
2632
+ .select-none {
2633
+ -webkit-user-select: none;
2634
+ user-select: none;
2635
+ }
2636
+
2637
+ @media (hover: hover) {
2638
+ .group-hover\\:text-primary:is(:where(.group):hover *) {
2639
+ color: var(--color-primary);
2640
+ }
2641
+
2642
+ .group-hover\\:opacity-100:is(:where(.group):hover *) {
2643
+ opacity: 1;
2644
+ }
2645
+ }
2646
+
2647
+ .peer-checked\\:border-primary:is(:where(.peer):checked ~ *) {
2648
+ border-color: var(--color-primary);
2649
+ }
2650
+
2651
+ .peer-checked\\:bg-primary:is(:where(.peer):checked ~ *) {
2652
+ background-color: var(--color-primary);
2653
+ }
2654
+
2655
+ .peer-checked\\:text-black:is(:where(.peer):checked ~ *) {
2656
+ color: var(--color-black);
2657
+ }
2658
+
2659
+ .last\\:border-b-0:last-child {
2660
+ border-bottom-style: var(--tw-border-style);
2661
+ border-bottom-width: 0;
2662
+ }
2663
+
2664
+ @media (hover: hover) {
2665
+ .hover\\:translate-x-0\\.5:hover {
2666
+ --tw-translate-x: calc(var(--spacing) * .5);
2667
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2668
+ }
2669
+
2670
+ .hover\\:translate-x-\\[2px\\]:hover {
2671
+ --tw-translate-x: 2px;
2672
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2673
+ }
2674
+
2675
+ .hover\\:translate-y-0\\.5:hover {
2676
+ --tw-translate-y: calc(var(--spacing) * .5);
2677
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2678
+ }
2679
+
2680
+ .hover\\:translate-y-\\[2px\\]:hover {
2681
+ --tw-translate-y: 2px;
2682
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2683
+ }
2684
+
2685
+ .hover\\:scale-110:hover {
2686
+ --tw-scale-x: 110%;
2687
+ --tw-scale-y: 110%;
2688
+ --tw-scale-z: 110%;
2689
+ scale: var(--tw-scale-x) var(--tw-scale-y);
2690
+ }
2691
+
2692
+ .hover\\:border-coral-red:hover {
2693
+ border-color: var(--color-coral-red);
2694
+ }
2695
+
2696
+ .hover\\:border-gray-600:hover {
2697
+ border-color: var(--color-gray-600);
2698
+ }
2699
+
2700
+ .hover\\:border-neon-green:hover {
2701
+ border-color: var(--color-neon-green);
2702
+ }
2703
+
2704
+ .hover\\:border-primary:hover {
2705
+ border-color: var(--color-primary);
2706
+ }
2707
+
2708
+ .hover\\:border-primary\\/50:hover {
2709
+ border-color: #f9b11f80;
2710
+ }
2711
+
2712
+ @supports (color: color-mix(in lab, red, red)) {
2713
+ .hover\\:border-primary\\/50:hover {
2714
+ border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
2715
+ }
2716
+ }
2717
+
2718
+ .hover\\:border-vibrant-purple:hover {
2719
+ border-color: var(--color-vibrant-purple);
2720
+ }
2721
+
2722
+ .hover\\:border-white:hover {
2723
+ border-color: var(--color-white);
2724
+ }
2725
+
2726
+ .hover\\:bg-primary\\/5:hover {
2727
+ background-color: #f9b11f0d;
2728
+ }
2729
+
2730
+ @supports (color: color-mix(in lab, red, red)) {
2731
+ .hover\\:bg-primary\\/5:hover {
2732
+ background-color: color-mix(in oklab, var(--color-primary) 5%, transparent);
2733
+ }
2734
+ }
2735
+
2736
+ .hover\\:bg-white\\/5:hover {
2737
+ background-color: #ffffff0d;
2738
+ }
2739
+
2740
+ @supports (color: color-mix(in lab, red, red)) {
2741
+ .hover\\:bg-white\\/5:hover {
2742
+ background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
2743
+ }
2744
+ }
2745
+
2746
+ .hover\\:bg-white\\/10:hover {
2747
+ background-color: #ffffff1a;
2748
+ }
2749
+
2750
+ @supports (color: color-mix(in lab, red, red)) {
2751
+ .hover\\:bg-white\\/10:hover {
2752
+ background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
2753
+ }
2754
+ }
2755
+
2756
+ .hover\\:text-coral-red:hover {
2757
+ color: var(--color-coral-red);
2758
+ }
2759
+
2760
+ .hover\\:text-gray-200:hover {
2761
+ color: var(--color-gray-200);
2762
+ }
2763
+
2764
+ .hover\\:text-gray-300:hover {
2765
+ color: var(--color-gray-300);
2766
+ }
2767
+
2768
+ .hover\\:text-neon-green:hover {
2769
+ color: var(--color-neon-green);
2770
+ }
2771
+
2772
+ .hover\\:text-primary:hover {
2773
+ color: var(--color-primary);
2774
+ }
2775
+
2776
+ .hover\\:text-vibrant-purple:hover {
2777
+ color: var(--color-vibrant-purple);
2778
+ }
2779
+
2780
+ .hover\\:text-white:hover {
2781
+ color: var(--color-white);
2782
+ }
2783
+
2784
+ .hover\\:shadow-none:hover {
2785
+ --tw-shadow: 0 0 #0000;
2786
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2787
+ }
2788
+
2789
+ .hover\\:brightness-125:hover {
2790
+ --tw-brightness: brightness(125%);
2791
+ filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
2792
+ }
2793
+ }
2794
+
2795
+ .focus\\:translate-x-1:focus {
2796
+ --tw-translate-x: calc(var(--spacing) * 1);
2797
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2798
+ }
2799
+
2800
+ .focus\\:translate-x-\\[2px\\]:focus {
2801
+ --tw-translate-x: 2px;
2802
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2803
+ }
2804
+
2805
+ .focus\\:translate-x-\\[4px\\]:focus {
2806
+ --tw-translate-x: 4px;
2807
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2808
+ }
2809
+
2810
+ .focus\\:translate-y-1:focus {
2811
+ --tw-translate-y: calc(var(--spacing) * 1);
2812
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2813
+ }
2814
+
2815
+ .focus\\:translate-y-\\[2px\\]:focus {
2816
+ --tw-translate-y: 2px;
2817
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2818
+ }
2819
+
2820
+ .focus\\:translate-y-\\[4px\\]:focus {
2821
+ --tw-translate-y: 4px;
2822
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2823
+ }
2824
+
2825
+ .focus\\:border-electric-blue:focus {
2826
+ border-color: var(--color-electric-blue);
2827
+ }
2828
+
2829
+ .focus\\:border-gray-500:focus {
2830
+ border-color: var(--color-gray-500);
2831
+ }
2832
+
2833
+ .focus\\:border-neon-green:focus {
2834
+ border-color: var(--color-neon-green);
2835
+ }
2836
+
2837
+ .focus\\:border-primary:focus {
2838
+ border-color: var(--color-primary);
2839
+ }
2840
+
2841
+ .focus\\:border-vibrant-purple:focus {
2842
+ border-color: var(--color-vibrant-purple);
2843
+ }
2844
+
2845
+ .focus\\:shadow-none:focus {
2846
+ --tw-shadow: 0 0 #0000;
2847
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2848
+ }
2849
+
2850
+ .active\\:cursor-grabbing:active {
2851
+ cursor: grabbing;
2852
+ }
2853
+
2854
+ .disabled\\:cursor-not-allowed:disabled {
2855
+ cursor: not-allowed;
2856
+ }
2857
+
2858
+ .disabled\\:opacity-40:disabled {
2859
+ opacity: .4;
2860
+ }
2861
+
2862
+ @media (min-width: 40rem) {
2863
+ .sm\\:grid-cols-2 {
2864
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2865
+ }
2866
+
2867
+ .sm\\:grid-cols-3 {
2868
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2869
+ }
2870
+
2871
+ .sm\\:flex-row {
2872
+ flex-direction: row;
2873
+ }
2874
+ }
2875
+
2876
+ @media (min-width: 48rem) {
2877
+ .md\\:grid-cols-2 {
2878
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2879
+ }
2880
+ }
2881
+
2882
+ @media (min-width: 64rem) {
2883
+ .lg\\:grid-cols-2 {
2884
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2885
+ }
2886
+
2887
+ .lg\\:grid-cols-4 {
2888
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2889
+ }
2890
+ }
2891
+
2892
+ @media (min-width: 80rem) {
2893
+ .xl\\:grid-cols-3 {
2894
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2895
+ }
2896
+
2897
+ .xl\\:grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(0\\,1fr\\)_320px\\] {
2898
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 320px;
2899
+ }
2900
+ }
2901
+ }
2902
+
2903
+ @property --tw-translate-x {
2904
+ syntax: "*";
2905
+ inherits: false;
2906
+ initial-value: 0;
2907
+ }
2908
+
2909
+ @property --tw-translate-y {
2910
+ syntax: "*";
2911
+ inherits: false;
2912
+ initial-value: 0;
2913
+ }
2914
+
2915
+ @property --tw-translate-z {
2916
+ syntax: "*";
2917
+ inherits: false;
2918
+ initial-value: 0;
2919
+ }
2920
+
2921
+ @property --tw-rotate-x {
2922
+ syntax: "*";
2923
+ inherits: false
2924
+ }
2925
+
2926
+ @property --tw-rotate-y {
2927
+ syntax: "*";
2928
+ inherits: false
2929
+ }
2930
+
2931
+ @property --tw-rotate-z {
2932
+ syntax: "*";
2933
+ inherits: false
2934
+ }
2935
+
2936
+ @property --tw-skew-x {
2937
+ syntax: "*";
2938
+ inherits: false
2939
+ }
2940
+
2941
+ @property --tw-skew-y {
2942
+ syntax: "*";
2943
+ inherits: false
2944
+ }
2945
+
2946
+ @property --tw-space-y-reverse {
2947
+ syntax: "*";
2948
+ inherits: false;
2949
+ initial-value: 0;
2950
+ }
2951
+
2952
+ @property --tw-border-style {
2953
+ syntax: "*";
2954
+ inherits: false;
2955
+ initial-value: solid;
2956
+ }
2957
+
2958
+ @property --tw-leading {
2959
+ syntax: "*";
2960
+ inherits: false
2961
+ }
2962
+
2963
+ @property --tw-font-weight {
2964
+ syntax: "*";
2965
+ inherits: false
2966
+ }
2967
+
2968
+ @property --tw-tracking {
2969
+ syntax: "*";
2970
+ inherits: false
2971
+ }
2972
+
2973
+ @property --tw-shadow {
2974
+ syntax: "*";
2975
+ inherits: false;
2976
+ initial-value: 0 0 #0000;
2977
+ }
2978
+
2979
+ @property --tw-shadow-color {
2980
+ syntax: "*";
2981
+ inherits: false
2982
+ }
2983
+
2984
+ @property --tw-shadow-alpha {
2985
+ syntax: "<percentage>";
2986
+ inherits: false;
2987
+ initial-value: 100%;
2988
+ }
2989
+
2990
+ @property --tw-inset-shadow {
2991
+ syntax: "*";
2992
+ inherits: false;
2993
+ initial-value: 0 0 #0000;
2994
+ }
2995
+
2996
+ @property --tw-inset-shadow-color {
2997
+ syntax: "*";
2998
+ inherits: false
2999
+ }
3000
+
3001
+ @property --tw-inset-shadow-alpha {
3002
+ syntax: "<percentage>";
3003
+ inherits: false;
3004
+ initial-value: 100%;
3005
+ }
3006
+
3007
+ @property --tw-ring-color {
3008
+ syntax: "*";
3009
+ inherits: false
3010
+ }
3011
+
3012
+ @property --tw-ring-shadow {
3013
+ syntax: "*";
3014
+ inherits: false;
3015
+ initial-value: 0 0 #0000;
3016
+ }
3017
+
3018
+ @property --tw-inset-ring-color {
3019
+ syntax: "*";
3020
+ inherits: false
3021
+ }
3022
+
3023
+ @property --tw-inset-ring-shadow {
3024
+ syntax: "*";
3025
+ inherits: false;
3026
+ initial-value: 0 0 #0000;
3027
+ }
3028
+
3029
+ @property --tw-ring-inset {
3030
+ syntax: "*";
3031
+ inherits: false
3032
+ }
3033
+
3034
+ @property --tw-ring-offset-width {
3035
+ syntax: "<length>";
3036
+ inherits: false;
3037
+ initial-value: 0;
3038
+ }
3039
+
3040
+ @property --tw-ring-offset-color {
3041
+ syntax: "*";
3042
+ inherits: false;
3043
+ initial-value: #fff;
3044
+ }
3045
+
3046
+ @property --tw-ring-offset-shadow {
3047
+ syntax: "*";
3048
+ inherits: false;
3049
+ initial-value: 0 0 #0000;
3050
+ }
3051
+
3052
+ @property --tw-outline-style {
3053
+ syntax: "*";
3054
+ inherits: false;
3055
+ initial-value: solid;
3056
+ }
3057
+
3058
+ @property --tw-duration {
3059
+ syntax: "*";
3060
+ inherits: false
3061
+ }
3062
+
3063
+ @property --tw-scale-x {
3064
+ syntax: "*";
3065
+ inherits: false;
3066
+ initial-value: 1;
3067
+ }
3068
+
3069
+ @property --tw-scale-y {
3070
+ syntax: "*";
3071
+ inherits: false;
3072
+ initial-value: 1;
3073
+ }
3074
+
3075
+ @property --tw-scale-z {
3076
+ syntax: "*";
3077
+ inherits: false;
3078
+ initial-value: 1;
3079
+ }
3080
+
3081
+ @property --tw-blur {
3082
+ syntax: "*";
3083
+ inherits: false
3084
+ }
3085
+
3086
+ @property --tw-brightness {
3087
+ syntax: "*";
3088
+ inherits: false
3089
+ }
3090
+
3091
+ @property --tw-contrast {
3092
+ syntax: "*";
3093
+ inherits: false
3094
+ }
3095
+
3096
+ @property --tw-grayscale {
3097
+ syntax: "*";
3098
+ inherits: false
3099
+ }
3100
+
3101
+ @property --tw-hue-rotate {
3102
+ syntax: "*";
3103
+ inherits: false
3104
+ }
3105
+
3106
+ @property --tw-invert {
3107
+ syntax: "*";
3108
+ inherits: false
3109
+ }
3110
+
3111
+ @property --tw-opacity {
3112
+ syntax: "*";
3113
+ inherits: false
3114
+ }
3115
+
3116
+ @property --tw-saturate {
3117
+ syntax: "*";
3118
+ inherits: false
3119
+ }
3120
+
3121
+ @property --tw-sepia {
3122
+ syntax: "*";
3123
+ inherits: false
3124
+ }
3125
+
3126
+ @property --tw-drop-shadow {
3127
+ syntax: "*";
3128
+ inherits: false
3129
+ }
3130
+
3131
+ @property --tw-drop-shadow-color {
3132
+ syntax: "*";
3133
+ inherits: false
3134
+ }
3135
+
3136
+ @property --tw-drop-shadow-alpha {
3137
+ syntax: "<percentage>";
3138
+ inherits: false;
3139
+ initial-value: 100%;
3140
+ }
3141
+
3142
+ @property --tw-drop-shadow-size {
3143
+ syntax: "*";
3144
+ inherits: false
3145
+ }
3146
+
3147
+ @keyframes spin {
3148
+ to {
3149
+ transform: rotate(360deg);
3150
+ }
3151
+ }
3152
+
3153
+ @keyframes pulse {
3154
+ 50% {
3155
+ opacity: .5;
3156
+ }
3157
+ }
3158
+ `;})();