tinker-electron-debug 0.1.0 → 0.1.2

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.
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <script type="module" crossorigin src="./assets/app-D7MQ0-qv.js"></script>
7
- <link rel="stylesheet" crossorigin href="./assets/app-LcvhA8qm.css">
6
+ <script type="module" crossorigin src="./assets/app-lVMOcVDU.js"></script>
7
+ <link rel="stylesheet" crossorigin href="./assets/app-Duk4700b.css">
8
8
  </head>
9
9
  <body>
10
10
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinker-electron-debug",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Debug in-production Electron based app",
5
5
  "files": [
6
6
  "dist/",
@@ -26,7 +26,7 @@
26
26
  "tinker": {
27
27
  "name": "Electron Debug",
28
28
  "main": "dist/renderer/index.html",
29
- "preload": "dist/preload/index.mjs",
29
+ "preload": "dist/preload/index.js",
30
30
  "icon": "icon.png",
31
31
  "locales": {
32
32
  "zh-CN": {
@@ -1,379 +0,0 @@
1
- import { contextBridge as K } from "electron";
2
- import l from "fs";
3
- import x from "path";
4
- import h from "process";
5
- import { spawn as $ } from "child_process";
6
- import H from "got";
7
- import rr from "net";
8
- import tr from "ws";
9
- function er(t) {
10
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
11
- }
12
- var y = { exports: {} }, E = { exports: {} }, A = { exports: {} }, S = { exports: {} }, b = { exports: {} };
13
- (function(t, r) {
14
- var s = Object.prototype.toString;
15
- r = function(o) {
16
- return s.call(o);
17
- }, t.exports = r;
18
- })(b, b.exports);
19
- var m = b.exports;
20
- (function(t, r) {
21
- var s = m;
22
- r = function(o) {
23
- return s(o) === "[object Number]";
24
- }, t.exports = r;
25
- })(S, S.exports);
26
- var nr = S.exports, O = { exports: {} };
27
- (function(t, r) {
28
- var s = m;
29
- r = function(o) {
30
- var i = s(o);
31
- return i === "[object Function]" || i === "[object GeneratorFunction]" || i === "[object AsyncFunction]";
32
- }, t.exports = r;
33
- })(O, O.exports);
34
- var V = O.exports;
35
- (function(t, r) {
36
- var s = nr, o = V, i = Math.pow(2, 53) - 1;
37
- r = function(e) {
38
- if (!e) return !1;
39
- var n = e.length;
40
- return s(n) && n >= 0 && n <= i && !o(e);
41
- }, t.exports = r;
42
- })(A, A.exports);
43
- var J = A.exports, k = { exports: {} }, j = { exports: {} }, D = { exports: {} };
44
- (function(t, r) {
45
- r = function(s) {
46
- var o = typeof s;
47
- return !!s && (o === "function" || o === "object");
48
- }, t.exports = r;
49
- })(D, D.exports);
50
- var or = D.exports, P = { exports: {} };
51
- (function(t, r) {
52
- var s = m;
53
- Array.isArray ? r = Array.isArray : r = function(o) {
54
- return s(o) === "[object Array]";
55
- }, t.exports = r;
56
- })(P, P.exports);
57
- var w = P.exports, C = { exports: {} }, M = { exports: {} };
58
- (function(t, r) {
59
- r = function(s) {
60
- return s === void 0;
61
- }, t.exports = r;
62
- })(M, M.exports);
63
- var I = M.exports;
64
- (function(t, r) {
65
- var s = I;
66
- r = function(o, i, e) {
67
- if (s(i)) return o;
68
- switch (e ?? 3) {
69
- case 1:
70
- return function(n) {
71
- return o.call(i, n);
72
- };
73
- case 3:
74
- return function(n, c, a) {
75
- return o.call(i, n, c, a);
76
- };
77
- case 4:
78
- return function(n, c, a, u) {
79
- return o.call(i, n, c, a, u);
80
- };
81
- }
82
- return function() {
83
- return o.apply(i, arguments);
84
- };
85
- }, t.exports = r;
86
- })(C, C.exports);
87
- var Y = C.exports, F = { exports: {} }, N = { exports: {} }, T = { exports: {} }, U = { exports: {} };
88
- (function(t, r) {
89
- var s = Object.prototype.hasOwnProperty;
90
- r = function(o, i) {
91
- return s.call(o, i);
92
- }, t.exports = r;
93
- })(U, U.exports);
94
- var Z = U.exports;
95
- (function(t, r) {
96
- var s = Z;
97
- Object.keys ? r = Object.keys : r = function(o) {
98
- var i = [];
99
- for (var e in o)
100
- s(o, e) && i.push(e);
101
- return i;
102
- }, t.exports = r;
103
- })(T, T.exports);
104
- var g = T.exports, L = { exports: {} }, W = { exports: {} };
105
- (function(t, r) {
106
- var s = J, o = g, i = Y;
107
- r = function(e, n, c) {
108
- n = i(n, c);
109
- var a, u;
110
- if (s(e))
111
- for (a = 0, u = e.length; a < u; a++) n(e[a], a, e);
112
- else {
113
- var p = o(e);
114
- for (a = 0, u = p.length; a < u; a++)
115
- n(e[p[a]], p[a], e);
116
- }
117
- return e;
118
- }, t.exports = r;
119
- })(W, W.exports);
120
- var sr = W.exports;
121
- (function(t, r) {
122
- var s = I, o = sr;
123
- r = function(i, e) {
124
- return function(n) {
125
- return o(arguments, function(c, a) {
126
- if (a !== 0) {
127
- var u = i(c);
128
- o(u, function(p) {
129
- (!e || s(n[p])) && (n[p] = c[p]);
130
- });
131
- }
132
- }), n;
133
- };
134
- }, t.exports = r;
135
- })(L, L.exports);
136
- var ir = L.exports;
137
- (function(t, r) {
138
- var s = g, o = ir;
139
- r = o(s), t.exports = r;
140
- })(N, N.exports);
141
- var ar = N.exports, _ = { exports: {} };
142
- (function(t, r) {
143
- var s = g;
144
- r = function(o, i) {
145
- var e = s(i), n = e.length;
146
- if (o == null) return !n;
147
- o = Object(o);
148
- for (var c = 0; c < n; c++) {
149
- var a = e[c];
150
- if (i[a] !== o[a] || !(a in o)) return !1;
151
- }
152
- return !0;
153
- }, t.exports = r;
154
- })(_, _.exports);
155
- var cr = _.exports;
156
- (function(t, r) {
157
- var s = ar, o = cr;
158
- r = function(i) {
159
- return i = s({}, i), function(e) {
160
- return o(e, i);
161
- };
162
- }, t.exports = r;
163
- })(F, F.exports);
164
- var ur = F.exports, q = { exports: {} };
165
- (function(t, r) {
166
- r = function(s) {
167
- return s;
168
- }, t.exports = r;
169
- })(q, q.exports);
170
- var pr = q.exports, z = { exports: {} }, G = { exports: {} }, R = { exports: {} };
171
- (function(t, r) {
172
- var s = Z, o = w;
173
- r = function(n, c) {
174
- if (o(n)) return n;
175
- if (c && s(c, n)) return [n];
176
- var a = [];
177
- return n.replace(i, function(u, p, f, v) {
178
- a.push(f ? v.replace(e, "$1") : p || u);
179
- }), a;
180
- };
181
- var i = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, e = /\\(\\)?/g;
182
- t.exports = r;
183
- })(R, R.exports);
184
- var fr = R.exports;
185
- (function(t, r) {
186
- var s = I, o = fr;
187
- r = function(i, e) {
188
- e = o(e, i);
189
- var n;
190
- for (n = e.shift(); !s(n); ) {
191
- if (i = i[n], i == null) return;
192
- n = e.shift();
193
- }
194
- return i;
195
- }, t.exports = r;
196
- })(G, G.exports);
197
- var vr = G.exports;
198
- (function(t, r) {
199
- var s = w, o = vr;
200
- r = function(e) {
201
- return s(e) ? function(n) {
202
- return o(n, e);
203
- } : i(e);
204
- };
205
- function i(e) {
206
- return function(n) {
207
- return n == null ? void 0 : n[e];
208
- };
209
- }
210
- t.exports = r;
211
- })(z, z.exports);
212
- var xr = z.exports;
213
- (function(t, r) {
214
- var s = V, o = or, i = w, e = Y, n = ur, c = pr, a = xr;
215
- r = function(u, p, f) {
216
- return u == null ? c : s(u) ? e(u, p, f) : o(u) && !i(u) ? n(u) : a(u);
217
- }, t.exports = r;
218
- })(j, j.exports);
219
- var lr = j.exports;
220
- (function(t, r) {
221
- var s = lr, o = g, i = J;
222
- r = function(e, n, c) {
223
- n = s(n, c);
224
- for (var a = !i(e) && o(e), u = (a || e).length, p = Array(u), f = 0; f < u; f++) {
225
- var v = a ? a[f] : f;
226
- p[f] = n(e[v], v, e);
227
- }
228
- return p;
229
- }, t.exports = r;
230
- })(k, k.exports);
231
- var dr = k.exports, B = { exports: {} };
232
- (function(t, r) {
233
- var s = m;
234
- r = function(o) {
235
- return s(o) === "[object String]";
236
- }, t.exports = r;
237
- })(B, B.exports);
238
- var mr = B.exports;
239
- (function(t, r) {
240
- var s = J, o = dr, i = w, e = mr;
241
- r = function(n) {
242
- return n ? i(n) ? n : s(n) && !e(n) ? o(n) : [n] : [];
243
- }, t.exports = r;
244
- })(E, E.exports);
245
- var wr = E.exports;
246
- (function(t, r) {
247
- const s = wr, o = rr;
248
- r = function(e, n) {
249
- return e = s(e), e.push(0), e.reduce((c, a) => c.catch(() => i(a, n)), Promise.reject());
250
- };
251
- function i(e, n) {
252
- return new Promise((c, a) => {
253
- const u = o.createServer();
254
- u.unref(), u.on("error", a);
255
- const p = {};
256
- p.port = e, n && (p.host = n), u.listen(p, () => {
257
- const { port: f } = u.address();
258
- u.close(() => {
259
- c(f);
260
- });
261
- });
262
- });
263
- }
264
- t.exports = r;
265
- })(y, y.exports);
266
- var gr = y.exports;
267
- const Q = /* @__PURE__ */ er(gr);
268
- function hr(t) {
269
- return l.existsSync(
270
- x.join(t, "Contents/Frameworks/Electron Framework.framework")
271
- );
272
- }
273
- function yr(t) {
274
- const r = x.dirname(t), s = x.join(r, "resources");
275
- return l.existsSync(s) ? [
276
- "electron.asar",
277
- "default_app.asar",
278
- "app.asar",
279
- "app.asar.unpacked"
280
- ].some((o) => l.existsSync(x.join(s, o))) : !1;
281
- }
282
- function Er(t) {
283
- return l.existsSync(x.join(t, "../resources/electron.asar")) || l.existsSync(x.join(t, "../LICENSE.electron.txt")) || l.existsSync(x.join(t, "../chrome-sandbox"));
284
- }
285
- const d = /* @__PURE__ */ new Map();
286
- function Ar(t, r, s) {
287
- return new Promise((o, i) => {
288
- const e = new tr(t, {
289
- headers: { Origin: "devtools://devtools" }
290
- });
291
- e.on("open", () => {
292
- e.send(JSON.stringify({ id: 1, method: r, params: s }));
293
- }), e.on("message", (n) => {
294
- try {
295
- const c = JSON.parse(n.toString());
296
- c.id === 1 && (e.close(), o(c));
297
- } catch {
298
- }
299
- }), e.on("error", i), setTimeout(() => {
300
- e.terminate(), i(new Error("timeout"));
301
- }, 5e3);
302
- });
303
- }
304
- const Sr = {
305
- isElectronApp: (t) => {
306
- const r = h.platform;
307
- return r === "darwin" ? hr(t) : r === "win32" ? yr(t) : Er(t);
308
- },
309
- launchApp: async (t, r, s, o) => {
310
- var p, f;
311
- const [i, e] = await Promise.all([
312
- Q(0, "127.0.0.1"),
313
- Q(0, "127.0.0.1")
314
- ]);
315
- let n = r;
316
- if (h.platform === "darwin") {
317
- const v = x.join(r, "Contents/MacOS");
318
- if (l.existsSync(v)) {
319
- const X = l.readdirSync(v);
320
- X[0] && (n = x.join(v, X[0]));
321
- }
322
- }
323
- const c = h.platform === "win32" ? x.dirname(n) : "/", a = $(
324
- n,
325
- [
326
- `--inspect=${i}`,
327
- `--remote-debugging-port=${e}`,
328
- "--remote-allow-origins=devtools://devtools"
329
- ],
330
- { cwd: c }
331
- ), u = (v) => s(v.toString());
332
- return (p = a.stdout) == null || p.on("data", u), (f = a.stderr) == null || f.on("data", u), a.on("close", () => {
333
- d.delete(t), o();
334
- }), d.set(t, { nodePort: i, windowPort: e, kill: () => a.kill() }), { nodePort: i, windowPort: e };
335
- },
336
- stopApp: (t) => {
337
- var r;
338
- (r = d.get(t)) == null || r.kill(), d.delete(t);
339
- },
340
- getPages: async (t) => {
341
- try {
342
- return await H(`http://127.0.0.1:${t}/json`, {
343
- timeout: { request: 2e3 }
344
- }).json();
345
- } catch {
346
- return [];
347
- }
348
- },
349
- openDevTools: async (t, r) => {
350
- var c;
351
- const o = (await H(
352
- `http://127.0.0.1:${t}/json`,
353
- { timeout: { request: 2e3 } }
354
- ).json())[0];
355
- if (!(o != null && o.webSocketDebuggerUrl))
356
- throw new Error("No node target found");
357
- const i = r.replace(/^\/devtools/, "devtools://devtools/bundled").replace(/^chrome-devtools:\/\//, "devtools://"), e = `
358
- (function() {
359
- const { BrowserWindow } = process.mainModule.require('electron');
360
- const win = new BrowserWindow({
361
- width: 1280,
362
- height: 800,
363
- webPreferences: { nodeIntegration: false }
364
- });
365
- win.loadURL(${JSON.stringify(i)});
366
- win.show();
367
- })()
368
- `, n = await Ar(
369
- o.webSocketDebuggerUrl,
370
- "Runtime.evaluate",
371
- { expression: e, awaitPromise: !1 }
372
- );
373
- if (n != null && n.exceptionDetails)
374
- throw new Error(
375
- ((c = n.exceptionDetails.exception) == null ? void 0 : c.description) || n.exceptionDetails.text
376
- );
377
- }
378
- };
379
- K.exposeInMainWorld("electronDebug", Sr);
@@ -1,32 +0,0 @@
1
- /**
2
- * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
- * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
- * https://github.com/chjj/term.js
5
- * @license MIT
6
- *
7
- * Permission is hereby granted, free of charge, to any person obtaining a copy
8
- * of this software and associated documentation files (the "Software"), to deal
9
- * in the Software without restriction, including without limitation the rights
10
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- * copies of the Software, and to permit persons to whom the Software is
12
- * furnished to do so, subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be included in
15
- * all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
- * THE SOFTWARE.
24
- *
25
- * Originally forked from (with the author's permission):
26
- * Fabrice Bellard's javascript vt100 for jslinux:
27
- * http://bellard.org/jslinux/
28
- * Copyright (c) 2011 Fabrice Bellard
29
- * The original design remains. The terminal itself
30
- * has been extended to include xterm CSI codes, among
31
- * other features.
32
- */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-lime-100:oklch(96.7% .067 122.328);--color-lime-400:oklch(84.1% .238 128.85);--color-lime-700:oklch(53.2% .157 131.589);--color-lime-950:oklch(27.4% .072 132.109);--color-emerald-500:oklch(69.6% .17 162.48);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-950:oklch(30.2% .056 229.695);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-700:oklch(50% .134 242.749);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--font-weight-semibold:600;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--radius-md:.375rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.-right-0\.5{right:calc(var(--spacing)*-.5)}.-bottom-0\.5{bottom:calc(var(--spacing)*-.5)}.left-1\/2{left:50%}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-5{height:calc(var(--spacing)*5)}.h-12{height:calc(var(--spacing)*12)}.h-full{height:100%}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-\[580px\]{max-height:580px}.min-h-0{min-height:calc(var(--spacing)*0)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-5{width:calc(var(--spacing)*5)}.w-12{width:calc(var(--spacing)*12)}.w-\[calc\(100vw-4rem\)\]{width:calc(100vw - 4rem)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-dot-pulse{animation:1.1s ease-in-out infinite dotPulse}.animate-dot-pulse-2{animation:1.1s ease-in-out .18s infinite dotPulse}.animate-dot-pulse-3{animation:1.1s ease-in-out .36s infinite dotPulse}.animate-fade-up{animation:.22s ease-out fadeUp}.cursor-pointer{cursor:pointer}.grid-cols-\[repeat\(auto-fill\,minmax\(76px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-cyan-200{border-color:var(--color-cyan-200)}.border-stone-100{border-color:var(--color-stone-100)}.border-stone-200{border-color:var(--color-stone-200)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-lime-100{background-color:var(--color-lime-100)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-stone-50{background-color:var(--color-stone-50)}.bg-stone-100{background-color:var(--color-stone-100)}.bg-stone-400{background-color:var(--color-stone-400)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.text-center{text-align:center}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-cyan-600{color:var(--color-cyan-600)}.text-lime-700{color:var(--color-lime-700)}.text-sky-700{color:var(--color-sky-700)}.text-stone-300{color:var(--color-stone-300)}.text-stone-400{color:var(--color-stone-400)}.text-stone-500{color:var(--color-stone-500)}.text-stone-900{color:var(--color-stone-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-stone-200:hover{border-color:var(--color-stone-200)}.hover\:border-transparent:hover{border-color:#0000}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-cyan-500:hover{background-color:var(--color-cyan-500)}.hover\:bg-stone-50:hover{background-color:var(--color-stone-50)}.hover\:bg-stone-100:hover{background-color:var(--color-stone-100)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-stone-700:hover{color:var(--color-stone-700)}.hover\:text-white:hover{color:var(--color-white)}}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}@media (prefers-color-scheme:dark){.dark\:border-cyan-800{border-color:var(--color-cyan-800)}.dark\:border-stone-700{border-color:var(--color-stone-700)}.dark\:border-stone-800{border-color:var(--color-stone-800)}.dark\:border-stone-900{border-color:var(--color-stone-900)}.dark\:bg-blue-600{background-color:var(--color-blue-600)}.dark\:bg-cyan-950\/60{background-color:#05334599}@supports (color:color-mix(in lab,red,red)){.dark\:bg-cyan-950\/60{background-color:color-mix(in oklab,var(--color-cyan-950)60%,transparent)}}.dark\:bg-lime-950{background-color:var(--color-lime-950)}.dark\:bg-sky-950{background-color:var(--color-sky-950)}.dark\:bg-stone-600{background-color:var(--color-stone-600)}.dark\:bg-stone-800{background-color:var(--color-stone-800)}.dark\:bg-stone-900{background-color:var(--color-stone-900)}.dark\:bg-stone-950{background-color:var(--color-stone-950)}.dark\:text-cyan-400{color:var(--color-cyan-400)}.dark\:text-lime-400{color:var(--color-lime-400)}.dark\:text-sky-400{color:var(--color-sky-400)}.dark\:text-stone-100{color:var(--color-stone-100)}.dark\:text-stone-400{color:var(--color-stone-400)}.dark\:text-stone-500{color:var(--color-stone-500)}.dark\:text-stone-600{color:var(--color-stone-600)}@media (hover:hover){.dark\:hover\:border-stone-700\/80:hover{border-color:#44403bcc}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:border-stone-700\/80:hover{border-color:color-mix(in oklab,var(--color-stone-700)80%,transparent)}}.dark\:hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.dark\:hover\:bg-cyan-500:hover{background-color:var(--color-cyan-500)}.dark\:hover\:bg-stone-800:hover{background-color:var(--color-stone-800)}.dark\:hover\:bg-stone-900:hover{background-color:var(--color-stone-900)}.dark\:hover\:bg-stone-900\/60:hover{background-color:#1c191799}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-stone-900\/60:hover{background-color:color-mix(in oklab,var(--color-stone-900)60%,transparent)}}.dark\:hover\:text-stone-200:hover{color:var(--color-stone-200)}.dark\:hover\:text-white:hover{color:var(--color-white)}}}}html.dark{color-scheme:dark}*{-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d6d3d1;border-radius:2px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#44403b}}@keyframes status-ring-pulse{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 4px #22c55e00}to{box-shadow:0 0 #22c55e00}}.status-pulse{animation:2s ease-in-out infinite status-ring-pulse}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,60%,to{opacity:.25;transform:scale(.75)}30%{opacity:1;transform:scale(1)}}