@leodamours/ds-components 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,250 @@
1
+ const g = {
2
+ // Core UI
3
+ bg: "#FFFFFF",
4
+ "bg-secondary": "#F8FAFC",
5
+ "bg-tertiary": "#F1F5F9",
6
+ "bg-inverse": "#0F172A",
7
+ "bg-inverse-secondary": "#1E293B",
8
+ fg: "#0F172A",
9
+ "fg-secondary": "#64748B",
10
+ "fg-tertiary": "#94A3B8",
11
+ "fg-inverse": "#FFFFFF",
12
+ "fg-disabled": "#94A3B8",
13
+ icon: "#64748B",
14
+ "icon-hover": "#0F172A",
15
+ "icon-active": "#0EA5E9",
16
+ "icon-inverse": "#FFFFFF",
17
+ "icon-disabled": "#CBD5E1",
18
+ border: "#E2E8F0",
19
+ "border-light": "#F1F5F9",
20
+ "border-strong": "#CBD5E1",
21
+ "border-focus": "#0F172A",
22
+ "surface-hover": "#E2E8F0",
23
+ "surface-hover-light": "#F1F5F9",
24
+ "surface-active": "#B7E6FD",
25
+ "surface-disabled": "#FAFCFF",
26
+ // Brand
27
+ brand: "#0EA5E9",
28
+ "brand-hover": "#0284C7",
29
+ "brand-active": "#0369A1",
30
+ "brand-disabled": "#BAE6FD",
31
+ "brand-soft": "#F0F9FF",
32
+ "brand-soft-hover": "#E0F2FE",
33
+ "brand-soft-active": "#B7E6FD",
34
+ "brand-on-solid": "#FFFFFF",
35
+ "brand-on-soft": "#0EA5E9",
36
+ "brand-border": "#B7E6FD",
37
+ "brand-border-hover": "#7DD3FC",
38
+ "brand-border-strong": "#0369A1",
39
+ "brand-secondary": "#6366F1",
40
+ // Neutral
41
+ neutral: "#64748B",
42
+ "neutral-soft": "#F8FAFC",
43
+ "neutral-soft-hover": "#F1F5F9",
44
+ "neutral-soft-active": "#E2E8F0",
45
+ "neutral-on-solid": "#FFFFFF",
46
+ "neutral-on-soft": "#0F172A",
47
+ "neutral-border": "#D1D5DB",
48
+ "neutral-border-hover": "#B5BCC9",
49
+ "neutral-border-strong": "#94A3B8",
50
+ // Error
51
+ error: "#EF4444",
52
+ "error-hover": "#DC2626",
53
+ "error-active": "#B91C1C",
54
+ "error-soft": "#FEF2F2",
55
+ "error-soft-hover": "#FEE2E2",
56
+ "error-soft-active": "#FECACA",
57
+ "error-on-solid": "#FFFFFF",
58
+ "error-on-soft": "#EF4444",
59
+ "error-border": "#F8CDD1",
60
+ "error-border-hover": "#F5A6B3",
61
+ "error-border-strong": "#B91C1C",
62
+ // Success
63
+ success: "#10B981",
64
+ "success-hover": "#0A8D63",
65
+ "success-active": "#047857",
66
+ "success-soft": "#ECFDF5",
67
+ "success-soft-hover": "#D1FAE5",
68
+ "success-soft-active": "#A7F3D0",
69
+ "success-on-solid": "#FFFFFF",
70
+ "success-on-soft": "#10B981",
71
+ "success-border": "#BEF3D0",
72
+ "success-border-hover": "#86EFAC",
73
+ "success-border-strong": "#0EA875",
74
+ // Warning
75
+ warning: "#F59E0B",
76
+ "warning-hover": "#D97706",
77
+ "warning-active": "#B45309",
78
+ "warning-soft": "#FFFBEB",
79
+ "warning-soft-hover": "#FEF3C7",
80
+ "warning-soft-active": "#FDE68A",
81
+ "warning-on-solid": "#FFFFFF",
82
+ "warning-on-soft": "#92400E",
83
+ "warning-border": "#F3E6A5",
84
+ "warning-border-hover": "#E6D378",
85
+ "warning-border-strong": "#B45309",
86
+ // Info
87
+ info: "#3B82F6",
88
+ "info-hover": "#2563EB",
89
+ "info-active": "#1D4ED8",
90
+ "info-soft": "#EFF6FF",
91
+ "info-soft-hover": "#DBEAFE",
92
+ "info-soft-active": "#BFDBFE",
93
+ "info-on-solid": "#FFFFFF",
94
+ "info-on-soft": "#1E40AF",
95
+ "info-border": "#C5D7F5",
96
+ "info-border-hover": "#A8CCF2",
97
+ "info-border-strong": "#1D4ED8",
98
+ // Processing
99
+ processing: "#06B6D4",
100
+ "processing-hover": "#0891B2",
101
+ "processing-active": "#0E7490",
102
+ "processing-soft": "#ECFEFF",
103
+ "processing-soft-hover": "#CFFAFE",
104
+ "processing-soft-active": "#A5F3FC",
105
+ "processing-on-solid": "#FFFFFF",
106
+ "processing-on-soft": "#155E75",
107
+ "processing-border": "#B3F0FC",
108
+ "processing-border-hover": "#7FE8F5",
109
+ "processing-border-strong": "#0E7490",
110
+ // Overlay
111
+ overlay: "rgba(15, 23, 42, 0.15)",
112
+ // Focus
113
+ "focus-ring": "#0EA5E9"
114
+ }, u = {
115
+ "space-1": "4px",
116
+ "space-2": "8px",
117
+ "space-3": "12px",
118
+ "space-4": "16px",
119
+ "space-5": "24px",
120
+ "space-6": "32px",
121
+ "space-7": "48px",
122
+ "space-8": "64px"
123
+ }, l = {
124
+ "radius-sm": "4px",
125
+ "radius-md": "6px",
126
+ "radius-lg": "8px",
127
+ "radius-xl": "12px",
128
+ "radius-full": "9999px"
129
+ }, v = {
130
+ "shadow-sm": "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
131
+ "shadow-md": "0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.1)",
132
+ "shadow-lg": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
133
+ "shadow-thumb": "0 1px 3px rgba(0, 0, 0, 0.15)",
134
+ "shadow-card": "0 4px 2px 0 rgba(69, 89, 114, 0.02), 0 6px 14px 0 rgba(69, 89, 114, 0.06)",
135
+ "shadow-elevated": "0px 2px 2px 0px rgba(69, 89, 114, 0.06), 0px 6px 6px 0px rgba(69, 89, 114, 0.04)",
136
+ "shadow-focus": "0 0 0 0.125rem rgba(14, 165, 233, 0.2)"
137
+ }, E = {
138
+ "z-sticky": "10",
139
+ "z-dropdown": "40",
140
+ "z-overlay": "50",
141
+ "z-modal": "50",
142
+ "z-toast": "60",
143
+ "z-tooltip": "70"
144
+ }, h = {
145
+ "duration-fast": "150ms",
146
+ "duration-normal": "200ms",
147
+ "duration-slow": "300ms",
148
+ "ease-default": "cubic-bezier(0.4, 0, 0.2, 1)",
149
+ "ease-in": "cubic-bezier(0.4, 0, 1, 1)",
150
+ "ease-out": "cubic-bezier(0, 0, 0.2, 1)",
151
+ "ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)"
152
+ }, w = { ...g, ...u, ...l, ...v, ...E, ...h };
153
+ function m(n) {
154
+ return `--ds-${n}`;
155
+ }
156
+ function $(n, r = ":root") {
157
+ const o = Object.entries(n).map(([e, s]) => ` --ds-${e}: ${s};`).join(`
158
+ `);
159
+ return `${r} {
160
+ ${o}
161
+ }`;
162
+ }
163
+ function x(n) {
164
+ const r = n.replace("#", ""), o = r.length === 3 ? r.split("").map((F) => F + F).join("") : r, e = parseInt(o.slice(0, 2), 16) / 255, s = parseInt(o.slice(2, 4), 16) / 255, t = parseInt(o.slice(4, 6), 16) / 255, i = Math.max(e, s, t), a = Math.min(e, s, t);
165
+ let c = 0, p = 0;
166
+ const f = (i + a) / 2;
167
+ if (i !== a) {
168
+ const F = i - a;
169
+ switch (p = f > 0.5 ? F / (2 - i - a) : F / (i + a), i) {
170
+ case e:
171
+ c = ((s - t) / F + (s < t ? 6 : 0)) / 6;
172
+ break;
173
+ case s:
174
+ c = ((t - e) / F + 2) / 6;
175
+ break;
176
+ case t:
177
+ c = ((e - s) / F + 4) / 6;
178
+ break;
179
+ }
180
+ }
181
+ return { h: c * 360, s: p * 100, l: f * 100 };
182
+ }
183
+ function d(n, r, o) {
184
+ n /= 360, r /= 100, o /= 100;
185
+ let e, s, t;
186
+ if (r === 0)
187
+ e = s = t = o;
188
+ else {
189
+ const a = (f, F, b) => (b < 0 && (b += 1), b > 1 && (b -= 1), b < 0.16666666666666666 ? f + (F - f) * 6 * b : b < 0.5 ? F : b < 0.6666666666666666 ? f + (F - f) * (0.6666666666666666 - b) * 6 : f), c = o < 0.5 ? o * (1 + r) : o + r - o * r, p = 2 * o - c;
190
+ e = a(p, c, n + 1 / 3), s = a(p, c, n), t = a(p, c, n - 1 / 3);
191
+ }
192
+ const i = (a) => {
193
+ const c = Math.round(a * 255).toString(16);
194
+ return c.length === 1 ? "0" + c : c;
195
+ };
196
+ return `#${i(e)}${i(s)}${i(t)}`.toUpperCase();
197
+ }
198
+ function B(n) {
199
+ const r = n.replace("#", ""), o = parseInt(r.slice(0, 2), 16) / 255, e = parseInt(r.slice(2, 4), 16) / 255, s = parseInt(r.slice(4, 6), 16) / 255, t = (a) => a <= 0.03928 ? a / 12.92 : Math.pow((a + 0.055) / 1.055, 2.4);
200
+ return 0.2126 * t(o) + 0.7152 * t(e) + 0.0722 * t(s) > 0.4 ? "#000000" : "#FFFFFF";
201
+ }
202
+ function A(n) {
203
+ const { h: r, s: o, l: e } = x(n), s = 100 - e;
204
+ return {
205
+ base: d(r, o, e),
206
+ hover: d(r, o, e * 0.85),
207
+ active: d(r, o, e * 0.72),
208
+ disabled: d(r, o, e + s * 0.7),
209
+ soft: d(r, o, e + s * 0.85),
210
+ "soft-hover": d(r, o, e + s * 0.78),
211
+ "soft-active": d(r, o, e + s * 0.7),
212
+ "on-solid": B(n),
213
+ "on-soft": d(r, o, Math.max(10, e * 0.86)),
214
+ border: d(r, o, e + s * 0.7),
215
+ "border-hover": d(r, o, e + s * 0.55),
216
+ "border-strong": d(r, o, e * 0.72)
217
+ };
218
+ }
219
+ const C = ["brand", "error", "success", "warning", "info", "processing", "neutral"];
220
+ function D(n) {
221
+ const r = {};
222
+ for (const o of C) {
223
+ const e = A(n[o]);
224
+ r[o] = e.base, r[`${o}-hover`] = e.hover, r[`${o}-active`] = e.active, r[`${o}-soft`] = e.soft, r[`${o}-soft-hover`] = e["soft-hover"], r[`${o}-soft-active`] = e["soft-active"], r[`${o}-on-solid`] = e["on-solid"], r[`${o}-on-soft`] = e["on-soft"], r[`${o}-border`] = e.border, r[`${o}-border-hover`] = e["border-hover"], r[`${o}-border-strong`] = e["border-strong"], o === "brand" && (r["brand-disabled"] = e.disabled);
225
+ }
226
+ return r["focus-ring"] = n.brand, r;
227
+ }
228
+ function k(n, r = ":root") {
229
+ const o = D(n), e = Object.entries(o).map(([s, t]) => ` --ds-${s}: ${t};`).join(`
230
+ `);
231
+ return `${r} {
232
+ ${e}
233
+ }`;
234
+ }
235
+ export {
236
+ w as a,
237
+ A as b,
238
+ g as c,
239
+ $ as d,
240
+ D as e,
241
+ d as f,
242
+ k as g,
243
+ x as h,
244
+ u as i,
245
+ h as j,
246
+ l as r,
247
+ v as s,
248
+ m as t,
249
+ E as z
250
+ };
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ :root{--ds-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", Menlo, Monaco, Consolas, monospace;font-family:var(--ds-font-sans);font-size:15px;line-height:1.5;color:var(--ds-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ds-bg: #FFFFFF;--ds-bg-secondary: #F8FAFC;--ds-bg-tertiary: #F1F5F9;--ds-bg-inverse: #0F172A;--ds-bg-inverse-secondary: #1E293B;--ds-fg: #0F172A;--ds-fg-secondary: #64748B;--ds-fg-tertiary: #94A3B8;--ds-fg-inverse: #FFFFFF;--ds-fg-disabled: #94A3B8;--ds-icon: #64748B;--ds-icon-hover: #0F172A;--ds-icon-active: #0EA5E9;--ds-icon-inverse: #FFFFFF;--ds-icon-disabled: #CBD5E1;--ds-border: #E2E8F0;--ds-border-light: #F1F5F9;--ds-border-strong: #CBD5E1;--ds-border-focus: #0F172A;--ds-surface-hover: #E2E8F0;--ds-surface-hover-light: #F1F5F9;--ds-surface-active: #B7E6FD;--ds-surface-disabled: #FAFCFF;--ds-brand: #0EA5E9;--ds-brand-hover: #0284C7;--ds-brand-active: #0369A1;--ds-brand-disabled: #BAE6FD;--ds-brand-soft: #F0F9FF;--ds-brand-soft-hover: #E0F2FE;--ds-brand-soft-active: #B7E6FD;--ds-brand-on-solid: #FFFFFF;--ds-brand-on-soft: #0EA5E9;--ds-brand-border: #B7E6FD;--ds-brand-border-hover: #7DD3FC;--ds-brand-border-strong: #0369A1;--ds-brand-secondary: #6366F1;--ds-neutral: #64748B;--ds-neutral-soft: #F8FAFC;--ds-neutral-soft-hover: #F1F5F9;--ds-neutral-soft-active: #E2E8F0;--ds-neutral-on-solid: #FFFFFF;--ds-neutral-on-soft: #0F172A;--ds-neutral-border: #D1D5DB;--ds-neutral-border-hover: #B5BCC9;--ds-neutral-border-strong: #94A3B8;--ds-error: #EF4444;--ds-error-hover: #DC2626;--ds-error-active: #B91C1C;--ds-error-soft: #FEF2F2;--ds-error-soft-hover: #FEE2E2;--ds-error-soft-active: #FECACA;--ds-error-on-solid: #FFFFFF;--ds-error-on-soft: #EF4444;--ds-error-border: #F8CDD1;--ds-error-border-hover: #F5A6B3;--ds-error-border-strong: #B91C1C;--ds-success: #10B981;--ds-success-hover: #0A8D63;--ds-success-active: #047857;--ds-success-soft: #ECFDF5;--ds-success-soft-hover: #D1FAE5;--ds-success-soft-active: #A7F3D0;--ds-success-on-solid: #FFFFFF;--ds-success-on-soft: #10B981;--ds-success-border: #BEF3D0;--ds-success-border-hover: #86EFAC;--ds-success-border-strong: #0EA875;--ds-warning: #F59E0B;--ds-warning-hover: #D97706;--ds-warning-active: #B45309;--ds-warning-soft: #FFFBEB;--ds-warning-soft-hover: #FEF3C7;--ds-warning-soft-active: #FDE68A;--ds-warning-on-solid: #FFFFFF;--ds-warning-on-soft: #92400E;--ds-warning-border: #F3E6A5;--ds-warning-border-hover: #E6D378;--ds-warning-border-strong: #B45309;--ds-info: #3B82F6;--ds-info-hover: #2563EB;--ds-info-active: #1D4ED8;--ds-info-soft: #EFF6FF;--ds-info-soft-hover: #DBEAFE;--ds-info-soft-active: #BFDBFE;--ds-info-on-solid: #FFFFFF;--ds-info-on-soft: #1E40AF;--ds-info-border: #C5D7F5;--ds-info-border-hover: #A8CCF2;--ds-info-border-strong: #1D4ED8;--ds-processing: #06B6D4;--ds-processing-hover: #0891B2;--ds-processing-active: #0E7490;--ds-processing-soft: #ECFEFF;--ds-processing-soft-hover: #CFFAFE;--ds-processing-soft-active: #A5F3FC;--ds-processing-on-solid: #FFFFFF;--ds-processing-on-soft: #155E75;--ds-processing-border: #B3F0FC;--ds-processing-border-hover: #7FE8F5;--ds-processing-border-strong: #0E7490;--ds-overlay: rgba(15, 23, 42, .15);--ds-focus-ring: #0EA5E9;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 24px;--ds-space-6: 32px;--ds-space-7: 48px;--ds-space-8: 64px;--ds-radius-sm: 4px;--ds-radius-md: 6px;--ds-radius-lg: 8px;--ds-radius-xl: 12px;--ds-radius-full: 9999px;--ds-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--ds-shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .06), 0 4px 6px -1px rgba(0, 0, 0, .1);--ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ds-shadow-thumb: 0 1px 3px rgba(0, 0, 0, .15);--ds-shadow-card: 0 4px 2px 0 rgba(69, 89, 114, .02), 0 6px 14px 0 rgba(69, 89, 114, .06);--ds-shadow-elevated: 0px 2px 2px 0px rgba(69, 89, 114, .06), 0px 6px 6px 0px rgba(69, 89, 114, .04);--ds-shadow-focus: 0 0 0 .125rem rgba(14, 165, 233, .2);--ds-z-sticky: 10;--ds-z-dropdown: 40;--ds-z-overlay: 50;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-tooltip: 70;--ds-duration-fast: .15s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-ease-in-out: cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--ds-bg: #0F172A;--ds-bg-secondary: #1E293B;--ds-bg-tertiary: #334155;--ds-bg-inverse: #F8FAFC;--ds-bg-inverse-secondary: #E2E8F0;--ds-fg: #F8FAFC;--ds-fg-secondary: #94A3B8;--ds-fg-tertiary: #64748B;--ds-fg-inverse: #0F172A;--ds-fg-disabled: #475569;--ds-icon: #94A3B8;--ds-icon-hover: #F8FAFC;--ds-icon-active: #38BDF8;--ds-icon-inverse: #0F172A;--ds-icon-disabled: #475569;--ds-border: #334155;--ds-border-light: #1E293B;--ds-border-strong: #475569;--ds-border-focus: #F8FAFC;--ds-surface-hover: #334155;--ds-surface-hover-light: #1E293B;--ds-surface-active: #0C4A6E;--ds-surface-disabled: #1E293B;--ds-brand: #38BDF8;--ds-brand-hover: #0EA5E9;--ds-brand-active: #0284C7;--ds-brand-disabled: #0C4A6E;--ds-brand-soft: #0C4A6E;--ds-brand-soft-hover: #075985;--ds-brand-soft-active: #0369A1;--ds-brand-on-solid: #0F172A;--ds-brand-on-soft: #38BDF8;--ds-brand-border: #0C4A6E;--ds-brand-border-hover: #075985;--ds-brand-border-strong: #38BDF8;--ds-brand-secondary: #818CF8;--ds-neutral: #94A3B8;--ds-neutral-soft: #1E293B;--ds-neutral-soft-hover: #334155;--ds-neutral-soft-active: #475569;--ds-neutral-on-solid: #0F172A;--ds-neutral-on-soft: #F8FAFC;--ds-neutral-border: #475569;--ds-neutral-border-hover: #64748B;--ds-neutral-border-strong: #94A3B8;--ds-error: #F87171;--ds-error-hover: #EF4444;--ds-error-active: #DC2626;--ds-error-soft: #450A0A;--ds-error-soft-hover: #7F1D1D;--ds-error-soft-active: #991B1B;--ds-error-on-solid: #0F172A;--ds-error-on-soft: #F87171;--ds-error-border: #7F1D1D;--ds-error-border-hover: #991B1B;--ds-error-border-strong: #F87171;--ds-success: #34D399;--ds-success-hover: #10B981;--ds-success-active: #059669;--ds-success-soft: #022C22;--ds-success-soft-hover: #064E3B;--ds-success-soft-active: #065F46;--ds-success-on-solid: #0F172A;--ds-success-on-soft: #34D399;--ds-success-border: #064E3B;--ds-success-border-hover: #065F46;--ds-success-border-strong: #34D399;--ds-warning: #FBBF24;--ds-warning-hover: #F59E0B;--ds-warning-active: #D97706;--ds-warning-soft: #451A03;--ds-warning-soft-hover: #78350F;--ds-warning-soft-active: #92400E;--ds-warning-on-solid: #0F172A;--ds-warning-on-soft: #FBBF24;--ds-warning-border: #78350F;--ds-warning-border-hover: #92400E;--ds-warning-border-strong: #D97706;--ds-info: #60A5FA;--ds-info-hover: #3B82F6;--ds-info-active: #2563EB;--ds-info-soft: #1E1B4B;--ds-info-soft-hover: #1E3A5F;--ds-info-soft-active: #1D4ED8;--ds-info-on-solid: #0F172A;--ds-info-on-soft: #60A5FA;--ds-info-border: #1E3A5F;--ds-info-border-hover: #1D4ED8;--ds-info-border-strong: #60A5FA;--ds-processing: #22D3EE;--ds-processing-hover: #06B6D4;--ds-processing-active: #0891B2;--ds-processing-soft: #083344;--ds-processing-soft-hover: #164E63;--ds-processing-soft-active: #155E75;--ds-processing-on-solid: #0F172A;--ds-processing-on-soft: #22D3EE;--ds-processing-border: #164E63;--ds-processing-border-hover: #155E75;--ds-processing-border-strong: #22D3EE;--ds-overlay: rgba(0, 0, 0, .25);--ds-focus-ring: #38BDF8;--ds-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--ds-shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .4), 0 4px 6px -1px rgba(0, 0, 0, .3);--ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--ds-shadow-thumb: 0 1px 3px rgba(0, 0, 0, .4);--ds-shadow-card: 0 4px 2px 0 rgba(0, 0, 0, .1), 0 6px 14px 0 rgba(0, 0, 0, .2);--ds-shadow-elevated: 0px 2px 2px 0px rgba(0, 0, 0, .15), 0px 6px 6px 0px rgba(0, 0, 0, .12);--ds-shadow-focus: 0 0 0 .125rem rgba(56, 189, 248, .3);--ds-z-sticky: 10;--ds-z-dropdown: 40;--ds-z-overlay: 50;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-tooltip: 70;--ds-duration-fast: .15s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-ease-in-out: cubic-bezier(.4, 0, .2, 1)}:root[data-theme=testing]{--ds-bg: #FAF9FC;--ds-bg-secondary: #F3F1F6;--ds-bg-tertiary: #EBE8F0;--ds-bg-inverse: #1A1225;--ds-bg-inverse-secondary: #2D2440;--ds-fg: #1A1225;--ds-fg-secondary: #6B5F7D;--ds-fg-tertiary: #9B8FB0;--ds-fg-inverse: #FFFFFF;--ds-fg-disabled: #9B8FB0;--ds-icon: #6B5F7D;--ds-icon-hover: #1A1225;--ds-icon-active: #8B5CF6;--ds-icon-inverse: #FFFFFF;--ds-icon-disabled: #C4BBCF;--ds-border: #DDD8E6;--ds-border-light: #EBE8F0;--ds-border-strong: #C4BBCF;--ds-border-focus: #1A1225;--ds-surface-hover: #DDD8E6;--ds-surface-hover-light: #EBE8F0;--ds-surface-active: #DDD6FE;--ds-surface-disabled: #FAFAFE;--ds-brand: #8B5CF6;--ds-brand-hover: #7C3AED;--ds-brand-active: #6D28D9;--ds-brand-disabled: #C4B5FD;--ds-brand-soft: #F5F3FF;--ds-brand-soft-hover: #EDE9FE;--ds-brand-soft-active: #DDD6FE;--ds-brand-on-solid: #FFFFFF;--ds-brand-on-soft: #7C3AED;--ds-brand-border: #DDD6FE;--ds-brand-border-hover: #C4B5FD;--ds-brand-border-strong: #6D28D9;--ds-brand-secondary: #EC4899;--ds-neutral: #6B5F7D;--ds-neutral-soft: #F3F1F6;--ds-neutral-soft-hover: #EBE8F0;--ds-neutral-soft-active: #DDD8E6;--ds-neutral-on-solid: #FFFFFF;--ds-neutral-on-soft: #1A1225;--ds-neutral-border: #C4BBCF;--ds-neutral-border-hover: #A89DB8;--ds-neutral-border-strong: #6B5F7D;--ds-error: #E11D48;--ds-error-hover: #BE123C;--ds-error-active: #9F1239;--ds-error-soft: #FFF1F2;--ds-error-soft-hover: #FFE4E6;--ds-error-soft-active: #FECDD3;--ds-error-on-solid: #FFFFFF;--ds-error-on-soft: #E11D48;--ds-error-border: #FECDD3;--ds-error-border-hover: #FDA4AF;--ds-error-border-strong: #9F1239;--ds-success: #059669;--ds-success-hover: #047857;--ds-success-active: #065F46;--ds-success-soft: #ECFDF5;--ds-success-soft-hover: #D1FAE5;--ds-success-soft-active: #A7F3D0;--ds-success-on-solid: #FFFFFF;--ds-success-on-soft: #059669;--ds-success-border: #A7F3D0;--ds-success-border-hover: #6EE7B7;--ds-success-border-strong: #065F46;--ds-warning: #EA580C;--ds-warning-hover: #C2410C;--ds-warning-active: #9A3412;--ds-warning-soft: #FFF7ED;--ds-warning-soft-hover: #FFEDD5;--ds-warning-soft-active: #FED7AA;--ds-warning-on-solid: #FFFFFF;--ds-warning-on-soft: #9A3412;--ds-warning-border: #FED7AA;--ds-warning-border-hover: #FDBA74;--ds-warning-border-strong: #EA580C;--ds-info: #6366F1;--ds-info-hover: #4F46E5;--ds-info-active: #4338CA;--ds-info-soft: #EEF2FF;--ds-info-soft-hover: #E0E7FF;--ds-info-soft-active: #C7D2FE;--ds-info-on-solid: #FFFFFF;--ds-info-on-soft: #3730A3;--ds-info-border: #C7D2FE;--ds-info-border-hover: #A5B4FC;--ds-info-border-strong: #4338CA;--ds-processing: #D946EF;--ds-processing-hover: #C026D3;--ds-processing-active: #A21CAF;--ds-processing-soft: #FDF4FF;--ds-processing-soft-hover: #FAE8FF;--ds-processing-soft-active: #F5D0FE;--ds-processing-on-solid: #FFFFFF;--ds-processing-on-soft: #86198F;--ds-processing-border: #F5D0FE;--ds-processing-border-hover: #F0ABFC;--ds-processing-border-strong: #A21CAF;--ds-overlay: rgba(26, 18, 37, .15);--ds-focus-ring: #8B5CF6;--ds-shadow-card: 0 4px 2px 0 rgba(107, 95, 125, .02), 0 6px 14px 0 rgba(107, 95, 125, .06);--ds-shadow-elevated: 0px 2px 2px 0px rgba(107, 95, 125, .06), 0px 6px 6px 0px rgba(107, 95, 125, .04);--ds-shadow-focus: 0 0 0 .125rem rgba(139, 92, 246, .2);--ds-z-sticky: 10;--ds-z-dropdown: 40;--ds-z-overlay: 50;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-tooltip: 70;--ds-duration-fast: .15s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-ease-in-out: cubic-bezier(.4, 0, .2, 1)}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.sr-only{position:absolute;margin:-.0625rem;width:.0625rem;height:.0625rem;overflow:hidden;white-space:nowrap;border-width:0rem;padding:0}.text-body-lg{font-size:1.0625rem;line-height:1.5rem;color:var(--ds-fg);font-weight:400;font-family:var(--ds-font-sans)}.text-body-sm{font-size:.8125rem;line-height:1.25rem;color:var(--ds-fg-secondary);font-weight:400;font-family:var(--ds-font-sans)}.text-caption{font-size:.6875rem;line-height:1rem;color:var(--ds-fg-tertiary);font-weight:400;font-family:var(--ds-font-sans)}.text-heading-lg{font-size:1.0625rem;line-height:1.5rem;color:var(--ds-fg);font-weight:600;font-family:var(--ds-font-sans)}.text-heading-xl{font-size:1.25rem;line-height:1.75rem;color:var(--ds-fg);font-weight:600;font-family:var(--ds-font-sans)}.text-label{font-size:.8125rem;line-height:1.25rem;color:var(--ds-fg);font-weight:500;font-family:var(--ds-font-sans)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.left-0\.5{left:.125rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-dropdown{z-index:var(--ds-z-dropdown)}.z-modal{z-index:var(--ds-z-modal)}.z-sticky{z-index:var(--ds-z-sticky)}.z-toast{z-index:var(--ds-z-toast)}.z-tooltip{z-index:var(--ds-z-tooltip)}.m-0{margin:0}.-mb-px{margin-bottom:-.0625rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2,.h2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[90vh\]{max-height:90vh}.max-h-64{max-height:16rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.min-w-0{min-width:0}.min-w-32{min-width:8rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.table{display:table}.border-collapse{border-collapse:collapse}.translate-x-0{--un-translate-x:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-3{--un-translate-x:.75rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-4{--un-translate-x:1rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-5{--un-translate-x:1.25rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-8{--un-translate-x:2rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-180{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:180deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-45{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:45deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.resize-y{resize:vertical}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1,.gap-4px{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.border{border-width:.0625rem}.border-0{border-width:0rem}.border-2{border-width:.125rem}.border-4{border-width:.25rem}.border-6{border-width:.375rem}.border-b{border-bottom-width:.0625rem}.border-b-2{border-bottom-width:.125rem}.border-l-0{border-left-width:0rem}.border-l-4{border-left-width:.25rem}.border-r-0{border-right-width:0rem}.border-t{border-top-width:.0625rem}.border-t-0{border-top-width:0rem}.border-border{border-color:var(--ds-border)}.border-border-strong{border-color:var(--ds-border-strong)}.border-brand,.group:hover .group-hover\:border-brand{border-color:var(--ds-brand)}.border-brand-active{border-color:var(--ds-brand-active)}.border-brand-disabled{border-color:var(--ds-brand-disabled)}.border-current{border-color:currentColor}.border-error-border{border-color:var(--ds-error-border)}.border-error-border-strong{border-color:var(--ds-error-border-strong)}.border-fg-inverse{border-color:var(--ds-fg-inverse)}.border-fg-secondary{border-color:var(--ds-fg-secondary)}.border-neutral-border-strong{border-color:var(--ds-neutral-border-strong)}.border-success-border-strong{border-color:var(--ds-success-border-strong)}.border-transparent{border-color:transparent}.border-warning-border-strong{border-color:var(--ds-warning-border-strong)}.focus\:border-border-focus:focus{border-color:var(--ds-border-focus)}.focus\:border-error:focus{border-color:var(--ds-error)}.border-x-border{border-left-color:var(--ds-border);border-right-color:var(--ds-border)}.border-y-border-light{border-top-color:var(--ds-border-light);border-bottom-color:var(--ds-border-light)}.border-b-brand{border-bottom-color:var(--ds-brand)}.border-b-transparent{border-bottom-color:transparent}.border-l-brand{border-left-color:var(--ds-brand)}.border-l-error{border-left-color:var(--ds-error)}.border-l-info{border-left-color:var(--ds-info)}.border-l-success{border-left-color:var(--ds-success)}.border-l-warning{border-left-color:var(--ds-warning)}.border-t-transparent{border-top-color:transparent}.hover\:border-b-border-strong:hover{border-bottom-color:var(--ds-border-strong)}.rounded{border-radius:.25rem}.rounded-full{border-radius:624.9375rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border-none{border-style:none}.border-solid{border-style:solid}.border-b-solid{border-bottom-style:solid}.border-t-solid{border-top-style:solid}.bg-bg{background-color:var(--ds-bg)}.bg-bg-inverse{background-color:var(--ds-bg-inverse)}.bg-bg-secondary{background-color:var(--ds-bg-secondary)}.bg-bg-tertiary{background-color:var(--ds-bg-tertiary)}.bg-brand{background-color:var(--ds-brand)}.bg-brand-disabled{background-color:var(--ds-brand-disabled)}.bg-brand-soft{background-color:var(--ds-brand-soft)}.bg-error{background-color:var(--ds-error)}.bg-error-soft{background-color:var(--ds-error-soft)}.bg-info{background-color:var(--ds-info)}.bg-info-soft{background-color:var(--ds-info-soft)}.bg-neutral{background-color:var(--ds-neutral)}.bg-neutral-border{background-color:var(--ds-neutral-border)}.bg-neutral-soft{background-color:var(--ds-neutral-soft)}.bg-overlay{background-color:var(--ds-overlay)}.bg-processing{background-color:var(--ds-processing)}.bg-processing-soft{background-color:var(--ds-processing-soft)}.bg-success{background-color:var(--ds-success)}.bg-success-soft{background-color:var(--ds-success-soft)}.bg-surface-hover{background-color:var(--ds-surface-hover)}.bg-transparent{background-color:transparent}.bg-warning{background-color:var(--ds-warning)}.bg-warning-soft{background-color:var(--ds-warning-soft)}.group:hover .group-hover\:bg-brand-hover{background-color:var(--ds-brand-hover)}.group:hover .group-hover\:bg-neutral-border-hover{background-color:var(--ds-neutral-border-hover)}.hover\:bg-brand-hover:hover{background-color:var(--ds-brand-hover)}.hover\:bg-brand-soft:hover{background-color:var(--ds-brand-soft)}.hover\:bg-error-hover:hover{background-color:var(--ds-error-hover)}.hover\:bg-neutral-soft-hover:hover{background-color:var(--ds-neutral-soft-hover)}.hover\:bg-success-hover:hover{background-color:var(--ds-success-hover)}.hover\:bg-surface-hover-light:hover{background-color:var(--ds-surface-hover-light)}.hover\:bg-warning-hover:hover{background-color:var(--ds-warning-hover)}.active\:bg-brand-active:active{background-color:var(--ds-brand-active)}.active\:bg-brand-soft-hover:active{background-color:var(--ds-brand-soft-hover)}.active\:bg-error-active:active{background-color:var(--ds-error-active)}.active\:bg-neutral-soft-active:active{background-color:var(--ds-neutral-soft-active)}.active\:bg-warning-active:active{background-color:var(--ds-warning-active)}.disabled\:bg-brand-disabled:disabled{background-color:var(--ds-brand-disabled)}.disabled\:bg-surface-disabled:disabled{background-color:var(--ds-surface-disabled)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-4{padding:1rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py,.py-4{padding-top:1rem;padding-bottom:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl{padding-left:1rem}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr{padding-right:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-base{font-size:.9375rem;line-height:1.375rem}.text-lg{font-size:1.0625rem;line-height:1.5rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-xs{font-size:.6875rem;line-height:1rem}.text-brand{color:var(--ds-brand)}.text-brand-on-soft{color:var(--ds-brand-on-soft)}.text-brand-on-solid{color:var(--ds-brand-on-solid)}.text-error{color:var(--ds-error)}.text-error-on-soft{color:var(--ds-error-on-soft)}.text-error-on-solid{color:var(--ds-error-on-solid)}.text-fg{color:var(--ds-fg)}.text-fg-disabled{color:var(--ds-fg-disabled)}.text-fg-inverse{color:var(--ds-fg-inverse)}.text-fg-secondary{color:var(--ds-fg-secondary)}.text-fg-tertiary{color:var(--ds-fg-tertiary)}.text-info{color:var(--ds-info)}.text-info-on-soft{color:var(--ds-info-on-soft)}.text-neutral-on-soft{color:var(--ds-neutral-on-soft)}.text-processing-on-soft{color:var(--ds-processing-on-soft)}.text-success{color:var(--ds-success)}.text-success-on-soft{color:var(--ds-success-on-soft)}.text-success-on-solid{color:var(--ds-success-on-solid)}.text-transparent{color:transparent}.text-warning{color:var(--ds-warning)}.text-warning-on-soft{color:var(--ds-warning-on-soft)}.text-warning-on-solid{color:var(--ds-warning-on-solid)}.hover\:text-fg-secondary:hover{color:var(--ds-fg-secondary)}.hover\:text-fg:hover{color:var(--ds-fg)}.disabled\:text-fg-disabled:disabled{color:var(--ds-fg-disabled)}.placeholder\:text-fg-tertiary::placeholder{color:var(--ds-fg-tertiary)}.font-500,.font-medium{font-weight:500}.font-sans{font-family:var(--ds-font-sans)}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-95:disabled{opacity:.95}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 .625rem .9375rem -.1875rem var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 .25rem .375rem -.25rem var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-md{--un-shadow:var(--un-shadow-inset) 0 .25rem .375rem -.0625rem var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 .125rem .25rem -.125rem var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 .0625rem .125rem 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline{outline-style:solid}.outline-none{outline:.125rem solid transparent;outline-offset:.125rem}.focus\:outline-none:focus{outline:.125rem solid transparent;outline-offset:.125rem}.focus-visible\:outline-none:focus-visible{outline:.125rem solid transparent;outline-offset:.125rem}.ring{--un-ring-width:.1875rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus\:ring-2:focus{--un-ring-width:.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-width:.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.peer:focus-visible~.peer-focus-visible\:ring-2{--un-ring-width:.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus\:ring-offset-0:focus{--un-ring-offset-width:0rem}.focus-visible\:ring-offset-2:focus-visible{--un-ring-offset-width:.125rem}.peer:focus-visible~.peer-focus-visible\:ring-offset-2{--un-ring-offset-width:.125rem}.focus\:ring-error:focus{--un-ring-color:var(--ds-error) }.focus\:ring-focus-ring:focus{--un-ring-color:var(--ds-focus-ring) }.focus-visible\:ring-focus-ring:focus-visible{--un-ring-color:var(--ds-focus-ring) }.peer:focus-visible~.peer-focus-visible\:ring-focus-ring{--un-ring-color:var(--ds-focus-ring) }.backdrop-blur-sm{--un-backdrop-blur:blur(.25rem);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.blur{--un-blur:blur(.5rem);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.duration-fast{transition-duration:var(--ds-duration-fast)}.duration-normal{transition-duration:var(--ds-duration-normal)}.duration-slow{transition-duration:var(--ds-duration-slow)}.ease-in{transition-timing-function:var(--ds-ease-in)}.ease-in-out{transition-timing-function:var(--ds-ease-in-out)}.ease-out{transition-timing-function:var(--ds-ease-out)}.legacy-card-box-shadow{box-shadow:var(--ds-shadow-card)}.shadow-default{box-shadow:var(--ds-shadow-elevated)}.shadow-thumb{box-shadow:var(--ds-shadow-thumb)}.ds-modal-enter-active[data-v-cc8b4649],.ds-modal-leave-active[data-v-cc8b4649]{transition:opacity var(--ds-duration-normal) var(--ds-ease-default)}.ds-modal-enter-active [role=dialog][data-v-cc8b4649],.ds-modal-leave-active [role=dialog][data-v-cc8b4649]{transition:transform var(--ds-duration-normal) var(--ds-ease-default),opacity var(--ds-duration-normal) var(--ds-ease-default)}.ds-modal-enter-from[data-v-cc8b4649]{opacity:0}.ds-modal-enter-from [role=dialog][data-v-cc8b4649]{opacity:0;transform:scale(.95) translateY(8px)}.ds-modal-enter-to[data-v-cc8b4649]{opacity:1}.ds-modal-enter-to [role=dialog][data-v-cc8b4649]{opacity:1;transform:scale(1) translateY(0)}.ds-slider[data-v-75234e8c]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:9999px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--ds-brand) 0%,var(--ds-brand) var(--slider-percent),var(--ds-border) var(--slider-percent),var(--ds-border) 100%)}.ds-slider[data-v-75234e8c]:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-slider[data-v-75234e8c]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ds-brand);border:2px solid var(--ds-bg);box-shadow:var(--ds-shadow-thumb);cursor:pointer;transition:transform var(--ds-duration-fast) var(--ds-ease-default)}.ds-slider[data-v-75234e8c]::-webkit-slider-thumb:hover{transform:scale(1.15)}.ds-slider[data-v-75234e8c]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ds-brand);border:2px solid var(--ds-bg);box-shadow:var(--ds-shadow-thumb);cursor:pointer;transition:transform var(--ds-duration-fast) var(--ds-ease-default)}.ds-slider[data-v-75234e8c]::-moz-range-thumb:hover{transform:scale(1.15)}.ds-slider[data-v-75234e8c]:disabled{cursor:not-allowed}.ds-slider[data-v-75234e8c]:disabled::-webkit-slider-thumb{background:var(--ds-fg-disabled);cursor:not-allowed}.ds-slider[data-v-75234e8c]:disabled::-moz-range-thumb{background:var(--ds-fg-disabled);cursor:not-allowed}
@@ -0,0 +1,22 @@
1
+ import { Preset } from 'unocss';
2
+ import { ThemeBases } from './palette';
3
+
4
+ /**
5
+ * UnoCSS preset for @leodamours/ds-components.
6
+ *
7
+ * Includes the full design system theme (colors, typography, spacing),
8
+ * custom rules, shortcuts, variants, and a preflight that sets all
9
+ * `--ds-*` CSS custom properties.
10
+ *
11
+ * Pass partial base colors to override the default palette. Each override
12
+ * re-derives all hover, soft, border, and contrast variants automatically.
13
+ *
14
+ * @example
15
+ * // Default palette
16
+ * dsPreset()
17
+ *
18
+ * @example
19
+ * // Custom brand and error colors
20
+ * dsPreset({ brand: '#8B5CF6', error: '#E11D48' })
21
+ */
22
+ export declare function dsPreset(overrides?: Partial<ThemeBases>): Preset;
package/dist/uno.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { dsPreset } from './styles/ds-preset';
2
+ export type { ThemeBases, SemanticRole } from './styles/palette';
package/dist/uno.js ADDED
@@ -0,0 +1,183 @@
1
+ import { j as d, z as l, c as o, a as c, e as f } from "./palette-DkSoRw54.js";
2
+ function p() {
3
+ const t = {};
4
+ for (const e of Object.keys(o))
5
+ t[e] = `var(--ds-${e})`;
6
+ return t;
7
+ }
8
+ function g() {
9
+ const t = {};
10
+ for (const e of Object.keys(l))
11
+ t[e.replace("z-", "")] = `var(--ds-${e})`;
12
+ return t;
13
+ }
14
+ function h() {
15
+ const t = {};
16
+ for (const [e] of Object.entries(d))
17
+ e.startsWith("duration-") && (t[e.replace("duration-", "")] = `var(--ds-${e})`);
18
+ return t;
19
+ }
20
+ function b() {
21
+ const t = {};
22
+ for (const [e] of Object.entries(d))
23
+ if (e.startsWith("ease-")) {
24
+ const s = e.replace("ease-", "");
25
+ t[s === "default" ? "DEFAULT" : s] = `var(--ds-${e})`;
26
+ }
27
+ return t;
28
+ }
29
+ const u = {
30
+ colors: p(),
31
+ zIndex: g(),
32
+ duration: h(),
33
+ easing: b(),
34
+ fontFamily: {
35
+ sans: "var(--ds-font-sans)",
36
+ mono: "var(--ds-font-mono)"
37
+ },
38
+ fontSize: {
39
+ // Type scale — each entry is [fontSize, lineHeight]
40
+ // The postprocessor in unocss.config.ts converts px → rem
41
+ xs: ["11px", "16px"],
42
+ sm: ["13px", "20px"],
43
+ base: ["15px", "22px"],
44
+ lg: ["17px", "24px"],
45
+ xl: ["20px", "28px"],
46
+ "2xl": ["24px", "32px"],
47
+ "3xl": ["30px", "36px"]
48
+ },
49
+ breakpoints: {
50
+ sm: "320px",
51
+ md: "640px",
52
+ lg: "1024px",
53
+ xl: "1200px",
54
+ xxl: "1440px"
55
+ }
56
+ }, x = {
57
+ rules: [
58
+ [
59
+ "legacy-card-box-shadow",
60
+ { "box-shadow": "var(--ds-shadow-card)" }
61
+ ],
62
+ [
63
+ "shadow-default",
64
+ { "box-shadow": "var(--ds-shadow-elevated)" }
65
+ ],
66
+ [
67
+ "shadow-active",
68
+ { "box-shadow": "var(--ds-shadow-focus)" }
69
+ ],
70
+ [
71
+ "shadow-thumb",
72
+ { "box-shadow": "var(--ds-shadow-thumb)" }
73
+ ],
74
+ [
75
+ /^desktop-only$/,
76
+ function* ([,], { symbols: t }) {
77
+ yield {
78
+ [t.selector]: (e) => `html:not(.todesktop) ${e}`,
79
+ display: "none"
80
+ };
81
+ }
82
+ ]
83
+ ],
84
+ shortcuts: {
85
+ // ── Semantic typography ───────────────────────────────────────
86
+ // Headings
87
+ "text-heading-3xl": "font-sans text-3xl font-600 text-fg tracking-tight",
88
+ "text-heading-2xl": "font-sans text-2xl font-600 text-fg tracking-tight",
89
+ "text-heading-xl": "font-sans text-xl font-600 text-fg",
90
+ "text-heading-lg": "font-sans text-lg font-600 text-fg",
91
+ "text-heading-sm": "font-sans text-sm font-600 text-fg",
92
+ // Body
93
+ "text-body-lg": "font-sans text-lg font-400 text-fg",
94
+ "text-body": "font-sans text-base font-400 text-fg",
95
+ "text-body-sm": "font-sans text-sm font-400 text-fg-secondary",
96
+ // Utility text styles
97
+ "text-caption": "font-sans text-xs font-400 text-fg-tertiary",
98
+ "text-label": "font-sans text-sm font-500 text-fg",
99
+ "text-overline": "font-sans text-xs font-600 uppercase tracking-widest text-fg-secondary",
100
+ "text-code": "font-mono text-sm",
101
+ // ── Layout shortcuts ─────────────────────────────────────────
102
+ "back-link": "flex flex-items-center gap-8px font-500 text-sm text-fg-secondary hover:text-fg hover:underline",
103
+ "title-h1": "flex flex-items-center gap-8px m-0 text-heading-xl",
104
+ "title-h2": "flex flex-items-center gap-8px m-0 text-heading-lg",
105
+ "title-h3": "flex flex-items-center gap-8px m-0 text-heading-sm",
106
+ card: "bg-bg border-1 border-solid border-border-strong border-rd-8px legacy-card-box-shadow",
107
+ "card-footer": "border-rd-b-8px border-t-1px border-t-solid border-border-strong",
108
+ "body-text": "text-body",
109
+ link: "text-body font-500 text-info hover:underline",
110
+ // ── Accessibility ────────────────────────────────────────────
111
+ "sr-only": "absolute w-1px h-1px p-0 m--1px overflow-hidden whitespace-nowrap border-0",
112
+ // ── Legacy aliases (backwards compat) ────────────────────────
113
+ "legacy-back": "back-link",
114
+ "legacy-title-h1": "title-h1",
115
+ "legacy-title-h2": "title-h2",
116
+ "legacy-title-h3": "title-h3",
117
+ "legacy-card": "card",
118
+ "legacy-card-footer": "card-footer",
119
+ "legacy-text": "body-text",
120
+ // Old text-* aliases — point to semantic equivalents
121
+ "title-11": "text-overline",
122
+ "title-20": "text-heading-xl"
123
+ },
124
+ variants: [
125
+ // Create a variant for desktop-specific styles
126
+ (t) => t.startsWith("desktop:") ? {
127
+ // Extract the part after todesktop:
128
+ matcher: t.slice(8),
129
+ selector: (e) => `html.todesktop ${e}`
130
+ } : t
131
+ ]
132
+ }, m = {
133
+ brand: o.brand,
134
+ error: o.error,
135
+ success: o.success,
136
+ warning: o.warning,
137
+ info: o.info,
138
+ processing: o.processing,
139
+ neutral: o.neutral
140
+ };
141
+ function y(t) {
142
+ let e = { ...c };
143
+ if (t && Object.keys(t).length > 0) {
144
+ const n = { ...m, ...t }, a = f(n);
145
+ e = { ...e, ...a };
146
+ }
147
+ const s = Object.entries(e).map(([n, a]) => ` --ds-${n}: ${a};`).join(`
148
+ `);
149
+ return `:root {
150
+ ${[
151
+ " --ds-font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;",
152
+ " --ds-font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', 'Fira Code', Menlo, Monaco, Consolas, monospace;"
153
+ ].join(`
154
+ `)}
155
+ ${s}
156
+ }`;
157
+ }
158
+ function v(t) {
159
+ return {
160
+ name: "ds-components",
161
+ theme: u,
162
+ rules: x.rules,
163
+ shortcuts: x.shortcuts,
164
+ variants: x.variants,
165
+ preflights: [
166
+ {
167
+ getCSS: () => y(t)
168
+ }
169
+ ],
170
+ postprocess: [
171
+ (e) => {
172
+ const s = /(-?[\d]+)px/g;
173
+ e.entries.forEach((r) => {
174
+ const n = r[1];
175
+ typeof n == "string" && s.test(n) && (r[1] = n.replace(s, (a, i) => `${i / 16}rem`));
176
+ });
177
+ }
178
+ ]
179
+ };
180
+ }
181
+ export {
182
+ v as dsPreset
183
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leodamours/ds-components",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "./dist/index.js",
@@ -11,6 +11,10 @@
11
11
  "import": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts"
13
13
  },
14
+ "./uno": {
15
+ "import": "./dist/uno.js",
16
+ "types": "./dist/uno.d.ts"
17
+ },
14
18
  "./style.css": "./dist/style.css"
15
19
  },
16
20
  "files": [
@@ -25,7 +29,13 @@
25
29
  "@leodamours/ds-icons": "*"
26
30
  },
27
31
  "peerDependencies": {
28
- "vue": "^3.5.0"
32
+ "vue": "^3.5.0",
33
+ "unocss": ">=0.50.0"
34
+ },
35
+ "peerDependenciesMeta": {
36
+ "unocss": {
37
+ "optional": true
38
+ }
29
39
  },
30
40
  "devDependencies": {
31
41
  "@types/node": "^22.9.1",
package/dist/index.css DELETED
@@ -1 +0,0 @@
1
- :root{--ds-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", Menlo, Monaco, Consolas, monospace;font-family:var(--ds-font-sans);font-size:15px;line-height:1.5;color:var(--ds-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ds-bg: #FFFFFF;--ds-bg-secondary: #F8FAFC;--ds-bg-tertiary: #F1F5F9;--ds-bg-inverse: #0F172A;--ds-bg-inverse-secondary: #1E293B;--ds-fg: #0F172A;--ds-fg-secondary: #64748B;--ds-fg-tertiary: #94A3B8;--ds-fg-inverse: #FFFFFF;--ds-fg-disabled: #94A3B8;--ds-icon: #64748B;--ds-icon-hover: #0F172A;--ds-icon-active: #0EA5E9;--ds-icon-inverse: #FFFFFF;--ds-icon-disabled: #CBD5E1;--ds-border: #E2E8F0;--ds-border-light: #F1F5F9;--ds-border-strong: #CBD5E1;--ds-border-focus: #0F172A;--ds-surface-hover: #E2E8F0;--ds-surface-hover-light: #F1F5F9;--ds-surface-active: #B7E6FD;--ds-surface-disabled: #FAFCFF;--ds-brand: #0EA5E9;--ds-brand-hover: #0284C7;--ds-brand-active: #0369A1;--ds-brand-disabled: #BAE6FD;--ds-brand-soft: #F0F9FF;--ds-brand-soft-hover: #E0F2FE;--ds-brand-soft-active: #B7E6FD;--ds-brand-on-solid: #FFFFFF;--ds-brand-on-soft: #0EA5E9;--ds-brand-border: #B7E6FD;--ds-brand-border-hover: #7DD3FC;--ds-brand-border-strong: #0369A1;--ds-brand-secondary: #6366F1;--ds-neutral: #64748B;--ds-neutral-soft: #F8FAFC;--ds-neutral-soft-hover: #F1F5F9;--ds-neutral-soft-active: #E2E8F0;--ds-neutral-on-solid: #FFFFFF;--ds-neutral-on-soft: #0F172A;--ds-neutral-border: #D1D5DB;--ds-neutral-border-hover: #B5BCC9;--ds-neutral-border-strong: #94A3B8;--ds-error: #EF4444;--ds-error-hover: #DC2626;--ds-error-active: #B91C1C;--ds-error-soft: #FEF2F2;--ds-error-soft-hover: #FEE2E2;--ds-error-soft-active: #FECACA;--ds-error-on-solid: #FFFFFF;--ds-error-on-soft: #EF4444;--ds-error-border: #F8CDD1;--ds-error-border-hover: #F5A6B3;--ds-error-border-strong: #B91C1C;--ds-success: #10B981;--ds-success-hover: #0A8D63;--ds-success-active: #047857;--ds-success-soft: #ECFDF5;--ds-success-soft-hover: #D1FAE5;--ds-success-soft-active: #A7F3D0;--ds-success-on-solid: #FFFFFF;--ds-success-on-soft: #10B981;--ds-success-border: #BEF3D0;--ds-success-border-hover: #86EFAC;--ds-success-border-strong: #0EA875;--ds-warning: #F59E0B;--ds-warning-hover: #D97706;--ds-warning-active: #B45309;--ds-warning-soft: #FFFBEB;--ds-warning-soft-hover: #FEF3C7;--ds-warning-soft-active: #FDE68A;--ds-warning-on-solid: #FFFFFF;--ds-warning-on-soft: #92400E;--ds-warning-border: #F3E6A5;--ds-warning-border-hover: #E6D378;--ds-warning-border-strong: #B45309;--ds-info: #3B82F6;--ds-info-hover: #2563EB;--ds-info-active: #1D4ED8;--ds-info-soft: #EFF6FF;--ds-info-soft-hover: #DBEAFE;--ds-info-soft-active: #BFDBFE;--ds-info-on-solid: #FFFFFF;--ds-info-on-soft: #1E40AF;--ds-info-border: #C5D7F5;--ds-info-border-hover: #A8CCF2;--ds-info-border-strong: #1D4ED8;--ds-processing: #06B6D4;--ds-processing-hover: #0891B2;--ds-processing-active: #0E7490;--ds-processing-soft: #ECFEFF;--ds-processing-soft-hover: #CFFAFE;--ds-processing-soft-active: #A5F3FC;--ds-processing-on-solid: #FFFFFF;--ds-processing-on-soft: #155E75;--ds-processing-border: #B3F0FC;--ds-processing-border-hover: #7FE8F5;--ds-processing-border-strong: #0E7490;--ds-overlay: rgba(15, 23, 42, .15);--ds-focus-ring: #0EA5E9;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 24px;--ds-space-6: 32px;--ds-space-7: 48px;--ds-space-8: 64px;--ds-radius-sm: 4px;--ds-radius-md: 6px;--ds-radius-lg: 8px;--ds-radius-xl: 12px;--ds-radius-full: 9999px;--ds-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--ds-shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .06), 0 4px 6px -1px rgba(0, 0, 0, .1);--ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--ds-shadow-thumb: 0 1px 3px rgba(0, 0, 0, .15);--ds-shadow-card: 0 4px 2px 0 rgba(69, 89, 114, .02), 0 6px 14px 0 rgba(69, 89, 114, .06);--ds-shadow-elevated: 0px 2px 2px 0px rgba(69, 89, 114, .06), 0px 6px 6px 0px rgba(69, 89, 114, .04);--ds-shadow-focus: 0 0 0 .125rem rgba(14, 165, 233, .2);--ds-z-sticky: 10;--ds-z-dropdown: 40;--ds-z-overlay: 50;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-tooltip: 70;--ds-duration-fast: .15s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-ease-in-out: cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--ds-bg: #0F172A;--ds-bg-secondary: #1E293B;--ds-bg-tertiary: #334155;--ds-bg-inverse: #F8FAFC;--ds-bg-inverse-secondary: #E2E8F0;--ds-fg: #F8FAFC;--ds-fg-secondary: #94A3B8;--ds-fg-tertiary: #64748B;--ds-fg-inverse: #0F172A;--ds-fg-disabled: #475569;--ds-icon: #94A3B8;--ds-icon-hover: #F8FAFC;--ds-icon-active: #38BDF8;--ds-icon-inverse: #0F172A;--ds-icon-disabled: #475569;--ds-border: #334155;--ds-border-light: #1E293B;--ds-border-strong: #475569;--ds-border-focus: #F8FAFC;--ds-surface-hover: #334155;--ds-surface-hover-light: #1E293B;--ds-surface-active: #0C4A6E;--ds-surface-disabled: #1E293B;--ds-brand: #38BDF8;--ds-brand-hover: #0EA5E9;--ds-brand-active: #0284C7;--ds-brand-disabled: #0C4A6E;--ds-brand-soft: #0C4A6E;--ds-brand-soft-hover: #075985;--ds-brand-soft-active: #0369A1;--ds-brand-on-solid: #0F172A;--ds-brand-on-soft: #38BDF8;--ds-brand-border: #0C4A6E;--ds-brand-border-hover: #075985;--ds-brand-border-strong: #38BDF8;--ds-brand-secondary: #818CF8;--ds-neutral: #94A3B8;--ds-neutral-soft: #1E293B;--ds-neutral-soft-hover: #334155;--ds-neutral-soft-active: #475569;--ds-neutral-on-solid: #0F172A;--ds-neutral-on-soft: #F8FAFC;--ds-neutral-border: #475569;--ds-neutral-border-hover: #64748B;--ds-neutral-border-strong: #94A3B8;--ds-error: #F87171;--ds-error-hover: #EF4444;--ds-error-active: #DC2626;--ds-error-soft: #450A0A;--ds-error-soft-hover: #7F1D1D;--ds-error-soft-active: #991B1B;--ds-error-on-solid: #0F172A;--ds-error-on-soft: #F87171;--ds-error-border: #7F1D1D;--ds-error-border-hover: #991B1B;--ds-error-border-strong: #F87171;--ds-success: #34D399;--ds-success-hover: #10B981;--ds-success-active: #059669;--ds-success-soft: #022C22;--ds-success-soft-hover: #064E3B;--ds-success-soft-active: #065F46;--ds-success-on-solid: #0F172A;--ds-success-on-soft: #34D399;--ds-success-border: #064E3B;--ds-success-border-hover: #065F46;--ds-success-border-strong: #34D399;--ds-warning: #FBBF24;--ds-warning-hover: #F59E0B;--ds-warning-active: #D97706;--ds-warning-soft: #451A03;--ds-warning-soft-hover: #78350F;--ds-warning-soft-active: #92400E;--ds-warning-on-solid: #0F172A;--ds-warning-on-soft: #FBBF24;--ds-warning-border: #78350F;--ds-warning-border-hover: #92400E;--ds-warning-border-strong: #D97706;--ds-info: #60A5FA;--ds-info-hover: #3B82F6;--ds-info-active: #2563EB;--ds-info-soft: #1E1B4B;--ds-info-soft-hover: #1E3A5F;--ds-info-soft-active: #1D4ED8;--ds-info-on-solid: #0F172A;--ds-info-on-soft: #60A5FA;--ds-info-border: #1E3A5F;--ds-info-border-hover: #1D4ED8;--ds-info-border-strong: #60A5FA;--ds-processing: #22D3EE;--ds-processing-hover: #06B6D4;--ds-processing-active: #0891B2;--ds-processing-soft: #083344;--ds-processing-soft-hover: #164E63;--ds-processing-soft-active: #155E75;--ds-processing-on-solid: #0F172A;--ds-processing-on-soft: #22D3EE;--ds-processing-border: #164E63;--ds-processing-border-hover: #155E75;--ds-processing-border-strong: #22D3EE;--ds-overlay: rgba(0, 0, 0, .25);--ds-focus-ring: #38BDF8;--ds-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--ds-shadow-md: 0 2px 4px -1px rgba(0, 0, 0, .4), 0 4px 6px -1px rgba(0, 0, 0, .3);--ds-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--ds-shadow-thumb: 0 1px 3px rgba(0, 0, 0, .4);--ds-shadow-card: 0 4px 2px 0 rgba(0, 0, 0, .1), 0 6px 14px 0 rgba(0, 0, 0, .2);--ds-shadow-elevated: 0px 2px 2px 0px rgba(0, 0, 0, .15), 0px 6px 6px 0px rgba(0, 0, 0, .12);--ds-shadow-focus: 0 0 0 .125rem rgba(56, 189, 248, .3);--ds-z-sticky: 10;--ds-z-dropdown: 40;--ds-z-overlay: 50;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-tooltip: 70;--ds-duration-fast: .15s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-ease-in-out: cubic-bezier(.4, 0, .2, 1)}:root[data-theme=testing]{--ds-bg: #FAF9FC;--ds-bg-secondary: #F3F1F6;--ds-bg-tertiary: #EBE8F0;--ds-bg-inverse: #1A1225;--ds-bg-inverse-secondary: #2D2440;--ds-fg: #1A1225;--ds-fg-secondary: #6B5F7D;--ds-fg-tertiary: #9B8FB0;--ds-fg-inverse: #FFFFFF;--ds-fg-disabled: #9B8FB0;--ds-icon: #6B5F7D;--ds-icon-hover: #1A1225;--ds-icon-active: #8B5CF6;--ds-icon-inverse: #FFFFFF;--ds-icon-disabled: #C4BBCF;--ds-border: #DDD8E6;--ds-border-light: #EBE8F0;--ds-border-strong: #C4BBCF;--ds-border-focus: #1A1225;--ds-surface-hover: #DDD8E6;--ds-surface-hover-light: #EBE8F0;--ds-surface-active: #DDD6FE;--ds-surface-disabled: #FAFAFE;--ds-brand: #8B5CF6;--ds-brand-hover: #7C3AED;--ds-brand-active: #6D28D9;--ds-brand-disabled: #C4B5FD;--ds-brand-soft: #F5F3FF;--ds-brand-soft-hover: #EDE9FE;--ds-brand-soft-active: #DDD6FE;--ds-brand-on-solid: #FFFFFF;--ds-brand-on-soft: #7C3AED;--ds-brand-border: #DDD6FE;--ds-brand-border-hover: #C4B5FD;--ds-brand-border-strong: #6D28D9;--ds-brand-secondary: #EC4899;--ds-neutral: #6B5F7D;--ds-neutral-soft: #F3F1F6;--ds-neutral-soft-hover: #EBE8F0;--ds-neutral-soft-active: #DDD8E6;--ds-neutral-on-solid: #FFFFFF;--ds-neutral-on-soft: #1A1225;--ds-neutral-border: #C4BBCF;--ds-neutral-border-hover: #A89DB8;--ds-neutral-border-strong: #6B5F7D;--ds-error: #E11D48;--ds-error-hover: #BE123C;--ds-error-active: #9F1239;--ds-error-soft: #FFF1F2;--ds-error-soft-hover: #FFE4E6;--ds-error-soft-active: #FECDD3;--ds-error-on-solid: #FFFFFF;--ds-error-on-soft: #E11D48;--ds-error-border: #FECDD3;--ds-error-border-hover: #FDA4AF;--ds-error-border-strong: #9F1239;--ds-success: #059669;--ds-success-hover: #047857;--ds-success-active: #065F46;--ds-success-soft: #ECFDF5;--ds-success-soft-hover: #D1FAE5;--ds-success-soft-active: #A7F3D0;--ds-success-on-solid: #FFFFFF;--ds-success-on-soft: #059669;--ds-success-border: #A7F3D0;--ds-success-border-hover: #6EE7B7;--ds-success-border-strong: #065F46;--ds-warning: #EA580C;--ds-warning-hover: #C2410C;--ds-warning-active: #9A3412;--ds-warning-soft: #FFF7ED;--ds-warning-soft-hover: #FFEDD5;--ds-warning-soft-active: #FED7AA;--ds-warning-on-solid: #FFFFFF;--ds-warning-on-soft: #9A3412;--ds-warning-border: #FED7AA;--ds-warning-border-hover: #FDBA74;--ds-warning-border-strong: #EA580C;--ds-info: #6366F1;--ds-info-hover: #4F46E5;--ds-info-active: #4338CA;--ds-info-soft: #EEF2FF;--ds-info-soft-hover: #E0E7FF;--ds-info-soft-active: #C7D2FE;--ds-info-on-solid: #FFFFFF;--ds-info-on-soft: #3730A3;--ds-info-border: #C7D2FE;--ds-info-border-hover: #A5B4FC;--ds-info-border-strong: #4338CA;--ds-processing: #D946EF;--ds-processing-hover: #C026D3;--ds-processing-active: #A21CAF;--ds-processing-soft: #FDF4FF;--ds-processing-soft-hover: #FAE8FF;--ds-processing-soft-active: #F5D0FE;--ds-processing-on-solid: #FFFFFF;--ds-processing-on-soft: #86198F;--ds-processing-border: #F5D0FE;--ds-processing-border-hover: #F0ABFC;--ds-processing-border-strong: #A21CAF;--ds-overlay: rgba(26, 18, 37, .15);--ds-focus-ring: #8B5CF6;--ds-shadow-card: 0 4px 2px 0 rgba(107, 95, 125, .02), 0 6px 14px 0 rgba(107, 95, 125, .06);--ds-shadow-elevated: 0px 2px 2px 0px rgba(107, 95, 125, .06), 0px 6px 6px 0px rgba(107, 95, 125, .04);--ds-shadow-focus: 0 0 0 .125rem rgba(139, 92, 246, .2);--ds-z-sticky: 10;--ds-z-dropdown: 40;--ds-z-overlay: 50;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-tooltip: 70;--ds-duration-fast: .15s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-ease-in-out: cubic-bezier(.4, 0, .2, 1)}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.sr-only{position:absolute;margin:-.0625rem;width:.0625rem;height:.0625rem;overflow:hidden;white-space:nowrap;border-width:0rem;padding:0}.text-body-lg{font-size:1.0625rem;line-height:1.5rem;color:var(--ds-fg);font-weight:400;font-family:var(--ds-font-sans)}.text-body-sm{font-size:.8125rem;line-height:1.25rem;color:var(--ds-fg-secondary);font-weight:400;font-family:var(--ds-font-sans)}.text-caption{font-size:.6875rem;line-height:1rem;color:var(--ds-fg-tertiary);font-weight:400;font-family:var(--ds-font-sans)}.text-heading-lg{font-size:1.0625rem;line-height:1.5rem;color:var(--ds-fg);font-weight:600;font-family:var(--ds-font-sans)}.text-heading-xl{font-size:1.25rem;line-height:1.75rem;color:var(--ds-fg);font-weight:600;font-family:var(--ds-font-sans)}.text-label{font-size:.8125rem;line-height:1.25rem;color:var(--ds-fg);font-weight:500;font-family:var(--ds-font-sans)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-dropdown{z-index:var(--ds-z-dropdown)}.z-modal{z-index:var(--ds-z-modal)}.z-sticky{z-index:var(--ds-z-sticky)}.z-toast{z-index:var(--ds-z-toast)}.z-tooltip{z-index:var(--ds-z-tooltip)}.m-0{margin:0}.-mb-px{margin-bottom:-.0625rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2,.h2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[90vh\]{max-height:90vh}.max-h-64{max-height:16rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.min-w-0{min-width:0}.min-w-32{min-width:8rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.table{display:table}.border-collapse{border-collapse:collapse}.translate-x-0{--un-translate-x:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-8{--un-translate-x:2rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-180{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:180deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.rotate-45{--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-rotate:45deg;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.resize-y{resize:vertical}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1,.gap-4px{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.border{border-width:.0625rem}.border-0{border-width:0rem}.border-2{border-width:.125rem}.border-4{border-width:.25rem}.border-6{border-width:.375rem}.border-b{border-bottom-width:.0625rem}.border-b-2{border-bottom-width:.125rem}.border-l-0{border-left-width:0rem}.border-l-4{border-left-width:.25rem}.border-r-0{border-right-width:0rem}.border-t{border-top-width:.0625rem}.border-t-0{border-top-width:0rem}.border-border{border-color:var(--ds-border)}.border-border-strong{border-color:var(--ds-border-strong)}.border-brand,.group:hover .group-hover\:border-brand{border-color:var(--ds-brand)}.border-brand-active{border-color:var(--ds-brand-active)}.border-brand-disabled{border-color:var(--ds-brand-disabled)}.border-current{border-color:currentColor}.border-error-border{border-color:var(--ds-error-border)}.border-error-border-strong{border-color:var(--ds-error-border-strong)}.border-fg-inverse{border-color:var(--ds-fg-inverse)}.border-fg-secondary{border-color:var(--ds-fg-secondary)}.border-neutral-border-strong{border-color:var(--ds-neutral-border-strong)}.border-success-border-strong{border-color:var(--ds-success-border-strong)}.border-transparent{border-color:transparent}.border-warning-border-strong{border-color:var(--ds-warning-border-strong)}.focus\:border-border-focus:focus{border-color:var(--ds-border-focus)}.focus\:border-error:focus{border-color:var(--ds-error)}.border-x-border{border-left-color:var(--ds-border);border-right-color:var(--ds-border)}.border-y-border-light{border-top-color:var(--ds-border-light);border-bottom-color:var(--ds-border-light)}.border-b-brand{border-bottom-color:var(--ds-brand)}.border-b-transparent{border-bottom-color:transparent}.border-l-brand{border-left-color:var(--ds-brand)}.border-l-error{border-left-color:var(--ds-error)}.border-l-info{border-left-color:var(--ds-info)}.border-l-success{border-left-color:var(--ds-success)}.border-l-warning{border-left-color:var(--ds-warning)}.border-t-transparent{border-top-color:transparent}.hover\:border-b-border-strong:hover{border-bottom-color:var(--ds-border-strong)}.rounded{border-radius:.25rem}.rounded-full{border-radius:624.9375rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border-none{border-style:none}.border-solid{border-style:solid}.border-b-solid{border-bottom-style:solid}.border-t-solid{border-top-style:solid}.bg-bg{background-color:var(--ds-bg)}.bg-bg-inverse{background-color:var(--ds-bg-inverse)}.bg-bg-secondary{background-color:var(--ds-bg-secondary)}.bg-bg-tertiary{background-color:var(--ds-bg-tertiary)}.bg-brand{background-color:var(--ds-brand)}.bg-brand-disabled{background-color:var(--ds-brand-disabled)}.bg-brand-soft{background-color:var(--ds-brand-soft)}.bg-error{background-color:var(--ds-error)}.bg-error-soft{background-color:var(--ds-error-soft)}.bg-info{background-color:var(--ds-info)}.bg-info-soft{background-color:var(--ds-info-soft)}.bg-neutral{background-color:var(--ds-neutral)}.bg-neutral-soft{background-color:var(--ds-neutral-soft)}.bg-overlay{background-color:var(--ds-overlay)}.bg-processing{background-color:var(--ds-processing)}.bg-processing-soft{background-color:var(--ds-processing-soft)}.bg-success{background-color:var(--ds-success)}.bg-success-soft{background-color:var(--ds-success-soft)}.bg-surface-hover{background-color:var(--ds-surface-hover)}.bg-transparent{background-color:transparent}.bg-warning{background-color:var(--ds-warning)}.bg-warning-soft{background-color:var(--ds-warning-soft)}.hover\:bg-brand-hover:hover{background-color:var(--ds-brand-hover)}.hover\:bg-brand-soft:hover{background-color:var(--ds-brand-soft)}.hover\:bg-error-hover:hover{background-color:var(--ds-error-hover)}.hover\:bg-neutral-soft-hover:hover{background-color:var(--ds-neutral-soft-hover)}.hover\:bg-success-hover:hover{background-color:var(--ds-success-hover)}.hover\:bg-surface-hover-light:hover{background-color:var(--ds-surface-hover-light)}.hover\:bg-warning-hover:hover{background-color:var(--ds-warning-hover)}.active\:bg-brand-active:active{background-color:var(--ds-brand-active)}.active\:bg-brand-soft-hover:active{background-color:var(--ds-brand-soft-hover)}.active\:bg-error-active:active{background-color:var(--ds-error-active)}.active\:bg-neutral-soft-active:active{background-color:var(--ds-neutral-soft-active)}.active\:bg-warning-active:active{background-color:var(--ds-warning-active)}.disabled\:bg-brand-disabled:disabled{background-color:var(--ds-brand-disabled)}.disabled\:bg-surface-disabled:disabled{background-color:var(--ds-surface-disabled)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-4{padding:1rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py,.py-4{padding-top:1rem;padding-bottom:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl{padding-left:1rem}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr{padding-right:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-base{font-size:.9375rem;line-height:1.375rem}.text-lg{font-size:1.0625rem;line-height:1.5rem}.text-sm{font-size:.8125rem;line-height:1.25rem}.text-xs{font-size:.6875rem;line-height:1rem}.text-brand{color:var(--ds-brand)}.text-brand-on-soft{color:var(--ds-brand-on-soft)}.text-brand-on-solid{color:var(--ds-brand-on-solid)}.text-error{color:var(--ds-error)}.text-error-on-soft{color:var(--ds-error-on-soft)}.text-error-on-solid{color:var(--ds-error-on-solid)}.text-fg{color:var(--ds-fg)}.text-fg-disabled{color:var(--ds-fg-disabled)}.text-fg-inverse{color:var(--ds-fg-inverse)}.text-fg-secondary{color:var(--ds-fg-secondary)}.text-fg-tertiary{color:var(--ds-fg-tertiary)}.text-info{color:var(--ds-info)}.text-info-on-soft{color:var(--ds-info-on-soft)}.text-neutral-on-soft{color:var(--ds-neutral-on-soft)}.text-processing-on-soft{color:var(--ds-processing-on-soft)}.text-success{color:var(--ds-success)}.text-success-on-soft{color:var(--ds-success-on-soft)}.text-success-on-solid{color:var(--ds-success-on-solid)}.text-transparent{color:transparent}.text-warning{color:var(--ds-warning)}.text-warning-on-soft{color:var(--ds-warning-on-soft)}.text-warning-on-solid{color:var(--ds-warning-on-solid)}.hover\:text-fg-secondary:hover{color:var(--ds-fg-secondary)}.hover\:text-fg:hover{color:var(--ds-fg)}.disabled\:text-fg-disabled:disabled{color:var(--ds-fg-disabled)}.placeholder\:text-fg-tertiary::placeholder{color:var(--ds-fg-tertiary)}.font-500,.font-medium{font-weight:500}.font-sans{font-family:var(--ds-font-sans)}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-95:disabled{opacity:.95}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 .625rem .9375rem -.1875rem var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 .25rem .375rem -.25rem var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-md{--un-shadow:var(--un-shadow-inset) 0 .25rem .375rem -.0625rem var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 .125rem .25rem -.125rem var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 .0625rem .125rem 0 var(--un-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline{outline-style:solid}.outline-none{outline:.125rem solid transparent;outline-offset:.125rem}.focus\:outline-none:focus{outline:.125rem solid transparent;outline-offset:.125rem}.focus-visible\:outline-none:focus-visible{outline:.125rem solid transparent;outline-offset:.125rem}.focus\:ring-2:focus{--un-ring-width:.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-width:.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.peer:focus-visible~.peer-focus-visible\:ring-2{--un-ring-width:.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus\:ring-offset-0:focus{--un-ring-offset-width:0rem}.focus-visible\:ring-offset-2:focus-visible{--un-ring-offset-width:.125rem}.peer:focus-visible~.peer-focus-visible\:ring-offset-2{--un-ring-offset-width:.125rem}.focus\:ring-error:focus{--un-ring-color:var(--ds-error) }.focus\:ring-focus-ring:focus{--un-ring-color:var(--ds-focus-ring) }.focus-visible\:ring-focus-ring:focus-visible{--un-ring-color:var(--ds-focus-ring) }.peer:focus-visible~.peer-focus-visible\:ring-focus-ring{--un-ring-color:var(--ds-focus-ring) }.backdrop-blur-sm{--un-backdrop-blur:blur(.25rem);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.blur{--un-blur:blur(.5rem);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:var(--ds-ease-default);transition-duration:.15s}.duration-fast{transition-duration:var(--ds-duration-fast)}.duration-normal{transition-duration:var(--ds-duration-normal)}.duration-slow{transition-duration:var(--ds-duration-slow)}.ease-in{transition-timing-function:var(--ds-ease-in)}.ease-in-out{transition-timing-function:var(--ds-ease-in-out)}.ease-out{transition-timing-function:var(--ds-ease-out)}.legacy-card-box-shadow{box-shadow:var(--ds-shadow-card)}.shadow-default{box-shadow:var(--ds-shadow-elevated)}.ds-modal-enter-active[data-v-cc8b4649],.ds-modal-leave-active[data-v-cc8b4649]{transition:opacity var(--ds-duration-normal) var(--ds-ease-default)}.ds-modal-enter-active [role=dialog][data-v-cc8b4649],.ds-modal-leave-active [role=dialog][data-v-cc8b4649]{transition:transform var(--ds-duration-normal) var(--ds-ease-default),opacity var(--ds-duration-normal) var(--ds-ease-default)}.ds-modal-enter-from[data-v-cc8b4649]{opacity:0}.ds-modal-enter-from [role=dialog][data-v-cc8b4649]{opacity:0;transform:scale(.95) translateY(8px)}.ds-modal-enter-to[data-v-cc8b4649]{opacity:1}.ds-modal-enter-to [role=dialog][data-v-cc8b4649]{opacity:1;transform:scale(1) translateY(0)}.ds-slider[data-v-75234e8c]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:9999px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--ds-brand) 0%,var(--ds-brand) var(--slider-percent),var(--ds-border) var(--slider-percent),var(--ds-border) 100%)}.ds-slider[data-v-75234e8c]:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:2px}.ds-slider[data-v-75234e8c]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ds-brand);border:2px solid var(--ds-bg);box-shadow:var(--ds-shadow-thumb);cursor:pointer;transition:transform var(--ds-duration-fast) var(--ds-ease-default)}.ds-slider[data-v-75234e8c]::-webkit-slider-thumb:hover{transform:scale(1.15)}.ds-slider[data-v-75234e8c]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ds-brand);border:2px solid var(--ds-bg);box-shadow:var(--ds-shadow-thumb);cursor:pointer;transition:transform var(--ds-duration-fast) var(--ds-ease-default)}.ds-slider[data-v-75234e8c]::-moz-range-thumb:hover{transform:scale(1.15)}.ds-slider[data-v-75234e8c]:disabled{cursor:not-allowed}.ds-slider[data-v-75234e8c]:disabled::-webkit-slider-thumb{background:var(--ds-fg-disabled);cursor:not-allowed}.ds-slider[data-v-75234e8c]:disabled::-moz-range-thumb{background:var(--ds-fg-disabled);cursor:not-allowed}