@digo-labs/common 0.1.15 → 0.1.17

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.
@@ -1,5 +1,8 @@
1
- import { ImagePayload, Result, Time } from './';
1
+ import { FilePayload, ImagePayload, Result, Time } from './';
2
2
  export declare class CommonHelpers {
3
+ static isImagePayload(file: FilePayload): boolean;
4
+ static getFileExtensionLabel(file: FilePayload): string;
5
+ static getFileSizeLabel(file: FilePayload): string;
3
6
  static copyToClipboard(text: string): void;
4
7
  static removeBackground(image: ImagePayload): Promise<ImagePayload>;
5
8
  static getTimeFormatted(seconds: number): Time;
@@ -5,6 +5,11 @@ export declare const DIGO_ADMIN_SECRET = "X-Admin-Secret";
5
5
  export declare const DIGO_STORAGE_BUCKET_SUFFIX = "-digo-labs-storage";
6
6
  export declare const DIGO_COLORS: string[];
7
7
  export declare const WS_URL = "wss://ws.digo-labs.com";
8
+ export declare const REPLICATE_PROXY: {
9
+ url: string;
10
+ targetHeader: string;
11
+ hosts: RegExp;
12
+ };
8
13
  export declare const AWS_DEFAULT_REGION = "us-east-1";
9
14
  export declare const BREAKPOINTS: Record<Breakpoint, number>;
10
15
  export declare const TYPO_CLASS_GROUPS: ClassGroups;
package/dist/icons.d.ts CHANGED
@@ -1256,6 +1256,10 @@ declare const CURATED_ICONS: {
1256
1256
  category: IconCategory.Communication;
1257
1257
  icon: string;
1258
1258
  };
1259
+ messageCircleMore: {
1260
+ category: IconCategory.Communication;
1261
+ icon: string;
1262
+ };
1259
1263
  messagesSquare: {
1260
1264
  category: IconCategory.Communication;
1261
1265
  icon: string;
package/dist/index.js CHANGED
@@ -25,6 +25,17 @@ for (var d = class {
25
25
  return t;
26
26
  }
27
27
  }, f = class a {
28
+ static isImagePayload(e) {
29
+ return e.mediaType.startsWith("image/");
30
+ }
31
+ static getFileExtensionLabel(e) {
32
+ let t = e.mediaType.split("/")[1] ?? "file";
33
+ return (t.split(".").pop() ?? t).slice(0, 4).toUpperCase();
34
+ }
35
+ static getFileSizeLabel(e) {
36
+ let t = e.base64.endsWith("==") ? 2 : +!!e.base64.endsWith("="), n = Math.max(0, e.base64.length * 3 / 4 - t);
37
+ return n < 1024 ? `${Math.round(n)} B` : n < 1024 * 1024 ? `${(n / 1024).toFixed(1)} KB` : `${(n / (1024 * 1024)).toFixed(1)} MB`;
38
+ }
28
39
  static copyToClipboard(e) {
29
40
  navigator.clipboard.writeText(e).then(() => {}).catch(() => {
30
41
  console.error("Failed to copy");
@@ -120,7 +131,8 @@ for (var d = class {
120
131
  let [t, n] = await Z(e.arrayBuffer());
121
132
  return n ? [null, n] : [{
122
133
  base64: a.encodeArrayBufferToBase64(t),
123
- mediaType: e.type
134
+ mediaType: e.type,
135
+ name: e.name
124
136
  }, null];
125
137
  }
126
138
  static getFileFromImagePayload(e) {
@@ -194,18 +206,22 @@ for (var d = class {
194
206
  behavior: "smooth"
195
207
  });
196
208
  }
197
- }, p = "https://api.digo-labs.com", ee = "X-Digo-App", te = "X-Admin-Secret", ne = "-digo-labs-storage", re = [
209
+ }, p = "https://api.digo-labs.com", m = "X-Digo-App", ee = "X-Admin-Secret", te = "-digo-labs-storage", ne = [
198
210
  "#58C2E3",
199
211
  "#79F2A9",
200
212
  "#985EFF",
201
213
  "#BDF279"
202
- ], ie = "wss://ws.digo-labs.com", ae = "us-east-1", oe = {
214
+ ], re = "wss://ws.digo-labs.com", ie = {
215
+ url: `${p}/api/proxy/replicate`,
216
+ targetHeader: "x-replicate-target-url",
217
+ hosts: /(\.|^)replicate\.com$/
218
+ }, ae = "us-east-1", oe = {
203
219
  sm: 640,
204
220
  md: 768,
205
221
  lg: 1024,
206
222
  xl: 1280,
207
223
  "2xl": 1536
208
- }, m = {
224
+ }, h = {
209
225
  "font-size": [{ typo: [
210
226
  "1",
211
227
  "2",
@@ -332,9 +348,9 @@ for (var d = class {
332
348
  icon: "code",
333
349
  name: "Text"
334
350
  }
335
- }, h = /* @__PURE__ */ function(e) {
351
+ }, g = /* @__PURE__ */ function(e) {
336
352
  return e.Navigation = "Navigation", e.Actions = "Actions", e.Status = "Status", e.Media = "Media", e.Files = "Files", e.UI = "UI", e.Brands = "Brands", e.Programming = "Programming", e.Tools = "Tools", e.Data = "Data", e.Communication = "Communication", e.Design = "Design", e.AI = "AI", e.Numbers = "Numbers", e.Misc = "Misc", e;
337
- }(h || {}), g = {
353
+ }(g || {}), _ = {
338
354
  arrowUp: {
339
355
  category: "Navigation",
340
356
  icon: "icon-[lucide--arrow-up]"
@@ -1567,6 +1583,10 @@ for (var d = class {
1567
1583
  category: "Communication",
1568
1584
  icon: "icon-[lucide--message-circle]"
1569
1585
  },
1586
+ messageCircleMore: {
1587
+ category: "Communication",
1588
+ icon: "icon-[lucide--message-circle-more]"
1589
+ },
1570
1590
  messagesSquare: {
1571
1591
  category: "Communication",
1572
1592
  icon: "icon-[lucide--messages-square]"
@@ -2069,35 +2089,35 @@ for (var d = class {
2069
2089
  }
2070
2090
  }, le = class {
2071
2091
  static getIcon(e) {
2072
- return e in g ? g[e].icon : e;
2092
+ return e in _ ? _[e].icon : e;
2073
2093
  }
2074
2094
  static getCategory(e) {
2075
- return g[e].category;
2095
+ return _[e].category;
2076
2096
  }
2077
2097
  static getCategories() {
2078
2098
  let e = /* @__PURE__ */ new Set();
2079
- for (let t of Object.values(g)) e.add(t.category);
2080
- return Object.values(h).filter((t) => e.has(t));
2099
+ for (let t of Object.values(_)) e.add(t.category);
2100
+ return Object.values(g).filter((t) => e.has(t));
2081
2101
  }
2082
2102
  static getByCategory() {
2083
2103
  let e = {};
2084
- for (let t of Object.values(h)) e[t] = [];
2085
- for (let [t, n] of Object.entries(g)) e[n.category].push({
2104
+ for (let t of Object.values(g)) e[t] = [];
2105
+ for (let [t, n] of Object.entries(_)) e[n.category].push({
2086
2106
  id: t,
2087
2107
  category: n.category,
2088
2108
  icon: n.icon
2089
2109
  });
2090
2110
  return e;
2091
2111
  }
2092
- }, _ = "@plugin \"@iconify/tailwind4\";\n\n@plugin \"tailwindcss-animate\";\n\n@source inline(\"typo-1 typo-2 typo-3 typo-4 typo-5 typo-6 typo-7 typo-8 typo-9 typo-10 typo-11 typo-12 typo-13 typo-14 typo-15 typo-16 typo-17 typo-18 typo-weight-100 typo-weight-200 typo-weight-300 typo-weight-400 typo-weight-500 typo-weight-600 typo-weight-700 typo-weight-800 typo-weight-900\");\n\n@source \"./index.js\";\n@source \"./**/*.{ts,tsx}\";\n\n@theme static {\n --font-code: 'geist-mono', monospace;\n --font-geist: 'geist', sans-serif;\n --font-geist-mono: 'geist-mono', monospace;\n --font-pixel-circle: 'geist-pixel-circle', monospace;\n --font-pixel-grid: 'geist-pixel-grid', monospace;\n --font-pixel-line: 'geist-pixel-line', monospace;\n --font-pixel-square: 'geist-pixel-square', monospace;\n --font-pixel-triangle: 'geist-pixel-triangle', monospace;\n --font-clash-grotesk: 'clash-grotesk-variable', sans-serif;\n --font-nippo: 'nippo', sans-serif;\n --font-humane: 'humane-variable', sans-serif;\n --font-general-sans: 'general-sans', sans-serif;\n --font-kode-mono: 'kode-mono-vf', monospace;\n --font-aalto: 'Aalto', display;\n --font-being: 'being', display;\n --font-benzol: 'benzol', display;\n --font-half: 'half', display;\n --font-miratrix: 'miratrix', display;\n --font-triakis: 'triakis', display;\n --font-yeager: 'yeager', display;\n --font-karmatic-arcade: 'karmatic-arcade-regular', display;\n --font-digital-7: 'digital-7-mono', monospace;\n --font-pixelony: 'pixelony', display;\n --font-unknown: 'unknown', display;\n --font-disket: 'disket', display;\n --font-heming: 'heming', display;\n --font-obrazec: 'obrazec', display;\n\n --color-neutral-1: #111111;\n --color-neutral-2: #191919;\n --color-neutral-3: #222222;\n --color-neutral-4: #2a2a2a;\n --color-neutral-5: #313131;\n --color-neutral-6: #3a3a3a;\n --color-neutral-7: #484848;\n --color-neutral-8: #606060;\n --color-neutral-9: #6e6e6e;\n --color-neutral-10: #7b7b7b;\n --color-neutral-11: #b4b4b4;\n --color-neutral-12: #eeeeee;\n\n --color-neutralA-1: #FFFFFF05;\n --color-neutralA-2: #FFFFFF09;\n --color-neutralA-3: #FFFFFF12;\n --color-neutralA-4: #FFFFFF1B;\n --color-neutralA-5: #FFFFFF22;\n --color-neutralA-6: #FFFFFF2C;\n --color-neutralA-7: #FFFFFF3B;\n --color-neutralA-8: #FFFFFF55;\n --color-neutralA-9: #FFFFFF64;\n --color-neutralA-10: #FFFFFF72;\n --color-neutralA-11: #FFFFFFAF;\n --color-neutralA-12: #FFFFFFED;\n\n --color-shadows-1: #0000000D;\n --color-shadows-2: #0000001A;\n --color-shadows-3: #00000026;\n --color-shadows-4: #00000033;\n --color-shadows-5: #0000004D;\n --color-shadows-6: #00000066;\n --color-shadows-7: #00000080;\n --color-shadows-8: #00000099;\n --color-shadows-9: #000000B3;\n --color-shadows-10: #000000CC;\n --color-shadows-11: #000000E6;\n --color-shadows-12: #000000F2;\n\n --color-accent-1: #0e1512;\n --color-accent-2: #121b17;\n --color-accent-3: #132d21;\n --color-accent-4: #113b29;\n --color-accent-5: #174933;\n --color-accent-6: #20573e;\n --color-accent-7: #28684a;\n --color-accent-8: #2f7c57;\n --color-accent-9: #30a46c;\n --color-accent-10: #33b074;\n --color-accent-11: #3dd68c;\n --color-accent-12: #b1f1cb;\n\n --color-accentA-1: #00de4505;\n --color-accentA-2: #29f99d0b;\n --color-accentA-3: #22ff991e;\n --color-accentA-4: #11ff992d;\n --color-accentA-5: #2bffa23c;\n --color-accentA-6: #44ffaa4b;\n --color-accentA-7: #50fdac5e;\n --color-accentA-8: #54ffad73;\n --color-accentA-9: #44ffa49e;\n --color-accentA-10: #43fea4ab;\n --color-accentA-11: #46fea5d4;\n --color-accentA-12: #bbffd7f0;\n\n --color-error-1: #191113;\n --color-error-2: #1e1517;\n --color-error-3: #3a141e;\n --color-error-4: #4e1325;\n --color-error-5: #5e1a2e;\n --color-error-6: #6f2539;\n --color-error-7: #883447;\n --color-error-8: #b3445a;\n --color-error-9: #e54666;\n --color-error-10: #ec5a72;\n --color-error-11: #ff949d;\n --color-error-12: #fed2e1;\n\n --color-errorA-1: #f4126709;\n --color-errorA-2: #f22f7a11;\n --color-errorA-3: #fe2a8b2a;\n --color-errorA-4: #fd158741;\n --color-errorA-5: #fd278f51;\n --color-errorA-6: #fe459763;\n --color-errorA-7: #fd559b7f;\n --color-errorA-8: #fe5b9bab;\n --color-errorA-9: #fe418de8;\n --color-errorA-10: #ff5693ed;\n --color-errorA-11: #ff92ad;\n --color-errorA-12: #ffd5eafd;\n\n --color-success-1: #0d1512;\n --color-success-2: #121c18;\n --color-success-3: #0f2e22;\n --color-success-4: #0b3b2c;\n --color-success-5: #114837;\n --color-success-6: #1b5745;\n --color-success-7: #246854;\n --color-success-8: #2a7e68;\n --color-success-9: #29a383;\n --color-success-10: #27b08b;\n --color-success-11: #1fd8a4;\n --color-success-12: #adf0d4;\n\n --color-successA-1: #00de4505;\n --color-successA-2: #29f99d0b;\n --color-successA-3: #22ff991e;\n --color-successA-4: #11ff992d;\n --color-successA-5: #2bffa23c;\n --color-successA-6: #44ffaa4b;\n --color-successA-7: #50fdac5e;\n --color-successA-8: #54ffad73;\n --color-successA-9: #44ffa49e;\n --color-successA-10: #43fea4ab;\n --color-successA-11: #46fea5d4;\n --color-successA-12: #bbffd7f0;\n\n --color-warning-1: #16120c;\n --color-warning-2: #1d180f;\n --color-warning-3: #302008;\n --color-warning-4: #3f2700;\n --color-warning-5: #4d3000;\n --color-warning-6: #5c3d05;\n --color-warning-7: #714f19;\n --color-warning-8: #8f6424;\n --color-warning-9: #f5d90a;\n --color-warning-10: #ffef5c;\n --color-warning-11: #f0c000;\n --color-warning-12: #fffad1;\n\n --color-warningA-1: #d1510004;\n --color-warningA-2: #f9b4000b;\n --color-warningA-3: #ffaa001e;\n --color-warningA-4: #fdb70028;\n --color-warningA-5: #febb0036;\n --color-warningA-6: #fec40046;\n --color-warningA-7: #fdcb225c;\n --color-warningA-8: #fdca327b;\n --color-warningA-9: #ffe629;\n --color-warningA-10: #ffff57;\n --color-warningA-11: #fee949f5;\n --color-warningA-12: #fef6baf6;\n\n --color-info-1: #0d1520;\n --color-info-2: #111927;\n --color-info-3: #0d2847;\n --color-info-4: #003362;\n --color-info-5: #004074;\n --color-info-6: #104d87;\n --color-info-7: #205d9e;\n --color-info-8: #2870bd;\n --color-info-9: #0090ff;\n --color-info-10: #3b9eff;\n --color-info-11: #70b8ff;\n --color-info-12: #c2e6ff;\n\n --color-infoA-1: #004df211;\n --color-infoA-2: #1166fb18;\n --color-infoA-3: #0077ff3a;\n --color-infoA-4: #0075ff57;\n --color-infoA-5: #0081fd6b;\n --color-infoA-6: #0f89fd7f;\n --color-infoA-7: #2a91fe98;\n --color-infoA-8: #3094feb9;\n --color-infoA-9: #0090ff;\n --color-infoA-10: #3b9eff;\n --color-infoA-11: #70b8ff;\n --color-infoA-12: #c2e6ff;\n\n --text-xxs: 0.625rem;\n --text-10xl: 10rem;\n --text-11xl: 12rem;\n --text-12xl: 14rem;\n --text-13xl: 16rem;\n}\n\n@theme {\n --radius: 0.5rem;\n --radius-xxs: calc(var(--radius) * 0.25);\n --radius-xs: calc(var(--radius) * 0.375);\n --radius-sm: calc(var(--radius) * 0.625);\n --radius-md: calc(var(--radius) * 0.875);\n --radius-lg: calc(var(--radius) * 1.25);\n --radius-xl: calc(var(--radius) * 1.75);\n --radius-2xl: calc(var(--radius) * 2.5);\n --radius-3xl: calc(var(--radius) * 3.5);\n\n --typo-header-font: 'geist', sans-serif;\n --typo-header-weight: 600;\n --typo-header-tracking: 0.025em;\n --typo-header-leading: 1;\n\n --typo-label-font: 'geist', sans-serif;\n --typo-label-weight: 500;\n --typo-label-tracking: 0.025em;\n --typo-label-leading: 1;\n\n --typo-body-font: 'geist', sans-serif;\n --typo-body-weight: 400;\n --typo-body-tracking: 0.025em;\n --typo-body-leading: 1.375;\n\n --typo-code-font: 'geist-mono', monospace;\n --typo-code-weight: 500;\n --typo-code-tracking: 0;\n --typo-code-leading: 1.5;\n\n --typo-scale-factor: 1;\n\n --shadow-xs-color: var(--color-neutral-9);\n --shadow-xs-offsetX: 0px;\n --shadow-xs-offsetY: 0px;\n --shadow-xs-blur: 2px;\n --shadow-xs-spread: 0px;\n --shadow-xs-opacity: 5%;\n --shadow-xs: var(--shadow-xs-offsetX) var(--shadow-xs-offsetY) var(--shadow-xs-blur) var(--shadow-xs-spread) color-mix(in srgb, var(--shadow-xs-color) var(--shadow-xs-opacity), transparent);\n\n --shadow-s-color: var(--color-neutral-9);\n --shadow-s-offsetX: 0px;\n --shadow-s-offsetY: 0px;\n --shadow-s-blur: 4px;\n --shadow-s-spread: 0px;\n --shadow-s-opacity: 10%;\n --shadow-s: var(--shadow-s-offsetX) var(--shadow-s-offsetY) var(--shadow-s-blur) var(--shadow-s-spread) color-mix(in srgb, var(--shadow-s-color) var(--shadow-s-opacity), transparent);\n\n --shadow-m-color: var(--color-neutral-9);\n --shadow-m-offsetX: 0px;\n --shadow-m-offsetY: 0px;\n --shadow-m-blur: 8px;\n --shadow-m-spread: -1px;\n --shadow-m-opacity: 15%;\n --shadow-m: var(--shadow-m-offsetX) var(--shadow-m-offsetY) var(--shadow-m-blur) var(--shadow-m-spread) color-mix(in srgb, var(--shadow-m-color) var(--shadow-m-opacity), transparent);\n\n --shadow-l-color: var(--color-neutral-9);\n --shadow-l-offsetX: 0px;\n --shadow-l-offsetY: 0px;\n --shadow-l-blur: 16px;\n --shadow-l-spread: -2px;\n --shadow-l-opacity: 20%;\n --shadow-l: var(--shadow-l-offsetX) var(--shadow-l-offsetY) var(--shadow-l-blur) var(--shadow-l-spread) color-mix(in srgb, var(--shadow-l-color) var(--shadow-l-opacity), transparent);\n\n --shadow-xl-color: var(--color-neutral-9);\n --shadow-xl-offsetX: 0px;\n --shadow-xl-offsetY: 0px;\n --shadow-xl-blur: 40px;\n --shadow-xl-spread: -8px;\n --shadow-xl-opacity: 30%;\n --shadow-xl: var(--shadow-xl-offsetX) var(--shadow-xl-offsetY) var(--shadow-xl-blur) var(--shadow-xl-spread) color-mix(in srgb, var(--shadow-xl-color) var(--shadow-xl-opacity), transparent);\n}\n\n@utility typo-weight-100 {\n @apply font-thin;\n}\n\n@utility typo-weight-200 {\n @apply font-extralight;\n}\n\n@utility typo-weight-300 {\n @apply font-light;\n}\n\n@utility typo-weight-400 {\n @apply font-normal;\n}\n\n@utility typo-weight-500 {\n @apply font-medium;\n}\n\n@utility typo-weight-600 {\n @apply font-semibold;\n}\n\n@utility typo-weight-700 {\n @apply font-bold;\n}\n\n@utility typo-weight-800 {\n @apply font-extrabold;\n}\n\n@utility typo-weight-900 {\n @apply font-black;\n}\n\n@utility typo-header {\n font-family: var(--typo-header-font);\n font-weight: var(--typo-header-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-header-tracking);\n line-height: var(--typo-header-leading);\n}\n\n@utility typo-label {\n font-family: var(--typo-label-font);\n font-weight: var(--typo-label-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-label-tracking);\n line-height: var(--typo-label-leading);\n}\n\n@utility typo-body {\n font-family: var(--typo-body-font);\n font-weight: var(--typo-body-weight);\n -webkit-font-smoothing: antialiased;\n text-wrap: wrap;\n letter-spacing: var(--typo-body-tracking);\n line-height: var(--typo-body-leading);\n}\n\n@utility typo-code {\n font-family: var(--typo-code-font);\n font-weight: var(--typo-code-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-code-tracking);\n line-height: var(--typo-code-leading);\n font-variant-numeric: tabular-nums;\n}\n\n@utility typo-1 {\n @apply typo-body;\n font-size: calc(var(--text-xxs) * var(--typo-scale-factor));\n}\n\n@utility typo-2 {\n @apply typo-body;\n font-size: calc(var(--text-xs) * var(--typo-scale-factor));\n}\n\n@utility typo-3 {\n @apply typo-body;\n font-size: calc(var(--text-sm) * var(--typo-scale-factor));\n}\n\n@utility typo-4 {\n @apply typo-body;\n font-size: calc(var(--text-base) * var(--typo-scale-factor));\n}\n\n@utility typo-5 {\n @apply typo-body;\n font-size: calc(var(--text-lg) * var(--typo-scale-factor));\n}\n\n@utility typo-6 {\n @apply typo-body;\n font-size: calc(var(--text-xl) * var(--typo-scale-factor));\n}\n\n@utility typo-7 {\n @apply typo-body;\n font-size: calc(var(--text-2xl) * var(--typo-scale-factor));\n}\n\n@utility typo-8 {\n @apply typo-body;\n font-size: calc(var(--text-3xl) * var(--typo-scale-factor));\n}\n\n@utility typo-9 {\n @apply typo-body;\n font-size: calc(var(--text-4xl) * var(--typo-scale-factor));\n}\n\n@utility typo-10 {\n @apply typo-body;\n font-size: calc(var(--text-5xl) * var(--typo-scale-factor));\n}\n\n@utility typo-11 {\n @apply typo-body;\n font-size: calc(var(--text-6xl) * var(--typo-scale-factor));\n}\n\n@utility typo-12 {\n @apply typo-body;\n font-size: calc(var(--text-7xl) * var(--typo-scale-factor));\n}\n\n@utility typo-13 {\n @apply typo-body;\n font-size: calc(var(--text-8xl) * var(--typo-scale-factor));\n}\n\n@utility typo-14 {\n @apply typo-body;\n font-size: calc(var(--text-9xl) * var(--typo-scale-factor));\n}\n\n@utility typo-15 {\n @apply typo-body;\n font-size: calc(var(--text-10xl) * var(--typo-scale-factor));\n}\n\n@utility typo-16 {\n @apply typo-body;\n font-size: calc(var(--text-11xl) * var(--typo-scale-factor));\n}\n\n@utility typo-17 {\n @apply typo-body;\n font-size: calc(var(--text-12xl) * var(--typo-scale-factor));\n}\n\n@utility typo-18 {\n @apply typo-body;\n font-size: calc(var(--text-13xl) * var(--typo-scale-factor));\n}\n\n@utility filter-none {\n filter: none;\n}\n\n@utility flex-col-center {\n @apply flex flex-col justify-center items-center align-middle;\n}\n\n@utility grid-hor-center {\n @apply grid grid-flow-col items-center;\n}\n\n@utility grid-ver-center {\n @apply grid grid-flow-row items-center;\n}\n\n@utility flex-row-center {\n @apply flex flex-row justify-center items-center align-middle;\n}\n\n@utility cs-border-dashed {\n @apply border border-dashed border-neutralA-4;\n}\n\n@utility cs-disabled {\n @apply disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50;\n }\n\n@utility cs-has-disabled {\n @apply has-[[data-slot=control]:disabled]:pointer-events-none has-[[data-slot=control]:disabled]:opacity-50;\n}\n\n@utility cs-transition {\n @apply transition-all duration-200 ease-in-out;\n}\n\n@utility cs-contrast {\n @apply drop-shadow-[0_-1px_1px_#fff4];\n}\n\n@utility cs-popup-animation {\n @apply origin-(--transform-origin) transition-[scale,opacity] duration-[0.25s] ease-[cubic-bezier(0.34,1.56,0.64,1)] data-starting-style:scale-90 data-starting-style:opacity-0 data-ending-style:scale-90 data-ending-style:opacity-0 data-instant:transition-none;\n}\n\n@utility cs-focus {\n @apply outline-none focus-visible:duration-0 focus-visible:outline-solid focus-visible:z-1 focus-visible:ring-[3px] focus-visible:ring-accent-4 focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-accent-9; \n}\n\n@utility cs-has-focus {\n @apply has-[[data-slot=control]:focus-visible]:z-1 has-[[data-slot=control]:focus-visible]:ring-[3px] has-[[data-slot=control]:focus-visible]:ring-accent-4 has-[[data-slot=control]:focus-visible]:outline-1 has-[[data-slot=control]:focus-visible]:outline-solid has-[[data-slot=control]:focus-visible]:-outline-offset-1 has-[[data-slot=control]:focus-visible]:outline-accent-9;\n}\n\n@utility cs-invalid {\n @apply aria-invalid:ring-3 aria-invalid:ring-error-6 aria-invalid:border-error-9 focus-visible:aria-invalid:ring-error-4 focus-visible:aria-invalid:outline-error-9;\n}\n\n@utility cs-has-invalid {\n @apply has-[[data-slot=control][aria-invalid=true]]:ring-3 has-[[data-slot=control][aria-invalid=true]]:ring-error-6 has-[[data-slot=control][aria-invalid=true]]:border-error-9 has-[[data-slot=control][aria-invalid=true]:focus-visible]:ring-error-4 has-[[data-slot=control][aria-invalid=true]:focus-visible]:outline-error-9;\n}\n\n@utility cs-steps {\n counter-reset: step;\n}\n\n@utility cs-step {\n &::before {\n --tw-content: counter(step);\n content: var(--tw-content);\n counter-increment: step;\n }\n}\n\n@utility cs-masonry {\n columns: 3;\n & > * {\n break-inside: avoid-column;\n }\n}\n\n@utility cs-stroke {\n -webkit-text-stroke-width: var(--stroke-w, 2px);\n -webkit-text-stroke-color: var(--stroke-color, var(--color-neutral-12));\n color: transparent;\n paint-order: stroke fill;\n}\n\n@utility cs-backdrop-panel {\n @apply rounded-md border-neutralA-4 bg-neutral-1/60 text-neutral-11 backdrop-blur-lg border shadow-m;\n }\n\n@utility animate-collapsible-down {\n animation: collapsible-down 0.2s ease-out;\n}\n\n@utility animate-collapsible-up {\n animation: collapsible-up 0.2s ease-out;\n}\n\n@utility no-scrollbar {\n @apply [scrollbar-width:none] [&::-webkit-scrollbar]:hidden;\n}\n\n@utility cs-gutter {\n background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);\n background-size: 10px 10px;\n background-attachment: fixed;\n}\n\n@utility cs-dots {\n background-image: radial-gradient(var(--color-neutral-4) 1px, transparent 1px);\n background-size: 20px 20px;\n}\n\n@keyframes stripes {\n from { background-position: 0 0; }\n to { background-position: 16px 0; }\n}\n\n@utility cs-stripes {\n background-image: repeating-linear-gradient(315deg, var(--color-neutralA-4) 0 4px, transparent 2px 50%);\n background-size: 16px 16px;\n animation: stripes 0.6s linear infinite;\n}\n\n@utility cs-guides {\n overflow: clip;\n isolation: isolate;\n\n & > * {\n position: relative;\n z-index: 0;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n right: -1px;\n top: -9999px;\n bottom: -9999px;\n border-left: 1px solid var(--color-neutral-4);\n border-right: 1px solid var(--color-neutral-4);\n pointer-events: none;\n z-index: 1;\n }\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: -1px;\n left: -9999px;\n right: -9999px;\n border-top: 1px solid var(--color-neutral-4);\n border-bottom: 1px solid var(--color-neutral-4);\n pointer-events: none;\n z-index: 1;\n }\n }\n}\n\n@utility cs-page-container {\n @apply grid grid-cols-[1fr_minmax(0,var(--page-max-w,64rem))_1fr];\n}\n\n@utility cs-page-grid {\n position: relative;\n max-width: var(--page-max-w, 64rem);\n width: 100%;\n margin-inline: auto;\n border-inline: 1px solid var(--color-neutral-4);\n\n & > :where(*) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: -100vw;\n width: 200vw;\n height: 1px;\n background-color: var(--color-neutral-4);\n pointer-events: none;\n }\n }\n\n & > :where(*:first-child)::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100vw;\n width: 200vw;\n height: 1px;\n background-color: var(--color-neutral-4);\n pointer-events: none;\n }\n}\n\n@utility cs-page-gutter {\n &::before, &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--page-gutter-w, 2.5rem);\n pointer-events: none;\n background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);\n background-size: 10px 10px;\n background-attachment: fixed;\n }\n\n &::before {\n right: 100%;\n border-left: 1px solid var(--color-neutral-4);\n }\n\n &::after {\n left: 100%;\n border-right: 1px solid var(--color-neutral-4);\n }\n}\n\n@media (pointer: coarse) {\n input,\n select,\n textarea {\n font-size: max(16px, 1em);\n }\n}\n\n@layer base {\n\n * {\n @apply transition-colors duration-200;\n }\n\n body {\n color: var(--color-neutral-12);\n background-color: var(--color-neutral-1);\n }\n\n\n @font-face {\n font-family: 'geist';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-mono';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-mono.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-circle';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-circle.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-grid';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-grid.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-line';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-line.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-square';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-square.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-triangle';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-triangle.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'clash-grotesk-variable';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/clash-grotesk-variable.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'nippo';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/nippo.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'being';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/being.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'Aalto';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/aalto.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'humane-variable';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/humane-variable.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'general-sans';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/general-sans.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'karmatic-arcade-regular';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/karmatic-arcade-regular.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'kode-mono-vf';\n font-style: normal;\n font-weight: 400 700;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kode-mono-vf.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'digital-7-mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/digital-7-mono.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'pixelony';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pixelony.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'unknown';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 140%;\n src: url(https://cdn.digo-labs.com/fonts/unknown.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'benzol';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/benzol.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'half';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/half.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'miratrix';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/miratrix.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'triakis';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/triakis.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'yeager';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/yeager.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'disket';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/disket.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'heming';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/heming.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'obrazec';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/obrazec.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'satoshi';\n font-weight: 300 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/satoshi.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'chillax';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/chillax.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'panchang';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/panchang.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'zodiak';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/zodiak.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'supreme';\n font-weight: 100 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/supreme.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'boska';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/boska.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'tanker';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/tanker.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'gambarino';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/gambarino.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'neco';\n font-weight: 400 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/neco.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'erode';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/erode.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'pramukh-rounded';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pramukh-rounded.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'bevellier';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/bevellier.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'comico';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/comico.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'aktura';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/aktura.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'technor';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/technor.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'array';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/array.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'styro';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/styro.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'recia';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/recia.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'melodrama';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/melodrama.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'boxing';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/boxing.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'kola';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kola.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'zina';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/zina.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'tabular';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/tabular.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'expose';\n font-weight: 400 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/expose.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'kihim';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kihim.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'pilcrow-rounded';\n font-weight: 400 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pilcrow-rounded.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'new-title';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/new-title.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'kohinoor-zerone';\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kohinoor-zerone.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'roundo';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/roundo.woff2) format('woff2');\n }\n \n}\n\n@layer utilities {\n * {\n scrollbar-width: thin;\n scrollbar-color: #ffffff50 transparent;\n }\n}\n\n@layer base {\n ::selection {\n background-color: var(--color-neutral-12);\n color: var(--color-neutral-1);\n }\n\n ::-moz-selection {\n background-color: var(--color-neutral-12);\n color: var(--color-neutral-1);\n }\n}", ue = /--font-([\w-]+):\s*'([^']+)'/g, v = /* @__PURE__ */ new Map(), y; (y = ue.exec(_)) !== null;) {
2093
- let e = `--font-${y[1]}`, t = y[2];
2094
- v.set(t.toLowerCase(), e);
2112
+ }, v = "@plugin \"@iconify/tailwind4\";\n\n@plugin \"tailwindcss-animate\";\n\n@source inline(\"typo-1 typo-2 typo-3 typo-4 typo-5 typo-6 typo-7 typo-8 typo-9 typo-10 typo-11 typo-12 typo-13 typo-14 typo-15 typo-16 typo-17 typo-18 typo-weight-100 typo-weight-200 typo-weight-300 typo-weight-400 typo-weight-500 typo-weight-600 typo-weight-700 typo-weight-800 typo-weight-900\");\n\n@source \"./index.js\";\n@source \"./**/*.{ts,tsx}\";\n\n@theme static {\n --font-code: 'geist-mono', monospace;\n --font-geist: 'geist', sans-serif;\n --font-geist-mono: 'geist-mono', monospace;\n --font-pixel-circle: 'geist-pixel-circle', monospace;\n --font-pixel-grid: 'geist-pixel-grid', monospace;\n --font-pixel-line: 'geist-pixel-line', monospace;\n --font-pixel-square: 'geist-pixel-square', monospace;\n --font-pixel-triangle: 'geist-pixel-triangle', monospace;\n --font-clash-grotesk: 'clash-grotesk-variable', sans-serif;\n --font-nippo: 'nippo', sans-serif;\n --font-humane: 'humane-variable', sans-serif;\n --font-general-sans: 'general-sans', sans-serif;\n --font-kode-mono: 'kode-mono-vf', monospace;\n --font-aalto: 'Aalto', display;\n --font-being: 'being', display;\n --font-benzol: 'benzol', display;\n --font-half: 'half', display;\n --font-miratrix: 'miratrix', display;\n --font-triakis: 'triakis', display;\n --font-yeager: 'yeager', display;\n --font-karmatic-arcade: 'karmatic-arcade-regular', display;\n --font-digital-7: 'digital-7-mono', monospace;\n --font-pixelony: 'pixelony', display;\n --font-unknown: 'unknown', display;\n --font-disket: 'disket', display;\n --font-heming: 'heming', display;\n --font-obrazec: 'obrazec', display;\n\n --color-neutral-1: #111111;\n --color-neutral-2: #191919;\n --color-neutral-3: #222222;\n --color-neutral-4: #2a2a2a;\n --color-neutral-5: #313131;\n --color-neutral-6: #3a3a3a;\n --color-neutral-7: #484848;\n --color-neutral-8: #606060;\n --color-neutral-9: #6e6e6e;\n --color-neutral-10: #7b7b7b;\n --color-neutral-11: #b4b4b4;\n --color-neutral-12: #eeeeee;\n\n --color-neutralA-1: #FFFFFF05;\n --color-neutralA-2: #FFFFFF09;\n --color-neutralA-3: #FFFFFF12;\n --color-neutralA-4: #FFFFFF1B;\n --color-neutralA-5: #FFFFFF22;\n --color-neutralA-6: #FFFFFF2C;\n --color-neutralA-7: #FFFFFF3B;\n --color-neutralA-8: #FFFFFF55;\n --color-neutralA-9: #FFFFFF64;\n --color-neutralA-10: #FFFFFF72;\n --color-neutralA-11: #FFFFFFAF;\n --color-neutralA-12: #FFFFFFED;\n\n --color-shadows-1: #0000000D;\n --color-shadows-2: #0000001A;\n --color-shadows-3: #00000026;\n --color-shadows-4: #00000033;\n --color-shadows-5: #0000004D;\n --color-shadows-6: #00000066;\n --color-shadows-7: #00000080;\n --color-shadows-8: #00000099;\n --color-shadows-9: #000000B3;\n --color-shadows-10: #000000CC;\n --color-shadows-11: #000000E6;\n --color-shadows-12: #000000F2;\n\n --color-accent-1: #0e1512;\n --color-accent-2: #121b17;\n --color-accent-3: #132d21;\n --color-accent-4: #113b29;\n --color-accent-5: #174933;\n --color-accent-6: #20573e;\n --color-accent-7: #28684a;\n --color-accent-8: #2f7c57;\n --color-accent-9: #30a46c;\n --color-accent-10: #33b074;\n --color-accent-11: #3dd68c;\n --color-accent-12: #b1f1cb;\n\n --color-accentA-1: #00de4505;\n --color-accentA-2: #29f99d0b;\n --color-accentA-3: #22ff991e;\n --color-accentA-4: #11ff992d;\n --color-accentA-5: #2bffa23c;\n --color-accentA-6: #44ffaa4b;\n --color-accentA-7: #50fdac5e;\n --color-accentA-8: #54ffad73;\n --color-accentA-9: #44ffa49e;\n --color-accentA-10: #43fea4ab;\n --color-accentA-11: #46fea5d4;\n --color-accentA-12: #bbffd7f0;\n\n --color-error-1: #191113;\n --color-error-2: #1e1517;\n --color-error-3: #3a141e;\n --color-error-4: #4e1325;\n --color-error-5: #5e1a2e;\n --color-error-6: #6f2539;\n --color-error-7: #883447;\n --color-error-8: #b3445a;\n --color-error-9: #e54666;\n --color-error-10: #ec5a72;\n --color-error-11: #ff949d;\n --color-error-12: #fed2e1;\n\n --color-errorA-1: #f4126709;\n --color-errorA-2: #f22f7a11;\n --color-errorA-3: #fe2a8b2a;\n --color-errorA-4: #fd158741;\n --color-errorA-5: #fd278f51;\n --color-errorA-6: #fe459763;\n --color-errorA-7: #fd559b7f;\n --color-errorA-8: #fe5b9bab;\n --color-errorA-9: #fe418de8;\n --color-errorA-10: #ff5693ed;\n --color-errorA-11: #ff92ad;\n --color-errorA-12: #ffd5eafd;\n\n --color-success-1: #0d1512;\n --color-success-2: #121c18;\n --color-success-3: #0f2e22;\n --color-success-4: #0b3b2c;\n --color-success-5: #114837;\n --color-success-6: #1b5745;\n --color-success-7: #246854;\n --color-success-8: #2a7e68;\n --color-success-9: #29a383;\n --color-success-10: #27b08b;\n --color-success-11: #1fd8a4;\n --color-success-12: #adf0d4;\n\n --color-successA-1: #00de4505;\n --color-successA-2: #29f99d0b;\n --color-successA-3: #22ff991e;\n --color-successA-4: #11ff992d;\n --color-successA-5: #2bffa23c;\n --color-successA-6: #44ffaa4b;\n --color-successA-7: #50fdac5e;\n --color-successA-8: #54ffad73;\n --color-successA-9: #44ffa49e;\n --color-successA-10: #43fea4ab;\n --color-successA-11: #46fea5d4;\n --color-successA-12: #bbffd7f0;\n\n --color-warning-1: #16120c;\n --color-warning-2: #1d180f;\n --color-warning-3: #302008;\n --color-warning-4: #3f2700;\n --color-warning-5: #4d3000;\n --color-warning-6: #5c3d05;\n --color-warning-7: #714f19;\n --color-warning-8: #8f6424;\n --color-warning-9: #f5d90a;\n --color-warning-10: #ffef5c;\n --color-warning-11: #f0c000;\n --color-warning-12: #fffad1;\n\n --color-warningA-1: #d1510004;\n --color-warningA-2: #f9b4000b;\n --color-warningA-3: #ffaa001e;\n --color-warningA-4: #fdb70028;\n --color-warningA-5: #febb0036;\n --color-warningA-6: #fec40046;\n --color-warningA-7: #fdcb225c;\n --color-warningA-8: #fdca327b;\n --color-warningA-9: #ffe629;\n --color-warningA-10: #ffff57;\n --color-warningA-11: #fee949f5;\n --color-warningA-12: #fef6baf6;\n\n --color-info-1: #0d1520;\n --color-info-2: #111927;\n --color-info-3: #0d2847;\n --color-info-4: #003362;\n --color-info-5: #004074;\n --color-info-6: #104d87;\n --color-info-7: #205d9e;\n --color-info-8: #2870bd;\n --color-info-9: #0090ff;\n --color-info-10: #3b9eff;\n --color-info-11: #70b8ff;\n --color-info-12: #c2e6ff;\n\n --color-infoA-1: #004df211;\n --color-infoA-2: #1166fb18;\n --color-infoA-3: #0077ff3a;\n --color-infoA-4: #0075ff57;\n --color-infoA-5: #0081fd6b;\n --color-infoA-6: #0f89fd7f;\n --color-infoA-7: #2a91fe98;\n --color-infoA-8: #3094feb9;\n --color-infoA-9: #0090ff;\n --color-infoA-10: #3b9eff;\n --color-infoA-11: #70b8ff;\n --color-infoA-12: #c2e6ff;\n\n --text-xxs: 0.625rem;\n --text-10xl: 10rem;\n --text-11xl: 12rem;\n --text-12xl: 14rem;\n --text-13xl: 16rem;\n}\n\n@theme {\n --radius: 0.5rem;\n --radius-xxs: calc(var(--radius) * 0.25);\n --radius-xs: calc(var(--radius) * 0.375);\n --radius-sm: calc(var(--radius) * 0.625);\n --radius-md: calc(var(--radius) * 0.875);\n --radius-lg: calc(var(--radius) * 1.25);\n --radius-xl: calc(var(--radius) * 1.75);\n --radius-2xl: calc(var(--radius) * 2.5);\n --radius-3xl: calc(var(--radius) * 3.5);\n\n --typo-header-font: 'geist', sans-serif;\n --typo-header-weight: 600;\n --typo-header-tracking: 0.025em;\n --typo-header-leading: 1;\n\n --typo-label-font: 'geist', sans-serif;\n --typo-label-weight: 500;\n --typo-label-tracking: 0.025em;\n --typo-label-leading: 1;\n\n --typo-body-font: 'geist', sans-serif;\n --typo-body-weight: 400;\n --typo-body-tracking: 0.025em;\n --typo-body-leading: 1.375;\n\n --typo-code-font: 'geist-mono', monospace;\n --typo-code-weight: 500;\n --typo-code-tracking: 0;\n --typo-code-leading: 1.5;\n\n --typo-scale-factor: 1;\n\n --shadow-xs-color: var(--color-neutral-9);\n --shadow-xs-offsetX: 0px;\n --shadow-xs-offsetY: 0px;\n --shadow-xs-blur: 2px;\n --shadow-xs-spread: 0px;\n --shadow-xs-opacity: 5%;\n --shadow-xs: var(--shadow-xs-offsetX) var(--shadow-xs-offsetY) var(--shadow-xs-blur) var(--shadow-xs-spread) color-mix(in srgb, var(--shadow-xs-color) var(--shadow-xs-opacity), transparent);\n\n --shadow-s-color: var(--color-neutral-9);\n --shadow-s-offsetX: 0px;\n --shadow-s-offsetY: 0px;\n --shadow-s-blur: 4px;\n --shadow-s-spread: 0px;\n --shadow-s-opacity: 10%;\n --shadow-s: var(--shadow-s-offsetX) var(--shadow-s-offsetY) var(--shadow-s-blur) var(--shadow-s-spread) color-mix(in srgb, var(--shadow-s-color) var(--shadow-s-opacity), transparent);\n\n --shadow-m-color: var(--color-neutral-9);\n --shadow-m-offsetX: 0px;\n --shadow-m-offsetY: 0px;\n --shadow-m-blur: 8px;\n --shadow-m-spread: -1px;\n --shadow-m-opacity: 15%;\n --shadow-m: var(--shadow-m-offsetX) var(--shadow-m-offsetY) var(--shadow-m-blur) var(--shadow-m-spread) color-mix(in srgb, var(--shadow-m-color) var(--shadow-m-opacity), transparent);\n\n --shadow-l-color: var(--color-neutral-9);\n --shadow-l-offsetX: 0px;\n --shadow-l-offsetY: 0px;\n --shadow-l-blur: 16px;\n --shadow-l-spread: -2px;\n --shadow-l-opacity: 20%;\n --shadow-l: var(--shadow-l-offsetX) var(--shadow-l-offsetY) var(--shadow-l-blur) var(--shadow-l-spread) color-mix(in srgb, var(--shadow-l-color) var(--shadow-l-opacity), transparent);\n\n --shadow-xl-color: var(--color-neutral-9);\n --shadow-xl-offsetX: 0px;\n --shadow-xl-offsetY: 0px;\n --shadow-xl-blur: 40px;\n --shadow-xl-spread: -8px;\n --shadow-xl-opacity: 30%;\n --shadow-xl: var(--shadow-xl-offsetX) var(--shadow-xl-offsetY) var(--shadow-xl-blur) var(--shadow-xl-spread) color-mix(in srgb, var(--shadow-xl-color) var(--shadow-xl-opacity), transparent);\n}\n\n@utility typo-weight-100 {\n @apply font-thin;\n}\n\n@utility typo-weight-200 {\n @apply font-extralight;\n}\n\n@utility typo-weight-300 {\n @apply font-light;\n}\n\n@utility typo-weight-400 {\n @apply font-normal;\n}\n\n@utility typo-weight-500 {\n @apply font-medium;\n}\n\n@utility typo-weight-600 {\n @apply font-semibold;\n}\n\n@utility typo-weight-700 {\n @apply font-bold;\n}\n\n@utility typo-weight-800 {\n @apply font-extrabold;\n}\n\n@utility typo-weight-900 {\n @apply font-black;\n}\n\n@utility typo-header {\n font-family: var(--typo-header-font);\n font-weight: var(--typo-header-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-header-tracking);\n line-height: var(--typo-header-leading);\n}\n\n@utility typo-label {\n font-family: var(--typo-label-font);\n font-weight: var(--typo-label-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-label-tracking);\n line-height: var(--typo-label-leading);\n}\n\n@utility typo-body {\n font-family: var(--typo-body-font);\n font-weight: var(--typo-body-weight);\n -webkit-font-smoothing: antialiased;\n text-wrap: wrap;\n letter-spacing: var(--typo-body-tracking);\n line-height: var(--typo-body-leading);\n}\n\n@utility typo-code {\n font-family: var(--typo-code-font);\n font-weight: var(--typo-code-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-code-tracking);\n line-height: var(--typo-code-leading);\n font-variant-numeric: tabular-nums;\n}\n\n@utility typo-1 {\n @apply typo-body;\n font-size: calc(var(--text-xxs) * var(--typo-scale-factor));\n}\n\n@utility typo-2 {\n @apply typo-body;\n font-size: calc(var(--text-xs) * var(--typo-scale-factor));\n}\n\n@utility typo-3 {\n @apply typo-body;\n font-size: calc(var(--text-sm) * var(--typo-scale-factor));\n}\n\n@utility typo-4 {\n @apply typo-body;\n font-size: calc(var(--text-base) * var(--typo-scale-factor));\n}\n\n@utility typo-5 {\n @apply typo-body;\n font-size: calc(var(--text-lg) * var(--typo-scale-factor));\n}\n\n@utility typo-6 {\n @apply typo-body;\n font-size: calc(var(--text-xl) * var(--typo-scale-factor));\n}\n\n@utility typo-7 {\n @apply typo-body;\n font-size: calc(var(--text-2xl) * var(--typo-scale-factor));\n}\n\n@utility typo-8 {\n @apply typo-body;\n font-size: calc(var(--text-3xl) * var(--typo-scale-factor));\n}\n\n@utility typo-9 {\n @apply typo-body;\n font-size: calc(var(--text-4xl) * var(--typo-scale-factor));\n}\n\n@utility typo-10 {\n @apply typo-body;\n font-size: calc(var(--text-5xl) * var(--typo-scale-factor));\n}\n\n@utility typo-11 {\n @apply typo-body;\n font-size: calc(var(--text-6xl) * var(--typo-scale-factor));\n}\n\n@utility typo-12 {\n @apply typo-body;\n font-size: calc(var(--text-7xl) * var(--typo-scale-factor));\n}\n\n@utility typo-13 {\n @apply typo-body;\n font-size: calc(var(--text-8xl) * var(--typo-scale-factor));\n}\n\n@utility typo-14 {\n @apply typo-body;\n font-size: calc(var(--text-9xl) * var(--typo-scale-factor));\n}\n\n@utility typo-15 {\n @apply typo-body;\n font-size: calc(var(--text-10xl) * var(--typo-scale-factor));\n}\n\n@utility typo-16 {\n @apply typo-body;\n font-size: calc(var(--text-11xl) * var(--typo-scale-factor));\n}\n\n@utility typo-17 {\n @apply typo-body;\n font-size: calc(var(--text-12xl) * var(--typo-scale-factor));\n}\n\n@utility typo-18 {\n @apply typo-body;\n font-size: calc(var(--text-13xl) * var(--typo-scale-factor));\n}\n\n@utility filter-none {\n filter: none;\n}\n\n@utility flex-col-center {\n @apply flex flex-col justify-center items-center align-middle;\n}\n\n@utility grid-hor-center {\n @apply grid grid-flow-col items-center;\n}\n\n@utility grid-ver-center {\n @apply grid grid-flow-row items-center;\n}\n\n@utility flex-row-center {\n @apply flex flex-row justify-center items-center align-middle;\n}\n\n@utility cs-border-dashed {\n @apply border border-dashed border-neutralA-4;\n}\n\n@utility cs-disabled {\n @apply disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50;\n }\n\n@utility cs-has-disabled {\n @apply has-[[data-slot=control]:disabled]:pointer-events-none has-[[data-slot=control]:disabled]:opacity-50;\n}\n\n@utility cs-transition {\n @apply transition-all duration-200 ease-in-out;\n}\n\n@utility cs-contrast {\n @apply drop-shadow-[0_-1px_1px_#fff4];\n}\n\n@utility cs-popup-animation {\n @apply origin-(--transform-origin) transition-[scale,opacity] duration-[0.25s] ease-[cubic-bezier(0.34,1.56,0.64,1)] data-starting-style:scale-90 data-starting-style:opacity-0 data-ending-style:scale-90 data-ending-style:opacity-0 data-instant:transition-none;\n}\n\n@utility cs-focus {\n @apply outline-none focus-visible:duration-0 focus-visible:outline-solid focus-visible:z-1 focus-visible:ring-[3px] focus-visible:ring-accent-4 focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-accent-9; \n}\n\n@utility cs-has-focus {\n @apply has-[[data-slot=control]:focus-visible]:z-1 has-[[data-slot=control]:focus-visible]:ring-[3px] has-[[data-slot=control]:focus-visible]:ring-accent-4 has-[[data-slot=control]:focus-visible]:outline-1 has-[[data-slot=control]:focus-visible]:outline-solid has-[[data-slot=control]:focus-visible]:-outline-offset-1 has-[[data-slot=control]:focus-visible]:outline-accent-9;\n}\n\n@utility cs-invalid {\n @apply aria-invalid:ring-3 aria-invalid:ring-error-6 aria-invalid:border-error-9 focus-visible:aria-invalid:ring-error-4 focus-visible:aria-invalid:outline-error-9;\n}\n\n@utility cs-has-invalid {\n @apply has-[[data-slot=control][aria-invalid=true]]:ring-3 has-[[data-slot=control][aria-invalid=true]]:ring-error-6 has-[[data-slot=control][aria-invalid=true]]:border-error-9 has-[[data-slot=control][aria-invalid=true]:focus-visible]:ring-error-4 has-[[data-slot=control][aria-invalid=true]:focus-visible]:outline-error-9;\n}\n\n@utility cs-steps {\n counter-reset: step;\n}\n\n@utility cs-step {\n &::before {\n --tw-content: counter(step);\n content: var(--tw-content);\n counter-increment: step;\n }\n}\n\n@utility cs-masonry {\n columns: 3;\n & > * {\n break-inside: avoid-column;\n }\n}\n\n@utility cs-stroke {\n -webkit-text-stroke-width: var(--stroke-w, 2px);\n -webkit-text-stroke-color: var(--stroke-color, var(--color-neutral-12));\n color: transparent;\n paint-order: stroke fill;\n}\n\n@utility cs-backdrop-panel {\n @apply rounded-md border-neutralA-4 bg-neutral-1/60 text-neutral-11 backdrop-blur-lg border shadow-m;\n }\n\n@utility animate-collapsible-down {\n animation: collapsible-down 0.2s ease-out;\n}\n\n@utility animate-collapsible-up {\n animation: collapsible-up 0.2s ease-out;\n}\n\n@utility no-scrollbar {\n @apply [scrollbar-width:none] [&::-webkit-scrollbar]:hidden;\n}\n\n@utility cs-gutter {\n background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);\n background-size: 10px 10px;\n background-attachment: fixed;\n}\n\n@utility cs-dots {\n background-image: radial-gradient(var(--color-neutral-4) 1px, transparent 1px);\n background-size: 20px 20px;\n}\n\n@keyframes stripes {\n from { background-position: 0 0; }\n to { background-position: 16px 0; }\n}\n\n@utility cs-stripes {\n background-image: repeating-linear-gradient(315deg, var(--color-neutralA-4) 0 4px, transparent 2px 50%);\n background-size: 16px 16px;\n animation: stripes 0.6s linear infinite;\n}\n\n@utility cs-guides {\n overflow: clip;\n isolation: isolate;\n\n & > * {\n position: relative;\n z-index: 0;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n right: -1px;\n top: -9999px;\n bottom: -9999px;\n border-left: 1px solid var(--color-neutral-4);\n border-right: 1px solid var(--color-neutral-4);\n pointer-events: none;\n z-index: 1;\n }\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: -1px;\n left: -9999px;\n right: -9999px;\n border-top: 1px solid var(--color-neutral-4);\n border-bottom: 1px solid var(--color-neutral-4);\n pointer-events: none;\n z-index: 1;\n }\n }\n}\n\n@utility cs-page-container {\n @apply grid grid-cols-[1fr_minmax(0,var(--page-max-w,64rem))_1fr];\n}\n\n@utility cs-page-grid {\n position: relative;\n max-width: var(--page-max-w, 64rem);\n width: 100%;\n margin-inline: auto;\n border-inline: 1px solid var(--color-neutral-4);\n\n & > :where(*) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: -100vw;\n width: 200vw;\n height: 1px;\n background-color: var(--color-neutral-4);\n pointer-events: none;\n }\n }\n\n & > :where(*:first-child)::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100vw;\n width: 200vw;\n height: 1px;\n background-color: var(--color-neutral-4);\n pointer-events: none;\n }\n}\n\n@utility cs-page-gutter {\n &::before, &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--page-gutter-w, 2.5rem);\n pointer-events: none;\n background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);\n background-size: 10px 10px;\n background-attachment: fixed;\n }\n\n &::before {\n right: 100%;\n border-left: 1px solid var(--color-neutral-4);\n }\n\n &::after {\n left: 100%;\n border-right: 1px solid var(--color-neutral-4);\n }\n}\n\n@media (pointer: coarse) {\n input,\n select,\n textarea {\n font-size: max(16px, 1em);\n }\n}\n\n@layer base {\n\n * {\n @apply transition-colors duration-200;\n }\n\n body {\n color: var(--color-neutral-12);\n background-color: var(--color-neutral-1);\n }\n\n\n @font-face {\n font-family: 'geist';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-mono';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-mono.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-circle';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-circle.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-grid';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-grid.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-line';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-line.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-square';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-square.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-triangle';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-triangle.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'clash-grotesk-variable';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/clash-grotesk-variable.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'nippo';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/nippo.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'being';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/being.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'Aalto';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/aalto.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'humane-variable';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/humane-variable.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'general-sans';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/general-sans.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'karmatic-arcade-regular';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/karmatic-arcade-regular.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'kode-mono-vf';\n font-style: normal;\n font-weight: 400 700;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kode-mono-vf.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'digital-7-mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/digital-7-mono.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'pixelony';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pixelony.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'unknown';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 140%;\n src: url(https://cdn.digo-labs.com/fonts/unknown.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'benzol';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/benzol.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'half';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/half.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'miratrix';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/miratrix.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'triakis';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/triakis.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'yeager';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/yeager.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'disket';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/disket.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'heming';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/heming.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'obrazec';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/obrazec.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'satoshi';\n font-weight: 300 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/satoshi.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'chillax';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/chillax.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'panchang';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/panchang.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'zodiak';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/zodiak.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'supreme';\n font-weight: 100 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/supreme.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'boska';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/boska.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'tanker';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/tanker.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'gambarino';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/gambarino.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'neco';\n font-weight: 400 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/neco.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'erode';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/erode.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'pramukh-rounded';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pramukh-rounded.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'bevellier';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/bevellier.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'comico';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/comico.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'aktura';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/aktura.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'technor';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/technor.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'array';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/array.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'styro';\n font-weight: 200 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/styro.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'recia';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/recia.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'melodrama';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/melodrama.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'boxing';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/boxing.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'kola';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kola.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'zina';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/zina.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'tabular';\n font-weight: 300 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/tabular.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'expose';\n font-weight: 400 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/expose.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'kihim';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kihim.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'pilcrow-rounded';\n font-weight: 400 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pilcrow-rounded.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'new-title';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/new-title.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'kohinoor-zerone';\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kohinoor-zerone.woff2) format('woff2');\n }\n\n @font-face {\n font-family: 'roundo';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/roundo.woff2) format('woff2');\n }\n \n}\n\n@layer utilities {\n * {\n scrollbar-width: thin;\n scrollbar-color: #ffffff50 transparent;\n }\n}\n\n@layer base {\n ::selection {\n background-color: var(--color-neutral-12);\n color: var(--color-neutral-1);\n }\n\n ::-moz-selection {\n background-color: var(--color-neutral-12);\n color: var(--color-neutral-1);\n }\n}", ue = /--font-([\w-]+):\s*'([^']+)'/g, y = /* @__PURE__ */ new Map(), b; (b = ue.exec(v)) !== null;) {
2113
+ let e = `--font-${b[1]}`, t = b[2];
2114
+ y.set(t.toLowerCase(), e);
2095
2115
  }
2096
- for (var de = /@font-face\s*\{([^}]*)\}/gs, b = [], x; (x = de.exec(_)) !== null;) {
2097
- let e = x[1], t = e.match(/font-family:\s*'([^']+)'/), n = e.match(/font-weight:\s*([\d\s]+)/), r = e.match(/font-style:\s*(\w+)/), i = e.match(/src:\s*url\([^)]*?\/fonts\/([^)]+)\)\s*format\('(\w+)'\)/);
2116
+ for (var de = /@font-face\s*\{([^}]*)\}/gs, x = [], S; (S = de.exec(v)) !== null;) {
2117
+ let e = S[1], t = e.match(/font-family:\s*'([^']+)'/), n = e.match(/font-weight:\s*([\d\s]+)/), r = e.match(/font-style:\s*(\w+)/), i = e.match(/src:\s*url\([^)]*?\/fonts\/([^)]+)\)\s*format\('(\w+)'\)/);
2098
2118
  if (!t || !n || !r || !i) continue;
2099
2119
  let a = t[1], o = n[1].trim(), s = r[1], c = i[1], l = i[2] === "truetype" ? "ttf" : i[2] === "opentype" ? "otf" : "woff2", u = o.split(/\s+/).map(Number), d = Math.min(...u), f = Math.max(...u);
2100
- b.push({
2120
+ x.push({
2101
2121
  family: a,
2102
2122
  weightMin: d,
2103
2123
  weightMax: f,
@@ -2105,11 +2125,11 @@ for (var de = /@font-face\s*\{([^}]*)\}/gs, b = [], x; (x = de.exec(_)) !== null
2105
2125
  format: l,
2106
2126
  filePath: `/fonts/${c}`,
2107
2127
  fileName: c,
2108
- cssVariable: v.get(a.toLowerCase()) ?? null
2128
+ cssVariable: y.get(a.toLowerCase()) ?? null
2109
2129
  });
2110
2130
  }
2111
- b.sort((e, t) => e.family.localeCompare(t.family));
2112
- var fe = b, S = {
2131
+ x.sort((e, t) => e.family.localeCompare(t.family));
2132
+ var fe = x, C = {
2113
2133
  digoLogo: "https://cdn.digo-labs.com/images/digo-logo.png",
2114
2134
  digoLogoSvg: "https://cdn.digo-labs.com/images/digo-logo.svg",
2115
2135
  pcLogoV1Svg: "https://cdn.digo-labs.com/images/pc-logo-v1.svg",
@@ -2129,7 +2149,7 @@ var fe = b, S = {
2129
2149
  terminalScreenFrame: "https://cdn.digo-labs.com/images/terminal-screen-frame.png",
2130
2150
  terminalScreenGlass: "https://cdn.digo-labs.com/images/terminal-screen-glass.png",
2131
2151
  terminalSideGlass: "https://cdn.digo-labs.com/images/terminal-side-glass.png"
2132
- }, C = { porsche: "https://cdn.digo-labs.com/models/porsche.glb" }, w = class {
2152
+ }, w = { porsche: "https://cdn.digo-labs.com/models/porsche.glb" }, T = class {
2133
2153
  static setValue(e, t) {
2134
2154
  localStorage.setItem(e, JSON.stringify(t));
2135
2155
  }
@@ -2142,7 +2162,7 @@ var fe = b, S = {
2142
2162
  return t;
2143
2163
  }
2144
2164
  }
2145
- }, T = class {
2165
+ }, E = class {
2146
2166
  static setValue(e, t) {
2147
2167
  sessionStorage.setItem(e, JSON.stringify(t));
2148
2168
  }
@@ -2155,7 +2175,7 @@ var fe = b, S = {
2155
2175
  return t;
2156
2176
  }
2157
2177
  }
2158
- }, E = {
2178
+ }, D = {
2159
2179
  bedrockText: "bedrock-text",
2160
2180
  dmxSend: "dmx-send",
2161
2181
  storagePresignUpload: "storage-presign-upload",
@@ -2169,7 +2189,7 @@ var fe = b, S = {
2169
2189
  databaseUpdate: "database-update",
2170
2190
  databaseDelete: "database-delete",
2171
2191
  refreshSchemas: "refresh-schemas"
2172
- }, D = class {
2192
+ }, O = class {
2173
2193
  static hashCode(e) {
2174
2194
  return [...e].reduce((e, t) => Math.imul(31, e) + t.charCodeAt(0) | 0, 0);
2175
2195
  }
@@ -2200,7 +2220,7 @@ var fe = b, S = {
2200
2220
  static getFirstLetter(e) {
2201
2221
  return e ? e.charAt(0).toUpperCase() : "X";
2202
2222
  }
2203
- }, O = {
2223
+ }, k = {
2204
2224
  digo: "Digo",
2205
2225
  refresh: "Refresh",
2206
2226
  code: "Code",
@@ -2288,50 +2308,52 @@ var fe = b, S = {
2288
2308
  generate: "Generate",
2289
2309
  savePreset: "Save Preset",
2290
2310
  image: "Image"
2291
- }, k = c.object({
2311
+ }, A = c.object({
2292
2312
  mediaType: c.string(),
2293
- base64: c.string()
2294
- }), A = c.object({
2313
+ base64: c.string(),
2314
+ name: c.string().optional()
2315
+ }), j = c.object({
2295
2316
  mediaType: c.string(),
2296
- base64: c.string()
2297
- }), j = c.string().regex(/^\d+x\d+$/).transform((e) => e), M = c.string().regex(/^\d+:\d+$/).transform((e) => e), N = c.object({
2317
+ base64: c.string(),
2318
+ name: c.string().optional()
2319
+ }), M = c.string().regex(/^\d+x\d+$/).transform((e) => e), N = c.string().regex(/^\d+:\d+$/).transform((e) => e), P = c.object({
2298
2320
  prompt: c.string().min(1),
2299
- aspectRatio: M.optional(),
2321
+ aspectRatio: N.optional(),
2300
2322
  seed: c.number().int().optional()
2301
- }), P = c.object({
2323
+ }), F = c.object({
2302
2324
  prompt: c.string().min(1),
2303
2325
  image: c.string().url(),
2304
2326
  strength: c.number().min(0).max(1).optional()
2305
- }), F = c.object({
2327
+ }), I = c.object({
2306
2328
  image: c.string().url(),
2307
2329
  factor: c.number().positive().optional()
2308
- }), I = c.object({ image: c.string().url() }), L = c.object({
2330
+ }), L = c.object({ image: c.string().url() }), R = c.object({
2309
2331
  url: c.string().url(),
2310
2332
  contentType: c.string().optional(),
2311
2333
  width: c.number().optional(),
2312
2334
  height: c.number().optional(),
2313
2335
  seed: c.number().optional(),
2314
2336
  model: c.string().optional()
2315
- }), R = c.object({
2337
+ }), z = c.object({
2316
2338
  prompt: c.string().min(1),
2317
- aspectRatio: M.optional(),
2339
+ aspectRatio: N.optional(),
2318
2340
  durationSeconds: c.number().positive().optional()
2319
- }), z = c.object({
2341
+ }), B = c.object({
2320
2342
  url: c.string().url(),
2321
2343
  contentType: c.string().optional(),
2322
2344
  durationSeconds: c.number().optional(),
2323
2345
  model: c.string().optional()
2324
- }), B = c.object({
2346
+ }), V = c.object({
2325
2347
  text: c.string().min(1),
2326
2348
  voice: c.string().optional(),
2327
2349
  speed: c.number().positive().optional()
2328
- }), V = c.object({
2350
+ }), pe = c.object({
2329
2351
  prompt: c.string().min(1),
2330
2352
  durationSeconds: c.number().positive().optional()
2331
- }), pe = c.object({
2353
+ }), me = c.object({
2332
2354
  audio: c.string().url(),
2333
2355
  language: c.string().optional()
2334
- }), me = c.object({
2356
+ }), he = c.object({
2335
2357
  url: c.string().url(),
2336
2358
  contentType: c.string().optional(),
2337
2359
  durationSeconds: c.number().optional(),
@@ -2340,23 +2362,23 @@ var fe = b, S = {
2340
2362
  text: c.string(),
2341
2363
  startSecond: c.number(),
2342
2364
  endSecond: c.number()
2343
- }), he = c.object({
2365
+ }), ge = c.object({
2344
2366
  text: c.string(),
2345
2367
  segments: c.array(H).optional(),
2346
2368
  language: c.string().optional(),
2347
2369
  model: c.string().optional()
2348
- }), ge = c.object({
2370
+ }), _e = c.object({
2349
2371
  type: c.literal("text"),
2350
2372
  text: c.string()
2351
- }), _e = c.object({
2373
+ }), ve = c.object({
2352
2374
  type: c.literal("image"),
2353
2375
  source: c.object({
2354
2376
  base64: c.string(),
2355
2377
  mediaType: c.string()
2356
2378
  })
2357
- }), ve = c.union([c.string(), c.array(c.union([ge, _e]))]), U = c.object({
2379
+ }), ye = c.union([c.string(), c.array(c.union([_e, ve]))]), U = c.object({
2358
2380
  role: c.enum(["user", "assistant"]),
2359
- content: ve
2381
+ content: ye
2360
2382
  }), W = c.object({
2361
2383
  model: c.string().optional(),
2362
2384
  messages: c.array(U).min(1),
@@ -2365,45 +2387,45 @@ var fe = b, S = {
2365
2387
  maxTokens: c.number().int().positive().optional(),
2366
2388
  stopSequences: c.array(c.string()).optional(),
2367
2389
  providerOptions: c.record(c.string(), c.record(c.string(), c.any())).optional()
2368
- }), ye = W.omit({
2390
+ }), be = W.omit({
2369
2391
  model: !0,
2370
2392
  stopSequences: !0,
2371
2393
  providerOptions: !0
2372
- }), be = c.object({
2394
+ }), xe = c.object({
2373
2395
  channel: c.number().int().min(1).max(512),
2374
2396
  value: c.number().int().min(0).max(255)
2375
- }), xe = c.object({ success: c.boolean() }), G = c.string().min(1), K = c.union([
2397
+ }), Se = c.object({ success: c.boolean() }), G = c.string().min(1), K = c.union([
2376
2398
  c.string(),
2377
2399
  c.number(),
2378
2400
  c.boolean(),
2379
2401
  c.null()
2380
- ]), q = c.record(c.string(), c.unknown()), Se = c.object({
2402
+ ]), q = c.record(c.string(), c.unknown()), Ce = c.object({
2381
2403
  table: G,
2382
2404
  limit: c.number().int().positive().max(1e3).default(100),
2383
2405
  offset: c.number().int().nonnegative().optional()
2384
- }), Ce = c.object({ rows: c.array(q) }), we = c.object({
2406
+ }), we = c.object({ rows: c.array(q) }), Te = c.object({
2385
2407
  table: G,
2386
2408
  pk: G,
2387
2409
  value: K
2388
- }), Te = c.object({ row: q.nullable() }), Ee = c.object({
2410
+ }), Ee = c.object({ row: q.nullable() }), De = c.object({
2389
2411
  table: G,
2390
2412
  column: G,
2391
2413
  value: K,
2392
2414
  limit: c.number().int().positive().max(1e3).default(100),
2393
2415
  offset: c.number().int().nonnegative().optional()
2394
- }), De = c.object({ rows: c.array(q) }), Oe = c.object({
2416
+ }), Oe = c.object({ rows: c.array(q) }), ke = c.object({
2395
2417
  table: G,
2396
2418
  record: q
2397
- }), ke = c.object({ row: q }), Ae = c.object({
2419
+ }), Ae = c.object({ row: q }), je = c.object({
2398
2420
  table: G,
2399
2421
  pk: G,
2400
2422
  value: K,
2401
2423
  changes: q
2402
- }), je = c.object({ success: c.boolean() }), Me = c.object({
2424
+ }), Me = c.object({ success: c.boolean() }), Ne = c.object({
2403
2425
  table: G,
2404
2426
  pk: G,
2405
2427
  value: K
2406
- }), Ne = c.object({ success: c.boolean() }), Pe = c.object({
2428
+ }), Pe = c.object({ success: c.boolean() }), Fe = c.object({
2407
2429
  bucket: c.string().min(1),
2408
2430
  path: c.string().min(1),
2409
2431
  contentType: c.string().min(1),
@@ -2411,11 +2433,11 @@ var fe = b, S = {
2411
2433
  }), J = c.object({
2412
2434
  url: c.string().url(),
2413
2435
  expiresAt: c.number()
2414
- }), Fe = c.object({
2436
+ }), Ie = c.object({
2415
2437
  bucket: c.string().min(1),
2416
2438
  path: c.string().min(1),
2417
2439
  expiresIn: c.number().int().positive().max(604800).optional()
2418
- }), Ie = J, Le = c.object({
2440
+ }), Le = J, Re = c.object({
2419
2441
  bucket: c.string().min(1),
2420
2442
  prefix: c.string().optional(),
2421
2443
  limit: c.number().int().positive().max(1e3).optional()
@@ -2424,21 +2446,21 @@ var fe = b, S = {
2424
2446
  size: c.number(),
2425
2447
  lastModified: c.string(),
2426
2448
  etag: c.string().optional()
2427
- }), Re = c.object({ objects: c.array(Y) }), ze = c.object({
2449
+ }), ze = c.object({ objects: c.array(Y) }), Be = c.object({
2428
2450
  bucket: c.string().min(1),
2429
2451
  paths: c.array(c.string().min(1)).min(1)
2430
- }), Be = c.object({
2452
+ }), Ve = c.object({
2431
2453
  success: c.boolean(),
2432
2454
  deleted: c.array(c.string())
2433
- }), Ve = /* @__PURE__ */ function(e) {
2455
+ }), He = /* @__PURE__ */ function(e) {
2434
2456
  return e.ANIMATED_FILM = "3D_ANIMATED_FAMILY_FILM", e.FLAT_VECTOR_ILLUSTRATION = "FLAT_VECTOR_ILLUSTRATION", e.GRAPHIC_NOVEL_ILLUSTRATION = "GRAPHIC_NOVEL_ILLUSTRATION", e.MAXIMALISM = "MAXIMALISM", e.MIDCENTURY_RETRO = "MIDCENTURY_RETRO", e.PHOTOREALISM = "PHOTOREALISM", e.SOFT_DIGITAL_PAINTING = "SOFT_DIGITAL_PAINTING", e;
2435
- }({}), He = /* @__PURE__ */ function(e) {
2436
- return e.IDENTIFY = "IDENTIFY", e.SUBSCRIBE = "SUBSCRIBE", e.UNSUBSCRIBE = "UNSUBSCRIBE", e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2437
2457
  }({}), Ue = /* @__PURE__ */ function(e) {
2458
+ return e.IDENTIFY = "IDENTIFY", e.SUBSCRIBE = "SUBSCRIBE", e.UNSUBSCRIBE = "UNSUBSCRIBE", e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2459
+ }({}), We = /* @__PURE__ */ function(e) {
2438
2460
  return e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2439
- }({}), We = "_hub", X = /* @__PURE__ */ function(e) {
2461
+ }({}), X = "_hub", Ge = /* @__PURE__ */ function(e) {
2440
2462
  return e.CONNECT = "CONNECT", e.DISCONNECT = "DISCONNECT", e.SUBSCRIBE = "SUBSCRIBE", e.UNSUBSCRIBE = "UNSUBSCRIBE", e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2441
- }({}), Ge = { pcLogo3D: "https://cdn.digo-labs.com/videos/pc-logo-3d.mp4" };
2463
+ }({}), Ke = { pcLogo3D: "https://cdn.digo-labs.com/videos/pc-logo-3d.mp4" };
2442
2464
  //#endregion
2443
2465
  //#region src/utils.ts
2444
2466
  async function Z(e) {
@@ -2448,13 +2470,13 @@ async function Z(e) {
2448
2470
  return [null, e];
2449
2471
  }
2450
2472
  }
2451
- var Ke = u({ extend: { classGroups: m } });
2452
- function qe(...e) {
2453
- return Ke(l(e));
2473
+ var qe = u({ extend: { classGroups: h } });
2474
+ function Je(...e) {
2475
+ return qe(l(e));
2454
2476
  }
2455
2477
  //#endregion
2456
2478
  //#region src/samples.ts
2457
- var Je = [
2479
+ var Ye = [
2458
2480
  "New York",
2459
2481
  "Tokyo",
2460
2482
  "Paris",
@@ -2480,7 +2502,7 @@ var Je = [
2480
2502
  "Mexico City",
2481
2503
  "Oslo",
2482
2504
  "Zürich"
2483
- ], Ye = [
2505
+ ], Xe = [
2484
2506
  "The quick brown fox jumps over the lazy dog.",
2485
2507
  "Pack my box with five dozen liquor jugs.",
2486
2508
  "How vexingly quick daft zebras jump.",
@@ -2491,16 +2513,16 @@ var Je = [
2491
2513
  "Sixty zippers were quickly picked from the woven jute bag.",
2492
2514
  "We promptly judged antique ivory buckles for the next prize.",
2493
2515
  "A mad boxer shot a quick, gloved jab to the jaw of his dizzy opponent."
2494
- ], Xe = { monorepo: { trustedOrigins: [
2516
+ ], Ze = { monorepo: { trustedOrigins: [
2495
2517
  "http://localhost:*",
2496
2518
  "http://127.0.0.1:*",
2497
2519
  "https://*.digo-labs.com"
2498
- ] } }, Q = "productionclub.net", Ze = "admin", $ = {
2520
+ ] } }, Q = "productionclub.net", Qe = "admin", $ = {
2499
2521
  public: 0,
2500
2522
  user: 1,
2501
2523
  org: 2,
2502
2524
  admin: 3
2503
- }, Qe = class {
2525
+ }, $e = class {
2504
2526
  static deriveTier(e) {
2505
2527
  return e ? this.hasAdminRole(e.role) ? "admin" : this.isOrgUser(e) ? "org" : "user" : "public";
2506
2528
  }
@@ -2511,13 +2533,13 @@ var Je = [
2511
2533
  return typeof e == "string" && Object.hasOwn($, e);
2512
2534
  }
2513
2535
  static hasAdminRole(e) {
2514
- return e ? e.split(",").includes(Ze) : !1;
2536
+ return e ? e.split(",").includes(Qe) : !1;
2515
2537
  }
2516
2538
  static isOrgUser(e) {
2517
2539
  return e.emailVerified ? e.email.toLowerCase().endsWith(`@${Q}`) : !1;
2518
2540
  }
2519
2541
  };
2520
2542
  //#endregion
2521
- export { se as AI_MODELS, Xe as AUTH_PROJECTS, ae as AWS_DEFAULT_REGION, d as AppConfigHelpers, Qe as AuthTierHelpers, p as BACKEND_URL, oe as BREAKPOINTS, Ve as BedrockStyle, Je as CITIES, f as CommonHelpers, te as DIGO_ADMIN_SECRET, re as DIGO_COLORS, ee as DIGO_HEADERS, ne as DIGO_STORAGE_BUCKET_SUFFIX, Ye as EXCERPTS, fe as FONT_FACES, S as IMAGES, le as IconHelpers, ce as LANGUAGE_MAP, w as LocalStorage, C as MODELS, Q as ORG_EMAIL_DOMAIN, E as ROUTES, O as STRINGS, T as SessionStorage, D as StringHelpers, m as TYPO_CLASS_GROUPS, Ge as VIDEOS, We as WEBSOCKET_HUB_CHANNEL, ie as WS_URL, Ue as WebSocketHubEvent, He as WebsocketClientEvent, X as WebsocketLogEvent, M as aspectRatioSchema, V as audioMusicBodySchema, B as audioSpeechBodySchema, pe as audioTranscribeBodySchema, qe as cn, Oe as databaseCreateBodySchema, ke as databaseCreateResponseSchema, Me as databaseDeleteBodySchema, Ne as databaseDeleteResponseSchema, Se as databaseGetAllBodySchema, Ce as databaseGetAllResponseSchema, we as databaseGetBodySchema, Ee as databaseGetByBodySchema, De as databaseGetByResponseSchema, Te as databaseGetResponseSchema, Ae as databaseUpdateBodySchema, je as databaseUpdateResponseSchema, ze as deleteBodySchema, Be as deleteResponseSchema, be as dmxSendBodySchema, xe as dmxSendResponseSchema, k as filePayloadSchema, me as generatedAudioSchema, L as generatedImageSchema, z as generatedVideoSchema, P as imageEditBodySchema, N as imageGenerateBodySchema, A as imagePayloadSchema, I as imageRemoveBackgroundBodySchema, F as imageUpscaleBodySchema, Le as listBodySchema, Re as listResponseSchema, Fe as presignDownloadBodySchema, Ie as presignDownloadResponseSchema, Pe as presignUploadBodySchema, J as presignUploadResponseSchema, j as sizeFormattedSchema, Y as storageObjectSchema, W as textBodySchema, ye as textGenerateBodySchema, U as textMessageSchema, he as transcriptionSchema, H as transcriptionSegmentSchema, Z as tryCatch, R as videoGenerateBodySchema };
2543
+ export { se as AI_MODELS, Ze as AUTH_PROJECTS, ae as AWS_DEFAULT_REGION, d as AppConfigHelpers, $e as AuthTierHelpers, p as BACKEND_URL, oe as BREAKPOINTS, He as BedrockStyle, Ye as CITIES, f as CommonHelpers, ee as DIGO_ADMIN_SECRET, ne as DIGO_COLORS, m as DIGO_HEADERS, te as DIGO_STORAGE_BUCKET_SUFFIX, Xe as EXCERPTS, fe as FONT_FACES, C as IMAGES, le as IconHelpers, ce as LANGUAGE_MAP, T as LocalStorage, w as MODELS, Q as ORG_EMAIL_DOMAIN, ie as REPLICATE_PROXY, D as ROUTES, k as STRINGS, E as SessionStorage, O as StringHelpers, h as TYPO_CLASS_GROUPS, Ke as VIDEOS, X as WEBSOCKET_HUB_CHANNEL, re as WS_URL, We as WebSocketHubEvent, Ue as WebsocketClientEvent, Ge as WebsocketLogEvent, N as aspectRatioSchema, pe as audioMusicBodySchema, V as audioSpeechBodySchema, me as audioTranscribeBodySchema, Je as cn, ke as databaseCreateBodySchema, Ae as databaseCreateResponseSchema, Ne as databaseDeleteBodySchema, Pe as databaseDeleteResponseSchema, Ce as databaseGetAllBodySchema, we as databaseGetAllResponseSchema, Te as databaseGetBodySchema, De as databaseGetByBodySchema, Oe as databaseGetByResponseSchema, Ee as databaseGetResponseSchema, je as databaseUpdateBodySchema, Me as databaseUpdateResponseSchema, Be as deleteBodySchema, Ve as deleteResponseSchema, xe as dmxSendBodySchema, Se as dmxSendResponseSchema, A as filePayloadSchema, he as generatedAudioSchema, R as generatedImageSchema, B as generatedVideoSchema, F as imageEditBodySchema, P as imageGenerateBodySchema, j as imagePayloadSchema, L as imageRemoveBackgroundBodySchema, I as imageUpscaleBodySchema, Re as listBodySchema, ze as listResponseSchema, Ie as presignDownloadBodySchema, Le as presignDownloadResponseSchema, Fe as presignUploadBodySchema, J as presignUploadResponseSchema, M as sizeFormattedSchema, Y as storageObjectSchema, W as textBodySchema, be as textGenerateBodySchema, U as textMessageSchema, ge as transcriptionSchema, H as transcriptionSegmentSchema, Z as tryCatch, z as videoGenerateBodySchema };
2522
2544
 
2523
2545
  //# sourceMappingURL=index.js.map