@plastic-js/tsumiki 0.1.34 → 0.1.35

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.
@@ -13,7 +13,7 @@ var rootClass = css({
13
13
  alignItems: "center",
14
14
  height: "56px",
15
15
  paddingBottom: "env(safe-area-inset-bottom)",
16
- backgroundColor: "var(--tsu-bg)",
16
+ backgroundColor: "var(--tsu-surface)",
17
17
  borderTop: "1px solid var(--tsu-neutral-6)",
18
18
  zIndex: "var(--tsu-z-base)"
19
19
  });
@@ -1,7 +1,7 @@
1
1
  import Portal_default from "./Portal.js";
2
2
  import { insert, jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
3
3
  import { css } from "@emotion/css";
4
- import { createSignal, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
4
+ import { createEffect, createSignal, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
5
5
  //#region src/components/BottomSheet.jsx
6
6
  var _tmpl4 = template("<div><h2></h2></div>");
7
7
  var _tmpl3 = template("<div><div></div></div>");
@@ -33,7 +33,7 @@ var sheetClass = css({
33
33
  insetInline: 0,
34
34
  bottom: 0,
35
35
  zIndex: 1400,
36
- background: "var(--tsu-bg)",
36
+ background: "var(--tsu-surface)",
37
37
  borderRadius: "var(--tsu-radius-l3-md) var(--tsu-radius-l3-md) 0 0",
38
38
  boxShadow: "var(--tsu-shadow-lg)",
39
39
  maxHeight: "70vh",
@@ -54,7 +54,7 @@ var sheetClass = css({
54
54
  left: 0,
55
55
  right: 0,
56
56
  height: "30vh",
57
- background: "var(--tsu-bg)"
57
+ background: "var(--tsu-surface)"
58
58
  }
59
59
  });
60
60
  var draggingClass = css({ transition: "none" });
@@ -138,6 +138,13 @@ var BottomSheet = (props) => {
138
138
  if (!detail.open) local.onClose?.();
139
139
  local.onOpenChange?.(detail);
140
140
  };
141
+ const isOpen = () => read(local.open);
142
+ let prevOpen = isOpen();
143
+ createEffect(() => {
144
+ const cur = isOpen();
145
+ if (cur && !prevOpen) local.onOpen?.();
146
+ prevOpen = cur;
147
+ });
141
148
  const handleBackdropClick = () => {
142
149
  if (read(local.dismissible)) handleOpenChange({ open: false });
143
150
  };
@@ -3,7 +3,7 @@ import { css } from "@emotion/css";
3
3
  import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
4
4
  //#region src/components/Card.jsx
5
5
  var baseClass = css({
6
- backgroundColor: "var(--tsu-bg)",
6
+ backgroundColor: "var(--tsu-surface)",
7
7
  borderRadius: "var(--tsu-radius-l2-md)"
8
8
  });
9
9
  var Card = (props = {}) => {
@@ -73,7 +73,7 @@ var controlClass = css({
73
73
  flexShrink: 0,
74
74
  borderRadius: "var(--_cb-radius, var(--tsu-radius-l1-md))",
75
75
  border: "1px solid var(--tsu-accent-8)",
76
- backgroundColor: "var(--tsu-bg)",
76
+ backgroundColor: "var(--tsu-surface)",
77
77
  color: "transparent",
78
78
  transition: "background-color var(--tsu-transition-fast), border-color var(--tsu-transition-fast), color var(--tsu-transition-fast), transform var(--tsu-transition-fast)",
79
79
  "&[data-state=\"checked\"], &[data-state=\"indeterminate\"]": {
@@ -100,10 +100,10 @@ var errorClass = css({
100
100
  },
101
101
  "&[data-disabled]": {
102
102
  borderColor: "var(--tsu-danger-9)",
103
- backgroundColor: "var(--tsu-bg)"
103
+ backgroundColor: "var(--tsu-surface)"
104
104
  },
105
105
  "&[data-disabled][data-state=\"checked\"], &[data-disabled][data-state=\"indeterminate\"]": {
106
- backgroundColor: "var(--tsu-bg)",
106
+ backgroundColor: "var(--tsu-surface)",
107
107
  borderColor: "var(--tsu-danger-9)",
108
108
  color: "var(--tsu-danger-9)"
109
109
  }
@@ -65,7 +65,7 @@ var valueTextClass = css({
65
65
  fontVariantNumeric: "tabular-nums"
66
66
  });
67
67
  var contentClass = css({
68
- backgroundColor: "var(--tsu-bg)",
68
+ backgroundColor: "var(--tsu-surface)",
69
69
  border: "1px solid var(--tsu-neutral-6)",
70
70
  borderRadius: "var(--tsu-radius-l2-xl)",
71
71
  boxShadow: "var(--tsu-shadow-lg)",
@@ -7,7 +7,7 @@ var inputClass = css({
7
7
  width: "100%",
8
8
  height: "var(--tsu-comp-height-md)",
9
9
  padding: "0 var(--tsu-comp-padding-x-md)",
10
- background: "var(--tsu-bg)",
10
+ background: "var(--tsu-surface)",
11
11
  border: "1px solid var(--tsu-accent-8)",
12
12
  borderRadius: "var(--tsu-radius-l1-md)",
13
13
  color: "var(--tsu-fg)",
@@ -21,7 +21,7 @@ var inputClass = css({
21
21
  }
22
22
  });
23
23
  var contentClass = css({
24
- backgroundColor: "var(--tsu-bg)",
24
+ backgroundColor: "var(--tsu-surface)",
25
25
  border: "1px solid var(--tsu-neutral-6)",
26
26
  borderRadius: "var(--tsu-radius-l2-md)",
27
27
  boxShadow: "var(--tsu-shadow-lg)",
@@ -71,7 +71,7 @@ var triggerClass = css({
71
71
  width: "100%",
72
72
  height: "var(--tsu-comp-height-md)",
73
73
  padding: "0 36px 0 var(--tsu-comp-padding-x-md)",
74
- background: "var(--tsu-bg)",
74
+ background: "var(--tsu-surface)",
75
75
  border: "1px solid var(--tsu-accent-8)",
76
76
  borderRadius: "var(--tsu-radius-l1-md)",
77
77
  color: "var(--tsu-fg)",
@@ -118,7 +118,7 @@ var sheetClass = css({
118
118
  width: "100%",
119
119
  display: "flex",
120
120
  flexDirection: "column",
121
- background: "var(--tsu-bg)",
121
+ background: "var(--tsu-surface)",
122
122
  borderTop: "1px solid var(--tsu-neutral-7)",
123
123
  borderRadius: "18px 18px 0 0",
124
124
  boxShadow: "0 -8px 32px rgba(0,0,0,0.4)",
@@ -193,11 +193,11 @@ var columnViewportClass = css({
193
193
  },
194
194
  "&::before": {
195
195
  top: 0,
196
- background: "linear-gradient(to bottom, var(--tsu-bg) 0%, transparent 100%)"
196
+ background: "linear-gradient(to bottom, var(--tsu-surface) 0%, transparent 100%)"
197
197
  },
198
198
  "&::after": {
199
199
  bottom: 0,
200
- background: "linear-gradient(to top, var(--tsu-bg) 0%, transparent 100%)"
200
+ background: "linear-gradient(to top, var(--tsu-surface) 0%, transparent 100%)"
201
201
  }
202
202
  });
203
203
  var columnListClass = css({ willChange: "transform" });
@@ -54,7 +54,7 @@ var sheetContentIn = keyframes({
54
54
  to: { transform: "translateY(0)" }
55
55
  });
56
56
  var contentModalClass = css({
57
- background: "var(--tsu-bg)",
57
+ background: "var(--tsu-surface)",
58
58
  borderRadius: "var(--tsu-radius-l3-md)",
59
59
  width: "100%",
60
60
  maxWidth: "440px",
@@ -67,7 +67,7 @@ var contentModalClass = css({
67
67
  animation: `${modalContentIn} 200ms ease`
68
68
  });
69
69
  var contentSheetClass = css({
70
- background: "var(--tsu-bg)",
70
+ background: "var(--tsu-surface)",
71
71
  borderRadius: "var(--tsu-radius-l3-md) var(--tsu-radius-l3-md) 0 0",
72
72
  width: "100%",
73
73
  maxHeight: "70vh",
@@ -98,7 +98,7 @@ var titleIconClass = css({
98
98
  });
99
99
  var titleClass = css({
100
100
  fontSize: "18px",
101
- fontWeight: 700,
101
+ fontWeight: "var(--tsu-font-weight-semibold)",
102
102
  margin: 0
103
103
  });
104
104
  var closeBtnClass = css({
@@ -204,15 +204,22 @@ var Dialog$1 = (props) => {
204
204
  "class",
205
205
  "children"
206
206
  ]);
207
+ const cancelRequested = { current: false };
207
208
  const handleOpenChange = (open) => {
208
209
  if (!open) {
209
- local.onCancel?.();
210
+ const wasCancelled = cancelRequested.current;
211
+ cancelRequested.current = false;
212
+ if (wasCancelled) local.onCancel?.();
210
213
  local.onClose?.();
211
- } else local.onOpen?.();
214
+ } else {
215
+ cancelRequested.current = false;
216
+ local.onOpen?.();
217
+ }
212
218
  local.onOpenChange?.(open);
213
219
  };
214
220
  const handleCancel = () => {
215
221
  if (read(local.loading)) return;
222
+ cancelRequested.current = true;
216
223
  handleOpenChange(false);
217
224
  };
218
225
  const handleConfirm = () => {
@@ -250,6 +257,12 @@ var Dialog$1 = (props) => {
250
257
  return read(local.open);
251
258
  },
252
259
  onOpenChange: handleOpenChange,
260
+ onEscapeKeyDown: () => {
261
+ cancelRequested.current = true;
262
+ },
263
+ onInteractOutside: () => {
264
+ if (read(local.closeOnInteractOutside)) cancelRequested.current = true;
265
+ },
253
266
  get lazyMount() {
254
267
  return local.lazyMount;
255
268
  },
@@ -288,6 +301,9 @@ var Dialog$1 = (props) => {
288
301
  insert(_el0, () => !isSheet && (local.closeable ?? true) && jsx(Dialog.CloseTrigger, mergeProps({
289
302
  "aria-label": "Close",
290
303
  className: closeBtnClass,
304
+ onClick: () => {
305
+ cancelRequested.current = true;
306
+ },
291
307
  children: "×"
292
308
  })), _el4);
293
309
  setProp(_el0, "className", () => headerClass);
@@ -24,7 +24,7 @@ var positionerClass = css({
24
24
  });
25
25
  var contentClass = css({
26
26
  pointerEvents: "auto",
27
- background: "var(--tsu-bg)",
27
+ background: "var(--tsu-surface)",
28
28
  borderLeft: "1px solid var(--tsu-neutral-7)",
29
29
  width: "min(320px, calc(100vw - 24px))",
30
30
  height: "100%",
@@ -54,7 +54,7 @@ var titleIconClass = css({
54
54
  });
55
55
  var titleClass = css({
56
56
  fontSize: "18px",
57
- fontWeight: 700,
57
+ fontWeight: "var(--tsu-font-weight-semibold)",
58
58
  margin: 0
59
59
  });
60
60
  var closeBtnClass = css({
@@ -25,7 +25,7 @@ var dropzoneClass = css({
25
25
  padding: "var(--tsu-spacing-xl)",
26
26
  border: "2px dashed var(--tsu-accent-7)",
27
27
  borderRadius: "var(--tsu-radius-l2-md)",
28
- backgroundColor: "var(--tsu-bg)",
28
+ backgroundColor: "var(--tsu-surface)",
29
29
  cursor: "pointer",
30
30
  minHeight: "120px",
31
31
  transition: "border-color var(--tsu-transition-fast), background-color var(--tsu-transition-fast)",
@@ -54,7 +54,7 @@ var itemClass = css({
54
54
  alignItems: "center",
55
55
  gap: "var(--tsu-spacing-sm)",
56
56
  padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
57
- backgroundColor: "var(--tsu-bg)",
57
+ backgroundColor: "var(--tsu-surface)",
58
58
  border: "1px solid var(--tsu-neutral-5)",
59
59
  borderRadius: "var(--tsu-radius-l2-md)"
60
60
  });
@@ -92,7 +92,7 @@ var clearClass = css({
92
92
  padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
93
93
  border: "1px solid var(--tsu-neutral-7)",
94
94
  borderRadius: "var(--tsu-radius-l2-md)",
95
- backgroundColor: "var(--tsu-bg)",
95
+ backgroundColor: "var(--tsu-surface)",
96
96
  color: "var(--tsu-neutral-11)",
97
97
  fontSize: "var(--tsu-font-size-sm)",
98
98
  cursor: "pointer",
@@ -51,7 +51,7 @@ var stickyClass = css({
51
51
  position: "sticky",
52
52
  top: 0,
53
53
  zIndex: "var(--tsu-z-dropdown)",
54
- backgroundColor: "var(--tsu-bg)"
54
+ backgroundColor: "var(--tsu-surface)"
55
55
  });
56
56
  var allClass = css({
57
57
  display: "flex",
@@ -4,6 +4,23 @@ import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
4
4
  //#region src/components/Icon.jsx
5
5
  var _tmpl = template("<span></span>");
6
6
  var read = (v) => typeof v === "function" ? v() : v;
7
+ var sanitizeSvg = (svgString) => {
8
+ let doc;
9
+ try {
10
+ doc = new DOMParser().parseFromString(svgString, "image/svg+xml");
11
+ } catch {
12
+ return "";
13
+ }
14
+ if (!doc || doc.querySelector("parsererror")) return "";
15
+ const svg = doc.querySelector("svg");
16
+ if (!svg) return "";
17
+ svg.querySelectorAll("script").forEach((el) => {
18
+ el.remove();
19
+ });
20
+ const all = [svg, ...Array.from(svg.querySelectorAll("*"))];
21
+ for (const el of all) for (const attr of Array.from(el.attributes)) if (attr.name.toLowerCase().startsWith("on") || /^\s*javascript:/i.test(attr.value)) el.removeAttribute(attr.name);
22
+ return svg.outerHTML;
23
+ };
7
24
  var iconClass = css({
8
25
  display: "inline-flex",
9
26
  alignItems: "center",
@@ -37,7 +54,9 @@ var Icon = (props = {}) => {
37
54
  "--icon-sw": sw
38
55
  };
39
56
  const setEl = (el) => {
40
- if (el && el.innerHTML !== svgContent) el.innerHTML = svgContent;
57
+ if (!el) return;
58
+ const safe = sanitizeSvg(svgContent);
59
+ if (el.innerHTML !== safe) el.innerHTML = safe;
41
60
  };
42
61
  return (() => {
43
62
  const _el0 = _tmpl.cloneNode(true);
@@ -56,7 +56,7 @@ var sizeClasses = {
56
56
  };
57
57
  var variantClasses = {
58
58
  solid: css({
59
- backgroundColor: "var(--tsu-surface)",
59
+ backgroundColor: "var(--tsu-surface-raised)",
60
60
  border: "1px solid transparent",
61
61
  color: "var(--tsu-fg)",
62
62
  "&:focus-within": {
@@ -4,7 +4,7 @@ import { Listbox } from "@plastic-js/ark";
4
4
  import { splitProps } from "@plastic-js/plastic";
5
5
  //#region src/components/Listbox.jsx
6
6
  css({
7
- backgroundColor: "var(--tsu-bg)",
7
+ backgroundColor: "var(--tsu-surface)",
8
8
  border: "1px solid var(--tsu-neutral-6)",
9
9
  borderRadius: "var(--tsu-radius-l2-md)",
10
10
  boxShadow: "var(--tsu-shadow-lg)",
@@ -6,7 +6,7 @@ import { splitProps } from "@plastic-js/plastic";
6
6
  //#region src/components/Menu.jsx
7
7
  var positionerClass = css({ zIndex: "var(--tsu-z-dropdown)" });
8
8
  var contentClass = css({
9
- backgroundColor: "var(--tsu-bg)",
9
+ backgroundColor: "var(--tsu-surface)",
10
10
  border: "1px solid var(--tsu-neutral-6)",
11
11
  borderRadius: "var(--tsu-radius-l2-md)",
12
12
  boxShadow: "var(--tsu-shadow-lg)",
@@ -8,7 +8,7 @@ var affixSuffixClass = css({
8
8
  color: "var(--tsu-fg)",
9
9
  fontWeight: "var(--tsu-font-weight-semibold)",
10
10
  paddingLeft: "10px",
11
- marginLeft: "4px",
11
+ marginLeft: "var(--tsu-spacing-xs)",
12
12
  borderLeft: "1px solid var(--tsu-neutral-7)"
13
13
  });
14
14
  var read = (value) => {
@@ -10,7 +10,7 @@ var rootClass = css({
10
10
  alignItems: "center",
11
11
  border: "1px solid var(--tsu-accent-8)",
12
12
  borderRadius: "var(--tsu-radius-l1-md)",
13
- backgroundColor: "var(--tsu-bg)",
13
+ backgroundColor: "var(--tsu-surface)",
14
14
  overflow: "hidden",
15
15
  "&:focus-within": { borderColor: "var(--tsu-focus-border)" }
16
16
  });
@@ -18,7 +18,7 @@ var itemClass = css({
18
18
  padding: "0 var(--tsu-spacing-sm)",
19
19
  border: "1px solid var(--tsu-neutral-5)",
20
20
  borderRadius: "var(--tsu-radius-l2-md)",
21
- backgroundColor: "var(--tsu-bg)",
21
+ backgroundColor: "var(--tsu-surface)",
22
22
  color: "var(--tsu-neutral-11)",
23
23
  fontSize: "var(--tsu-font-size-sm)",
24
24
  fontWeight: "var(--tsu-font-weight-medium)",
@@ -21,7 +21,7 @@ var positionerClass = css({
21
21
  });
22
22
  var contentClass = css({
23
23
  padding: "var(--tsu-container-padding-sm)",
24
- backgroundColor: "var(--tsu-bg)",
24
+ backgroundColor: "var(--tsu-surface)",
25
25
  borderRadius: "var(--tsu-radius-l2-md)",
26
26
  boxShadow: "var(--tsu-shadow-lg)",
27
27
  border: "1px solid var(--tsu-neutral-6)",
@@ -30,7 +30,7 @@ var contentClass = css({
30
30
  });
31
31
  var arrowClass = css({
32
32
  "--arrow-size": "8px",
33
- "--arrow-background": "var(--tsu-bg)"
33
+ "--arrow-background": "var(--tsu-surface)"
34
34
  });
35
35
  var closeTriggerClass = css({
36
36
  display: "flex",
@@ -38,7 +38,7 @@ var itemControlClass = css({
38
38
  height: "20px",
39
39
  borderRadius: "50%",
40
40
  border: "2px solid var(--tsu-accent-8)",
41
- background: "var(--tsu-bg)",
41
+ background: "var(--tsu-surface)",
42
42
  display: "flex",
43
43
  alignItems: "center",
44
44
  justifyContent: "center",
@@ -24,7 +24,7 @@ var triggerClass = css({
24
24
  alignItems: "center",
25
25
  justifyContent: "space-between",
26
26
  gap: "4px",
27
- background: "var(--tsu-neutral-2)",
27
+ background: "var(--tsu-surface)",
28
28
  border: "1px solid var(--tsu-accent-8)",
29
29
  borderRadius: "10px",
30
30
  padding: "0 10px",
@@ -77,7 +77,7 @@ var itemClass = css({
77
77
  textAlign: "left",
78
78
  cursor: "pointer",
79
79
  "&:active": { background: "rgba(255,255,255,0.06)" },
80
- "&[data-selected]": { background: "var(--tsu-accent-2)" }
80
+ "&[data-selected]": { background: "var(--tsu-accent-3)" }
81
81
  });
82
82
  var itemIndicatorClass = css({
83
83
  flexShrink: 0,
@@ -96,7 +96,7 @@ var filterInputClass = css({
96
96
  width: "100%",
97
97
  height: "42px",
98
98
  padding: "0 36px 0 40px",
99
- background: "var(--tsu-neutral-2)",
99
+ background: "var(--tsu-surface)",
100
100
  border: "1px solid var(--tsu-accent-8)",
101
101
  borderRadius: "10px",
102
102
  color: "var(--tsu-fg)",
@@ -168,8 +168,6 @@ var Select = (props) => {
168
168
  "onOpenChange",
169
169
  "disabled",
170
170
  "children",
171
- "clearable",
172
- "clearLabel",
173
171
  "backdropClassName",
174
172
  "backdropStyle",
175
173
  "filter"
@@ -224,8 +222,6 @@ var Select = (props) => {
224
222
  selectedItem,
225
223
  setValue,
226
224
  disabled: () => local.disabled ?? false,
227
- clearable: local.clearable,
228
- clearLabel: local.clearLabel,
229
225
  backdropClassName: local.backdropClassName,
230
226
  backdropStyle: local.backdropStyle,
231
227
  filter: local.filter,
@@ -348,10 +344,7 @@ var Content = () => {
348
344
  setProp(_el0, "className", () => noResultsClass);
349
345
  return _el0;
350
346
  })();
351
- return jsx(Fragment, { children: [() => ctx.clearable && jsx(Item, mergeProps({
352
- value: "",
353
- children: () => ctx.clearLabel ?? "None"
354
- })), jsx(Loop, mergeProps({
347
+ return jsx(Fragment, { children: jsx(Loop, mergeProps({
355
348
  each: () => list,
356
349
  children: (item) => jsx(Item, mergeProps({
357
350
  item,
@@ -359,7 +352,7 @@ var Content = () => {
359
352
  return ctx.itemToValue(item);
360
353
  }
361
354
  }))
362
- }))] });
355
+ })) });
363
356
  }]
364
357
  }))
365
358
  }));
@@ -71,7 +71,7 @@ var variantClasses = {
71
71
  }
72
72
  }),
73
73
  outline: css({
74
- backgroundColor: "var(--tsu-bg)",
74
+ backgroundColor: "var(--tsu-surface)",
75
75
  border: "1px solid var(--tsu-accent-8)",
76
76
  "&:active:not(:disabled)": {
77
77
  backgroundColor: "var(--tsu-accent-3)",
@@ -103,7 +103,7 @@ var indicatorClass = css({
103
103
  });
104
104
  var positionerClass = css({ zIndex: "var(--tsu-z-dropdown)" });
105
105
  var contentBaseClass = css({
106
- backgroundColor: "var(--tsu-bg)",
106
+ backgroundColor: "var(--tsu-surface)",
107
107
  border: "1px solid var(--tsu-neutral-6)",
108
108
  borderRadius: "var(--tsu-radius-l2-md)",
109
109
  boxShadow: "var(--tsu-shadow-lg)",
@@ -17,8 +17,13 @@ var canvasClass = css({
17
17
  border: "1px solid var(--tsu-neutral-7)",
18
18
  borderRadius: "var(--tsu-radius-l2-md)",
19
19
  backgroundColor: "var(--tsu-bg)",
20
+ color: "var(--tsu-fg)",
20
21
  touchAction: "none",
21
- width: "100%"
22
+ width: "100%",
23
+ "& [data-part=\"segment-path\"]": {
24
+ stroke: "currentColor",
25
+ strokeWidth: "2px"
26
+ }
22
27
  });
23
28
  var clearClass = css({
24
29
  display: "inline-flex",
@@ -77,7 +77,7 @@ var indicatorClass = css({
77
77
  height: "28px",
78
78
  borderRadius: "50%",
79
79
  border: "2px solid var(--tsu-neutral-5)",
80
- backgroundColor: "var(--tsu-bg)",
80
+ backgroundColor: "var(--tsu-surface)",
81
81
  fontSize: "var(--tsu-font-size-sm)",
82
82
  fontWeight: "var(--tsu-font-weight-semibold)",
83
83
  color: "var(--tsu-neutral-9)",
@@ -132,7 +132,7 @@ var navBtnClass = css({
132
132
  padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
133
133
  border: "1px solid var(--tsu-accent-7)",
134
134
  borderRadius: "var(--tsu-radius-l2-md)",
135
- backgroundColor: "var(--tsu-bg)",
135
+ backgroundColor: "var(--tsu-surface)",
136
136
  color: "var(--tsu-neutral-11)",
137
137
  fontSize: "var(--tsu-font-size-sm)",
138
138
  fontWeight: "var(--tsu-font-weight-medium)",
@@ -96,7 +96,7 @@ var thumbClass = css({
96
96
  width: "var(--_sw-thumb-size, calc(var(--tsu-comp-secondary-height-md) - 4px))",
97
97
  height: "var(--_sw-thumb-size, calc(var(--tsu-comp-secondary-height-md) - 4px))",
98
98
  borderRadius: "50%",
99
- backgroundColor: "var(--tsu-bg)",
99
+ backgroundColor: "var(--tsu-surface)",
100
100
  boxShadow: "0 1px 3px rgba(0,0,0,0.15)",
101
101
  transform: "translateX(0)",
102
102
  transition: "transform var(--tsu-transition-fast)",
@@ -105,7 +105,7 @@ var thumbClass = css({
105
105
  backgroundColor: "var(--tsu-neutral-8)",
106
106
  boxShadow: "none"
107
107
  },
108
- "&[data-disabled][data-state=\"checked\"]": { backgroundColor: "var(--tsu-bg)" }
108
+ "&[data-disabled][data-state=\"checked\"]": { backgroundColor: "var(--tsu-surface)" }
109
109
  });
110
110
  var labelClass = css({
111
111
  fontSize: "var(--_sw-font-size, var(--tsu-comp-font-size-md))",
@@ -12,7 +12,7 @@ var rootClass = css({
12
12
  padding: "var(--tsu-spacing-xs) var(--tsu-spacing-sm)",
13
13
  border: "1px solid var(--tsu-accent-8)",
14
14
  borderRadius: "var(--tsu-radius-l1-md)",
15
- backgroundColor: "var(--tsu-bg)",
15
+ backgroundColor: "var(--tsu-surface)",
16
16
  minHeight: "var(--tsu-comp-height-lg)",
17
17
  "&:focus-within": { borderColor: "var(--tsu-focus-border)" }
18
18
  });
@@ -17,7 +17,7 @@ var toastClass = css({
17
17
  gap: "12px",
18
18
  width: "min(92vw, 340px)",
19
19
  padding: "16px",
20
- background: "var(--tsu-bg)",
20
+ background: "var(--tsu-surface)",
21
21
  border: "1px solid var(--tsu-neutral-6)",
22
22
  borderRadius: "var(--tsu-radius-l2-lg)",
23
23
  borderLeft: "3px solid var(--tsu-neutral-7)",
@@ -49,7 +49,7 @@ var toastClass = css({
49
49
  var titleClass = css({
50
50
  margin: 0,
51
51
  fontSize: "15px",
52
- fontWeight: 700,
52
+ fontWeight: "var(--tsu-font-weight-semibold)",
53
53
  lineHeight: 1.3,
54
54
  letterSpacing: "-0.01em",
55
55
  color: "var(--tsu-fg)",
@@ -10,7 +10,7 @@ var rootClass = css({
10
10
  padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
11
11
  border: "1px solid var(--tsu-neutral-7)",
12
12
  borderRadius: "var(--tsu-radius-l1-md)",
13
- backgroundColor: "var(--tsu-bg)",
13
+ backgroundColor: "var(--tsu-surface)",
14
14
  color: "var(--tsu-neutral-11)",
15
15
  fontSize: "var(--tsu-font-size-sm)",
16
16
  fontWeight: "var(--tsu-font-weight-medium)",
@@ -5,7 +5,7 @@ import { splitProps } from "@plastic-js/plastic";
5
5
  //#region src/components/Tour.jsx
6
6
  var contentClass = css({
7
7
  padding: "var(--tsu-container-padding-sm) var(--tsu-container-padding-md)",
8
- backgroundColor: "var(--tsu-bg)",
8
+ backgroundColor: "var(--tsu-surface)",
9
9
  borderRadius: "var(--tsu-radius-l2-md)",
10
10
  boxShadow: "var(--tsu-shadow-lg)",
11
11
  border: "1px solid var(--tsu-neutral-6)",
package/dist/tsumiki.css CHANGED
@@ -1 +1 @@
1
- :root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root{--tsu-accent-1:var(--indigo-1);--tsu-accent-2:var(--indigo-2);--tsu-accent-3:var(--indigo-3);--tsu-accent-4:var(--indigo-4);--tsu-accent-5:var(--indigo-5);--tsu-accent-6:var(--indigo-6);--tsu-accent-7:var(--indigo-7);--tsu-accent-8:var(--indigo-8);--tsu-accent-9:var(--indigo-9);--tsu-accent-10:var(--indigo-10);--tsu-accent-11:var(--indigo-11);--tsu-accent-12:var(--indigo-12);--tsu-neutral-1:var(--olive-1);--tsu-neutral-2:var(--olive-2);--tsu-neutral-3:var(--olive-3);--tsu-neutral-4:var(--olive-4);--tsu-neutral-5:var(--olive-5);--tsu-neutral-6:var(--olive-6);--tsu-neutral-7:var(--olive-7);--tsu-neutral-8:var(--olive-8);--tsu-neutral-9:var(--olive-9);--tsu-neutral-10:var(--olive-10);--tsu-neutral-11:var(--olive-11);--tsu-neutral-12:var(--olive-12)}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root{--tsu-bg:var(--tsu-neutral-1);--tsu-fg:var(--tsu-neutral-12);--tsu-surface:var(--tsu-neutral-3);--tsu-surface-hover:var(--tsu-neutral-2);--tsu-color-pressed:var(--tsu-neutral-3);--tsu-color-pressed-accent:var(--tsu-accent-3);--tsu-color-muted:var(--tsu-neutral-alpha-7);--tsu-color-muted-subtle:var(--tsu-neutral-alpha-5);--tsu-info-1:var(--tsu-accent-1);--tsu-info-2:var(--tsu-accent-2);--tsu-info-3:var(--tsu-accent-3);--tsu-info-4:var(--tsu-accent-4);--tsu-info-5:var(--tsu-accent-5);--tsu-info-6:var(--tsu-accent-6);--tsu-info-7:var(--tsu-accent-7);--tsu-info-8:var(--tsu-accent-8);--tsu-info-9:var(--tsu-accent-9);--tsu-info-10:var(--tsu-accent-10);--tsu-info-11:var(--tsu-accent-11);--tsu-info-12:var(--tsu-accent-12);--tsu-danger-1:var(--red-1);--tsu-danger-2:var(--red-2);--tsu-danger-3:var(--red-3);--tsu-danger-4:var(--red-4);--tsu-danger-5:var(--red-5);--tsu-danger-6:var(--red-6);--tsu-danger-7:var(--red-7);--tsu-danger-8:var(--red-8);--tsu-danger-9:var(--red-9);--tsu-danger-10:var(--red-10);--tsu-danger-11:var(--red-11);--tsu-danger-12:var(--red-12);--tsu-success-1:var(--green-1);--tsu-success-2:var(--green-2);--tsu-success-3:var(--green-3);--tsu-success-4:var(--green-4);--tsu-success-5:var(--green-5);--tsu-success-6:var(--green-6);--tsu-success-7:var(--green-7);--tsu-success-8:var(--green-8);--tsu-success-9:var(--green-9);--tsu-success-10:var(--green-10);--tsu-success-11:var(--green-11);--tsu-success-12:var(--green-12);--tsu-warning-1:var(--amber-1);--tsu-warning-2:var(--amber-2);--tsu-warning-3:var(--amber-3);--tsu-warning-4:var(--amber-4);--tsu-warning-5:var(--amber-5);--tsu-warning-6:var(--amber-6);--tsu-warning-7:var(--amber-7);--tsu-warning-8:var(--amber-8);--tsu-warning-9:var(--amber-9);--tsu-warning-10:var(--amber-10);--tsu-warning-11:var(--amber-11);--tsu-warning-12:var(--amber-12);--tsu-neutral-alpha-1:var(--olive-a1);--tsu-neutral-alpha-2:var(--olive-a2);--tsu-neutral-alpha-3:var(--olive-a3);--tsu-neutral-alpha-4:var(--olive-a4);--tsu-neutral-alpha-5:var(--olive-a5);--tsu-neutral-alpha-6:var(--olive-a6);--tsu-neutral-alpha-7:var(--olive-a7);--tsu-neutral-alpha-8:var(--olive-a8);--tsu-neutral-alpha-9:var(--olive-a9);--tsu-neutral-alpha-10:var(--olive-a10);--tsu-neutral-alpha-11:var(--olive-a11);--tsu-neutral-alpha-12:var(--olive-a12);--tsu-disabled-bg:var(--tsu-neutral-3);--tsu-disabled-fg:var(--tsu-neutral-9);--tsu-disabled-border:var(--tsu-neutral-7);--tsu-focus-bg:var(--tsu-surface-hover);--tsu-focus-border:var(--tsu-accent-8);--ink:var(--tsu-fg);--muted:var(--tsu-neutral-11);--accent:var(--tsu-accent-9);--surface:var(--tsu-bg);--bg:var(--tsu-neutral-2);--border:var(--tsu-neutral-7);--danger:var(--tsu-danger-9)}:root.dark{--tsu-bg:var(--tsu-neutral-3);--tsu-fg:#fff;--tsu-surface:var(--tsu-neutral-4);--tsu-surface-hover:var(--tsu-neutral-5)}:root{--tsu-radius-round:9999px;--tsu-radius-l3-xs:14px;--tsu-radius-l2-xs:6px;--tsu-radius-l1-xs:2px;--tsu-radius-l3-sm:14px;--tsu-radius-l2-sm:6px;--tsu-radius-l1-sm:2px;--tsu-radius-l3-md:16px;--tsu-radius-l2-md:8px;--tsu-radius-l1-md:4px;--tsu-radius-l3-lg:18px;--tsu-radius-l2-lg:10px;--tsu-radius-l1-lg:6px;--tsu-radius-l3-xl:20px;--tsu-radius-l2-xl:12px;--tsu-radius-l1-xl:8px;--tsu-radius-l3-xxl:28px;--tsu-radius-l2-xxl:20px;--tsu-radius-l1-xxl:16px;--tsu-level-primary-xs:32px;--tsu-level-primary-sm:36px;--tsu-level-primary-md:40px;--tsu-level-primary-lg:44px;--tsu-level-primary-xl:48px;--tsu-level-primary-xxl:64px;--tsu-level-secondary-xs:16px;--tsu-level-secondary-sm:18px;--tsu-level-secondary-md:20px;--tsu-level-secondary-lg:22px;--tsu-level-secondary-xl:24px;--tsu-level-secondary-xxl:32px;--tsu-comp-height-xs:var(--tsu-level-primary-xs);--tsu-comp-height-sm:var(--tsu-level-primary-sm);--tsu-comp-height-md:var(--tsu-level-primary-md);--tsu-comp-height-lg:var(--tsu-level-primary-lg);--tsu-comp-height-xl:var(--tsu-level-primary-xl);--tsu-comp-height-xxl:var(--tsu-level-primary-xxl);--tsu-comp-font-size-xs:12px;--tsu-comp-font-size-sm:14px;--tsu-comp-font-size-md:14px;--tsu-comp-font-size-lg:16px;--tsu-comp-font-size-xl:18px;--tsu-comp-font-size-xxl:20px;--tsu-comp-line-height-xs:16px;--tsu-comp-line-height-sm:20px;--tsu-comp-line-height-md:20px;--tsu-comp-line-height-lg:24px;--tsu-comp-line-height-xl:28px;--tsu-comp-line-height-xxl:30px;--tsu-comp-padding-y-xs:7px;--tsu-comp-padding-y-sm:7px;--tsu-comp-padding-y-md:9px;--tsu-comp-padding-y-lg:9px;--tsu-comp-padding-y-xl:9px;--tsu-comp-padding-y-xxl:16px;--tsu-comp-padding-x-xs:8px;--tsu-comp-padding-x-sm:12px;--tsu-comp-padding-x-md:16px;--tsu-comp-padding-x-lg:20px;--tsu-comp-padding-x-xl:24px;--tsu-comp-padding-x-xxl:32px;--tsu-comp-secondary-height-xs:var(--tsu-level-secondary-xs);--tsu-comp-secondary-height-sm:var(--tsu-level-secondary-sm);--tsu-comp-secondary-height-md:var(--tsu-level-secondary-md);--tsu-comp-secondary-height-lg:var(--tsu-level-secondary-lg);--tsu-comp-secondary-height-xl:var(--tsu-level-secondary-xl);--tsu-comp-secondary-height-xxl:var(--tsu-level-secondary-xxl);--tsu-font-size-xs:10px;--tsu-font-size-sm:12px;--tsu-font-size-md:14px;--tsu-font-size-lg:16px;--tsu-font-size-xl:20px;--tsu-font-size-xxl:24px;--tsu-font-weight-regular:400;--tsu-font-weight-medium:500;--tsu-font-weight-semibold:600;--tsu-text-title-size:var(--tsu-font-size-lg);--tsu-text-title-weight:var(--tsu-font-weight-semibold);--tsu-text-title-line-height:24px;--tsu-text-body-size:var(--tsu-font-size-md);--tsu-text-body-weight:var(--tsu-font-weight-regular);--tsu-text-body-line-height:20px;--tsu-text-label-size:var(--tsu-font-size-md);--tsu-text-label-weight:var(--tsu-font-weight-medium);--tsu-text-label-line-height:20px;--tsu-text-caption-size:var(--tsu-font-size-sm);--tsu-text-caption-weight:var(--tsu-font-weight-regular);--tsu-text-caption-line-height:16px;--tsu-spacing-xxs:2px;--tsu-spacing-xs:4px;--tsu-spacing-sm:8px;--tsu-spacing-md:12px;--tsu-spacing-lg:16px;--tsu-spacing-xl:24px;--tsu-spacing-xxl:32px;--tsu-duration-fast:.15s;--tsu-duration-normal:.25s;--tsu-duration-overlay-enter:.35s;--tsu-duration-overlay-exit:.2s;--tsu-ease-standard:cubic-bezier(.2, 0, 0, 1);--tsu-ease-out:cubic-bezier(.32, .72, 0, 1);--tsu-ease-in:cubic-bezier(.4, 0, 1, 1);--tsu-transition-fast:var(--tsu-duration-fast) var(--tsu-ease-standard);--tsu-transition-normal:var(--tsu-duration-normal) var(--tsu-ease-standard);--tsu-transition-overlay-enter:var(--tsu-duration-overlay-enter) var(--tsu-ease-out);--tsu-transition-overlay-exit:var(--tsu-duration-overlay-exit) var(--tsu-ease-in);--tsu-transition-overlay:var(--tsu-transition-overlay-enter);--tsu-shadow-sm:0 1px 2px var(--tsu-neutral-alpha-6), 0 2px 4px var(--tsu-neutral-alpha-7);--tsu-shadow-md:0 1px 3px var(--tsu-neutral-alpha-6), 0 4px 16px var(--tsu-neutral-alpha-8);--tsu-shadow-lg:0 2px 6px var(--tsu-neutral-alpha-6), 0 12px 32px var(--tsu-neutral-alpha-10);--tsu-font-family:system-ui, -apple-system, sans-serif;--tsu-line-height:1.5;--tsu-container-padding-sm:12px;--tsu-container-padding-md:16px;--tsu-container-padding-lg:24px;--tsu-container-padding-xl:32px;--tsu-z-base:0;--tsu-z-dropdown:100;--tsu-z-modal:200;--tsu-z-toast:300}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}*{-webkit-tap-highlight-color:#0000;margin:0;padding:0}body{min-height:100vh;font-family:var(--tsu-font-family);font-size:var(--tsu-font-size-md);line-height:var(--tsu-line-height);color:var(--tsu-fg);background-color:var(--tsu-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-weight:var(--tsu-font-weight-semibold)}a{color:inherit;text-decoration:none}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:where(ul,ol){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(button){appearance:none;cursor:pointer;background:0 0;border:none}:where([hidden]){display:none}input[type=search]::-webkit-search-cancel-button{display:none}input[type=search]::-ms-clear{display:none}
1
+ :root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root{--tsu-accent-1:var(--indigo-1);--tsu-accent-2:var(--indigo-2);--tsu-accent-3:var(--indigo-3);--tsu-accent-4:var(--indigo-4);--tsu-accent-5:var(--indigo-5);--tsu-accent-6:var(--indigo-6);--tsu-accent-7:var(--indigo-7);--tsu-accent-8:var(--indigo-8);--tsu-accent-9:var(--indigo-9);--tsu-accent-10:var(--indigo-10);--tsu-accent-11:var(--indigo-11);--tsu-accent-12:var(--indigo-12);--tsu-neutral-1:var(--olive-1);--tsu-neutral-2:var(--olive-2);--tsu-neutral-3:var(--olive-3);--tsu-neutral-4:var(--olive-4);--tsu-neutral-5:var(--olive-5);--tsu-neutral-6:var(--olive-6);--tsu-neutral-7:var(--olive-7);--tsu-neutral-8:var(--olive-8);--tsu-neutral-9:var(--olive-9);--tsu-neutral-10:var(--olive-10);--tsu-neutral-11:var(--olive-11);--tsu-neutral-12:var(--olive-12)}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root{--tsu-bg:var(--tsu-neutral-1);--tsu-fg:var(--tsu-neutral-12);--tsu-surface:var(--tsu-neutral-2);--tsu-surface-raised:var(--tsu-neutral-3);--tsu-surface-raised-hover:var(--tsu-neutral-4);--tsu-color-pressed:var(--tsu-surface-raised);--tsu-color-pressed-accent:var(--tsu-accent-3);--tsu-color-muted:var(--tsu-neutral-alpha-7);--tsu-color-muted-subtle:var(--tsu-neutral-alpha-5);--tsu-info-1:var(--tsu-accent-1);--tsu-info-2:var(--tsu-accent-2);--tsu-info-3:var(--tsu-accent-3);--tsu-info-4:var(--tsu-accent-4);--tsu-info-5:var(--tsu-accent-5);--tsu-info-6:var(--tsu-accent-6);--tsu-info-7:var(--tsu-accent-7);--tsu-info-8:var(--tsu-accent-8);--tsu-info-9:var(--tsu-accent-9);--tsu-info-10:var(--tsu-accent-10);--tsu-info-11:var(--tsu-accent-11);--tsu-info-12:var(--tsu-accent-12);--tsu-danger-1:var(--red-1);--tsu-danger-2:var(--red-2);--tsu-danger-3:var(--red-3);--tsu-danger-4:var(--red-4);--tsu-danger-5:var(--red-5);--tsu-danger-6:var(--red-6);--tsu-danger-7:var(--red-7);--tsu-danger-8:var(--red-8);--tsu-danger-9:var(--red-9);--tsu-danger-10:var(--red-10);--tsu-danger-11:var(--red-11);--tsu-danger-12:var(--red-12);--tsu-success-1:var(--green-1);--tsu-success-2:var(--green-2);--tsu-success-3:var(--green-3);--tsu-success-4:var(--green-4);--tsu-success-5:var(--green-5);--tsu-success-6:var(--green-6);--tsu-success-7:var(--green-7);--tsu-success-8:var(--green-8);--tsu-success-9:var(--green-9);--tsu-success-10:var(--green-10);--tsu-success-11:var(--green-11);--tsu-success-12:var(--green-12);--tsu-warning-1:var(--amber-1);--tsu-warning-2:var(--amber-2);--tsu-warning-3:var(--amber-3);--tsu-warning-4:var(--amber-4);--tsu-warning-5:var(--amber-5);--tsu-warning-6:var(--amber-6);--tsu-warning-7:var(--amber-7);--tsu-warning-8:var(--amber-8);--tsu-warning-9:var(--amber-9);--tsu-warning-10:var(--amber-10);--tsu-warning-11:var(--amber-11);--tsu-warning-12:var(--amber-12);--tsu-neutral-alpha-1:var(--olive-a1);--tsu-neutral-alpha-2:var(--olive-a2);--tsu-neutral-alpha-3:var(--olive-a3);--tsu-neutral-alpha-4:var(--olive-a4);--tsu-neutral-alpha-5:var(--olive-a5);--tsu-neutral-alpha-6:var(--olive-a6);--tsu-neutral-alpha-7:var(--olive-a7);--tsu-neutral-alpha-8:var(--olive-a8);--tsu-neutral-alpha-9:var(--olive-a9);--tsu-neutral-alpha-10:var(--olive-a10);--tsu-neutral-alpha-11:var(--olive-a11);--tsu-neutral-alpha-12:var(--olive-a12);--tsu-disabled-bg:var(--tsu-surface-raised);--tsu-disabled-fg:var(--tsu-neutral-9);--tsu-disabled-border:var(--tsu-neutral-7);--tsu-focus-bg:var(--tsu-surface-raised-hover);--tsu-focus-border:var(--tsu-accent-8);--ink:var(--tsu-fg);--muted:var(--tsu-neutral-11);--accent:var(--tsu-accent-9);--surface:var(--tsu-bg);--bg:var(--tsu-neutral-2);--border:var(--tsu-neutral-7);--danger:var(--tsu-danger-9)}:root.dark{--tsu-fg:#fff}:root{--tsu-radius-round:9999px;--tsu-radius-l3-xs:14px;--tsu-radius-l2-xs:6px;--tsu-radius-l1-xs:2px;--tsu-radius-l3-sm:14px;--tsu-radius-l2-sm:6px;--tsu-radius-l1-sm:2px;--tsu-radius-l3-md:16px;--tsu-radius-l2-md:8px;--tsu-radius-l1-md:4px;--tsu-radius-l3-lg:18px;--tsu-radius-l2-lg:10px;--tsu-radius-l1-lg:6px;--tsu-radius-l3-xl:20px;--tsu-radius-l2-xl:12px;--tsu-radius-l1-xl:8px;--tsu-radius-l3-xxl:28px;--tsu-radius-l2-xxl:20px;--tsu-radius-l1-xxl:16px;--tsu-level-primary-xs:32px;--tsu-level-primary-sm:36px;--tsu-level-primary-md:40px;--tsu-level-primary-lg:44px;--tsu-level-primary-xl:48px;--tsu-level-primary-xxl:64px;--tsu-level-secondary-xs:16px;--tsu-level-secondary-sm:18px;--tsu-level-secondary-md:20px;--tsu-level-secondary-lg:22px;--tsu-level-secondary-xl:24px;--tsu-level-secondary-xxl:32px;--tsu-comp-height-xs:var(--tsu-level-primary-xs);--tsu-comp-height-sm:var(--tsu-level-primary-sm);--tsu-comp-height-md:var(--tsu-level-primary-md);--tsu-comp-height-lg:var(--tsu-level-primary-lg);--tsu-comp-height-xl:var(--tsu-level-primary-xl);--tsu-comp-height-xxl:var(--tsu-level-primary-xxl);--tsu-comp-font-size-xs:12px;--tsu-comp-font-size-sm:14px;--tsu-comp-font-size-md:14px;--tsu-comp-font-size-lg:16px;--tsu-comp-font-size-xl:18px;--tsu-comp-font-size-xxl:20px;--tsu-comp-line-height-xs:16px;--tsu-comp-line-height-sm:20px;--tsu-comp-line-height-md:20px;--tsu-comp-line-height-lg:24px;--tsu-comp-line-height-xl:28px;--tsu-comp-line-height-xxl:30px;--tsu-comp-padding-y-xs:7px;--tsu-comp-padding-y-sm:7px;--tsu-comp-padding-y-md:9px;--tsu-comp-padding-y-lg:9px;--tsu-comp-padding-y-xl:9px;--tsu-comp-padding-y-xxl:16px;--tsu-comp-padding-x-xs:8px;--tsu-comp-padding-x-sm:12px;--tsu-comp-padding-x-md:16px;--tsu-comp-padding-x-lg:20px;--tsu-comp-padding-x-xl:24px;--tsu-comp-padding-x-xxl:32px;--tsu-comp-secondary-height-xs:var(--tsu-level-secondary-xs);--tsu-comp-secondary-height-sm:var(--tsu-level-secondary-sm);--tsu-comp-secondary-height-md:var(--tsu-level-secondary-md);--tsu-comp-secondary-height-lg:var(--tsu-level-secondary-lg);--tsu-comp-secondary-height-xl:var(--tsu-level-secondary-xl);--tsu-comp-secondary-height-xxl:var(--tsu-level-secondary-xxl);--tsu-font-size-xs:10px;--tsu-font-size-sm:12px;--tsu-font-size-md:14px;--tsu-font-size-lg:16px;--tsu-font-size-xl:20px;--tsu-font-size-xxl:24px;--tsu-font-weight-regular:400;--tsu-font-weight-medium:500;--tsu-font-weight-semibold:600;--tsu-text-title-size:var(--tsu-font-size-lg);--tsu-text-title-weight:var(--tsu-font-weight-semibold);--tsu-text-title-line-height:24px;--tsu-text-body-size:var(--tsu-font-size-md);--tsu-text-body-weight:var(--tsu-font-weight-regular);--tsu-text-body-line-height:20px;--tsu-text-label-size:var(--tsu-font-size-md);--tsu-text-label-weight:var(--tsu-font-weight-medium);--tsu-text-label-line-height:20px;--tsu-text-caption-size:var(--tsu-font-size-sm);--tsu-text-caption-weight:var(--tsu-font-weight-regular);--tsu-text-caption-line-height:16px;--tsu-spacing-xxs:2px;--tsu-spacing-xs:4px;--tsu-spacing-sm:8px;--tsu-spacing-md:12px;--tsu-spacing-lg:16px;--tsu-spacing-xl:24px;--tsu-spacing-xxl:32px;--tsu-duration-fast:.15s;--tsu-duration-normal:.25s;--tsu-duration-overlay-enter:.35s;--tsu-duration-overlay-exit:.2s;--tsu-ease-standard:cubic-bezier(.2, 0, 0, 1);--tsu-ease-out:cubic-bezier(.32, .72, 0, 1);--tsu-ease-in:cubic-bezier(.4, 0, 1, 1);--tsu-transition-fast:var(--tsu-duration-fast) var(--tsu-ease-standard);--tsu-transition-normal:var(--tsu-duration-normal) var(--tsu-ease-standard);--tsu-transition-overlay-enter:var(--tsu-duration-overlay-enter) var(--tsu-ease-out);--tsu-transition-overlay-exit:var(--tsu-duration-overlay-exit) var(--tsu-ease-in);--tsu-transition-overlay:var(--tsu-transition-overlay-enter);--tsu-shadow-sm:0 1px 2px var(--tsu-neutral-alpha-6), 0 2px 4px var(--tsu-neutral-alpha-7);--tsu-shadow-md:0 1px 3px var(--tsu-neutral-alpha-6), 0 4px 16px var(--tsu-neutral-alpha-8);--tsu-shadow-lg:0 2px 6px var(--tsu-neutral-alpha-6), 0 12px 32px var(--tsu-neutral-alpha-10);--tsu-font-family:system-ui, -apple-system, sans-serif;--tsu-line-height:1.5;--tsu-container-padding-sm:12px;--tsu-container-padding-md:16px;--tsu-container-padding-lg:24px;--tsu-container-padding-xl:32px;--tsu-z-base:0;--tsu-z-dropdown:100;--tsu-z-modal:200;--tsu-z-toast:300}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}*{-webkit-tap-highlight-color:#0000;margin:0;padding:0}body{min-height:100vh;font-family:var(--tsu-font-family);font-size:var(--tsu-font-size-md);line-height:var(--tsu-line-height);color:var(--tsu-fg);background-color:var(--tsu-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-weight:var(--tsu-font-weight-semibold)}a{color:inherit;text-decoration:none}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:where(ul,ol){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(button){appearance:none;cursor:pointer;background:0 0;border:none}:where([hidden]){display:none}input[type=search]::-webkit-search-cancel-button{display:none}input[type=search]::-ms-clear{display:none}
package/docs/api.md CHANGED
@@ -328,8 +328,6 @@ Mobile-optimized bottom-sheet select (draggable sheet overlay).
328
328
  | `open` | `(() => boolean)` | — | **Required** controlled open state. |
329
329
  | `onOpenChange` | `(open) => void` | — | Open/close callback. |
330
330
  | `disabled` | `boolean` | `false` | Disabled. |
331
- | `clearable` | `boolean` | `false` | Show a clear trigger. |
332
- | `clearLabel` | `string` | — | Accessible label for the clear trigger. |
333
331
  | `filter` | `(item, query, itemToLabel) => boolean` | — | Custom filter for the search box. |
334
332
  | `placeholder` | `string` | — | Trigger placeholder. |
335
333
  | `backdropClassName` | `string` | — | Backdrop class. |
@@ -0,0 +1,35 @@
1
+ # Scroll-lock is not stacked
2
+
3
+ **Status:** Known issue
4
+ **Affects:** `Select.jsx:193`, `DateInput.jsx:293/303`
5
+
6
+ ## Problem
7
+
8
+ Overlay components set `document.body.style.overflow` directly:
9
+
10
+ ```js
11
+ // Select
12
+ document.body.style.overflow = v ? 'hidden' : ''
13
+
14
+ // DateInput
15
+ document.body.style.overflow = 'hidden' // on open
16
+ document.body.style.overflow = '' // on close
17
+ ```
18
+
19
+ When two overlays are open at once (e.g. a `Select` inside a `Dialog`), they
20
+ fight over the same flag. Closing either one resets `overflow`, unlocking the
21
+ page scroll while the other overlay is still open.
22
+
23
+ ## Fix
24
+
25
+ Extract a shared scroll-lock counter:
26
+
27
+ ```js
28
+ // scroll-lock.js
29
+ let count = 0
30
+ const lock = () => { count += 1; document.body.style.overflow = 'hidden' }
31
+ const unlock = () => { count = Math.max(0, count - 1); if (count === 0) document.body.style.overflow = '' }
32
+ ```
33
+
34
+ Use it in every overlay (`Select`, `DateInput`, …) instead of writing
35
+ `document.body.style.overflow` directly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plastic-js/tsumiki",
3
- "version": "0.1.34",
3
+ "version": "0.1.35",
4
4
  "description": "A UI component library for Plastic JS.",
5
5
  "license": "MIT",
6
6
  "author": "tigre",
@@ -58,14 +58,14 @@
58
58
  "popmotion": "^11.0.5"
59
59
  },
60
60
  "peerDependencies": {
61
- "@plastic-js/ark": "^1.0.16",
62
- "@plastic-js/plastic": "^1.0.22"
61
+ "@plastic-js/ark": "^1.0.17",
62
+ "@plastic-js/plastic": "^1.0.23"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@babel/core": "^7.29.7",
66
- "@plastic-js/ark": "^1.0.16",
66
+ "@plastic-js/ark": "^1.0.17",
67
67
  "@plastic-js/babel-preset-plastic": "^0.1.11",
68
- "@plastic-js/plastic": "^1.0.22",
68
+ "@plastic-js/plastic": "^1.0.23",
69
69
  "@radix-ui/colors": "^3.0.0",
70
70
  "@zag-js/combobox": "1.40.0",
71
71
  "puppeteer-core": "^25.1.0",
@@ -13,15 +13,21 @@
13
13
  @import '@radix-ui/colors/amber-dark-alpha.css';
14
14
 
15
15
  :root {
16
+ /* App background — Radix step 1 (the most recessive color in both modes) */
16
17
  --tsu-bg: var(--tsu-neutral-1);
17
18
  --tsu-fg: var(--tsu-neutral-12);
18
19
 
19
- /* Elevated surfaces (solid inputs, cards): one step off the page background */
20
- --tsu-surface: var(--tsu-neutral-3);
21
- --tsu-surface-hover: var(--tsu-neutral-2);
20
+ /* Surfaces (Radix semantic steps, consistent across light/dark the
21
+ neutral scale flips by mode):
22
+ step 2 = subtle surface (cards, sheets, panels, popovers)
23
+ step 3 = raised controls (solid inputs, toggles, chips)
24
+ step 4 = hover/focus of raised controls */
25
+ --tsu-surface: var(--tsu-neutral-2);
26
+ --tsu-surface-raised: var(--tsu-neutral-3);
27
+ --tsu-surface-raised-hover: var(--tsu-neutral-4);
22
28
 
23
29
  /* Pressed-state feedback (touch): rows/items vs. controls */
24
- --tsu-color-pressed: var(--tsu-neutral-3);
30
+ --tsu-color-pressed: var(--tsu-surface-raised);
25
31
  --tsu-color-pressed-accent: var(--tsu-accent-3);
26
32
 
27
33
  /* Muted / quiet gray — loading, empty, and secondary surfaces */
@@ -99,12 +105,12 @@
99
105
  --tsu-neutral-alpha-12: var(--olive-a12);
100
106
 
101
107
  /* Disabled State */
102
- --tsu-disabled-bg: var(--tsu-neutral-3);
108
+ --tsu-disabled-bg: var(--tsu-surface-raised);
103
109
  --tsu-disabled-fg: var(--tsu-neutral-9);
104
110
  --tsu-disabled-border: var(--tsu-neutral-7);
105
111
 
106
112
  /* Focus State */
107
- --tsu-focus-bg: var(--tsu-surface-hover);
113
+ --tsu-focus-bg: var(--tsu-surface-raised-hover);
108
114
  --tsu-focus-border: var(--tsu-accent-8);
109
115
 
110
116
  /* Legacy Aliases — map old variable names to new token system */
@@ -117,10 +123,8 @@
117
123
  --danger: var(--tsu-danger-9);
118
124
  }
119
125
 
120
- /* Dark mode: use a lighter page background */
126
+ /* Dark mode: the neutral scale flips automatically via the Radix dark import.
127
+ Keep the page at step 1 (like light mode); only force pure-white text. */
121
128
  :root.dark {
122
- --tsu-bg: var(--tsu-neutral-3);
123
129
  --tsu-fg: #ffffff;
124
- --tsu-surface: var(--tsu-neutral-4);
125
- --tsu-surface-hover: var(--tsu-neutral-5);
126
130
  }