@bg-effects/fireworks 1.0.6 → 1.0.8

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,1814 @@
1
+ var Wa = Object.defineProperty;
2
+ var Da = (a, r, t) => r in a ? Wa(a, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[r] = t;
3
+ var T = (a, r, t) => Da(a, typeof r != "symbol" ? r + "" : r, t);
4
+ import { defineComponent as Z, computed as B, openBlock as x, createElementBlock as I, normalizeClass as U, createElementVNode as d, normalizeStyle as Fa, Fragment as Q, renderList as ia, createCommentVNode as V, toDisplayString as C, h as pa, isRef as fa, toRefs as qa, customRef as Ka, toValue as z, watch as K, getCurrentScope as Qa, onScopeDispose as at, ref as A, shallowRef as Oa, readonly as tt, unref as h, createVNode as R, withCtx as sa, createBlock as H, renderSlot as ha, onUnmounted as ma, Teleport as xa, withModifiers as _a, resolveDynamicComponent as Ra, Transition as rt, createTextVNode as et, onMounted as Xa, defineAsyncComponent as nt } from "vue";
5
+ import { Color as ba, Renderer as ot, Geometry as it, Program as st, Mesh as ut } from "ogl";
6
+ const dt = `#version 300 es
7
+ in vec3 position;
8
+ in vec3 velocity;
9
+ in float startTime;
10
+ in float burstTime;
11
+ in vec3 color;
12
+ in float isRocket;
13
+ in float stayTime;
14
+
15
+ uniform float uTime;
16
+ uniform float uSpeed;
17
+ uniform float uSize;
18
+ uniform float uCurvature;
19
+ uniform float uIsCircular;
20
+ uniform float uGravity;
21
+ uniform float uClusterSize;
22
+ uniform float uAspect;
23
+ uniform float uFlashIntensity;
24
+
25
+ out vec3 vColor;
26
+ out float vOpacity;
27
+
28
+ void main() {
29
+ float t = (uTime - startTime) * uSpeed;
30
+ float duration = burstTime + 9.0;
31
+ t = mod(t, duration);
32
+
33
+ vec3 pos = position;
34
+ vec3 baseColor = color;
35
+ vColor = color;
36
+ vOpacity = 0.0;
37
+ gl_PointSize = 0.0;
38
+
39
+ if (t < burstTime) {
40
+ if (isRocket > 0.5) {
41
+ float progress = t / burstTime;
42
+ pos.y += t * 1.5;
43
+ pos.x += uCurvature * progress * progress;
44
+ vOpacity = smoothstep(0.0, 0.1, t);
45
+ gl_PointSize = uSize * 8.0 * vOpacity;
46
+ }
47
+ } else {
48
+ if (isRocket < 0.5) {
49
+ float bt = t - burstTime;
50
+ float burstPosY = position.y + burstTime * 1.5;
51
+ float burstPosX = position.x + uCurvature;
52
+ float flash = exp(-bt * 5.0) * uFlashIntensity;
53
+
54
+ if (uIsCircular > 0.5) {
55
+ float expansion = 1.0 - exp(-bt * 8.0);
56
+ float dropFactor = smoothstep(stayTime, 9.0, bt);
57
+ pos.x = burstPosX + (velocity.x * expansion * uClusterSize) / uAspect;
58
+ pos.y = burstPosY + velocity.y * expansion * uClusterSize - 0.5 * 9.8 * uGravity * pow(bt * dropFactor, 2.0) * 0.1;
59
+ pos.z = position.z + velocity.z * expansion * uClusterSize;
60
+ vOpacity = smoothstep(9.0, 0.0, bt);
61
+ } else {
62
+ float dropFactor = smoothstep(stayTime, 9.0, bt);
63
+ float effectiveBt = bt * dropFactor;
64
+ pos.x = burstPosX + (velocity.x * bt * uClusterSize) / uAspect;
65
+ pos.y = burstPosY + velocity.y * bt * uClusterSize - 0.5 * 9.8 * uGravity * effectiveBt * effectiveBt * 0.1;
66
+ pos.z = position.z + velocity.z * bt * uClusterSize;
67
+ vOpacity = smoothstep(9.0, 0.0, bt);
68
+ }
69
+ vColor = mix(baseColor, vec3(2.0), flash);
70
+ float flicker = (bt > stayTime) ? (0.8 + 0.2 * sin(bt * 20.0)) : 1.0;
71
+ vOpacity *= flicker;
72
+ float flashSize = 1.0 + exp(-bt * 8.0) * 5.0 * uFlashIntensity;
73
+ gl_PointSize = uSize * 4.0 * vOpacity * flashSize;
74
+ }
75
+ }
76
+ gl_Position = vec4(pos, 1.0);
77
+ }
78
+ `, ct = `#version 300 es
79
+ precision highp float;
80
+ in vec3 vColor;
81
+ in float vOpacity;
82
+ out vec4 fragColor;
83
+ void main() {
84
+ if (vOpacity <= 0.01) discard;
85
+ float d = distance(gl_PointCoord, vec2(0.5));
86
+ if (d > 0.5) discard;
87
+ float strength = smoothstep(0.5, 0.2, d);
88
+ fragColor = vec4(vColor, vOpacity * strength);
89
+ }
90
+ `, Ta = [
91
+ "#ff3333",
92
+ "#ff5500",
93
+ "#ffcc00",
94
+ "#ffff33",
95
+ "#33ff33",
96
+ "#00ffcc",
97
+ "#33ffff",
98
+ "#3333ff",
99
+ "#7733ff",
100
+ "#ff33ff",
101
+ "#ff66aa",
102
+ "#ffffff"
103
+ ].map((a) => new ba(a)), Ya = ["normal", "circular", "heart", "star", "butterfly", "spiral", "ring", "doubleRing", "atom", "trefoil", "clover", "cross", "saturn", "hexagram", "astroid", "gear", "fermat", "folium", "random"];
104
+ class ja {
105
+ constructor(r, t) {
106
+ T(this, "renderer");
107
+ T(this, "gl");
108
+ T(this, "geometry");
109
+ T(this, "program");
110
+ T(this, "mesh");
111
+ T(this, "container");
112
+ T(this, "groupCount");
113
+ T(this, "particlesPerGroup");
114
+ T(this, "totalCount");
115
+ T(this, "colors");
116
+ T(this, "velocities");
117
+ T(this, "isRockets");
118
+ T(this, "groupBaseColors", []);
119
+ T(this, "animationId", 0);
120
+ T(this, "timeStart", 0);
121
+ T(this, "isPaused", !1);
122
+ T(this, "config");
123
+ T(this, "updateVelocities", () => {
124
+ for (let r = 0; r < this.groupCount; r++) {
125
+ let t = this.config.shape;
126
+ this.config.shape === "random" && (t = Ya[r % Ya.length]);
127
+ const e = this.config.rotation * Math.PI / 180, o = (r * 0.1357 % 1 - 0.5) * 2 * (this.config.rotationJitter * Math.PI), n = e + o, i = Math.cos(n), l = Math.sin(n);
128
+ for (let u = 0; u < this.particlesPerGroup; u++) {
129
+ const p = r * this.particlesPerGroup + u;
130
+ if (this.isRockets[p] > 0.5) continue;
131
+ let f = 0, g = 0, w = 0;
132
+ const M = 0.15;
133
+ switch (t) {
134
+ case "heart": {
135
+ const s = Math.random() * Math.PI * 2;
136
+ f = 16 * Math.pow(Math.sin(s), 3) * 6e-3, g = (13 * Math.cos(s) - 5 * Math.cos(2 * s) - 2 * Math.cos(3 * s) - Math.cos(4 * s)) * 6e-3, w = (Math.random() - 0.5) * 0.05;
137
+ break;
138
+ }
139
+ case "star": {
140
+ const s = Math.random() * Math.PI * 2, c = 1 + 0.8 * Math.abs(Math.cos(s * 2.5));
141
+ f = Math.cos(s) * c * 0.08, g = Math.sin(s) * c * 0.08, w = (Math.random() - 0.5) * 0.05;
142
+ break;
143
+ }
144
+ case "butterfly": {
145
+ const s = Math.random() * Math.PI * 12, c = Math.exp(Math.cos(s)) - 2 * Math.cos(4 * s) + Math.pow(Math.sin(s / 12), 5);
146
+ f = Math.sin(s) * c * 0.05, g = Math.cos(s) * c * 0.05, w = (Math.random() - 0.5) * 0.05;
147
+ break;
148
+ }
149
+ case "spiral": {
150
+ const s = Math.random() * Math.PI * 8, c = 0.015 * s;
151
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.05;
152
+ break;
153
+ }
154
+ case "ring": {
155
+ const s = Math.random() * Math.PI * 2, c = 0.12 + (Math.random() - 0.5) * 0.02;
156
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.02;
157
+ break;
158
+ }
159
+ case "doubleRing": {
160
+ const s = u / this.particlesPerGroup * Math.PI * 2, y = (u % 2 === 0 ? 0.15 : 0.09) + (Math.random() - 0.5) * 0.01;
161
+ f = Math.cos(s) * y, g = Math.sin(s) * y, w = (Math.random() - 0.5) * 0.02;
162
+ break;
163
+ }
164
+ case "atom": {
165
+ const s = Math.random() * Math.PI * 2, c = 0.15, F = u % 3 * Math.PI / 3, Y = Math.cos(s) * c, O = Math.sin(s) * c, N = (Math.random() - 0.5) * 0.01;
166
+ f = Y * Math.cos(F) - N * Math.sin(F), g = O, w = Y * Math.sin(F) + N * Math.cos(F);
167
+ break;
168
+ }
169
+ case "trefoil": {
170
+ const s = Math.random() * Math.PI * 2, c = Math.cos(3 * s) * 0.15;
171
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.05;
172
+ break;
173
+ }
174
+ case "clover": {
175
+ const s = Math.random() * Math.PI * 2, c = Math.cos(2 * s) * 0.15;
176
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.05;
177
+ break;
178
+ }
179
+ case "cross": {
180
+ const s = Math.floor(Math.random() * 4) * Math.PI / 2, c = Math.random() * 0.18;
181
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.05;
182
+ break;
183
+ }
184
+ case "saturn": {
185
+ if (u < this.particlesPerGroup * 0.6) {
186
+ const s = Math.random() * Math.PI * 2, c = Math.acos(2 * Math.random() - 1), y = Math.random() * 0.08;
187
+ f = Math.sin(c) * Math.cos(s) * y, g = Math.sin(c) * Math.sin(s) * y, w = Math.cos(c) * y;
188
+ } else {
189
+ const s = Math.random() * Math.PI * 2, c = 0.14 + (Math.random() - 0.5) * 0.02, y = Math.PI * 0.15;
190
+ f = Math.cos(s) * c, g = Math.sin(s) * c * Math.sin(y), w = Math.sin(s) * c * Math.cos(y);
191
+ }
192
+ break;
193
+ }
194
+ case "hexagram": {
195
+ const s = Math.random() > 0.5, c = (Math.floor(Math.random() * 3) * 120 + (s ? 60 : 0)) * (Math.PI / 180), y = c + 120 * Math.PI / 180, F = Math.random(), Y = 0.15;
196
+ f = (Math.cos(c) * (1 - F) + Math.cos(y) * F) * Y, g = (Math.sin(c) * (1 - F) + Math.sin(y) * F) * Y, w = (Math.random() - 0.5) * 0.05;
197
+ break;
198
+ }
199
+ case "astroid": {
200
+ const s = Math.random() * Math.PI * 2, c = 0.18;
201
+ f = Math.pow(Math.cos(s), 3) * c, g = Math.pow(Math.sin(s), 3) * c, w = (Math.random() - 0.5) * 0.05;
202
+ break;
203
+ }
204
+ case "gear": {
205
+ const s = Math.random() * Math.PI * 2, c = 0.12 + 0.04 * Math.cos(8 * s);
206
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.05;
207
+ break;
208
+ }
209
+ case "fermat": {
210
+ const s = Math.random() * Math.PI * 10, c = 0.05 * Math.sqrt(s);
211
+ f = Math.cos(s) * c, g = Math.sin(s) * c, w = (Math.random() - 0.5) * 0.05;
212
+ break;
213
+ }
214
+ case "folium": {
215
+ const s = -0.5 + Math.random() * 2.5, c = 0.12, y = 1 + Math.pow(s, 3);
216
+ f = 3 * c * s / y, g = 3 * c * s * s / y, w = (Math.random() - 0.5) * 0.05;
217
+ break;
218
+ }
219
+ default:
220
+ if (this.config.uniformity > 0.01) {
221
+ const s = this.particlesPerGroup - 1, c = u - 1, y = Math.acos(1 - 2 * (c + 0.5) / s), F = Math.PI * (1 + Math.sqrt(5)) * (c + 0.5);
222
+ f = Math.cos(F) * Math.sin(y), g = Math.sin(F) * Math.sin(y), w = Math.cos(y);
223
+ const Y = M * (this.config.uniformity + (1 - this.config.uniformity) * Math.random());
224
+ f *= Y, g *= Y, w *= Y;
225
+ } else {
226
+ const s = Math.random() * Math.PI * 2, c = Math.acos(2 * Math.random() - 1), y = Math.random() * M;
227
+ f = Math.sin(c) * Math.cos(s) * y, g = Math.sin(c) * Math.sin(s) * y, w = Math.cos(c) * y;
228
+ }
229
+ }
230
+ const P = f * i - g * l, v = f * l + g * i;
231
+ this.velocities[p * 3 + 0] = P, this.velocities[p * 3 + 1] = v, this.velocities[p * 3 + 2] = w;
232
+ }
233
+ }
234
+ });
235
+ T(this, "resize", () => {
236
+ this.container && (this.renderer.setSize(this.container.offsetWidth, this.container.offsetHeight), this.program.uniforms.uAspect.value = this.container.offsetWidth / this.container.offsetHeight);
237
+ });
238
+ T(this, "update", (r) => {
239
+ this.isPaused || (this.timeStart || (this.timeStart = r), this.animationId = requestAnimationFrame(this.update), this.program.uniforms.uTime.value = (r - this.timeStart) % 1e6 * 1e-3, this.renderer.render({ scene: this.mesh }));
240
+ });
241
+ this.container = r, this.config = { ...t }, this.renderer = new ot({ dpr: 2, alpha: !0 }), this.gl = this.renderer.gl, this.container.appendChild(this.gl.canvas), this.groupCount = this.config.fireworkCount, this.particlesPerGroup = Math.floor(100 * this.config.density), this.totalCount = this.groupCount * this.particlesPerGroup;
242
+ const e = new Float32Array(this.totalCount * 3);
243
+ this.velocities = new Float32Array(this.totalCount * 3);
244
+ const o = new Float32Array(this.totalCount), n = new Float32Array(this.totalCount), i = new Float32Array(this.totalCount);
245
+ this.colors = new Float32Array(this.totalCount * 3), this.isRockets = new Float32Array(this.totalCount);
246
+ for (let l = 0; l < this.groupCount; l++) {
247
+ let u;
248
+ this.config.launchMode === "random" ? u = (Math.random() - 0.5) * 1.8 : u = (l / (this.groupCount - 1) - 0.5) * 1.8;
249
+ const p = -1.1, f = 0.6 + l * 13.57 % 1 * 0.4, g = 1 + Math.random() * 4, w = Ta[Math.floor(Math.random() * Ta.length)];
250
+ this.groupBaseColors.push(w);
251
+ let M;
252
+ if (this.config.launchMode === "burst") {
253
+ const v = Math.max(2, Math.floor(this.groupCount / 6));
254
+ M = Math.floor(l / (this.groupCount / v)) * -this.config.launchInterval - Math.random() * 0.1;
255
+ } else if (this.config.launchMode === "wave")
256
+ M = l / this.groupCount * -this.config.launchInterval;
257
+ else if (this.config.launchMode === "tide") {
258
+ const v = Math.abs(u) / 0.9;
259
+ M = Math.cos(v * Math.PI) * -this.config.launchInterval * 0.5 - this.config.launchInterval * 0.5;
260
+ } else if (this.config.launchMode === "simultaneous")
261
+ M = -this.config.launchInterval;
262
+ else if (this.config.launchMode === "pendulum") {
263
+ const v = l / (this.groupCount - 1);
264
+ M = Math.abs(v * 2 - 1) * -this.config.launchInterval;
265
+ } else
266
+ M = Math.random() * -this.config.launchInterval * 2;
267
+ const P = this.config.colorMode === "single" ? new ba(this.config.color) : w;
268
+ for (let v = 0; v < this.particlesPerGroup; v++) {
269
+ const s = l * this.particlesPerGroup + v;
270
+ e[s * 3 + 0] = u, e[s * 3 + 1] = p, e[s * 3 + 2] = (Math.random() - 0.5) * 0.2, this.isRockets[s] = v === 0 ? 1 : 0, o[s] = M;
271
+ const c = this.config.flightHeight * (1 + (f - 1) * this.config.flightHeightJitter);
272
+ n[s] = c, i[s] = g;
273
+ const y = this.config.colorJitter || 0;
274
+ this.colors[s * 3 + 0] = Math.max(0, Math.min(1, P.r + (Math.random() - 0.5) * y)), this.colors[s * 3 + 1] = Math.max(0, Math.min(1, P.g + (Math.random() - 0.5) * y)), this.colors[s * 3 + 2] = Math.max(0, Math.min(1, P.b + (Math.random() - 0.5) * y));
275
+ }
276
+ }
277
+ this.updateVelocities(), this.geometry = new it(this.gl, {
278
+ position: { size: 3, data: e },
279
+ velocity: { size: 3, data: this.velocities },
280
+ startTime: { size: 1, data: o },
281
+ burstTime: { size: 1, data: n },
282
+ stayTime: { size: 1, data: i },
283
+ color: { size: 3, data: this.colors },
284
+ isRocket: { size: 1, data: this.isRockets }
285
+ }), this.program = new st(this.gl, {
286
+ vertex: dt,
287
+ fragment: ct,
288
+ uniforms: {
289
+ uTime: { value: 0 },
290
+ uSpeed: { value: this.config.speed },
291
+ uSize: { value: this.config.size },
292
+ uCurvature: { value: this.config.curvature },
293
+ uIsCircular: { value: this.config.shape === "circular" ? 1 : 0 },
294
+ uGravity: { value: this.config.gravity },
295
+ uClusterSize: { value: this.config.clusterSize },
296
+ uAspect: { value: 1 },
297
+ uFlashIntensity: { value: this.config.flashIntensity }
298
+ },
299
+ transparent: !0,
300
+ depthTest: !1,
301
+ depthWrite: !1
302
+ }), this.mesh = new ut(this.gl, { geometry: this.geometry, program: this.program, mode: this.gl.POINTS }), this.resize(), window.addEventListener("resize", this.resize), this.animationId = requestAnimationFrame(this.update);
303
+ }
304
+ updateConfig(r) {
305
+ const t = { ...this.config };
306
+ if (this.config = { ...this.config, ...r }, this.program.uniforms.uSpeed.value = this.config.speed, this.program.uniforms.uSize.value = this.config.size, this.program.uniforms.uCurvature.value = this.config.curvature, this.program.uniforms.uGravity.value = this.config.gravity, this.program.uniforms.uClusterSize.value = this.config.clusterSize, this.program.uniforms.uFlashIntensity.value = this.config.flashIntensity, this.program.uniforms.uIsCircular.value = this.config.shape === "circular" ? 1 : 0, (t.shape !== this.config.shape || t.rotation !== this.config.rotation || t.rotationJitter !== this.config.rotationJitter || t.uniformity !== this.config.uniformity) && (this.updateVelocities(), this.geometry.attributes.velocity.needsUpdate = !0), t.colorMode !== this.config.colorMode || t.color !== this.config.color || t.colorJitter !== this.config.colorJitter) {
307
+ for (let e = 0; e < this.groupCount; e++) {
308
+ const o = this.config.colorMode === "single" ? new ba(this.config.color) : this.groupBaseColors[e];
309
+ for (let n = 0; n < this.particlesPerGroup; n++) {
310
+ const i = e * this.particlesPerGroup + n, l = this.config.colorJitter || 0;
311
+ this.colors[i * 3 + 0] = Math.max(0, Math.min(1, o.r + (Math.random() - 0.5) * l)), this.colors[i * 3 + 1] = Math.max(0, Math.min(1, o.g + (Math.random() - 0.5) * l)), this.colors[i * 3 + 2] = Math.max(0, Math.min(1, o.b + (Math.random() - 0.5) * l));
312
+ }
313
+ }
314
+ this.geometry.attributes.color.needsUpdate = !0;
315
+ }
316
+ if (t.launchMode !== this.config.launchMode || t.launchInterval !== this.config.launchInterval) {
317
+ this.timeStart = 0;
318
+ const e = this.geometry.attributes.position.data, o = this.geometry.attributes.startTime.data;
319
+ for (let n = 0; n < this.groupCount; n++) {
320
+ let i;
321
+ this.config.launchMode === "random" ? i = (Math.random() - 0.5) * 1.8 : i = (n / (this.groupCount - 1) - 0.5) * 1.8;
322
+ let l;
323
+ if (this.config.launchMode === "burst") {
324
+ const u = Math.max(2, Math.floor(this.groupCount / 6));
325
+ l = Math.floor(n / (this.groupCount / u)) * -this.config.launchInterval - Math.random() * 0.1;
326
+ } else if (this.config.launchMode === "wave")
327
+ l = n / this.groupCount * -this.config.launchInterval;
328
+ else if (this.config.launchMode === "tide") {
329
+ const u = Math.abs(i) / 0.9;
330
+ l = Math.cos(u * Math.PI) * -this.config.launchInterval * 0.5 - this.config.launchInterval * 0.5;
331
+ } else if (this.config.launchMode === "simultaneous")
332
+ l = -this.config.launchInterval;
333
+ else if (this.config.launchMode === "pendulum") {
334
+ const u = n / (this.groupCount - 1);
335
+ l = Math.abs(u * 2 - 1) * -this.config.launchInterval;
336
+ } else
337
+ l = Math.random() * -this.config.launchInterval * 2;
338
+ for (let u = 0; u < this.particlesPerGroup; u++) {
339
+ const p = n * this.particlesPerGroup + u;
340
+ e[p * 3 + 0] = i, o[p] = l;
341
+ }
342
+ }
343
+ this.geometry.attributes.position.needsUpdate = !0, this.geometry.attributes.startTime.needsUpdate = !0;
344
+ }
345
+ if (t.flightHeight !== this.config.flightHeight || t.flightHeightJitter !== this.config.flightHeightJitter) {
346
+ const e = this.geometry.attributes.burstTime.data;
347
+ for (let o = 0; o < this.groupCount; o++) {
348
+ const n = 0.6 + o * 13.57 % 1 * 0.4, i = this.config.flightHeight * (1 + (n - 1) * this.config.flightHeightJitter);
349
+ for (let l = 0; l < this.particlesPerGroup; l++) {
350
+ const u = o * this.particlesPerGroup + l;
351
+ e[u] = i;
352
+ }
353
+ }
354
+ this.geometry.attributes.burstTime.needsUpdate = !0;
355
+ }
356
+ }
357
+ pause() {
358
+ this.isPaused = !0, this.animationId && (cancelAnimationFrame(this.animationId), this.animationId = 0);
359
+ }
360
+ resume() {
361
+ this.isPaused && (this.isPaused = !1, this.animationId = requestAnimationFrame(this.update));
362
+ }
363
+ restart() {
364
+ this.timeStart = 0, this.isPaused && this.resume();
365
+ }
366
+ destroy() {
367
+ var r;
368
+ this.pause(), window.removeEventListener("resize", this.resize), this.container.contains(this.gl.canvas) && this.container.removeChild(this.gl.canvas), (r = this.gl.getExtension("WEBGL_lose_context")) == null || r.loseContext();
369
+ }
370
+ }
371
+ (function() {
372
+ try {
373
+ if (typeof document < "u") {
374
+ var a = document.createElement("style");
375
+ a.appendChild(document.createTextNode(`[data-v-518e4603],[data-v-518e4603]:before,[data-v-518e4603]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-518e4603]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none[data-v-518e4603]{pointer-events:none}.h-1\\.5[data-v-518e4603]{height:.375rem}.w-full[data-v-518e4603]{width:100%}.flex[data-v-518e4603]{display:flex}.flex-col[data-v-518e4603]{flex-direction:column}.cursor-pointer[data-v-518e4603]{cursor:pointer}.appearance-none[data-v-518e4603]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-center[data-v-518e4603]{align-items:center}.justify-between[data-v-518e4603]{justify-content:space-between}.gap-3[data-v-518e4603]{gap:.75rem}.border[data-v-518e4603]{border-width:1px}.border-white\\/5[data-v-518e4603]{border-color:#ffffff0d}.rounded-full[data-v-518e4603]{border-radius:9999px}.bg-white\\/5[data-v-518e4603]{background-color:#ffffff0d}.hover\\:bg-white\\/10[data-v-518e4603]:hover{background-color:#ffffff1a}.px-1[data-v-518e4603]{padding-left:.25rem;padding-right:.25rem}.text-\\[10px\\][data-v-518e4603]{font-size:10px}.text-\\[11px\\][data-v-518e4603]{font-size:11px}.text-white\\/20[data-v-518e4603]{color:#fff3}.text-white\\/40[data-v-518e4603],.group\\/item:hover .group-hover\\/item\\:text-white\\/40[data-v-518e4603]{color:#fff6}.group\\/item:hover .group-hover\\/item\\:text-blue-400[data-v-518e4603]{--un-text-opacity:1;color:rgb(96 165 250 / var(--un-text-opacity))}.font-black[data-v-518e4603]{font-weight:900}.font-bold[data-v-518e4603]{font-weight:700}.tracking-\\[0\\.2em\\][data-v-518e4603]{letter-spacing:.2em}.font-mono[data-v-518e4603]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase[data-v-518e4603]{text-transform:uppercase}.accent-blue-500[data-v-518e4603]{--un-accent-opacity:1;accent-color:rgb(59 130 246 / var(--un-accent-opacity))}.opacity-50[data-v-518e4603]{opacity:.5}.transition-all[data-v-518e4603]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-518e4603]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-v-eebdf2f8],[data-v-eebdf2f8]:before,[data-v-eebdf2f8]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-eebdf2f8]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none[data-v-eebdf2f8]{pointer-events:none}.absolute[data-v-eebdf2f8]{position:absolute}.relative[data-v-eebdf2f8]{position:relative}.inset-0[data-v-eebdf2f8]{top:0;right:0;bottom:0;left:0}.h-\\[150\\%\\][data-v-eebdf2f8]{height:150%}.h-10[data-v-eebdf2f8]{height:2.5rem}.w-\\[150\\%\\][data-v-eebdf2f8]{width:150%}.w-10[data-v-eebdf2f8]{width:2.5rem}.flex[data-v-eebdf2f8]{display:flex}.flex-col[data-v-eebdf2f8]{flex-direction:column}.-translate-x-1\\/4[data-v-eebdf2f8]{--un-translate-x:-25%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.-translate-y-1\\/4[data-v-eebdf2f8]{--un-translate-y:-25%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-125[data-v-eebdf2f8]{--un-scale-x:1.25;--un-scale-y:1.25;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer[data-v-eebdf2f8]{cursor:pointer}.items-center[data-v-eebdf2f8]{align-items:center}.gap-3[data-v-eebdf2f8]{gap:.75rem}.gap-4[data-v-eebdf2f8]{gap:1rem}.overflow-hidden[data-v-eebdf2f8]{overflow:hidden}.border[data-v-eebdf2f8]{border-width:1px}.border-white\\/10[data-v-eebdf2f8]{border-color:#ffffff1a}.border-white\\/5[data-v-eebdf2f8]{border-color:#ffffff0d}.hover\\:border-white\\/20[data-v-eebdf2f8]:hover{border-color:#fff3}.rounded-lg[data-v-eebdf2f8]{border-radius:.5rem}.bg-white\\/5[data-v-eebdf2f8]{background-color:#ffffff0d}.px-1[data-v-eebdf2f8]{padding-left:.25rem;padding-right:.25rem}.px-3[data-v-eebdf2f8]{padding-left:.75rem;padding-right:.75rem}.py-1\\.5[data-v-eebdf2f8]{padding-top:.375rem;padding-bottom:.375rem}.text-\\[10px\\][data-v-eebdf2f8]{font-size:10px}.text-xs[data-v-eebdf2f8]{font-size:.75rem;line-height:1rem}.text-white\\/20[data-v-eebdf2f8]{color:#fff3}.text-white\\/40[data-v-eebdf2f8]{color:#fff6}.font-bold[data-v-eebdf2f8]{font-weight:700}.tracking-\\[0\\.2em\\][data-v-eebdf2f8]{letter-spacing:.2em}.font-mono[data-v-eebdf2f8]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase[data-v-eebdf2f8]{text-transform:uppercase}.opacity-50[data-v-eebdf2f8]{opacity:.5}.shadow-lg[data-v-eebdf2f8]{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.transition-all[data-v-eebdf2f8]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.select-control[data-v-b022a6dd]{display:flex;flex-direction:column;gap:var(--spacing-sm);transition:var(--transition-base)}.select-control.is-disabled[data-v-b022a6dd]{opacity:var(--opacity-disabled);pointer-events:none}.select-label[data-v-b022a6dd]{padding:0 var(--spacing-xs)}.select-input[data-v-b022a6dd]{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-color-base);background:#ffffff0d;color:#ffffffe6;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-all);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:calc(var(--spacing-md) + 16px)}.select-input[data-v-b022a6dd]:hover{background-color:#ffffff1a;border-color:var(--border-color-hover)}.select-input[data-v-b022a6dd]:focus{outline:none;border-color:var(--border-color-focus);box-shadow:0 0 0 3px #3b82f61a}.select-input option[data-v-b022a6dd]{background:#000000f2;color:#fff;padding:var(--spacing-sm)}[data-v-b022a6dd],[data-v-b022a6dd]:before,[data-v-b022a6dd]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-b022a6dd]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.flex[data-v-b022a6dd]{display:flex}.border[data-v-b022a6dd]{border-width:1px}.outline[data-v-b022a6dd]{outline-style:solid}.transition[data-v-b022a6dd]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-v-abada5c9],[data-v-abada5c9]:before,[data-v-abada5c9]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-abada5c9]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none[data-v-abada5c9]{pointer-events:none}.flex[data-v-abada5c9]{display:flex}.flex-1[data-v-abada5c9]{flex:1 1 0%}.flex-row[data-v-abada5c9]{flex-direction:row}.flex-col[data-v-abada5c9]{flex-direction:column}.cursor-pointer[data-v-abada5c9]{cursor:pointer}.cursor-not-allowed[data-v-abada5c9]{cursor:not-allowed}.gap-2[data-v-abada5c9]{gap:.5rem}.gap-3[data-v-abada5c9]{gap:.75rem}.truncate[data-v-abada5c9]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border[data-v-abada5c9]{border-width:1px}.border-blue-400\\/50[data-v-abada5c9]{border-color:#60a5fa80}.border-white\\/5[data-v-abada5c9]{border-color:#ffffff0d}.rounded-lg[data-v-abada5c9]{border-radius:.5rem}.bg-blue-600[data-v-abada5c9]{--un-bg-opacity:1;background-color:rgb(37 99 235 / var(--un-bg-opacity))}.bg-white\\/\\[0\\.03\\][data-v-abada5c9]{background-color:#ffffff08}.hover\\:bg-white\\/10[data-v-abada5c9]:hover{background-color:#ffffff1a}.px-1[data-v-abada5c9]{padding-left:.25rem;padding-right:.25rem}.py-2\\.5[data-v-abada5c9]{padding-top:.625rem;padding-bottom:.625rem}.text-\\[10px\\][data-v-abada5c9]{font-size:10px}.text-\\[8px\\][data-v-abada5c9]{font-size:8px}.text-white[data-v-abada5c9]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.text-white\\/20[data-v-abada5c9]{color:#fff3}.text-white\\/25[data-v-abada5c9]{color:#ffffff40}.hover\\:text-white\\/60[data-v-abada5c9]:hover{color:#fff9}.font-bold[data-v-abada5c9]{font-weight:700}.tracking-\\[0\\.2em\\][data-v-abada5c9]{letter-spacing:.2em}.uppercase[data-v-abada5c9]{text-transform:uppercase}.opacity-50[data-v-abada5c9]{opacity:.5}.shadow-sm[data-v-abada5c9]{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-1[data-v-abada5c9]{--un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-blue-400\\/30[data-v-abada5c9]{--un-ring-color:rgb(96 165 250 / .3) }.transition-all[data-v-abada5c9]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-v-2fc0bb08],[data-v-2fc0bb08]:before,[data-v-2fc0bb08]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-2fc0bb08]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none[data-v-2fc0bb08]{pointer-events:none}.absolute[data-v-2fc0bb08]{position:absolute}.relative[data-v-2fc0bb08]{position:relative}.inset-\\[2px\\][data-v-2fc0bb08]{top:2px;right:2px;bottom:2px;left:2px}.inset-0[data-v-2fc0bb08]{top:0;right:0;bottom:0;left:0}.left-\\[2px\\][data-v-2fc0bb08]{left:2px}.top-\\[2px\\][data-v-2fc0bb08]{top:2px}.h-5[data-v-2fc0bb08]{height:1.25rem}.h-6[data-v-2fc0bb08]{height:1.5rem}.w-11[data-v-2fc0bb08]{width:2.75rem}.w-5[data-v-2fc0bb08]{width:1.25rem}.flex[data-v-2fc0bb08]{display:flex}.translate-x-0[data-v-2fc0bb08]{--un-translate-x:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-5[data-v-2fc0bb08]{--un-translate-x:1.25rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer[data-v-2fc0bb08]{cursor:pointer}.items-center[data-v-2fc0bb08]{align-items:center}.justify-center[data-v-2fc0bb08]{justify-content:center}.justify-between[data-v-2fc0bb08]{justify-content:space-between}.border[data-v-2fc0bb08]{border-width:1px}.border-0[data-v-2fc0bb08]{border-width:0px}.border-white\\/10[data-v-2fc0bb08]{border-color:#ffffff1a}.rounded-full[data-v-2fc0bb08]{border-radius:9999px}.bg-white[data-v-2fc0bb08]{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.bg-white\\/10[data-v-2fc0bb08]{background-color:#ffffff1a}.hover\\:bg-white\\/15[data-v-2fc0bb08]:hover{background-color:#ffffff26}.from-blue-500[data-v-2fc0bb08]{--un-gradient-from-position:0%;--un-gradient-from:rgb(59 130 246 / var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(59 130 246 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-white[data-v-2fc0bb08]{--un-gradient-from-position:0%;--un-gradient-from:rgb(255 255 255 / var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.to-blue-600[data-v-2fc0bb08]{--un-gradient-to-position:100%;--un-gradient-to:rgb(37 99 235 / var(--un-to-opacity, 1)) var(--un-gradient-to-position)}.to-gray-100[data-v-2fc0bb08]{--un-gradient-to-position:100%;--un-gradient-to:rgb(243 244 246 / var(--un-to-opacity, 1)) var(--un-gradient-to-position)}.bg-gradient-to-br[data-v-2fc0bb08]{--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-r[data-v-2fc0bb08]{--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.px-1[data-v-2fc0bb08]{padding-left:.25rem;padding-right:.25rem}.py-2[data-v-2fc0bb08]{padding-top:.5rem;padding-bottom:.5rem}.text-\\[10px\\][data-v-2fc0bb08]{font-size:10px}.text-white\\/20[data-v-2fc0bb08]{color:#fff3}.group\\/item:hover .group-hover\\/item\\:text-white\\/40[data-v-2fc0bb08]{color:#fff6}.font-bold[data-v-2fc0bb08]{font-weight:700}.tracking-\\[0\\.2em\\][data-v-2fc0bb08]{letter-spacing:.2em}.uppercase[data-v-2fc0bb08]{text-transform:uppercase}.opacity-50[data-v-2fc0bb08]{opacity:.5}.shadow-blue-500\\/30[data-v-2fc0bb08]{--un-shadow-color:rgb(59 130 246 / .3) }.shadow-inner[data-v-2fc0bb08]{--un-shadow:inset 0 2px 4px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg[data-v-2fc0bb08]{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur-md[data-v-2fc0bb08]{--un-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition-all[data-v-2fc0bb08]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-2fc0bb08]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300[data-v-2fc0bb08]{transition-duration:.3s}[data-v-994f0c5c],[data-v-994f0c5c]:before,[data-v-994f0c5c]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-994f0c5c]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.absolute[data-v-994f0c5c]{position:absolute}.relative[data-v-994f0c5c]{position:relative}.inset-0[data-v-994f0c5c]{top:0;right:0;bottom:0;left:0}.z-10[data-v-994f0c5c]{z-index:10}.grid[data-v-994f0c5c]{display:grid}.flex[data-v-994f0c5c]{display:flex}.flex-1[data-v-994f0c5c]{flex:1 1 0%}.cursor-pointer[data-v-994f0c5c]{cursor:pointer}.gap-1[data-v-994f0c5c]{gap:.25rem}.overflow-hidden[data-v-994f0c5c]{overflow:hidden}.border[data-v-994f0c5c]{border-width:1px}.border-white\\/5[data-v-994f0c5c]{border-color:#ffffff0d}.border-white\\/8[data-v-994f0c5c]{border-color:#ffffff14}.rounded-lg[data-v-994f0c5c]{border-radius:.5rem}.rounded-xl[data-v-994f0c5c]{border-radius:.75rem}.bg-white\\/\\[0\\.04\\][data-v-994f0c5c]{background-color:#ffffff0a}.hover\\:bg-white\\/10[data-v-994f0c5c]:hover{background-color:#ffffff1a}.from-black\\/40[data-v-994f0c5c]{--un-gradient-from-position:0%;--un-gradient-from:rgb(0 0 0 / .4) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(0 0 0 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-blue-400\\/10[data-v-994f0c5c]{--un-gradient-from-position:0%;--un-gradient-from:rgb(96 165 250 / .1) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(96 165 250 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-blue-500[data-v-994f0c5c]{--un-gradient-from-position:0%;--un-gradient-from:rgb(59 130 246 / var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(59 130 246 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-blue-500\\/5[data-v-994f0c5c]{--un-gradient-from-position:0%;--un-gradient-from:rgb(59 130 246 / .05) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(59 130 246 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-white\\/25[data-v-994f0c5c]{--un-gradient-from-position:0%;--un-gradient-from:rgb(255 255 255 / .25) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.via-purple-500\\/5[data-v-994f0c5c]{--un-gradient-via-position:50%;--un-gradient-to:rgb(168 85 247 / 0);--un-gradient-stops:var(--un-gradient-from), rgb(168 85 247 / .05) var(--un-gradient-via-position), var(--un-gradient-to)}.via-transparent[data-v-994f0c5c]{--un-gradient-via-position:50%;--un-gradient-to:rgb(255 255 255 / 0);--un-gradient-stops:var(--un-gradient-from), transparent var(--un-gradient-via-position), var(--un-gradient-to)}.to-black\\/20[data-v-994f0c5c]{--un-gradient-to-position:100%;--un-gradient-to:rgb(0 0 0 / .2) var(--un-gradient-to-position)}.to-blue-500\\/5[data-v-994f0c5c]{--un-gradient-to-position:100%;--un-gradient-to:rgb(59 130 246 / .05) var(--un-gradient-to-position)}.to-blue-600[data-v-994f0c5c]{--un-gradient-to-position:100%;--un-gradient-to:rgb(37 99 235 / var(--un-to-opacity, 1)) var(--un-gradient-to-position)}.to-transparent[data-v-994f0c5c]{--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position)}.bg-gradient-to-b[data-v-994f0c5c]{--un-gradient-shape:to bottom in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-br[data-v-994f0c5c]{--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-r[data-v-994f0c5c]{--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-t[data-v-994f0c5c]{--un-gradient-shape:to top in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.p-1[data-v-994f0c5c]{padding:.25rem}.py-2[data-v-994f0c5c]{padding-top:.5rem;padding-bottom:.5rem}.text-\\[9px\\][data-v-994f0c5c]{font-size:9px}.text-white[data-v-994f0c5c]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.text-white\\/45[data-v-994f0c5c]{color:#ffffff73}.hover\\:text-white\\/80[data-v-994f0c5c]:hover{color:#fffc}.font-black[data-v-994f0c5c]{font-weight:900}.tracking-\\[0\\.12em\\][data-v-994f0c5c]{letter-spacing:.12em}.uppercase[data-v-994f0c5c]{text-transform:uppercase}.tab[data-v-994f0c5c]{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.opacity-0[data-v-994f0c5c]{opacity:0}.opacity-50[data-v-994f0c5c]{opacity:.5}.group:hover .group-hover\\:opacity-100[data-v-994f0c5c]{opacity:1}.shadow-blue-500\\/20[data-v-994f0c5c]{--un-shadow-color:rgb(59 130 246 / .2) }.shadow-lg[data-v-994f0c5c]{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-md[data-v-994f0c5c]{--un-shadow:var(--un-shadow-inset) 0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur-md[data-v-994f0c5c]{--un-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition-all[data-v-994f0c5c]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity[data-v-994f0c5c]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300[data-v-994f0c5c]{transition-duration:.3s}.panel-container[data-v-37c62bcb]{width:100%;color:#fff}.panel-header[data-v-37c62bcb]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color-base)}.panel-header.collapsible[data-v-37c62bcb]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-base)}.panel-header.collapsible[data-v-37c62bcb]:hover{background:#ffffff08}.panel-title[data-v-37c62bcb]{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#ffffffe6}.collapse-icon[data-v-37c62bcb]{font-size:var(--font-size-xs);color:#ffffff80;transition:transform var(--transition-base)}.collapse-icon.collapsed[data-v-37c62bcb]{transform:rotate(-90deg)}.panel-content[data-v-37c62bcb]{padding:var(--spacing-md)}[data-v-37c62bcb],[data-v-37c62bcb]:before,[data-v-37c62bcb]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-37c62bcb]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.flex[data-v-37c62bcb]{display:flex}.transform[data-v-37c62bcb]{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transition[data-v-37c62bcb]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.section-container[data-v-997297d7]{display:flex;flex-direction:column}.gap-2[data-v-997297d7]{gap:var(--spacing-sm)}.gap-4[data-v-997297d7]{gap:var(--spacing-md)}.gap-6[data-v-997297d7]{gap:var(--spacing-lg)}.section-title[data-v-997297d7]{padding:0 var(--spacing-xs);margin:0}.section-content[data-v-997297d7]{display:flex;flex-direction:column;gap:inherit}[data-v-997297d7],[data-v-997297d7]:before,[data-v-997297d7]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-997297d7]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.flex[data-v-997297d7]{display:flex}.gap-2[data-v-997297d7]{gap:.5rem}.gap-4[data-v-997297d7]{gap:1rem}.gap-6[data-v-997297d7]{gap:1.5rem}:root{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-active: #1d4ed8;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #06b6d4;--opacity-disabled: .4;--opacity-secondary: .6;--opacity-tertiary: .3;--opacity-primary: .9;--opacity-full: 1;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--border-width: 1px;--border-color-base: rgba(255, 255, 255, .05);--border-color-hover: rgba(255, 255, 255, .2);--border-color-focus: rgba(59, 130, 246, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-all: all var(--transition-base);--font-size-xs: .625rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-black: 900;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--letter-spacing-wider: .1em;--letter-spacing-widest: .2em;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.control-base{border-radius:var(--radius-md);transition:var(--transition-all);border:var(--border-width) solid var(--border-color-base);background:#ffffff08}.control-hover:hover{background:#ffffff1a;border-color:var(--border-color-hover)}.control-focus:focus{outline:none;border-color:var(--border-color-focus);box-shadow:0 0 0 3px #3b82f61a}.control-disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.label-base{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-widest);color:rgba(255,255,255,var(--opacity-secondary))}.label-primary{color:rgba(255,255,255,var(--opacity-primary))}.value-display{font-size:var(--font-size-sm);font-weight:var(--font-weight-black);font-family:ui-monospace,monospace;color:rgba(255,255,255,var(--opacity-secondary))}.value-display-active{color:var(--color-primary)}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-col-gap{display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-base{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-color-base);background:#ffffff08;color:#fff9;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);text-align:center}.btn-base:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6}.btn-primary{background:var(--color-primary);color:#fff;border-color:#3b82f680}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-active{background:var(--color-primary);color:#fff;border-color:#3b82f680;box-shadow:0 0 0 1px #3b82f64d}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.input-base{width:100%;padding:var(--spacing-sm);border-radius:var(--radius-md);border:var(--border-width) solid var(--border-color-base);background:#ffffff0d;color:#fff;font-size:var(--font-size-sm);transition:var(--transition-all)}.input-base:hover{background:#ffffff14;border-color:var(--border-color-hover)}.input-base:focus{outline:none;background:#ffffff1a;border-color:var(--border-color-focus)}.panel-base{background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color-base);box-shadow:var(--shadow-xl)}.panel-header{padding:var(--spacing-md);border-bottom:var(--border-width) solid var(--border-color-base);cursor:move}.panel-content{padding:var(--spacing-md)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#3b82f64d;color:#fff}`)), document.head.appendChild(a);
376
+ }
377
+ } catch (r) {
378
+ console.error("vite-plugin-css-injected-by-js", r);
379
+ }
380
+ })();
381
+ function j(a, r, t = 2) {
382
+ const e = Math.random() * (r - a) + a;
383
+ return Number(e.toFixed(t));
384
+ }
385
+ const lt = (a, r) => {
386
+ const t = a.__vccOpts || a;
387
+ for (const [e, o] of r)
388
+ t[e] = o;
389
+ return t;
390
+ }, pt = ["onClick"], ft = {
391
+ key: 0,
392
+ class: "absolute inset-0 bg-gradient-to-br from-white/25 via-transparent to-transparent"
393
+ }, bt = { class: "relative z-10" }, gt = /* @__PURE__ */ Z({
394
+ __name: "SubTabs",
395
+ props: {
396
+ tabs: {},
397
+ modelValue: {},
398
+ rows: {},
399
+ className: {}
400
+ },
401
+ emits: ["update:modelValue"],
402
+ setup(a, { emit: r }) {
403
+ const t = a, e = r, o = B(() => {
404
+ const u = Math.floor(t.rows || 1);
405
+ return u > 1 ? u : 1;
406
+ }), n = B(() => {
407
+ const u = o.value;
408
+ return u > 1 ? Math.ceil(t.tabs.length / u) : 0;
409
+ }), i = B(() => {
410
+ if (!(o.value <= 1))
411
+ return {
412
+ gridTemplateColumns: `repeat(${n.value}, minmax(0, 1fr))`
413
+ };
414
+ }), l = (u) => {
415
+ e("update:modelValue", u);
416
+ };
417
+ return (u, p) => (x(), I("div", {
418
+ class: U(["p-1 bg-gradient-to-b from-black/40 to-black/20 rounded-xl border border-white/8 shadow-lg backdrop-blur-md relative overflow-hidden", a.className])
419
+ }, [
420
+ p[1] || (p[1] = d("div", { class: "absolute inset-0 bg-gradient-to-r from-blue-500/5 via-purple-500/5 to-blue-500/5 opacity-50" }, null, -1)),
421
+ d("div", {
422
+ class: U(["relative z-10 gap-1", o.value > 1 ? "grid" : "flex"]),
423
+ style: Fa(i.value)
424
+ }, [
425
+ (x(!0), I(Q, null, ia(a.tabs, (f) => (x(), I("button", {
426
+ key: f.id,
427
+ class: U(["py-2 text-[9px] font-black uppercase tracking-[0.12em] rounded-lg transition-all duration-300 cursor-pointer relative overflow-hidden group", [
428
+ o.value > 1 ? "" : "flex-1",
429
+ a.modelValue === f.id ? "bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md shadow-blue-500/20" : "bg-white/[0.04] text-white/45 hover:text-white/80 hover:bg-white/10 border border-white/5"
430
+ ]]),
431
+ onClick: (g) => l(f.id)
432
+ }, [
433
+ a.modelValue === f.id ? (x(), I("div", ft)) : V("", !0),
434
+ d("span", bt, C(f.label), 1),
435
+ p[0] || (p[0] = d("div", { class: "absolute inset-0 bg-gradient-to-t from-blue-400/10 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300" }, null, -1))
436
+ ], 10, pt))), 128))
437
+ ], 6)
438
+ ], 2));
439
+ }
440
+ }), xn = /* @__PURE__ */ lt(gt, [["__scopeId", "data-v-994f0c5c"]]), q = {
441
+ id: "fireworks",
442
+ name: {
443
+ en: "Fireworks",
444
+ "zh-CN": "烟花"
445
+ },
446
+ category: "special",
447
+ version: "1.0.0",
448
+ defaultConfig: {
449
+ debug: !1,
450
+ lang: "zh-CN",
451
+ fireworkCount: 30,
452
+ speed: 1,
453
+ size: 2,
454
+ curvature: 0,
455
+ shape: "normal",
456
+ launchMode: "random",
457
+ density: 1,
458
+ colorMode: "multi",
459
+ color: "#ff0000",
460
+ gravity: 0.5,
461
+ clusterSize: 3,
462
+ flightHeight: 1,
463
+ uniformity: 0.5,
464
+ flashIntensity: 1,
465
+ flashOpacity: 0.5,
466
+ launchInterval: 3,
467
+ flightHeightJitter: 0.2,
468
+ rotation: 0,
469
+ rotationJitter: 0,
470
+ colorJitter: 0.2
471
+ },
472
+ randomize: (a, r) => {
473
+ const t = { ...a };
474
+ if (r) {
475
+ if (r === "general")
476
+ t.fireworkCount = j(10, 60, 0), t.density = j(0.5, 3), t.clusterSize = j(1, 8), t.gravity = j(0, 1.5);
477
+ else if (r === "shape") {
478
+ const e = ["normal", "circular", "heart", "star", "butterfly", "spiral", "ring", "doubleRing", "atom", "trefoil", "clover", "cross", "saturn", "hexagram", "astroid", "gear", "fermat", "folium"];
479
+ t.shape = e[Math.floor(Math.random() * e.length)], t.rotation = j(0, 360, 0), t.rotationJitter = j(0, 1);
480
+ } else if (r === "launch") {
481
+ const e = ["random", "burst", "wave", "tide", "simultaneous", "pendulum"];
482
+ t.launchMode = e[Math.floor(Math.random() * e.length)], t.launchInterval = j(1, 10);
483
+ } else if (r === "visual") {
484
+ t.speed = j(0.5, 2), t.flashIntensity = j(0.5, 2.5), t.flashOpacity = j(0.1, 1);
485
+ const e = ["single", "multi"];
486
+ if (t.colorMode = e[Math.floor(Math.random() * e.length)], t.colorMode === "single") {
487
+ const o = ["#ff3333", "#ff5500", "#ffcc00", "#ffff33", "#33ff33", "#00ffcc", "#33ffff", "#3333ff", "#7733ff", "#ff33ff"];
488
+ t.color = o[Math.floor(Math.random() * o.length)];
489
+ }
490
+ }
491
+ } else {
492
+ t.fireworkCount = j(10, 60, 0), t.density = j(0.5, 3), t.clusterSize = j(1, 8), t.gravity = j(0, 1.5);
493
+ const e = ["normal", "circular", "heart", "star", "butterfly", "spiral", "ring", "doubleRing", "atom", "trefoil", "clover", "cross", "saturn", "hexagram", "astroid", "gear", "fermat", "folium"];
494
+ t.shape = e[Math.floor(Math.random() * e.length)], t.rotation = j(0, 360, 0), t.rotationJitter = j(0, 1);
495
+ const o = ["random", "burst", "wave", "tide", "simultaneous", "pendulum"];
496
+ t.launchMode = o[Math.floor(Math.random() * o.length)], t.launchInterval = j(1, 10), t.speed = j(0.5, 2), t.flashIntensity = j(0.5, 2.5), t.flashOpacity = j(0.1, 1);
497
+ const n = ["single", "multi"];
498
+ if (t.colorMode = n[Math.floor(Math.random() * n.length)], t.colorMode === "single") {
499
+ const i = ["#ff3333", "#ff5500", "#ffcc00", "#ffff33", "#33ff33", "#00ffcc", "#33ffff", "#3333ff", "#7733ff", "#ff33ff"];
500
+ t.color = i[Math.floor(Math.random() * i.length)];
501
+ }
502
+ }
503
+ return t;
504
+ },
505
+ presets: [
506
+ {
507
+ id: "midnight-bloom",
508
+ name: { en: "Midnight Bloom", "zh-CN": "午夜盛放" },
509
+ config: { fireworkCount: 30, speed: 1.2, size: 1.2, launchInterval: 3, colorMode: "multi", shape: "circular" }
510
+ },
511
+ {
512
+ id: "golden-rain",
513
+ name: { en: "Golden Rain", "zh-CN": "金色雨露" },
514
+ config: { fireworkCount: 25, speed: 0.8, size: 1.5, launchInterval: 4, colorMode: "single", color: "#ffcc00", shape: "normal", gravity: 0.5 }
515
+ },
516
+ {
517
+ id: "rapid-sequence",
518
+ name: { en: "Rapid Sequence", "zh-CN": "连环发射" },
519
+ config: { fireworkCount: 15, speed: 1.5, size: 1.8, launchInterval: 1, shape: "random", lanuchMode: "random", colorMode: "multi", density: 2 }
520
+ }
521
+ ]
522
+ };
523
+ /**
524
+ * @license lucide-vue-next v0.474.0 - ISC
525
+ *
526
+ * This source code is licensed under the ISC license.
527
+ * See the LICENSE file in the root directory of this source tree.
528
+ */
529
+ const vt = (a) => a.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
530
+ /**
531
+ * @license lucide-vue-next v0.474.0 - ISC
532
+ *
533
+ * This source code is licensed under the ISC license.
534
+ * See the LICENSE file in the root directory of this source tree.
535
+ */
536
+ var ea = {
537
+ xmlns: "http://www.w3.org/2000/svg",
538
+ width: 24,
539
+ height: 24,
540
+ viewBox: "0 0 24 24",
541
+ fill: "none",
542
+ stroke: "currentColor",
543
+ "stroke-width": 2,
544
+ "stroke-linecap": "round",
545
+ "stroke-linejoin": "round"
546
+ };
547
+ /**
548
+ * @license lucide-vue-next v0.474.0 - ISC
549
+ *
550
+ * This source code is licensed under the ISC license.
551
+ * See the LICENSE file in the root directory of this source tree.
552
+ */
553
+ const ht = ({ size: a, strokeWidth: r = 2, absoluteStrokeWidth: t, color: e, iconNode: o, name: n, class: i, ...l }, { slots: u }) => pa(
554
+ "svg",
555
+ {
556
+ ...ea,
557
+ width: a || ea.width,
558
+ height: a || ea.height,
559
+ stroke: e || ea.stroke,
560
+ "stroke-width": t ? Number(r) * 24 / Number(a) : r,
561
+ class: ["lucide", `lucide-${vt(n ?? "icon")}`],
562
+ ...l
563
+ },
564
+ [...o.map((p) => pa(...p)), ...u.default ? [u.default()] : []]
565
+ );
566
+ /**
567
+ * @license lucide-vue-next v0.474.0 - ISC
568
+ *
569
+ * This source code is licensed under the ISC license.
570
+ * See the LICENSE file in the root directory of this source tree.
571
+ */
572
+ const W = (a, r) => (t, { slots: e }) => pa(
573
+ ht,
574
+ {
575
+ ...t,
576
+ iconNode: r,
577
+ name: a
578
+ },
579
+ e
580
+ );
581
+ /**
582
+ * @license lucide-vue-next v0.474.0 - ISC
583
+ *
584
+ * This source code is licensed under the ISC license.
585
+ * See the LICENSE file in the root directory of this source tree.
586
+ */
587
+ const ga = W("ActivityIcon", [
588
+ [
589
+ "path",
590
+ {
591
+ d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",
592
+ key: "169zse"
593
+ }
594
+ ]
595
+ ]);
596
+ /**
597
+ * @license lucide-vue-next v0.474.0 - ISC
598
+ *
599
+ * This source code is licensed under the ISC license.
600
+ * See the LICENSE file in the root directory of this source tree.
601
+ */
602
+ const Na = W("BookmarkIcon", [
603
+ ["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z", key: "1fy3hk" }]
604
+ ]);
605
+ /**
606
+ * @license lucide-vue-next v0.474.0 - ISC
607
+ *
608
+ * This source code is licensed under the ISC license.
609
+ * See the LICENSE file in the root directory of this source tree.
610
+ */
611
+ const oa = W("CodeIcon", [
612
+ ["polyline", { points: "16 18 22 12 16 6", key: "z7tu5w" }],
613
+ ["polyline", { points: "8 6 2 12 8 18", key: "1eg1df" }]
614
+ ]);
615
+ /**
616
+ * @license lucide-vue-next v0.474.0 - ISC
617
+ *
618
+ * This source code is licensed under the ISC license.
619
+ * See the LICENSE file in the root directory of this source tree.
620
+ */
621
+ const mt = W("LanguagesIcon", [
622
+ ["path", { d: "m5 8 6 6", key: "1wu5hv" }],
623
+ ["path", { d: "m4 14 6-6 2-3", key: "1k1g8d" }],
624
+ ["path", { d: "M2 5h12", key: "or177f" }],
625
+ ["path", { d: "M7 2h1", key: "1t2jsx" }],
626
+ ["path", { d: "m22 22-5-10-5 10", key: "don7ne" }],
627
+ ["path", { d: "M14 18h6", key: "1m8k6r" }]
628
+ ]);
629
+ /**
630
+ * @license lucide-vue-next v0.474.0 - ISC
631
+ *
632
+ * This source code is licensed under the ISC license.
633
+ * See the LICENSE file in the root directory of this source tree.
634
+ */
635
+ const xt = W("MonitorIcon", [
636
+ ["rect", { width: "20", height: "14", x: "2", y: "3", rx: "2", key: "48i651" }],
637
+ ["line", { x1: "8", x2: "16", y1: "21", y2: "21", key: "1svkeh" }],
638
+ ["line", { x1: "12", x2: "12", y1: "17", y2: "21", key: "vw1qmm" }]
639
+ ]);
640
+ /**
641
+ * @license lucide-vue-next v0.474.0 - ISC
642
+ *
643
+ * This source code is licensed under the ISC license.
644
+ * See the LICENSE file in the root directory of this source tree.
645
+ */
646
+ const La = W("PlayIcon", [
647
+ ["polygon", { points: "6 3 20 12 6 21 6 3", key: "1oa8hb" }]
648
+ ]);
649
+ /**
650
+ * @license lucide-vue-next v0.474.0 - ISC
651
+ *
652
+ * This source code is licensed under the ISC license.
653
+ * See the LICENSE file in the root directory of this source tree.
654
+ */
655
+ const wa = W("SettingsIcon", [
656
+ [
657
+ "path",
658
+ {
659
+ d: "M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",
660
+ key: "1qme2f"
661
+ }
662
+ ],
663
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
664
+ ]);
665
+ /**
666
+ * @license lucide-vue-next v0.474.0 - ISC
667
+ *
668
+ * This source code is licensed under the ISC license.
669
+ * See the LICENSE file in the root directory of this source tree.
670
+ */
671
+ const wt = W("XIcon", [
672
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
673
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
674
+ ]);
675
+ function yt(a, r) {
676
+ return Qa() ? (at(a, r), !0) : !1;
677
+ }
678
+ const Va = typeof window < "u" && typeof document < "u";
679
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
680
+ const kt = Object.prototype.toString, zt = (a) => kt.call(a) === "[object Object]";
681
+ function da(a) {
682
+ return Array.isArray(a) ? a : [a];
683
+ }
684
+ function Mt(a, r = {}) {
685
+ if (!fa(a)) return qa(a);
686
+ const t = Array.isArray(a.value) ? Array.from({ length: a.value.length }) : {};
687
+ for (const e in a.value) t[e] = Ka(() => ({
688
+ get() {
689
+ return a.value[e];
690
+ },
691
+ set(o) {
692
+ var n;
693
+ if (!((n = z(r.replaceRef)) !== null && n !== void 0) || n) if (Array.isArray(a.value)) {
694
+ const i = [...a.value];
695
+ i[e] = o, a.value = i;
696
+ } else {
697
+ const i = {
698
+ ...a.value,
699
+ [e]: o
700
+ };
701
+ Object.setPrototypeOf(i, Object.getPrototypeOf(a.value)), a.value = i;
702
+ }
703
+ else a.value[e] = o;
704
+ }
705
+ }));
706
+ return t;
707
+ }
708
+ function Ct(a, r, t) {
709
+ return K(a, r, {
710
+ ...t,
711
+ immediate: !0
712
+ });
713
+ }
714
+ const ya = Va ? window : void 0;
715
+ function St(a) {
716
+ var r;
717
+ const t = z(a);
718
+ return (r = t == null ? void 0 : t.$el) !== null && r !== void 0 ? r : t;
719
+ }
720
+ function ca(...a) {
721
+ const r = (e, o, n, i) => (e.addEventListener(o, n, i), () => e.removeEventListener(o, n, i)), t = B(() => {
722
+ const e = da(z(a[0])).filter((o) => o != null);
723
+ return e.every((o) => typeof o != "string") ? e : void 0;
724
+ });
725
+ return Ct(() => {
726
+ var e, o;
727
+ return [
728
+ (e = (o = t.value) === null || o === void 0 ? void 0 : o.map((n) => St(n))) !== null && e !== void 0 ? e : [ya].filter((n) => n != null),
729
+ da(z(t.value ? a[1] : a[0])),
730
+ da(h(t.value ? a[2] : a[1])),
731
+ z(t.value ? a[3] : a[2])
732
+ ];
733
+ }, ([e, o, n, i], l, u) => {
734
+ if (!(e != null && e.length) || !(o != null && o.length) || !(n != null && n.length)) return;
735
+ const p = zt(i) ? { ...i } : i, f = e.flatMap((g) => o.flatMap((w) => n.map((M) => r(g, w, M, p))));
736
+ u(() => {
737
+ f.forEach((g) => g());
738
+ });
739
+ }, { flush: "post" });
740
+ }
741
+ function It(a, r = {}) {
742
+ const { immediate: t = !0, fpsLimit: e = null, window: o = ya, once: n = !1 } = r, i = Oa(!1), l = B(() => {
743
+ const M = z(e);
744
+ return M ? 1e3 / M : null;
745
+ });
746
+ let u = 0, p = null;
747
+ function f(M) {
748
+ if (!i.value || !o) return;
749
+ u || (u = M);
750
+ const P = M - u;
751
+ if (l.value && P < l.value) {
752
+ p = o.requestAnimationFrame(f);
753
+ return;
754
+ }
755
+ if (u = M, a({
756
+ delta: P,
757
+ timestamp: M
758
+ }), n) {
759
+ i.value = !1, p = null;
760
+ return;
761
+ }
762
+ p = o.requestAnimationFrame(f);
763
+ }
764
+ function g() {
765
+ !i.value && o && (i.value = !0, u = 0, p = o.requestAnimationFrame(f));
766
+ }
767
+ function w() {
768
+ i.value = !1, p != null && o && (o.cancelAnimationFrame(p), p = null);
769
+ }
770
+ return t && g(), yt(w), {
771
+ isActive: tt(i),
772
+ pause: w,
773
+ resume: g
774
+ };
775
+ }
776
+ const na = {
777
+ speed: 2,
778
+ margin: 30,
779
+ direction: "both"
780
+ };
781
+ function Pt(a) {
782
+ a.scrollLeft > a.scrollWidth - a.clientWidth && (a.scrollLeft = Math.max(0, a.scrollWidth - a.clientWidth)), a.scrollTop > a.scrollHeight - a.clientHeight && (a.scrollTop = Math.max(0, a.scrollHeight - a.clientHeight));
783
+ }
784
+ function _t(a, r = {}) {
785
+ var t, e, o, n;
786
+ const { pointerTypes: i, preventDefault: l, stopPropagation: u, exact: p, onMove: f, onEnd: g, onStart: w, initialValue: M, axis: P = "both", draggingElement: v = ya, containerElement: s, handle: c = a, buttons: y = [0], restrictInView: F, autoScroll: Y = !1 } = r, O = A((t = z(M)) !== null && t !== void 0 ? t : {
787
+ x: 0,
788
+ y: 0
789
+ }), N = A(), X = (b) => i ? i.includes(b.pointerType) : !0, E = (b) => {
790
+ z(l) && b.preventDefault(), z(u) && b.stopPropagation();
791
+ }, $ = z(Y), J = typeof $ == "object" ? {
792
+ speed: (e = z($.speed)) !== null && e !== void 0 ? e : na.speed,
793
+ margin: (o = z($.margin)) !== null && o !== void 0 ? o : na.margin,
794
+ direction: (n = $.direction) !== null && n !== void 0 ? n : na.direction
795
+ } : na, ka = (b) => typeof b == "number" ? [b, b] : [b.x, b.y], za = (b, m, k) => {
796
+ const { clientWidth: _, clientHeight: S, scrollLeft: L, scrollTop: aa, scrollWidth: ua, scrollHeight: Ua } = b, [Ca, Sa] = ka(J.margin), [Ia, Pa] = ka(J.speed);
797
+ let ta = 0, ra = 0;
798
+ (J.direction === "x" || J.direction === "both") && (k.x < Ca && L > 0 ? ta = -Ia : k.x + m.width > _ - Ca && L < ua - _ && (ta = Ia)), (J.direction === "y" || J.direction === "both") && (k.y < Sa && aa > 0 ? ra = -Pa : k.y + m.height > S - Sa && aa < Ua - S && (ra = Pa)), (ta || ra) && b.scrollBy({
799
+ left: ta,
800
+ top: ra,
801
+ behavior: "auto"
802
+ });
803
+ };
804
+ let D = null;
805
+ const $a = () => {
806
+ const b = z(s);
807
+ b && !D && (D = setInterval(() => {
808
+ const m = z(a).getBoundingClientRect(), { x: k, y: _ } = O.value, S = {
809
+ x: k - b.scrollLeft,
810
+ y: _ - b.scrollTop
811
+ };
812
+ S.x >= 0 && S.y >= 0 && (za(b, m, S), S.x += b.scrollLeft, S.y += b.scrollTop, O.value = S);
813
+ }, 1e3 / 60));
814
+ }, Ma = () => {
815
+ D && (clearInterval(D), D = null);
816
+ }, Ha = (b, m, k, _) => {
817
+ const [S, L] = typeof k == "number" ? [k, k] : [k.x, k.y], { clientWidth: aa, clientHeight: ua } = m;
818
+ return b.x < S || b.x + _.width > aa - S || b.y < L || b.y + _.height > ua - L;
819
+ }, Ba = () => {
820
+ if (z(r.disabled) || !N.value) return;
821
+ const b = z(s);
822
+ if (!b) return;
823
+ const m = z(a).getBoundingClientRect(), { x: k, y: _ } = O.value;
824
+ Ha({
825
+ x: k - b.scrollLeft,
826
+ y: _ - b.scrollTop
827
+ }, b, J.margin, m) ? $a() : Ma();
828
+ };
829
+ z(Y) && K(O, Ba);
830
+ const Ea = (b) => {
831
+ var m;
832
+ if (!z(y).includes(b.button) || z(r.disabled) || !X(b) || z(p) && b.target !== z(a)) return;
833
+ const k = z(s), _ = k == null || (m = k.getBoundingClientRect) === null || m === void 0 ? void 0 : m.call(k), S = z(a).getBoundingClientRect(), L = {
834
+ x: b.clientX - (k ? S.left - _.left + (Y ? 0 : k.scrollLeft) : S.left),
835
+ y: b.clientY - (k ? S.top - _.top + (Y ? 0 : k.scrollTop) : S.top)
836
+ };
837
+ (w == null ? void 0 : w(L, b)) !== !1 && (N.value = L, E(b));
838
+ }, Ga = (b) => {
839
+ if (z(r.disabled) || !X(b) || !N.value) return;
840
+ const m = z(s);
841
+ m instanceof HTMLElement && Pt(m);
842
+ const k = z(a).getBoundingClientRect();
843
+ let { x: _, y: S } = O.value;
844
+ if ((P === "x" || P === "both") && (_ = b.clientX - N.value.x, m && (_ = Math.min(Math.max(0, _), m.scrollWidth - k.width))), (P === "y" || P === "both") && (S = b.clientY - N.value.y, m && (S = Math.min(Math.max(0, S), m.scrollHeight - k.height))), z(Y) && m && (D === null && za(m, k, {
845
+ x: _,
846
+ y: S
847
+ }), _ += m.scrollLeft, S += m.scrollTop), m && (F || Y)) {
848
+ if (P !== "y") {
849
+ const L = _ - m.scrollLeft;
850
+ L < 0 ? _ = m.scrollLeft : L > m.clientWidth - k.width && (_ = m.clientWidth - k.width + m.scrollLeft);
851
+ }
852
+ if (P !== "x") {
853
+ const L = S - m.scrollTop;
854
+ L < 0 ? S = m.scrollTop : L > m.clientHeight - k.height && (S = m.clientHeight - k.height + m.scrollTop);
855
+ }
856
+ }
857
+ O.value = {
858
+ x: _,
859
+ y: S
860
+ }, f == null || f(O.value, b), E(b);
861
+ }, Ja = (b) => {
862
+ z(r.disabled) || !X(b) || N.value && (N.value = void 0, Y && Ma(), g == null || g(O.value, b), E(b));
863
+ };
864
+ if (Va) {
865
+ const b = () => {
866
+ var m;
867
+ return {
868
+ capture: (m = r.capture) !== null && m !== void 0 ? m : !0,
869
+ passive: !z(l)
870
+ };
871
+ };
872
+ ca(c, "pointerdown", Ea, b), ca(v, "pointermove", Ga, b), ca(v, "pointerup", Ja, b);
873
+ }
874
+ return {
875
+ ...Mt(O),
876
+ position: O,
877
+ isDragging: B(() => !!N.value),
878
+ style: B(() => `
879
+ left: ${O.value.x}px;
880
+ top: ${O.value.y}px;
881
+ ${Y ? "text-wrap: nowrap;" : ""}
882
+ `)
883
+ };
884
+ }
885
+ // @__NO_SIDE_EFFECTS__
886
+ function Tt(a) {
887
+ var r;
888
+ const t = Oa(0);
889
+ if (typeof performance > "u") return t;
890
+ const e = (r = void 0) !== null && r !== void 0 ? r : 10;
891
+ let o = performance.now(), n = 0;
892
+ return It(() => {
893
+ if (n += 1, n >= e) {
894
+ const i = performance.now(), l = i - o;
895
+ t.value = Math.round(1e3 / (l / n)), o = i, n = 0;
896
+ }
897
+ }), t;
898
+ }
899
+ (function() {
900
+ try {
901
+ if (typeof document < "u") {
902
+ var a = document.createElement("style");
903
+ a.appendChild(document.createTextNode('.tabs-container[data-v-883d4db1]{position:relative}.tabs-container[data-v-883d4db1]:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:1rem;padding:1px;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}[data-v-883d4db1],[data-v-883d4db1]:before,[data-v-883d4db1]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-883d4db1]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-883d4db1]{pointer-events:auto}.absolute[data-v-883d4db1]{position:absolute}.relative[data-v-883d4db1]{position:relative}.inset-0[data-v-883d4db1]{top:0;right:0;bottom:0;left:0}.z-10[data-v-883d4db1]{z-index:10}.mb-1\\.5[data-v-883d4db1]{margin-bottom:.375rem}.h-4[data-v-883d4db1]{height:1rem}.w-4[data-v-883d4db1]{width:1rem}.flex[data-v-883d4db1]{display:flex}.flex-1[data-v-883d4db1]{flex:1 1 0%}.flex-col[data-v-883d4db1]{flex-direction:column}.scale-\\[1\\.02\\][data-v-883d4db1]{--un-scale-x:1.02;--un-scale-y:1.02;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-110[data-v-883d4db1]{--un-scale-x:1.1;--un-scale-y:1.1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.group\\/tab:hover .group-hover\\/tab\\:scale-105[data-v-883d4db1]{--un-scale-x:1.05;--un-scale-y:1.05;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.hover\\:scale-\\[1\\.01\\][data-v-883d4db1]:hover{--un-scale-x:1.01;--un-scale-y:1.01;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer[data-v-883d4db1]{cursor:pointer}.items-center[data-v-883d4db1]{align-items:center}.justify-center[data-v-883d4db1]{justify-content:center}.gap-1\\.5[data-v-883d4db1]{gap:.375rem}.gap-2[data-v-883d4db1]{gap:.5rem}.overflow-hidden[data-v-883d4db1]{overflow:hidden}.border[data-v-883d4db1]{border-width:1px}.border-white\\/10[data-v-883d4db1]{border-color:#ffffff1a}.border-white\\/5[data-v-883d4db1]{border-color:#ffffff0d}.rounded-2xl[data-v-883d4db1]{border-radius:1rem}.rounded-xl[data-v-883d4db1]{border-radius:.75rem}.bg-white\\/\\[0\\.04\\][data-v-883d4db1]{background-color:#ffffff0a}.hover\\:bg-white\\/10[data-v-883d4db1]:hover{background-color:#ffffff1a}.from-black\\/50[data-v-883d4db1]{--un-gradient-from-position:0%;--un-gradient-from:rgb(0 0 0 / .5) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(0 0 0 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-blue-400\\/0[data-v-883d4db1]{--un-gradient-from-position:0%;--un-gradient-from:rgb(96 165 250 / 0) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(96 165 250 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-blue-500[data-v-883d4db1]{--un-gradient-from-position:0%;--un-gradient-from:rgb(59 130 246 / var(--un-from-opacity, 1)) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(59 130 246 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.from-white\\/20[data-v-883d4db1]{--un-gradient-from-position:0%;--un-gradient-from:rgb(255 255 255 / .2) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.via-blue-400\\/5[data-v-883d4db1]{--un-gradient-via-position:50%;--un-gradient-to:rgb(96 165 250 / 0);--un-gradient-stops:var(--un-gradient-from), rgb(96 165 250 / .05) var(--un-gradient-via-position), var(--un-gradient-to)}.to-black\\/30[data-v-883d4db1]{--un-gradient-to-position:100%;--un-gradient-to:rgb(0 0 0 / .3) var(--un-gradient-to-position)}.to-blue-400\\/0[data-v-883d4db1]{--un-gradient-to-position:100%;--un-gradient-to:rgb(96 165 250 / 0) var(--un-gradient-to-position)}.to-blue-600[data-v-883d4db1]{--un-gradient-to-position:100%;--un-gradient-to:rgb(37 99 235 / var(--un-to-opacity, 1)) var(--un-gradient-to-position)}.to-transparent[data-v-883d4db1]{--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position)}.bg-gradient-to-b[data-v-883d4db1]{--un-gradient-shape:to bottom in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-br[data-v-883d4db1]{--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.bg-gradient-to-t[data-v-883d4db1]{--un-gradient-shape:to top in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}.p-1\\.5[data-v-883d4db1]{padding:.375rem}.p-2[data-v-883d4db1]{padding:.5rem}.text-center[data-v-883d4db1]{text-align:center}.text-\\[8px\\][data-v-883d4db1]{font-size:8px}.text-white[data-v-883d4db1]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.text-white\\/30[data-v-883d4db1]{color:#ffffff4d}.text-white\\/50[data-v-883d4db1]{color:#ffffff80}.group\\/tab:hover .group-hover\\/tab\\:text-white\\/60[data-v-883d4db1]{color:#fff9}.hover\\:text-white[data-v-883d4db1]:hover{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-black[data-v-883d4db1]{font-weight:900}.leading-tight[data-v-883d4db1]{line-height:1.25}.tracking-\\[0\\.15em\\][data-v-883d4db1]{letter-spacing:.15em}.uppercase[data-v-883d4db1]{text-transform:uppercase}.tab[data-v-883d4db1]{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.opacity-0[data-v-883d4db1]{opacity:0}.opacity-50[data-v-883d4db1]{opacity:.5}.group\\/tab:hover .group-hover\\/tab\\:opacity-100[data-v-883d4db1]{opacity:1}.shadow-2xl[data-v-883d4db1]{--un-shadow:var(--un-shadow-inset) 0 25px 50px -12px var(--un-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-blue-500\\/30[data-v-883d4db1]{--un-shadow-color:rgb(59 130 246 / .3) }.shadow-lg[data-v-883d4db1]{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur-xl[data-v-883d4db1]{--un-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.drop-shadow-lg[data-v-883d4db1]{--un-drop-shadow:drop-shadow(0 10px 8px var(--un-drop-shadow-color, rgb(0 0 0 / .04))) drop-shadow(0 4px 3px var(--un-drop-shadow-color, rgb(0 0 0 / .1)));filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-all[data-v-883d4db1]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity[data-v-883d4db1]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform[data-v-883d4db1]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300[data-v-883d4db1]{transition-duration:.3s}.panel-base[data-v-29a974c4]{background:#0a0a0cd9;-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);border-radius:1rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 32px 64px -16px #000000b3,0 0 0 1px #ffffff0d;pointer-events:auto}[data-v-29a974c4],[data-v-29a974c4]:before,[data-v-29a974c4]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-29a974c4]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-29a974c4]{pointer-events:auto}.fixed[data-v-29a974c4]{position:fixed}.z-\\[10000\\][data-v-29a974c4]{z-index:10000}.h-1\\.5[data-v-29a974c4]{height:.375rem}.h-12[data-v-29a974c4]{height:3rem}.h-3\\.5[data-v-29a974c4]{height:.875rem}.h-7[data-v-29a974c4]{height:1.75rem}.w-1\\.5[data-v-29a974c4]{width:.375rem}.w-3\\.5[data-v-29a974c4]{width:.875rem}.w-7[data-v-29a974c4]{width:1.75rem}.w-80[data-v-29a974c4]{width:20rem}.flex[data-v-29a974c4]{display:flex}.flex-col[data-v-29a974c4]{flex-direction:column}.cursor-pointer[data-v-29a974c4]{cursor:pointer}.cursor-move[data-v-29a974c4]{cursor:move}.active\\:cursor-grabbing[data-v-29a974c4]:active{cursor:grabbing}.select-none[data-v-29a974c4]{-webkit-user-select:none;user-select:none}.items-center[data-v-29a974c4]{align-items:center}.justify-center[data-v-29a974c4]{justify-content:center}.justify-between[data-v-29a974c4]{justify-content:space-between}.gap-2[data-v-29a974c4]{gap:.5rem}.gap-3[data-v-29a974c4]{gap:.75rem}.overflow-hidden[data-v-29a974c4]{overflow:hidden}.truncate[data-v-29a974c4]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border[data-v-29a974c4]{border-width:1px}.border-b[data-v-29a974c4]{border-bottom-width:1px}.border-white\\/10[data-v-29a974c4]{border-color:#ffffff1a}.border-white\\/5[data-v-29a974c4]{border-color:#ffffff0d}.hover\\:border-blue-500\\/30[data-v-29a974c4]:hover{border-color:#3b82f64d}.hover\\:border-red-500\\/30[data-v-29a974c4]:hover{border-color:#ef44444d}.rounded-full[data-v-29a974c4]{border-radius:9999px}.rounded-lg[data-v-29a974c4]{border-radius:.5rem}.bg-blue-500[data-v-29a974c4]{--un-bg-opacity:1;background-color:rgb(59 130 246 / var(--un-bg-opacity))}.bg-white\\/5[data-v-29a974c4]{background-color:#ffffff0d}.hover\\:bg-red-500\\/20[data-v-29a974c4]:hover{background-color:#ef444433}.hover\\:bg-white\\/10[data-v-29a974c4]:hover{background-color:#ffffff1a}.px-5[data-v-29a974c4]{padding-left:1.25rem;padding-right:1.25rem}.text-\\[10px\\][data-v-29a974c4]{font-size:10px}.text-white[data-v-29a974c4]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.text-white\\/30[data-v-29a974c4]{color:#ffffff4d}.text-white\\/40[data-v-29a974c4]{color:#fff6}.text-white\\/60[data-v-29a974c4]{color:#fff9}.hover\\:text-white[data-v-29a974c4]:hover{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-bold[data-v-29a974c4]{font-weight:700}.tracking-\\[0\\.2em\\][data-v-29a974c4]{letter-spacing:.2em}.font-sans[data-v-29a974c4]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.uppercase[data-v-29a974c4]{text-transform:uppercase}.shadow-\\[0_0_8px_rgba\\(59\\,130\\,246\\,0\\.6\\)\\][data-v-29a974c4]{--un-shadow:0 0 8px var(--un-shadow-color, rgba(59, 130, 246, .6));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-filter[data-v-29a974c4]{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition-all[data-v-29a974c4]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.settings-container[data-v-47dffb90] input[type=range],.settings-container[data-v-47dffb90] button,.settings-container[data-v-47dffb90] select{pointer-events:auto!important}[data-v-47dffb90],[data-v-47dffb90]:before,[data-v-47dffb90]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-47dffb90]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-47dffb90]{pointer-events:auto}@keyframes spin-slow-6c1a0d2f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow[data-v-6c1a0d2f]{animation:spin-slow-6c1a0d2f 8s linear infinite}[data-v-6c1a0d2f],[data-v-6c1a0d2f]:before,[data-v-6c1a0d2f]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-6c1a0d2f]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-6c1a0d2f]{pointer-events:auto}.grid[data-v-6c1a0d2f]{display:grid}.grid-cols-2[data-v-6c1a0d2f]{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-1[data-v-6c1a0d2f]{margin-left:.25rem;margin-right:.25rem}.mb-0\\.5[data-v-6c1a0d2f]{margin-bottom:.125rem}.h-1\\.5[data-v-6c1a0d2f]{height:.375rem}.h-10[data-v-6c1a0d2f]{height:2.5rem}.h-5[data-v-6c1a0d2f]{height:1.25rem}.w-10[data-v-6c1a0d2f]{width:2.5rem}.w-5[data-v-6c1a0d2f]{width:1.25rem}.w-full[data-v-6c1a0d2f]{width:100%}.flex[data-v-6c1a0d2f]{display:flex}.flex-col[data-v-6c1a0d2f]{flex-direction:column}.transform[data-v-6c1a0d2f]{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer[data-v-6c1a0d2f]{cursor:pointer}.appearance-none[data-v-6c1a0d2f]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-center[data-v-6c1a0d2f]{align-items:center}.justify-center[data-v-6c1a0d2f]{justify-content:center}.justify-between[data-v-6c1a0d2f]{justify-content:space-between}.gap-3[data-v-6c1a0d2f]{gap:.75rem}.gap-4[data-v-6c1a0d2f]{gap:1rem}.gap-6[data-v-6c1a0d2f]{gap:1.5rem}.border[data-v-6c1a0d2f]{border-width:1px}.border-orange-500\\/10[data-v-6c1a0d2f]{border-color:#f973161a}.border-white\\/5[data-v-6c1a0d2f]{border-color:#ffffff0d}.group:hover .group-hover\\:border-white\\/20[data-v-6c1a0d2f]{border-color:#fff3}.rounded-full[data-v-6c1a0d2f]{border-radius:9999px}.rounded-xl[data-v-6c1a0d2f]{border-radius:.75rem}.bg-orange-500\\/5[data-v-6c1a0d2f]{background-color:#f973160d}.bg-white\\/\\[0\\.03\\][data-v-6c1a0d2f]{background-color:#ffffff08}.bg-white\\/5[data-v-6c1a0d2f]{background-color:#ffffff0d}.hover\\:bg-white\\/10[data-v-6c1a0d2f]:hover{background-color:#ffffff1a}.p-4[data-v-6c1a0d2f]{padding:1rem}.px-1[data-v-6c1a0d2f]{padding-left:.25rem;padding-right:.25rem}.py-2[data-v-6c1a0d2f]{padding-top:.5rem;padding-bottom:.5rem}.py-5[data-v-6c1a0d2f]{padding-top:1.25rem;padding-bottom:1.25rem}.text-center[data-v-6c1a0d2f]{text-align:center}.text-\\[11px\\][data-v-6c1a0d2f]{font-size:11px}.text-\\[9px\\][data-v-6c1a0d2f]{font-size:9px}.text-blue-400[data-v-6c1a0d2f],.group\\/item:hover .group-hover\\/item\\:text-blue-400[data-v-6c1a0d2f]{--un-text-opacity:1;color:rgb(96 165 250 / var(--un-text-opacity))}.text-current[data-v-6c1a0d2f]{color:currentColor}.text-green-400\\/60[data-v-6c1a0d2f]{color:#4ade8099}.text-orange-400\\/60[data-v-6c1a0d2f]{color:#fb923c99}.text-white\\/20[data-v-6c1a0d2f]{color:#fff3}.text-white\\/30[data-v-6c1a0d2f]{color:#ffffff4d}.text-white\\/40[data-v-6c1a0d2f]{color:#fff6}.group\\/item:hover .group-hover\\/item\\:text-white\\/50[data-v-6c1a0d2f]{color:#ffffff80}.hover\\:text-white[data-v-6c1a0d2f]:hover{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-black[data-v-6c1a0d2f]{font-weight:900}.font-medium[data-v-6c1a0d2f]{font-weight:500}.leading-relaxed[data-v-6c1a0d2f]{line-height:1.625}.tracking-\\[0\\.1em\\][data-v-6c1a0d2f]{letter-spacing:.1em}.tracking-\\[0\\.2em\\][data-v-6c1a0d2f]{letter-spacing:.2em}.font-mono[data-v-6c1a0d2f]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase[data-v-6c1a0d2f]{text-transform:uppercase}.accent-blue-500[data-v-6c1a0d2f]{--un-accent-opacity:1;accent-color:rgb(59 130 246 / var(--un-accent-opacity))}.shadow-inner[data-v-6c1a0d2f]{--un-shadow:inset 0 2px 4px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-sm[data-v-6c1a0d2f]{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.transition-all[data-v-6c1a0d2f]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-6c1a0d2f]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-v-b19e2d94],[data-v-b19e2d94]:before,[data-v-b19e2d94]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-b19e2d94]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-b19e2d94]{pointer-events:auto}.relative[data-v-b19e2d94]{position:relative}.grid[data-v-b19e2d94]{display:grid}.grid-cols-1[data-v-b19e2d94]{grid-template-columns:repeat(1,minmax(0,1fr))}.mb-2[data-v-b19e2d94]{margin-bottom:.5rem}.h-3\\.5[data-v-b19e2d94]{height:.875rem}.w-3\\.5[data-v-b19e2d94]{width:.875rem}.flex[data-v-b19e2d94]{display:flex}.flex-col[data-v-b19e2d94]{flex-direction:column}.flex-wrap[data-v-b19e2d94]{flex-wrap:wrap}.active\\:scale-\\[0\\.98\\][data-v-b19e2d94]:active{--un-scale-x:.98;--un-scale-y:.98;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer[data-v-b19e2d94]{cursor:pointer}.items-center[data-v-b19e2d94]{align-items:center}.justify-between[data-v-b19e2d94]{justify-content:space-between}.gap-1\\.5[data-v-b19e2d94]{gap:.375rem}.gap-2\\.5[data-v-b19e2d94]{gap:.625rem}.gap-3[data-v-b19e2d94]{gap:.75rem}.gap-5[data-v-b19e2d94]{gap:1.25rem}.overflow-hidden[data-v-b19e2d94]{overflow:hidden}.border[data-v-b19e2d94]{border-width:1px}.border-white\\/5[data-v-b19e2d94]{border-color:#ffffff0d}.rounded[data-v-b19e2d94]{border-radius:.25rem}.rounded-xl[data-v-b19e2d94]{border-radius:.75rem}.bg-white\\/\\[0\\.03\\][data-v-b19e2d94]{background-color:#ffffff08}.bg-white\\/5[data-v-b19e2d94]{background-color:#ffffff0d}.hover\\:bg-white\\/10[data-v-b19e2d94]:hover{background-color:#ffffff1a}.p-4[data-v-b19e2d94]{padding:1rem}.px-1[data-v-b19e2d94]{padding-left:.25rem;padding-right:.25rem}.px-1\\.5[data-v-b19e2d94]{padding-left:.375rem;padding-right:.375rem}.py-0\\.5[data-v-b19e2d94]{padding-top:.125rem;padding-bottom:.125rem}.text-left[data-v-b19e2d94]{text-align:left}.text-\\[8px\\][data-v-b19e2d94]{font-size:8px}.text-\\[9px\\][data-v-b19e2d94]{font-size:9px}.text-xs[data-v-b19e2d94]{font-size:.75rem;line-height:1rem}.text-white\\/10[data-v-b19e2d94]{color:#ffffff1a}.text-white\\/25[data-v-b19e2d94]{color:#ffffff40}.text-white\\/40[data-v-b19e2d94]{color:#fff6}.text-white\\/50[data-v-b19e2d94]{color:#ffffff80}.group:hover .group-hover\\:text-blue-400[data-v-b19e2d94]{--un-text-opacity:1;color:rgb(96 165 250 / var(--un-text-opacity))}.group:hover .group-hover\\:text-white[data-v-b19e2d94]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-black[data-v-b19e2d94]{font-weight:900}.tracking-tighter[data-v-b19e2d94]{letter-spacing:-.05em}.tracking-widest[data-v-b19e2d94]{letter-spacing:.1em}.font-mono[data-v-b19e2d94]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase[data-v-b19e2d94]{text-transform:uppercase}.opacity-20[data-v-b19e2d94]{opacity:.2}.group:hover .group-hover\\:opacity-60[data-v-b19e2d94]{opacity:.6}.transition-all[data-v-b19e2d94]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-b19e2d94]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity[data-v-b19e2d94]{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.custom-scrollbar[data-v-bc42beda]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-bc42beda]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-bc42beda]::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.custom-scrollbar[data-v-bc42beda]::-webkit-scrollbar-thumb:hover{background:#fff3}[data-v-bc42beda],[data-v-bc42beda]:before,[data-v-bc42beda]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-bc42beda]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-bc42beda]{pointer-events:auto}.absolute[data-v-bc42beda]{position:absolute}.relative[data-v-bc42beda]{position:relative}.right-3[data-v-bc42beda]{right:.75rem}.top-3[data-v-bc42beda]{top:.75rem}.h-4[data-v-bc42beda]{height:1rem}.max-h-32[data-v-bc42beda]{max-height:8rem}.max-h-48[data-v-bc42beda]{max-height:12rem}.w-4[data-v-bc42beda]{width:1rem}.flex[data-v-bc42beda]{display:flex}.flex-col[data-v-bc42beda]{flex-direction:column}.cursor-pointer[data-v-bc42beda]{cursor:pointer}.items-center[data-v-bc42beda]{align-items:center}.justify-between[data-v-bc42beda]{justify-content:space-between}.gap-3[data-v-bc42beda]{gap:.75rem}.gap-6[data-v-bc42beda]{gap:1.5rem}.overflow-hidden[data-v-bc42beda]{overflow:hidden}.overflow-y-auto[data-v-bc42beda]{overflow-y:auto}.whitespace-pre-wrap[data-v-bc42beda]{white-space:pre-wrap}.border[data-v-bc42beda]{border-width:1px}.border-white\\/10[data-v-bc42beda]{border-color:#ffffff1a}.border-white\\/5[data-v-bc42beda]{border-color:#ffffff0d}.rounded-lg[data-v-bc42beda]{border-radius:.5rem}.rounded-xl[data-v-bc42beda]{border-radius:.75rem}.bg-black\\/40[data-v-bc42beda]{background-color:#0006}.bg-white\\/5[data-v-bc42beda]{background-color:#ffffff0d}.hover\\:bg-blue-600[data-v-bc42beda]:hover{--un-bg-opacity:1;background-color:rgb(37 99 235 / var(--un-bg-opacity))}.active\\:bg-blue-700[data-v-bc42beda]:active{--un-bg-opacity:1;background-color:rgb(29 78 216 / var(--un-bg-opacity))}.p-2[data-v-bc42beda]{padding:.5rem}.p-4[data-v-bc42beda]{padding:1rem}.px-1[data-v-bc42beda]{padding-left:.25rem;padding-right:.25rem}.text-\\[9px\\][data-v-bc42beda]{font-size:9px}.text-white\\/25[data-v-bc42beda]{color:#ffffff40}.text-white\\/30[data-v-bc42beda]{color:#ffffff4d}.text-white\\/40[data-v-bc42beda]{color:#fff6}.font-black[data-v-bc42beda]{font-weight:900}.leading-relaxed[data-v-bc42beda]{line-height:1.625}.tracking-widest[data-v-bc42beda]{letter-spacing:.1em}.font-mono[data-v-bc42beda]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase[data-v-bc42beda]{text-transform:uppercase}.italic[data-v-bc42beda]{font-style:italic}.opacity-0[data-v-bc42beda]{opacity:0}.group:hover .group-hover\\:opacity-100[data-v-bc42beda]{opacity:1}.shadow-inner[data-v-bc42beda]{--un-shadow:inset 0 2px 4px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.transition-all[data-v-bc42beda]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-v-63239024],[data-v-63239024]:before,[data-v-63239024]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-63239024]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.relative[data-v-63239024]{position:relative}.mb-1[data-v-63239024]{margin-bottom:.25rem}.h-24[data-v-63239024]{height:6rem}.h-5[data-v-63239024]{height:1.25rem}.h-full[data-v-63239024]{height:100%}.w-5[data-v-63239024]{width:1.25rem}.w-full[data-v-63239024]{width:100%}.flex[data-v-63239024]{display:flex}.flex-col[data-v-63239024]{flex-direction:column}.items-end[data-v-63239024]{align-items:flex-end}.items-center[data-v-63239024]{align-items:center}.justify-center[data-v-63239024]{justify-content:center}.justify-between[data-v-63239024]{justify-content:space-between}.gap-3[data-v-63239024]{gap:.75rem}.gap-6[data-v-63239024]{gap:1.5rem}.overflow-hidden[data-v-63239024]{overflow:hidden}.border[data-v-63239024]{border-width:1px}.border-white\\/10[data-v-63239024]{border-color:#ffffff1a}.rounded-2xl[data-v-63239024]{border-radius:1rem}.rounded-xl[data-v-63239024]{border-radius:.75rem}.bg-black\\/40[data-v-63239024]{background-color:#0006}.from-white\\/\\[0\\.05\\][data-v-63239024]{--un-gradient-from-position:0%;--un-gradient-from:rgb(255 255 255 / .05) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.hover\\:from-white\\/\\[0\\.08\\][data-v-63239024]:hover{--un-gradient-from-position:0%;--un-gradient-from:rgb(255 255 255 / .08) var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / 0) var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from), var(--un-gradient-to)}.to-white\\/\\[0\\.02\\][data-v-63239024]{--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / .02) var(--un-gradient-to-position)}.hover\\:to-white\\/\\[0\\.04\\][data-v-63239024]:hover{--un-gradient-to-position:100%;--un-gradient-to:rgb(255 255 255 / .04) var(--un-gradient-to-position)}.bg-gradient-to-br[data-v-63239024]{--un-gradient-shape:to bottom right in oklch;--un-gradient:var(--un-gradient-shape), var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient))}[stroke-width~="2"][data-v-63239024]{stroke-width:2px}.stroke-blue-400\\/40[data-v-63239024]{stroke:#60a5fa66}[stroke~=none][data-v-63239024]{stroke:none}.p-6[data-v-63239024]{padding:1.5rem}.px-1[data-v-63239024]{padding-left:.25rem;padding-right:.25rem}.py-2[data-v-63239024]{padding-top:.5rem;padding-bottom:.5rem}.text-\\[10px\\][data-v-63239024]{font-size:10px}.text-\\[11px\\][data-v-63239024]{font-size:11px}.text-\\[8px\\][data-v-63239024]{font-size:8px}.text-\\[9px\\][data-v-63239024]{font-size:9px}.text-6xl[data-v-63239024]{font-size:3.75rem;line-height:1}.text-blue-400\\/40[data-v-63239024]{color:#60a5fa66}.text-green-400[data-v-63239024]{--un-text-opacity:1;color:rgb(74 222 128 / var(--un-text-opacity))}.text-red-400[data-v-63239024]{--un-text-opacity:1;color:rgb(248 113 113 / var(--un-text-opacity))}.text-white\\/15[data-v-63239024]{color:#ffffff26}.text-white\\/25[data-v-63239024]{color:#ffffff40}.text-white\\/30[data-v-63239024]{color:#ffffff4d}.text-yellow-400[data-v-63239024]{--un-text-opacity:1;color:rgb(250 204 21 / var(--un-text-opacity))}.group\\/stat:hover .group-hover\\/stat\\:text-blue-400\\/70[data-v-63239024]{color:#60a5fab3}.font-black[data-v-63239024]{font-weight:900}.font-bold[data-v-63239024]{font-weight:700}.tracking-\\[0\\.15em\\][data-v-63239024]{letter-spacing:.15em}.tracking-\\[0\\.2em\\][data-v-63239024]{letter-spacing:.2em}.tracking-tighter[data-v-63239024]{letter-spacing:-.05em}.tracking-widest[data-v-63239024]{letter-spacing:.1em}.font-mono[data-v-63239024]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase[data-v-63239024]{text-transform:uppercase}.shadow-inner[data-v-63239024]{--un-shadow:inset 0 2px 4px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl[data-v-63239024]{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-1[data-v-63239024]{--un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-white\\/5[data-v-63239024]{--un-ring-color:rgb(255 255 255 / .05) }.ring-inset[data-v-63239024]{--un-ring-inset:inset}.drop-shadow-\\[0_0_20px_rgba\\(234\\,179\\,8\\,0\\.5\\)\\][data-v-63239024]{--un-drop-shadow:drop-shadow(0 0 20px rgba(234,179,8,.5));filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.drop-shadow-\\[0_0_20px_rgba\\(239\\,68\\,68\\,0\\.5\\)\\][data-v-63239024]{--un-drop-shadow:drop-shadow(0 0 20px rgba(239,68,68,.5));filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.drop-shadow-\\[0_0_20px_rgba\\(34\\,197\\,94\\,0\\.5\\)\\][data-v-63239024]{--un-drop-shadow:drop-shadow(0 0 20px rgba(34,197,94,.5));filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-all[data-v-63239024]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-63239024]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300[data-v-63239024]{transition-duration:.3s}[data-v-eb6add23],[data-v-eb6add23]:before,[data-v-eb6add23]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-eb6add23]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-eb6add23]{pointer-events:auto}.absolute[data-v-eb6add23]{position:absolute}.fixed[data-v-eb6add23]{position:fixed}.bottom-8[data-v-eb6add23]{bottom:2rem}.right-3[data-v-eb6add23]{right:.75rem}.right-8[data-v-eb6add23]{right:2rem}.top-3[data-v-eb6add23]{top:.75rem}.z-\\[10001\\][data-v-eb6add23]{z-index:10001}.h-14[data-v-eb6add23]{height:3.5rem}.h-2\\.5[data-v-eb6add23]{height:.625rem}.h-6[data-v-eb6add23]{height:1.5rem}.w-14[data-v-eb6add23]{width:3.5rem}.w-2\\.5[data-v-eb6add23]{width:.625rem}.w-6[data-v-eb6add23]{width:1.5rem}.flex[data-v-eb6add23]{display:flex}.rotate-180[data-v-eb6add23]{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:180deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.scale-110[data-v-eb6add23]{--un-scale-x:1.1;--un-scale-y:1.1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.active\\:scale-90[data-v-eb6add23]:active{--un-scale-x:.9;--un-scale-y:.9;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.items-center[data-v-eb6add23]{align-items:center}.justify-center[data-v-eb6add23]{justify-content:center}.border[data-v-eb6add23]{border-width:1px}.border-2[data-v-eb6add23]{border-width:2px}.border-\\[\\#121212\\][data-v-eb6add23]{--un-border-opacity:1;border-color:rgb(18 18 18 / var(--un-border-opacity))}.border-white\\/20[data-v-eb6add23]{border-color:#fff3}.rounded-full[data-v-eb6add23]{border-radius:9999px}.bg-\\[\\#121212\\]\\/90[data-v-eb6add23]{background-color:#121212e6}.bg-green-500[data-v-eb6add23]{--un-bg-opacity:1;background-color:rgb(34 197 94 / var(--un-bg-opacity))}.hover\\:bg-black[data-v-eb6add23]:hover{--un-bg-opacity:1;background-color:rgb(0 0 0 / var(--un-bg-opacity))}.text-blue-400[data-v-eb6add23]{--un-text-opacity:1;color:rgb(96 165 250 / var(--un-text-opacity))}.text-white\\/50[data-v-eb6add23]{color:#ffffff80}.hover\\:text-white[data-v-eb6add23]:hover{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.shadow-\\[0_0_8px_rgba\\(34\\,197\\,94\\,0\\.6\\)\\][data-v-eb6add23]{--un-shadow:0 0 8px var(--un-shadow-color, rgba(34, 197, 94, .6));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-\\[0_20px_40px_-8px_rgba\\(0\\,0\\,0\\,0\\.5\\)\\][data-v-eb6add23]{--un-shadow:0 20px 40px -8px var(--un-shadow-color, rgba(0, 0, 0, .5));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-4[data-v-eb6add23]{--un-ring-width:4px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-white\\/5[data-v-eb6add23]{--un-ring-color:rgb(255 255 255 / .05) }.backdrop-blur-2xl[data-v-eb6add23]{--un-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition-all[data-v-eb6add23]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform[data-v-eb6add23]{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500[data-v-eb6add23]{transition-duration:.5s}[data-v-7e780824],[data-v-7e780824]:before,[data-v-7e780824]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-7e780824]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.fixed[data-v-7e780824]{position:fixed}.bottom-24[data-v-7e780824]{bottom:6rem}.right-8[data-v-7e780824]{right:2rem}.z-\\[10002\\][data-v-7e780824]{z-index:10002}.h-4[data-v-7e780824]{height:1rem}.w-4[data-v-7e780824]{width:1rem}.flex[data-v-7e780824]{display:flex}.translate-y-0[data-v-7e780824]{--un-translate-y:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-y-4[data-v-7e780824]{--un-translate-y:1rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.items-center[data-v-7e780824]{align-items:center}.gap-2[data-v-7e780824]{gap:.5rem}.border[data-v-7e780824]{border-width:1px}.border-green-400\\/30[data-v-7e780824]{border-color:#4ade804d}.rounded-xl[data-v-7e780824]{border-radius:.75rem}.bg-green-600\\/90[data-v-7e780824]{background-color:#16a34ae6}[stroke-width~="2"][data-v-7e780824]{stroke-width:2px}.px-5[data-v-7e780824]{padding-left:1.25rem;padding-right:1.25rem}.py-3[data-v-7e780824]{padding-top:.75rem;padding-bottom:.75rem}.text-sm[data-v-7e780824]{font-size:.875rem;line-height:1.25rem}.text-white[data-v-7e780824]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-bold[data-v-7e780824]{font-weight:700}.opacity-0[data-v-7e780824]{opacity:0}.opacity-100[data-v-7e780824]{opacity:1}.shadow-2xl[data-v-7e780824]{--un-shadow:var(--un-shadow-inset) 0 25px 50px -12px var(--un-shadow-color, rgb(0 0 0 / .25));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur-xl[data-v-7e780824]{--un-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition-all[data-v-7e780824]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300[data-v-7e780824]{transition-duration:.3s}.custom-scrollbar[data-v-e0f091f2]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-e0f091f2]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-e0f091f2]::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.custom-scrollbar[data-v-e0f091f2]::-webkit-scrollbar-thumb:hover{background:#fff3}[data-v-e0f091f2],[data-v-e0f091f2]:before,[data-v-e0f091f2]:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }[data-v-e0f091f2]::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-auto[data-v-e0f091f2]{pointer-events:auto}.h-11[data-v-e0f091f2]{height:2.75rem}.h-3\\.5[data-v-e0f091f2]{height:.875rem}.max-h-\\[480px\\][data-v-e0f091f2]{max-height:480px}.w-3\\.5[data-v-e0f091f2]{width:.875rem}.w-full[data-v-e0f091f2]{width:100%}.flex[data-v-e0f091f2]{display:flex}.flex-1[data-v-e0f091f2]{flex:1 1 0%}.group\\/btn:hover .group-hover\\/btn\\:rotate-12[data-v-e0f091f2]{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:12deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.active\\:scale-\\[0\\.98\\][data-v-e0f091f2]:active{--un-scale-x:.98;--un-scale-y:.98;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer[data-v-e0f091f2]{cursor:pointer}.items-center[data-v-e0f091f2]{align-items:center}.justify-center[data-v-e0f091f2]{justify-content:center}.gap-3[data-v-e0f091f2]{gap:.75rem}.overflow-y-auto[data-v-e0f091f2]{overflow-y:auto}.border[data-v-e0f091f2]{border-width:1px}.border-white\\/5[data-v-e0f091f2]{border-color:#ffffff0d}.rounded-xl[data-v-e0f091f2]{border-radius:.75rem}.bg-white\\/\\[0\\.03\\][data-v-e0f091f2]{background-color:#ffffff08}.hover\\:bg-white\\/10[data-v-e0f091f2]:hover{background-color:#ffffff1a}.px-5[data-v-e0f091f2]{padding-left:1.25rem;padding-right:1.25rem}.py-2[data-v-e0f091f2]{padding-top:.5rem;padding-bottom:.5rem}.py-3[data-v-e0f091f2]{padding-top:.75rem;padding-bottom:.75rem}.pb-5[data-v-e0f091f2]{padding-bottom:1.25rem}.pt-3[data-v-e0f091f2]{padding-top:.75rem}.text-\\[10px\\][data-v-e0f091f2]{font-size:10px}.text-white\\/30[data-v-e0f091f2]{color:#ffffff4d}.text-white\\/50[data-v-e0f091f2]{color:#ffffff80}.group\\/btn:hover .group-hover\\/btn\\:text-blue-400[data-v-e0f091f2]{--un-text-opacity:1;color:rgb(96 165 250 / var(--un-text-opacity))}.group\\/btn:hover .group-hover\\/btn\\:text-white[data-v-e0f091f2]{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-bold[data-v-e0f091f2]{font-weight:700}.tracking-\\[0\\.25em\\][data-v-e0f091f2]{letter-spacing:.25em}.uppercase[data-v-e0f091f2]{text-transform:uppercase}.shadow-sm[data-v-e0f091f2]{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.transition-all[data-v-e0f091f2]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors[data-v-e0f091f2]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}')), document.head.appendChild(a);
904
+ }
905
+ } catch (r) {
906
+ console.error("vite-plugin-css-injected-by-js", r);
907
+ }
908
+ })();
909
+ const Yt = {
910
+ settings: "配置",
911
+ animation: "动画",
912
+ presets: "预设",
913
+ export: "导出",
914
+ stats: "性能"
915
+ }, jt = "播放引擎", At = "继续", Ft = "运行中", Ot = "重置", Rt = "引擎当前已暂停。配置更改仍会生效,但可能在恢复前无法即时预览。", Xt = "内置预设", Nt = "Vue 组件 (SFC)", Lt = "组件属性用法", Vt = "配置数据 (JSON)", Zt = "全选复制", $t = "复制成功", Ht = "实时性能统计", Bt = "滚动 30 个采样点", Et = "随机生成", Gt = "帧率", Jt = "帧每秒", Ut = "动画速度", Wt = "速度值", Dt = {
916
+ tabs: Yt,
917
+ engine: jt,
918
+ resume: At,
919
+ active: Ft,
920
+ restart: Ot,
921
+ pausedHint: Rt,
922
+ presets: Xt,
923
+ vueComponent: Nt,
924
+ componentProps: Lt,
925
+ configJson: Vt,
926
+ copyAll: Zt,
927
+ copySuccess: $t,
928
+ stats: Ht,
929
+ rolling: Bt,
930
+ randomize: Et,
931
+ frameRate: Gt,
932
+ framesPerSecond: Jt,
933
+ timeSpeed: Ut,
934
+ timeSpeedValue: Wt
935
+ }, qt = {
936
+ settings: "Config",
937
+ animation: "Anim",
938
+ presets: "Presets",
939
+ export: "Export",
940
+ stats: "Stats"
941
+ }, Kt = "Playback Engine", Qt = "Resume", ar = "Active", tr = "Restart", rr = "Engine is currently paused. Configuration updates will take effect but may not be visually updated until resumed.", er = "Built-in Presets", nr = "Vue Component (SFC)", or = "Component Props Usage", ir = "Configuration JSON", sr = "COPY ALL", ur = "Copied Successfully", dr = "Live Performance Stats", cr = "Rolling 30 Samples", lr = "Randomize", pr = "Frame Rate", fr = "frames per second", br = "Animation Speed", gr = "Speed", vr = {
942
+ tabs: qt,
943
+ engine: Kt,
944
+ resume: Qt,
945
+ active: ar,
946
+ restart: tr,
947
+ pausedHint: rr,
948
+ presets: er,
949
+ vueComponent: nr,
950
+ componentProps: or,
951
+ configJson: ir,
952
+ copyAll: sr,
953
+ copySuccess: ur,
954
+ stats: dr,
955
+ rolling: cr,
956
+ randomize: lr,
957
+ frameRate: pr,
958
+ framesPerSecond: fr,
959
+ timeSpeed: br,
960
+ timeSpeedValue: gr
961
+ }, hr = { class: "tabs-container p-1.5 gap-2 bg-gradient-to-b from-black/50 to-black/30 rounded-2xl border border-white/10 shadow-2xl backdrop-blur-xl" }, mr = { class: "flex gap-1.5" }, xr = ["onClick"], wr = {
962
+ key: 0,
963
+ class: "absolute inset-0 bg-gradient-to-br from-white/20 to-transparent opacity-50"
964
+ }, yr = { class: "text-[8px] font-black uppercase tracking-[0.15em] text-center leading-tight relative z-10" }, kr = /* @__PURE__ */ Z({
965
+ __name: "Tabs",
966
+ props: {
967
+ tabs: {},
968
+ modelValue: {}
969
+ },
970
+ emits: ["update:modelValue"],
971
+ setup(a, { emit: r }) {
972
+ const t = r, e = (o) => {
973
+ t("update:modelValue", o);
974
+ };
975
+ return (o, n) => (x(), I("div", hr, [
976
+ d("div", mr, [
977
+ (x(!0), I(Q, null, ia(a.tabs, (i) => (x(), I("button", {
978
+ key: i.id,
979
+ onClick: (l) => e(i.id),
980
+ class: U(["flex-1 flex flex-col items-center justify-center p-2 rounded-xl transition-all duration-300 relative group/tab pointer-events-auto cursor-pointer overflow-hidden", a.modelValue === i.id ? "bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-lg shadow-blue-500/30 scale-[1.02]" : "bg-white/[0.04] text-white/50 hover:text-white hover:bg-white/10 hover:scale-[1.01] border border-white/5"])
981
+ }, [
982
+ a.modelValue === i.id ? (x(), I("div", wr)) : V("", !0),
983
+ i.icon ? (x(), H(Ra(i.icon), {
984
+ key: 1,
985
+ class: U(["w-4 h-4 mb-1.5 relative z-10 transition-transform duration-300", [
986
+ a.modelValue === i.id ? "text-white drop-shadow-lg" : "text-white/30 group-hover/tab:text-white/60",
987
+ a.modelValue === i.id ? "scale-110" : "group-hover/tab:scale-105"
988
+ ]])
989
+ }, null, 8, ["class"])) : V("", !0),
990
+ d("span", yr, C(i.label), 1),
991
+ n[0] || (n[0] = d("div", { class: "absolute inset-0 bg-gradient-to-t from-blue-400/0 via-blue-400/5 to-blue-400/0 opacity-0 group-hover/tab:opacity-100 transition-opacity duration-300" }, null, -1))
992
+ ], 10, xr))), 128))
993
+ ])
994
+ ]));
995
+ }
996
+ }), G = (a, r) => {
997
+ const t = a.__vccOpts || a;
998
+ for (const [e, o] of r)
999
+ t[e] = o;
1000
+ return t;
1001
+ }, zr = /* @__PURE__ */ G(kr, [["__scopeId", "data-v-883d4db1"]]), Mr = { class: "flex items-center gap-3 overflow-hidden" }, Cr = { class: "text-[10px] font-bold uppercase tracking-[0.2em] text-white/40 truncate" }, Sr = { class: "flex items-center gap-2" }, Ir = ["title"], Pr = /* @__PURE__ */ Z({
1002
+ __name: "DraggablePanel",
1003
+ props: {
1004
+ isOpen: { type: Boolean },
1005
+ title: {},
1006
+ lang: {}
1007
+ },
1008
+ emits: ["update:isOpen", "toggleLang"],
1009
+ setup(a, { emit: r }) {
1010
+ const t = r, e = A(null), o = A(null), { style: n } = _t(e, {
1011
+ handle: o,
1012
+ initialValue: { x: window.innerWidth - 320, y: 80 }
1013
+ }), i = () => {
1014
+ t("update:isOpen", !1);
1015
+ };
1016
+ return (l, u) => (x(), H(xa, { to: "body" }, [
1017
+ a.isOpen ? (x(), I("div", {
1018
+ key: 0,
1019
+ ref_key: "el",
1020
+ ref: e,
1021
+ class: "panel-base fixed z-[10000] w-80 flex flex-col text-white font-sans select-none overflow-hidden",
1022
+ style: Fa(h(n))
1023
+ }, [
1024
+ d("div", {
1025
+ ref_key: "handle",
1026
+ ref: o,
1027
+ class: "panel-header h-12 flex items-center justify-between px-5 cursor-move group/handle active:cursor-grabbing border-b border-white/5 bg-white/5"
1028
+ }, [
1029
+ d("div", Mr, [
1030
+ u[1] || (u[1] = d("div", { class: "w-1.5 h-1.5 rounded-full bg-blue-500 shadow-[0_0_8px_rgba(59,130,246,0.6)]" }, null, -1)),
1031
+ d("span", Cr, C(a.title), 1)
1032
+ ]),
1033
+ d("div", Sr, [
1034
+ a.lang ? (x(), I("button", {
1035
+ key: 0,
1036
+ class: "w-7 h-7 flex items-center justify-center rounded-lg bg-white/5 border border-white/10 hover:bg-white/10 hover:border-blue-500/30 transition-all cursor-pointer",
1037
+ title: a.lang === "zh-CN" ? "切换到英文" : "Switch to Chinese",
1038
+ onClick: u[0] || (u[0] = _a((p) => t("toggleLang"), ["stop"]))
1039
+ }, [
1040
+ R(h(mt), { class: "w-3.5 h-3.5 text-white/60" })
1041
+ ], 8, Ir)) : V("", !0),
1042
+ d("button", {
1043
+ class: "w-7 h-7 rounded-lg flex items-center justify-center bg-white/5 border border-white/10 text-white/30 hover:text-white hover:bg-red-500/20 hover:border-red-500/30 transition-all pointer-events-auto cursor-pointer",
1044
+ onClick: _a(i, ["stop"])
1045
+ }, [
1046
+ R(h(wt), { class: "w-3.5 h-3.5" })
1047
+ ])
1048
+ ])
1049
+ ], 512),
1050
+ ha(l.$slots, "default", {}, void 0, !0)
1051
+ ], 4)) : V("", !0)
1052
+ ]));
1053
+ }
1054
+ }), _r = /* @__PURE__ */ G(Pr, [["__scopeId", "data-v-29a974c4"]]), Tr = { class: "settings-container pointer-events-auto" }, Yr = { ref: "configPanelRef" }, jr = /* @__PURE__ */ Z({
1055
+ __name: "SettingsTab",
1056
+ props: {
1057
+ configPanelRef: {}
1058
+ },
1059
+ setup(a) {
1060
+ return (r, t) => (x(), I("div", Tr, [
1061
+ d("div", Yr, [
1062
+ ha(r.$slots, "default", {}, void 0, !0)
1063
+ ], 512)
1064
+ ]));
1065
+ }
1066
+ }), Ar = /* @__PURE__ */ G(jr, [["__scopeId", "data-v-47dffb90"]]), Fr = { class: "flex flex-col gap-6 py-2" }, Or = {
1067
+ key: 0,
1068
+ class: "flex flex-col gap-4"
1069
+ }, Rr = { class: "text-[9px] font-black uppercase tracking-[0.2em] text-white/20 px-1" }, Xr = { class: "flex flex-col gap-3 group/item px-1" }, Nr = { class: "flex justify-between items-center" }, Lr = { class: "text-[9px] font-mono text-white/30 group-hover/item:text-white/50 transition-colors" }, Vr = { class: "text-[11px] font-black font-mono text-white/40 group-hover/item:text-blue-400 transition-colors" }, Zr = ["value"], $r = { class: "flex flex-col gap-4" }, Hr = { class: "text-[9px] font-black uppercase tracking-[0.2em] text-white/20 px-1" }, Br = { class: "grid grid-cols-2 gap-3" }, Er = { class: "w-10 h-10 rounded-full bg-white/5 flex items-center justify-center mb-0.5 border border-white/5 group-hover:border-white/20" }, Gr = { class: "text-[9px] font-black uppercase tracking-[0.1em]" }, Jr = { class: "w-10 h-10 rounded-full bg-white/5 flex items-center justify-center mb-0.5 border border-white/5" }, Ur = { class: "text-[9px] font-black uppercase tracking-[0.1em]" }, Wr = {
1070
+ key: 1,
1071
+ class: "p-4 rounded-xl bg-orange-500/5 border border-orange-500/10 shadow-inner text-center mx-1"
1072
+ }, Dr = { class: "text-[9px] text-orange-400/60 leading-relaxed font-medium" }, qr = /* @__PURE__ */ Z({
1073
+ __name: "AnimationTab",
1074
+ props: {
1075
+ config: {},
1076
+ engine: {},
1077
+ isPaused: { type: Boolean },
1078
+ t: { type: Function }
1079
+ },
1080
+ emits: ["update:config", "togglePause", "restart"],
1081
+ setup(a, { emit: r }) {
1082
+ const t = a, e = r, o = (n) => {
1083
+ e("update:config", { ...t.config, timeSpeed: n });
1084
+ };
1085
+ return (n, i) => {
1086
+ var l;
1087
+ return x(), I("div", Fr, [
1088
+ ((l = a.config) == null ? void 0 : l.timeSpeed) !== void 0 ? (x(), I("div", Or, [
1089
+ d("label", Rr, C(a.t("timeSpeed") || "动画速度"), 1),
1090
+ d("div", Xr, [
1091
+ d("div", Nr, [
1092
+ d("span", Lr, C(a.t("timeSpeedValue") || "速度"), 1),
1093
+ d("span", Vr, C(a.config.timeSpeed.toFixed(1)) + "x ", 1)
1094
+ ]),
1095
+ d("input", {
1096
+ value: a.config.timeSpeed,
1097
+ type: "range",
1098
+ min: "0.1",
1099
+ max: "5",
1100
+ step: "0.1",
1101
+ class: "w-full accent-blue-500 bg-white/5 hover:bg-white/10 h-1.5 rounded-full appearance-none cursor-pointer transition-all border border-white/5",
1102
+ onInput: i[0] || (i[0] = (u) => o(Number(u.target.value)))
1103
+ }, null, 40, Zr)
1104
+ ])
1105
+ ])) : V("", !0),
1106
+ d("div", $r, [
1107
+ d("label", Hr, C(a.t("engine")), 1),
1108
+ d("div", Br, [
1109
+ d("button", {
1110
+ class: "flex flex-col items-center justify-center gap-3 py-5 rounded-xl bg-white/[0.03] border border-white/5 hover:bg-white/10 transition-all text-white/30 hover:text-white pointer-events-auto shadow-sm cursor-pointer",
1111
+ onClick: i[1] || (i[1] = (u) => e("togglePause"))
1112
+ }, [
1113
+ d("div", Er, [
1114
+ (x(), H(Ra(a.isPaused ? h(La) : h(wa)), {
1115
+ class: U(["w-5 h-5 transition-all text-current", { "animate-spin-slow text-blue-400": !a.isPaused }])
1116
+ }, null, 8, ["class"]))
1117
+ ]),
1118
+ d("span", Gr, C(a.isPaused ? a.t("resume") : a.t("active")), 1)
1119
+ ]),
1120
+ d("button", {
1121
+ class: "flex flex-col items-center justify-center gap-3 py-5 rounded-xl bg-white/[0.03] border border-white/5 hover:bg-white/10 transition-all text-white/30 hover:text-white pointer-events-auto shadow-sm cursor-pointer",
1122
+ onClick: i[2] || (i[2] = (u) => e("restart"))
1123
+ }, [
1124
+ d("div", Jr, [
1125
+ R(h(ga), { class: "w-5 h-5 text-green-400/60" })
1126
+ ]),
1127
+ d("span", Ur, C(a.t("restart")), 1)
1128
+ ])
1129
+ ])
1130
+ ]),
1131
+ a.isPaused ? (x(), I("div", Wr, [
1132
+ d("p", Dr, ' "' + C(a.t("pausedHint")) + '" ', 1)
1133
+ ])) : V("", !0)
1134
+ ]);
1135
+ };
1136
+ }
1137
+ }), Kr = /* @__PURE__ */ G(qr, [["__scopeId", "data-v-6c1a0d2f"]]), Qr = { class: "flex flex-col gap-5" }, ae = { class: "flex flex-col gap-3" }, te = { class: "text-[9px] font-black uppercase tracking-widest text-white/25 px-1" }, re = { class: "grid grid-cols-1 gap-2.5" }, ee = ["onClick"], ne = { class: "flex items-center justify-between mb-2" }, oe = { class: "text-xs font-black text-white/40 group-hover:text-white transition-colors" }, ie = { class: "flex flex-wrap gap-1.5 opacity-20 group-hover:opacity-60 transition-opacity" }, se = /* @__PURE__ */ Z({
1138
+ __name: "PresetsTab",
1139
+ props: {
1140
+ presets: {},
1141
+ config: {},
1142
+ t: { type: Function },
1143
+ tObj: { type: Function }
1144
+ },
1145
+ emits: ["update:config"],
1146
+ setup(a, { emit: r }) {
1147
+ const t = a, e = r, o = (n) => {
1148
+ e("update:config", { ...t.config, ...n.config });
1149
+ };
1150
+ return (n, i) => (x(), I("div", Qr, [
1151
+ d("div", ae, [
1152
+ d("label", te, C(a.t("presets")), 1),
1153
+ d("div", re, [
1154
+ (x(!0), I(Q, null, ia(a.presets, (l) => (x(), I("button", {
1155
+ key: l.id,
1156
+ class: "group flex flex-col p-4 rounded-xl bg-white/[0.03] hover:bg-white/10 border border-white/5 transition-all text-left relative overflow-hidden active:scale-[0.98] pointer-events-auto cursor-pointer",
1157
+ onClick: (u) => o(l)
1158
+ }, [
1159
+ d("div", ne, [
1160
+ d("span", oe, C(a.tObj(l.name)), 1),
1161
+ R(h(Na), { class: "w-3.5 h-3.5 text-white/10 group-hover:text-blue-400 transition-colors" })
1162
+ ]),
1163
+ d("div", ie, [
1164
+ (x(!0), I(Q, null, ia(l.config, (u, p) => (x(), I("span", {
1165
+ key: String(p),
1166
+ class: "text-[8px] px-1.5 py-0.5 rounded bg-white/5 text-white/50 font-mono tracking-tighter"
1167
+ }, C(p) + ":" + C(typeof u == "number" ? u.toFixed(1) : u), 1))), 128))
1168
+ ])
1169
+ ], 8, ee))), 128))
1170
+ ])
1171
+ ])
1172
+ ]));
1173
+ }
1174
+ }), ue = /* @__PURE__ */ G(se, [["__scopeId", "data-v-b19e2d94"]]);
1175
+ function de() {
1176
+ const a = A(!0), r = A("settings"), t = A(!1);
1177
+ return {
1178
+ isOpen: a,
1179
+ activeTab: r,
1180
+ isPaused: t,
1181
+ toggleOpen: () => {
1182
+ a.value = !a.value;
1183
+ },
1184
+ setTab: (e) => {
1185
+ r.value = e;
1186
+ },
1187
+ togglePause: (e) => {
1188
+ e && (t.value ? (e.resume(), t.value = !1) : (e.pause(), t.value = !0));
1189
+ },
1190
+ restart: (e) => {
1191
+ e && (e.restart(), t.value && (e.resume(), t.value = !1));
1192
+ }
1193
+ };
1194
+ }
1195
+ function ce() {
1196
+ const a = /* @__PURE__ */ Tt(), r = A([]);
1197
+ let t = null;
1198
+ return Xa(() => {
1199
+ t = setInterval(() => {
1200
+ const e = typeof a.value == "number" && !isNaN(a.value) ? a.value : 0;
1201
+ r.value.push(e), r.value.length > 30 && r.value.shift();
1202
+ }, 500);
1203
+ }), ma(() => {
1204
+ t && clearInterval(t);
1205
+ }), {
1206
+ fps: a,
1207
+ fpsHistory: r
1208
+ };
1209
+ }
1210
+ function Za(a) {
1211
+ const r = A(""), t = A(null), e = () => a.metaId.charAt(0).toUpperCase() + a.metaId.slice(1).replace(/-([a-z])/g, (l) => l[1].toUpperCase()), o = (l) => {
1212
+ const u = e();
1213
+ if (l === "config")
1214
+ return JSON.stringify(a.config, null, 2);
1215
+ if (l === "props") {
1216
+ const p = Object.entries(a.config || {}).filter(([f]) => !["debug", "lang", "className"].includes(f)).map(([f, g]) => typeof g == "string" ? `${f}="${g}"` : `:${f}="${g}"`).join(`
1217
+ `);
1218
+ return `<${u}
1219
+ ${p}
1220
+ />`;
1221
+ }
1222
+ return `<script setup>
1223
+ import { ${u} } from '@bg-effects/${a.metaId}'
1224
+
1225
+ const config = ${JSON.stringify(a.config, null, 2)}
1226
+ <\/script>
1227
+
1228
+ <template>
1229
+ <${u} v-bind="config" />
1230
+ </template>`;
1231
+ }, n = async (l) => {
1232
+ var u;
1233
+ const p = o(l);
1234
+ try {
1235
+ await navigator.clipboard.writeText(p), i("复制成功!"), (u = a.onSuccess) == null || u.call(a, "复制成功!");
1236
+ } catch (f) {
1237
+ console.error("复制失败:", f);
1238
+ }
1239
+ }, i = (l) => {
1240
+ r.value = l, t.value && clearTimeout(t.value), t.value = setTimeout(() => {
1241
+ r.value = "";
1242
+ }, 2e3);
1243
+ };
1244
+ return ma(() => {
1245
+ t.value && clearTimeout(t.value);
1246
+ }), {
1247
+ copyCode: n,
1248
+ copyToast: r,
1249
+ generateCode: o,
1250
+ getComponentName: e
1251
+ };
1252
+ }
1253
+ const le = { class: "flex flex-col gap-6" }, pe = { class: "flex flex-col gap-3" }, fe = { class: "text-[9px] font-black uppercase tracking-widest text-white/25 px-1" }, be = { class: "relative group" }, ge = { class: "bg-black/40 rounded-xl p-4 text-[9px] font-mono text-white/40 overflow-hidden whitespace-pre-wrap leading-relaxed border border-white/5 shadow-inner italic" }, ve = { class: "flex flex-col gap-3" }, he = { class: "text-[9px] font-black uppercase tracking-widest text-white/25 px-1" }, me = { class: "relative group" }, xe = { class: "bg-black/40 rounded-xl p-4 text-[9px] font-mono text-white/30 max-h-32 overflow-y-auto custom-scrollbar border border-white/5 shadow-inner leading-relaxed" }, we = { class: "flex flex-col gap-3" }, ye = { class: "flex justify-between items-center px-1" }, ke = { class: "text-[9px] font-black uppercase tracking-widest text-white/25" }, ze = { class: "relative group" }, Me = { class: "bg-black/40 rounded-xl p-4 text-[9px] font-mono text-white/30 max-h-48 overflow-y-auto custom-scrollbar border border-white/5 shadow-inner" }, Ce = /* @__PURE__ */ Z({
1254
+ __name: "ExportTab",
1255
+ props: {
1256
+ config: {},
1257
+ metaId: {},
1258
+ t: { type: Function }
1259
+ },
1260
+ setup(a) {
1261
+ const r = a, { copyCode: t, getComponentName: e } = Za({
1262
+ config: r.config,
1263
+ metaId: r.metaId
1264
+ }), o = e();
1265
+ return (n, i) => (x(), I("div", le, [
1266
+ d("div", pe, [
1267
+ d("label", fe, C(a.t("vueComponent")), 1),
1268
+ d("div", be, [
1269
+ d("pre", ge, "import { " + C(h(o)) + " } from '@bg-effects/" + C(a.metaId) + "'", 1),
1270
+ d("button", {
1271
+ class: "absolute top-3 right-3 p-2 rounded-lg bg-white/5 hover:bg-blue-600 opacity-0 group-hover:opacity-100 transition-all active:bg-blue-700 pointer-events-auto border border-white/10 cursor-pointer",
1272
+ onClick: i[0] || (i[0] = (l) => h(t)("sfc"))
1273
+ }, [
1274
+ R(h(oa), { class: "w-4 h-4" })
1275
+ ])
1276
+ ])
1277
+ ]),
1278
+ d("div", ve, [
1279
+ d("label", he, C(a.t("componentProps")), 1),
1280
+ d("div", me, [
1281
+ d("pre", xe, "<" + C(h(o)) + " ... />", 1),
1282
+ d("button", {
1283
+ class: "absolute top-3 right-3 p-2 rounded-lg bg-white/5 hover:bg-blue-600 opacity-0 group-hover:opacity-100 transition-all active:bg-blue-700 pointer-events-auto border border-white/10 cursor-pointer",
1284
+ onClick: i[1] || (i[1] = (l) => h(t)("props"))
1285
+ }, [
1286
+ R(h(oa), { class: "w-4 h-4" })
1287
+ ])
1288
+ ])
1289
+ ]),
1290
+ d("div", we, [
1291
+ d("div", ye, [
1292
+ d("label", ke, C(a.t("configJson")), 1)
1293
+ ]),
1294
+ d("div", ze, [
1295
+ d("div", Me, [
1296
+ d("pre", null, C(JSON.stringify(a.config, null, 2)), 1)
1297
+ ]),
1298
+ d("button", {
1299
+ class: "absolute top-3 right-3 p-2 rounded-lg bg-white/5 hover:bg-blue-600 opacity-0 group-hover:opacity-100 transition-all active:bg-blue-700 pointer-events-auto border border-white/10 cursor-pointer",
1300
+ onClick: i[2] || (i[2] = (l) => h(t)("config"))
1301
+ }, [
1302
+ R(h(oa), { class: "w-4 h-4" })
1303
+ ])
1304
+ ])
1305
+ ])
1306
+ ]));
1307
+ }
1308
+ }), Se = /* @__PURE__ */ G(Ce, [["__scopeId", "data-v-bc42beda"]]), Ie = { class: "flex flex-col gap-6 py-2" }, Pe = { class: "bg-gradient-to-br from-white/[0.05] to-white/[0.02] rounded-2xl p-6 border border-white/10 flex flex-col gap-3 items-center justify-center shadow-xl group/stat hover:from-white/[0.08] hover:to-white/[0.04] transition-all" }, _e = { class: "flex items-center gap-3 text-blue-400/40 mb-1 group-hover/stat:text-blue-400/70 transition-colors" }, Te = { class: "text-[11px] font-black uppercase tracking-[0.2em]" }, Ye = { class: "text-[10px] uppercase tracking-[0.15em] text-white/30 font-bold" }, je = { class: "flex flex-col gap-3" }, Ae = { class: "flex justify-between items-center px-1" }, Fe = { class: "text-[9px] font-black uppercase tracking-widest text-white/25" }, Oe = { class: "text-[8px] font-mono uppercase text-white/15 tracking-tighter" }, Re = { class: "bg-black/40 border border-white/10 h-24 rounded-xl relative overflow-hidden flex items-end ring-1 ring-inset ring-white/5 shadow-inner" }, Xe = {
1309
+ class: "w-full h-full",
1310
+ viewBox: "0 0 100 80",
1311
+ preserveAspectRatio: "none"
1312
+ }, Ne = ["d"], Le = ["d"], Ve = /* @__PURE__ */ Z({
1313
+ __name: "StatsTab",
1314
+ props: {
1315
+ t: { type: Function }
1316
+ },
1317
+ setup(a) {
1318
+ const { fps: r, fpsHistory: t } = ce();
1319
+ return (e, o) => (x(), I("div", Ie, [
1320
+ d("div", Pe, [
1321
+ d("div", _e, [
1322
+ R(h(xt), { class: "w-5 h-5" }),
1323
+ d("span", Te, C(a.t("frameRate")), 1)
1324
+ ]),
1325
+ d("span", {
1326
+ class: U([
1327
+ "text-6xl font-black tracking-tighter transition-all duration-300",
1328
+ h(r) > 55 ? "text-green-400 drop-shadow-[0_0_20px_rgba(34,197,94,0.5)]" : h(r) > 30 ? "text-yellow-400 drop-shadow-[0_0_20px_rgba(234,179,8,0.5)]" : "text-red-400 drop-shadow-[0_0_20px_rgba(239,68,68,0.5)]"
1329
+ ])
1330
+ }, C(h(r)), 3),
1331
+ d("span", Ye, C(a.t("framesPerSecond")), 1)
1332
+ ]),
1333
+ d("div", je, [
1334
+ d("div", Ae, [
1335
+ d("label", Fe, C(a.t("stats")), 1),
1336
+ d("span", Oe, C(a.t("rolling")), 1)
1337
+ ]),
1338
+ d("div", Re, [
1339
+ (x(), I("svg", Xe, [
1340
+ d("path", {
1341
+ d: `M -10 100 ${h(t).map((n, i) => `L ${i / (h(t).length - 1) * 100} ${80 - Math.min(n, 60) / 60 * 60}`).join(" ")} L 110 100 Z`,
1342
+ fill: "url(#fps-gradient)",
1343
+ stroke: "none"
1344
+ }, null, 8, Ne),
1345
+ d("path", {
1346
+ d: h(t).map((n, i) => `${i === 0 ? "M" : "L"} ${i / (h(t).length - 1) * 100} ${80 - Math.min(n, 60) / 60 * 60}`).join(" "),
1347
+ fill: "none",
1348
+ class: "stroke-blue-400/40",
1349
+ "stroke-width": "2",
1350
+ "stroke-linecap": "round"
1351
+ }, null, 8, Le),
1352
+ o[0] || (o[0] = d("defs", null, [
1353
+ d("linearGradient", {
1354
+ id: "fps-gradient",
1355
+ x1: "0",
1356
+ y1: "0",
1357
+ x2: "0",
1358
+ y2: "1"
1359
+ }, [
1360
+ d("stop", {
1361
+ offset: "0%",
1362
+ "stop-color": "rgba(59, 130, 246, 0.3)"
1363
+ }),
1364
+ d("stop", {
1365
+ offset: "100%",
1366
+ "stop-color": "rgba(59, 130, 246, 0)"
1367
+ })
1368
+ ])
1369
+ ], -1))
1370
+ ]))
1371
+ ])
1372
+ ])
1373
+ ]));
1374
+ }
1375
+ }), Ze = /* @__PURE__ */ G(Ve, [["__scopeId", "data-v-63239024"]]), $e = {
1376
+ key: 0,
1377
+ class: "absolute top-3 right-3 w-2.5 h-2.5 bg-green-500 rounded-full border-2 border-[#121212] shadow-[0_0_8px_rgba(34,197,94,0.6)]"
1378
+ }, He = /* @__PURE__ */ Z({
1379
+ __name: "FloatingToggleButton",
1380
+ props: {
1381
+ isOpen: { type: Boolean },
1382
+ isPaused: { type: Boolean }
1383
+ },
1384
+ emits: ["toggle"],
1385
+ setup(a, { emit: r }) {
1386
+ const t = r;
1387
+ return (e, o) => (x(), H(xa, { to: "body" }, [
1388
+ d("button", {
1389
+ class: "fixed bottom-8 right-8 z-[10001] w-14 h-14 bg-[#121212]/90 border border-white/20 backdrop-blur-2xl rounded-full flex items-center justify-center text-white/50 hover:text-white hover:bg-black transition-all shadow-[0_20px_40px_-8px_rgba(0,0,0,0.5)] active:scale-90 group pointer-events-auto ring-4 ring-white/5",
1390
+ onClick: o[0] || (o[0] = (n) => t("toggle"))
1391
+ }, [
1392
+ R(h(wa), {
1393
+ class: U(["w-6 h-6 transition-transform duration-500", { "rotate-180 text-blue-400 scale-110": a.isOpen }])
1394
+ }, null, 8, ["class"]),
1395
+ a.isPaused ? V("", !0) : (x(), I("div", $e))
1396
+ ])
1397
+ ]));
1398
+ }
1399
+ }), Be = /* @__PURE__ */ G(He, [["__scopeId", "data-v-eb6add23"]]), Ee = {
1400
+ key: 0,
1401
+ class: "fixed bottom-24 right-8 z-[10002] px-5 py-3 bg-green-600/90 backdrop-blur-xl rounded-xl border border-green-400/30 shadow-2xl text-white text-sm font-bold flex items-center gap-2"
1402
+ }, Ge = /* @__PURE__ */ Z({
1403
+ __name: "CopyToast",
1404
+ props: {
1405
+ message: {}
1406
+ },
1407
+ setup(a) {
1408
+ return (r, t) => (x(), H(xa, { to: "body" }, [
1409
+ R(rt, {
1410
+ "enter-active-class": "transition-all duration-300",
1411
+ "leave-active-class": "transition-all duration-300",
1412
+ "enter-from-class": "opacity-0 translate-y-4",
1413
+ "enter-to-class": "opacity-100 translate-y-0",
1414
+ "leave-from-class": "opacity-100 translate-y-0",
1415
+ "leave-to-class": "opacity-0 translate-y-4"
1416
+ }, {
1417
+ default: sa(() => [
1418
+ a.message ? (x(), I("div", Ee, [
1419
+ t[0] || (t[0] = d("svg", {
1420
+ class: "w-4 h-4",
1421
+ fill: "none",
1422
+ stroke: "currentColor",
1423
+ viewBox: "0 0 24 24"
1424
+ }, [
1425
+ d("path", {
1426
+ "stroke-linecap": "round",
1427
+ "stroke-linejoin": "round",
1428
+ "stroke-width": "2",
1429
+ d: "M5 13l4 4L19 7"
1430
+ })
1431
+ ], -1)),
1432
+ et(" " + C(a.message), 1)
1433
+ ])) : V("", !0)
1434
+ ]),
1435
+ _: 1
1436
+ })
1437
+ ]));
1438
+ }
1439
+ }), Je = /* @__PURE__ */ G(Ge, [["__scopeId", "data-v-7e780824"]]), Ue = { class: "px-5 py-3" }, We = { class: "flex-1 overflow-y-auto max-h-[480px] custom-scrollbar px-5 py-2 pointer-events-auto" }, De = {
1440
+ key: 0,
1441
+ class: "px-5 pb-5 pt-3"
1442
+ }, qe = { class: "text-white/50 group-hover/btn:text-white transition-colors" }, Ke = /* @__PURE__ */ Z({
1443
+ __name: "DebugShell",
1444
+ props: {
1445
+ config: {},
1446
+ meta: {},
1447
+ engine: {},
1448
+ lang: {}
1449
+ },
1450
+ emits: ["update:config", "update:lang", "randomize"],
1451
+ setup(a, { emit: r }) {
1452
+ const t = a, e = r, o = B({
1453
+ get: () => t.lang || "zh-CN",
1454
+ set: (X) => e("update:lang", X)
1455
+ }), { isOpen: n, activeTab: i, isPaused: l, toggleOpen: u, togglePause: p, restart: f } = de(), g = A(null), { copyToast: w } = Za({
1456
+ config: t.config,
1457
+ metaId: t.meta.id
1458
+ }), M = {
1459
+ "zh-CN": Dt,
1460
+ en: vr
1461
+ }, P = B(() => o.value), v = (X) => {
1462
+ const E = M[P.value];
1463
+ return X.split(".").reduce(($, J) => $ == null ? void 0 : $[J], E) || X;
1464
+ }, s = (X) => X[P.value] || X.en, c = () => {
1465
+ o.value = o.value === "zh-CN" ? "en" : "zh-CN";
1466
+ }, y = B(() => [
1467
+ { id: "settings", icon: wa, label: v("tabs.settings") },
1468
+ { id: "presets", icon: Na, label: v("tabs.presets") },
1469
+ { id: "animation", icon: La, label: v("tabs.animation") },
1470
+ { id: "export", icon: oa, label: v("tabs.export") },
1471
+ { id: "stats", icon: ga, label: v("tabs.stats") }
1472
+ ]), F = () => {
1473
+ e("randomize");
1474
+ }, Y = () => {
1475
+ p(t.engine);
1476
+ }, O = () => {
1477
+ f(t.engine);
1478
+ }, N = (X) => {
1479
+ e("update:config", X);
1480
+ };
1481
+ return (X, E) => (x(), I(Q, null, [
1482
+ R(_r, {
1483
+ isOpen: h(n),
1484
+ "onUpdate:isOpen": E[1] || (E[1] = ($) => fa(n) ? n.value = $ : null),
1485
+ title: a.meta.name[P.value] || a.meta.name.en,
1486
+ lang: P.value,
1487
+ onToggleLang: c
1488
+ }, {
1489
+ default: sa(() => [
1490
+ d("div", Ue, [
1491
+ R(zr, {
1492
+ modelValue: h(i),
1493
+ "onUpdate:modelValue": E[0] || (E[0] = ($) => fa(i) ? i.value = $ : null),
1494
+ tabs: y.value
1495
+ }, null, 8, ["modelValue", "tabs"])
1496
+ ]),
1497
+ d("div", We, [
1498
+ h(i) === "settings" ? (x(), H(Ar, {
1499
+ key: 0,
1500
+ "config-panel-ref": g.value
1501
+ }, {
1502
+ default: sa(() => [
1503
+ d("div", {
1504
+ ref_key: "configPanelRef",
1505
+ ref: g
1506
+ }, [
1507
+ ha(X.$slots, "settings", {}, void 0, !0)
1508
+ ], 512)
1509
+ ]),
1510
+ _: 3
1511
+ }, 8, ["config-panel-ref"])) : h(i) === "animation" ? (x(), H(Kr, {
1512
+ key: 1,
1513
+ config: a.config,
1514
+ engine: a.engine,
1515
+ "is-paused": h(l),
1516
+ t: v,
1517
+ "onUpdate:config": N,
1518
+ onTogglePause: Y,
1519
+ onRestart: O
1520
+ }, null, 8, ["config", "engine", "is-paused"])) : h(i) === "presets" ? (x(), H(ue, {
1521
+ key: 2,
1522
+ presets: a.meta.presets,
1523
+ config: a.config,
1524
+ t: v,
1525
+ "t-obj": s,
1526
+ "onUpdate:config": N
1527
+ }, null, 8, ["presets", "config"])) : h(i) === "export" ? (x(), H(Se, {
1528
+ key: 3,
1529
+ config: a.config,
1530
+ "meta-id": a.meta.id,
1531
+ t: v
1532
+ }, null, 8, ["config", "meta-id"])) : h(i) === "stats" ? (x(), H(Ze, {
1533
+ key: 4,
1534
+ t: v
1535
+ })) : V("", !0)
1536
+ ]),
1537
+ h(i) === "settings" ? (x(), I("div", De, [
1538
+ d("button", {
1539
+ class: "w-full h-11 flex items-center justify-center gap-3 bg-white/[0.03] hover:bg-white/10 rounded-xl border border-white/5 text-[10px] font-bold uppercase tracking-[0.25em] transition-all active:scale-[0.98] pointer-events-auto shadow-sm group/btn cursor-pointer",
1540
+ onClick: F
1541
+ }, [
1542
+ R(h(ga), { class: "w-3.5 h-3.5 text-white/30 group-hover/btn:text-blue-400 group-hover/btn:rotate-12 transition-all" }),
1543
+ d("span", qe, C(v("randomize")), 1)
1544
+ ])
1545
+ ])) : V("", !0)
1546
+ ]),
1547
+ _: 3
1548
+ }, 8, ["isOpen", "title", "lang"]),
1549
+ R(Be, {
1550
+ "is-open": h(n),
1551
+ "is-paused": h(l),
1552
+ onToggle: h(u)
1553
+ }, null, 8, ["is-open", "is-paused", "onToggle"]),
1554
+ R(Je, { message: h(w) }, null, 8, ["message"])
1555
+ ], 64));
1556
+ }
1557
+ }), Qe = /* @__PURE__ */ G(Ke, [["__scopeId", "data-v-e0f091f2"]]);
1558
+ function la(a) {
1559
+ if (a === null || typeof a != "object")
1560
+ return !1;
1561
+ const r = Object.getPrototypeOf(a);
1562
+ return r !== null && r !== Object.prototype && Object.getPrototypeOf(r) !== null || Symbol.iterator in a ? !1 : Symbol.toStringTag in a ? Object.prototype.toString.call(a) === "[object Module]" : !0;
1563
+ }
1564
+ function va(a, r, t = ".", e) {
1565
+ if (!la(r))
1566
+ return va(a, {}, t, e);
1567
+ const o = Object.assign({}, r);
1568
+ for (const n in a) {
1569
+ if (n === "__proto__" || n === "constructor")
1570
+ continue;
1571
+ const i = a[n];
1572
+ i != null && (e && e(o, n, i, t) || (Array.isArray(i) && Array.isArray(o[n]) ? o[n] = [...i, ...o[n]] : la(i) && la(o[n]) ? o[n] = va(
1573
+ i,
1574
+ o[n],
1575
+ (t ? `${t}.` : "") + n.toString(),
1576
+ e
1577
+ ) : o[n] = i));
1578
+ }
1579
+ return o;
1580
+ }
1581
+ function an(a) {
1582
+ return (...r) => (
1583
+ // eslint-disable-next-line unicorn/no-array-reduce
1584
+ r.reduce((t, e) => va(t, e, "", a), {})
1585
+ );
1586
+ }
1587
+ const Aa = an(), tn = /* @__PURE__ */ Z({
1588
+ __name: "Fireworks",
1589
+ props: {
1590
+ className: {},
1591
+ debug: { type: Boolean },
1592
+ lang: {},
1593
+ fireworkCount: {},
1594
+ speed: {},
1595
+ size: {},
1596
+ curvature: {},
1597
+ shape: {},
1598
+ launchMode: {},
1599
+ density: {},
1600
+ colorMode: {},
1601
+ color: {},
1602
+ gravity: {},
1603
+ clusterSize: {},
1604
+ flightHeight: {},
1605
+ uniformity: {},
1606
+ flashIntensity: {},
1607
+ flashOpacity: {},
1608
+ launchInterval: {},
1609
+ flightHeightJitter: {},
1610
+ rotation: {},
1611
+ rotationJitter: {},
1612
+ colorJitter: {}
1613
+ },
1614
+ emits: ["update:fireworkCount", "update:speed", "update:gravity", "update:colorMode", "update:color"],
1615
+ setup(a) {
1616
+ const r = a, t = nt(() => import("./ConfigPanel-CEj7MToh.js")), e = A(null), n = A(Aa(r, q.defaultConfig)), i = A(n.value.lang || "zh-CN");
1617
+ K(() => r, (v) => {
1618
+ r.debug || (n.value = Aa(v, q.defaultConfig));
1619
+ }, { deep: !0 });
1620
+ const l = () => {
1621
+ var v;
1622
+ if (q.randomize) {
1623
+ const s = (v = e.value) == null ? void 0 : v.activeTab, c = typeof s == "object" && (s != null && s.value) ? s.value : s, y = q.randomize(n.value, c);
1624
+ n.value = {
1625
+ ...y,
1626
+ debug: n.value.debug,
1627
+ lang: n.value.lang
1628
+ };
1629
+ }
1630
+ }, u = A(null);
1631
+ let p = null;
1632
+ const f = A(!1), g = A(1), w = B(() => ({
1633
+ pause: () => p == null ? void 0 : p.pause(),
1634
+ resume: () => p == null ? void 0 : p.resume(),
1635
+ restart: () => p == null ? void 0 : p.restart()
1636
+ })), M = A(n.value.fireworkCount), P = A(n.value.density);
1637
+ return K(n, (v) => {
1638
+ if (!p || !u.value) return;
1639
+ v.fireworkCount !== M.value || v.density !== P.value ? (f.value = !0, g.value = 0, setTimeout(() => {
1640
+ if (!p || !u.value) return;
1641
+ const c = p.isPaused;
1642
+ p.destroy(), p = new ja(u.value, v), c && p.pause(), M.value = v.fireworkCount, P.value = v.density, setTimeout(() => {
1643
+ g.value = 1, f.value = !1;
1644
+ }, 50);
1645
+ }, 300)) : p.updateConfig(v);
1646
+ }, { deep: !0 }), Xa(() => {
1647
+ if (!u.value) return;
1648
+ p = new ja(u.value, n.value), M.value = n.value.fireworkCount, P.value = n.value.density;
1649
+ const v = u.value.querySelector("canvas");
1650
+ v && (v.style.transition = "opacity 0.3s ease-in-out", K(g, (s) => {
1651
+ v.style.opacity = s.toString();
1652
+ }));
1653
+ }), ma(() => {
1654
+ p == null || p.destroy(), p = null;
1655
+ }), (v, s) => (x(), I("div", {
1656
+ ref_key: "containerRef",
1657
+ ref: u,
1658
+ class: U(["fireworks-container absolute inset-0 z-0", r.className])
1659
+ }, [
1660
+ a.debug ? (x(), H(h(Qe), {
1661
+ key: 0,
1662
+ config: n.value,
1663
+ "onUpdate:config": s[1] || (s[1] = (c) => n.value = c),
1664
+ lang: i.value,
1665
+ "onUpdate:lang": s[2] || (s[2] = (c) => i.value = c),
1666
+ meta: h(q),
1667
+ engine: w.value,
1668
+ onRandomize: l
1669
+ }, {
1670
+ settings: sa(() => [
1671
+ R(h(t), {
1672
+ ref_key: "configContentRef",
1673
+ ref: e,
1674
+ config: n.value,
1675
+ "onUpdate:config": s[0] || (s[0] = (c) => n.value = c),
1676
+ lang: i.value
1677
+ }, null, 8, ["config", "lang"])
1678
+ ]),
1679
+ _: 1
1680
+ }, 8, ["config", "lang", "meta", "engine"])) : V("", !0)
1681
+ ], 2));
1682
+ }
1683
+ }), rn = (a, r) => {
1684
+ const t = a.__vccOpts || a;
1685
+ for (const [e, o] of r)
1686
+ t[e] = o;
1687
+ return t;
1688
+ }, wn = /* @__PURE__ */ rn(tn, [["__scopeId", "data-v-cf4ad147"]]), en = "Debug Panel", nn = {
1689
+ general: "General",
1690
+ shape: "Shape",
1691
+ launch: "Launch",
1692
+ visual: "Visual"
1693
+ }, on = {
1694
+ count: "Count",
1695
+ density: "Density",
1696
+ size: "Particle Size",
1697
+ cluster: "Cluster Size",
1698
+ gravity: "Gravity",
1699
+ style: "Explosion Style",
1700
+ rotation: "Rotation",
1701
+ jitter: "Jitter",
1702
+ uniformity: "Uniformity",
1703
+ launchMode: "Launch Mode",
1704
+ interval: "Launch Interval",
1705
+ colorMode: "Color Mode",
1706
+ color: "Primary Color",
1707
+ speed: "Speed",
1708
+ intensity: "Flash Intensity",
1709
+ flash: "Flash Opacity"
1710
+ }, sn = {
1711
+ normal: "Normal",
1712
+ circular: "Circular",
1713
+ heart: "Heart",
1714
+ star: "Star",
1715
+ butterfly: "Butterfly",
1716
+ spiral: "Spiral",
1717
+ ring: "Ring",
1718
+ doubleRing: "Double Ring",
1719
+ atom: "Atom",
1720
+ trefoil: "Trefoil",
1721
+ clover: "Clover",
1722
+ cross: "Cross",
1723
+ saturn: "Saturn",
1724
+ hexagram: "Hexagram",
1725
+ astroid: "Astroid",
1726
+ gear: "Gear",
1727
+ fermat: "Fermat",
1728
+ folium: "Folium",
1729
+ random: "Random"
1730
+ }, un = {
1731
+ random: "Random",
1732
+ burst: "Burst",
1733
+ wave: "Wave",
1734
+ tide: "Tide",
1735
+ simultaneous: "Simultaneous",
1736
+ pendulum: "Pendulum",
1737
+ single: "Single Color",
1738
+ multi: "Multi Color"
1739
+ }, dn = {
1740
+ title: en,
1741
+ tabs: nn,
1742
+ labels: on,
1743
+ styles: sn,
1744
+ modes: un
1745
+ }, cn = "调试面板", ln = {
1746
+ general: "基础",
1747
+ shape: "形状",
1748
+ launch: "发射",
1749
+ visual: "视觉"
1750
+ }, pn = {
1751
+ count: "烟花数量",
1752
+ density: "粒子密度",
1753
+ size: "粒子大小",
1754
+ cluster: "爆炸范围",
1755
+ gravity: "重力强度",
1756
+ style: "爆炸样式",
1757
+ rotation: "旋转角度",
1758
+ jitter: "随机抖动",
1759
+ uniformity: "均匀度",
1760
+ launchMode: "发射模式",
1761
+ interval: "发射间隔",
1762
+ colorMode: "颜色模式",
1763
+ color: "主颜色",
1764
+ speed: "动画速度",
1765
+ intensity: "闪光强度",
1766
+ flash: "闪光透明度"
1767
+ }, fn = {
1768
+ normal: "常规",
1769
+ circular: "圆形",
1770
+ heart: "爱心",
1771
+ star: "星形",
1772
+ butterfly: "蝴蝶",
1773
+ spiral: "螺旋",
1774
+ ring: "圆环",
1775
+ doubleRing: "双环",
1776
+ atom: "原子",
1777
+ trefoil: "三叶草",
1778
+ clover: "四叶草",
1779
+ cross: "十字",
1780
+ saturn: "土星",
1781
+ hexagram: "六角星",
1782
+ astroid: "星形线",
1783
+ gear: "齿轮",
1784
+ fermat: "费马螺旋",
1785
+ folium: "叶形线",
1786
+ random: "随机形态"
1787
+ }, bn = {
1788
+ random: "随机位置",
1789
+ burst: "迸发模式",
1790
+ wave: "波动模式",
1791
+ tide: "浪潮模式",
1792
+ simultaneous: "同时发射",
1793
+ pendulum: "钟摆模式",
1794
+ single: "单色模式",
1795
+ multi: "彩色模式"
1796
+ }, gn = {
1797
+ title: cn,
1798
+ tabs: ln,
1799
+ labels: pn,
1800
+ styles: fn,
1801
+ modes: bn
1802
+ }, yn = {
1803
+ en: dn,
1804
+ "zh-CN": gn
1805
+ };
1806
+ export {
1807
+ wn as F,
1808
+ xn as S,
1809
+ rn as _,
1810
+ dn as e,
1811
+ yn as l,
1812
+ q as m,
1813
+ gn as z
1814
+ };