@xenosystem/elements-react 0.0.1 → 0.0.3
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.
- package/LICENSE +18 -18
- package/README.md +41 -41
- package/package.json +58 -58
- package/src/chrome-separated.css +132 -132
- package/src/chrome-unified.css +72 -72
- package/src/containers/Badges.css +116 -116
- package/src/containers/avatar.css +70 -70
- package/src/containers/card.css +75 -75
- package/src/containers/chip.css +103 -103
- package/src/containers/list-row.css +132 -132
- package/src/containers/message-bubble.css +112 -112
- package/src/containers/panel.css +120 -120
- package/src/containers/table.css +102 -102
- package/src/containers/tile.css +17 -17
- package/src/content/callout.css +77 -77
- package/src/content/caret.css +30 -30
- package/src/content/code-block.css +159 -159
- package/src/content/collapsible.css +80 -80
- package/src/content/inline-code.css +14 -14
- package/src/content/model-picker.css +219 -219
- package/src/content/source-card.css +99 -99
- package/src/content/sources-disclosure.css +118 -118
- package/src/controls.css +453 -453
- package/src/fonts.css +34 -34
- package/src/forms/Checkbox.css +114 -114
- package/src/forms/RadioGroup.css +115 -115
- package/src/goo.css +97 -97
- package/src/icon-motion.css +1909 -1909
- package/src/layout/ResizablePanel.css +79 -79
- package/src/nav/sidebar.css +296 -296
- package/src/overlays/date-time-picker.css +238 -238
- package/src/overlays/menu.css +195 -195
- package/src/overlays/modal.css +167 -167
- package/src/overlays/picker-field.css +81 -81
- package/src/overlays/pill-filter.css +129 -129
- package/src/overlays/reveal.css +56 -56
- package/src/overlays/segmented-control.css +185 -185
- package/src/overlays/tabs.css +143 -143
- package/src/overlays/tooltip.css +126 -126
- package/src/scrollbar.css +184 -184
- package/src/size.css +179 -179
- package/src/status/progress-bar.css +88 -88
- package/src/status/spinner.css +33 -33
- package/src/status/statusindicator.css +65 -65
- package/src/status/steptimeline.css +137 -137
- package/src/status/thinkingcube.css +75 -75
- package/src/xeno-element.css +60 -60
- package/src/xeno-elements.css +71 -71
- package/src/xeno-theme.css +99 -99
package/src/xeno-elements.css
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* `@xenosystem/elements-react/xeno-elements.css` — the one-import stylesheet.
|
|
3
|
-
*
|
|
4
|
-
* Pulls in the theme tokens, the element renderer styles, the Tier-1 control styles, and every
|
|
5
|
-
* Tier-2 element stylesheet. Import this once and scope your tree with a `.xeno` element:
|
|
6
|
-
*
|
|
7
|
-
* import '@xenosystem/elements-react/xeno-elements.css'
|
|
8
|
-
*
|
|
9
|
-
* Tokens must come first so every rule below can read the CSS custom properties.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/* Foundation: tokens, then the renderer + controls. */
|
|
13
|
-
@import './xeno-theme.css';
|
|
14
|
-
/* The chrome axis — one file per construction, one owner each. See either file's header. */
|
|
15
|
-
@import './chrome-separated.css';
|
|
16
|
-
@import './chrome-unified.css';
|
|
17
|
-
@import './size.css';
|
|
18
|
-
@import './xeno-element.css';
|
|
19
|
-
@import './scrollbar.css';
|
|
20
|
-
@import './icon-motion.css';
|
|
21
|
-
@import './goo.css';
|
|
22
|
-
@import './controls.css';
|
|
23
|
-
|
|
24
|
-
/* Containers */
|
|
25
|
-
@import './containers/card.css';
|
|
26
|
-
@import './containers/panel.css';
|
|
27
|
-
@import './containers/chip.css';
|
|
28
|
-
@import './containers/tile.css';
|
|
29
|
-
@import './containers/message-bubble.css';
|
|
30
|
-
@import './containers/Badges.css';
|
|
31
|
-
@import './containers/avatar.css';
|
|
32
|
-
@import './containers/list-row.css';
|
|
33
|
-
@import './containers/table.css';
|
|
34
|
-
|
|
35
|
-
/* Overlays (Popover shares menu.css) */
|
|
36
|
-
@import './overlays/menu.css';
|
|
37
|
-
@import './overlays/modal.css';
|
|
38
|
-
@import './overlays/tabs.css';
|
|
39
|
-
@import './overlays/segmented-control.css';
|
|
40
|
-
@import './overlays/pill-filter.css';
|
|
41
|
-
@import './overlays/tooltip.css';
|
|
42
|
-
@import './overlays/date-time-picker.css';
|
|
43
|
-
@import './overlays/reveal.css';
|
|
44
|
-
@import './overlays/picker-field.css';
|
|
45
|
-
|
|
46
|
-
/* Forms */
|
|
47
|
-
@import './forms/Checkbox.css';
|
|
48
|
-
@import './forms/RadioGroup.css';
|
|
49
|
-
|
|
50
|
-
/* Content */
|
|
51
|
-
@import './content/code-block.css';
|
|
52
|
-
@import './content/source-card.css';
|
|
53
|
-
@import './content/sources-disclosure.css';
|
|
54
|
-
@import './content/model-picker.css';
|
|
55
|
-
@import './content/inline-code.css';
|
|
56
|
-
@import './content/callout.css';
|
|
57
|
-
@import './content/collapsible.css';
|
|
58
|
-
@import './content/caret.css';
|
|
59
|
-
|
|
60
|
-
/* Nav */
|
|
61
|
-
@import './nav/sidebar.css';
|
|
62
|
-
|
|
63
|
-
/* Layout */
|
|
64
|
-
@import './layout/ResizablePanel.css';
|
|
65
|
-
|
|
66
|
-
/* Status */
|
|
67
|
-
@import './status/thinkingcube.css';
|
|
68
|
-
@import './status/spinner.css';
|
|
69
|
-
@import './status/progress-bar.css';
|
|
70
|
-
@import './status/steptimeline.css';
|
|
71
|
-
@import './status/statusindicator.css';
|
|
1
|
+
/*
|
|
2
|
+
* `@xenosystem/elements-react/xeno-elements.css` — the one-import stylesheet.
|
|
3
|
+
*
|
|
4
|
+
* Pulls in the theme tokens, the element renderer styles, the Tier-1 control styles, and every
|
|
5
|
+
* Tier-2 element stylesheet. Import this once and scope your tree with a `.xeno` element:
|
|
6
|
+
*
|
|
7
|
+
* import '@xenosystem/elements-react/xeno-elements.css'
|
|
8
|
+
*
|
|
9
|
+
* Tokens must come first so every rule below can read the CSS custom properties.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/* Foundation: tokens, then the renderer + controls. */
|
|
13
|
+
@import './xeno-theme.css';
|
|
14
|
+
/* The chrome axis — one file per construction, one owner each. See either file's header. */
|
|
15
|
+
@import './chrome-separated.css';
|
|
16
|
+
@import './chrome-unified.css';
|
|
17
|
+
@import './size.css';
|
|
18
|
+
@import './xeno-element.css';
|
|
19
|
+
@import './scrollbar.css';
|
|
20
|
+
@import './icon-motion.css';
|
|
21
|
+
@import './goo.css';
|
|
22
|
+
@import './controls.css';
|
|
23
|
+
|
|
24
|
+
/* Containers */
|
|
25
|
+
@import './containers/card.css';
|
|
26
|
+
@import './containers/panel.css';
|
|
27
|
+
@import './containers/chip.css';
|
|
28
|
+
@import './containers/tile.css';
|
|
29
|
+
@import './containers/message-bubble.css';
|
|
30
|
+
@import './containers/Badges.css';
|
|
31
|
+
@import './containers/avatar.css';
|
|
32
|
+
@import './containers/list-row.css';
|
|
33
|
+
@import './containers/table.css';
|
|
34
|
+
|
|
35
|
+
/* Overlays (Popover shares menu.css) */
|
|
36
|
+
@import './overlays/menu.css';
|
|
37
|
+
@import './overlays/modal.css';
|
|
38
|
+
@import './overlays/tabs.css';
|
|
39
|
+
@import './overlays/segmented-control.css';
|
|
40
|
+
@import './overlays/pill-filter.css';
|
|
41
|
+
@import './overlays/tooltip.css';
|
|
42
|
+
@import './overlays/date-time-picker.css';
|
|
43
|
+
@import './overlays/reveal.css';
|
|
44
|
+
@import './overlays/picker-field.css';
|
|
45
|
+
|
|
46
|
+
/* Forms */
|
|
47
|
+
@import './forms/Checkbox.css';
|
|
48
|
+
@import './forms/RadioGroup.css';
|
|
49
|
+
|
|
50
|
+
/* Content */
|
|
51
|
+
@import './content/code-block.css';
|
|
52
|
+
@import './content/source-card.css';
|
|
53
|
+
@import './content/sources-disclosure.css';
|
|
54
|
+
@import './content/model-picker.css';
|
|
55
|
+
@import './content/inline-code.css';
|
|
56
|
+
@import './content/callout.css';
|
|
57
|
+
@import './content/collapsible.css';
|
|
58
|
+
@import './content/caret.css';
|
|
59
|
+
|
|
60
|
+
/* Nav */
|
|
61
|
+
@import './nav/sidebar.css';
|
|
62
|
+
|
|
63
|
+
/* Layout */
|
|
64
|
+
@import './layout/ResizablePanel.css';
|
|
65
|
+
|
|
66
|
+
/* Status */
|
|
67
|
+
@import './status/thinkingcube.css';
|
|
68
|
+
@import './status/spinner.css';
|
|
69
|
+
@import './status/progress-bar.css';
|
|
70
|
+
@import './status/steptimeline.css';
|
|
71
|
+
@import './status/statusindicator.css';
|
package/src/xeno-theme.css
CHANGED
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* XENO theme — the design tokens as CSS custom properties. Scope with a `.xeno` element (or copy the
|
|
3
|
-
* vars onto :root). Monochrome SHELL: every role below is greyscale; only `--xeno-danger` carries hue.
|
|
4
|
-
* Values mirror @xenosystem/elements/tokens (guarded by theme.test.ts). Dark is the default; light is a
|
|
5
|
-
* PROPOSED companion (the design-system locks dark; the chat lab supplies the light ground). Dim: TODO.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
.xeno {
|
|
9
|
-
/* radius scale — rounded squares, never circles */
|
|
10
|
-
--xeno-radius-hair: 1.5px;
|
|
11
|
-
--xeno-radius-xs: 3px;
|
|
12
|
-
--xeno-radius-sm: 5px;
|
|
13
|
-
--xeno-radius-md: 6px;
|
|
14
|
-
--xeno-radius-control: 8px;
|
|
15
|
-
--xeno-radius-card: 12px;
|
|
16
|
-
|
|
17
|
-
/* colour roles — dark (DESIGN_SYSTEM §2) */
|
|
18
|
-
--xeno-canvas: #08080a;
|
|
19
|
-
/* §2 Layer 1 "Canvas/viewport" — the body plate of any chrome stack.
|
|
20
|
-
⚠️ NAMING TRAP: `--xeno-canvas` above is `surface.page`, NOT `surface.canvas`. The token named
|
|
21
|
-
`canvas` is THIS one. Renaming would touch every component, so it is recorded, not deepened. */
|
|
22
|
-
--xeno-viewport: #111111;
|
|
23
|
-
--xeno-surface: #161618;
|
|
24
|
-
/* §2 Layer 3 "Panel header". The token (`surface.panelHeader`) already existed; this block simply
|
|
25
|
-
had not exposed it, which is why the panel had no second surface to separate its heading onto. */
|
|
26
|
-
--xeno-panel-header: #1a1a1a;
|
|
27
|
-
--xeno-elevated: #111115;
|
|
28
|
-
--xeno-control: #2b2b2b;
|
|
29
|
-
--xeno-border: rgba(255, 255, 255, 0.1);
|
|
30
|
-
/* Half-weight hairline. `Plate` frames its shell at white/[0.05]; `--xeno-border` (0.1) is twice
|
|
31
|
-
that and reads as a drawn line rather than an edge. The playbook calls it `border-subtle`. */
|
|
32
|
-
--xeno-border-subtle: rgba(255, 255, 255, 0.05);
|
|
33
|
-
--xeno-hover: rgba(169, 169, 177, 0.08);
|
|
34
|
-
--xeno-text: #d8d8de;
|
|
35
|
-
--xeno-muted: #7f7f86;
|
|
36
|
-
--xeno-active: #acacb4;
|
|
37
|
-
--xeno-danger: #ef4444;
|
|
38
|
-
--xeno-danger-hover: #dc2626;
|
|
39
|
-
--xeno-on-accent: #08080a;
|
|
40
|
-
|
|
41
|
-
/* scrollbar — its own alphas on purpose. A thumb sitting on any surface in the set has to be legible
|
|
42
|
-
without being furniture, and neither `--xeno-border` (too faint to grab) nor `--xeno-muted` (too
|
|
43
|
-
loud) is that value. Nothing is painted at rest; `-hover` is the bar in the region, `-active` is
|
|
44
|
-
the bar under the pointer. The pads set the widths: 5px of border on a 12px gutter leaves a 2px
|
|
45
|
-
rail, 3px leaves a 6px thumb, 2px leaves the 8px it grows to. */
|
|
46
|
-
--xeno-scroll-size: 12px;
|
|
47
|
-
--xeno-scroll-pad: 3px;
|
|
48
|
-
--xeno-scroll-pad-hover: 2px;
|
|
49
|
-
--xeno-scroll-rail-pad: 5px;
|
|
50
|
-
--xeno-scroll-rail: rgba(255, 255, 255, 0.07);
|
|
51
|
-
--xeno-scroll-thumb: rgba(255, 255, 255, 0.16);
|
|
52
|
-
--xeno-scroll-thumb-hover: rgba(255, 255, 255, 0.28);
|
|
53
|
-
--xeno-scroll-thumb-active: rgba(255, 255, 255, 0.42);
|
|
54
|
-
|
|
55
|
-
/* motion — easing families (E1 base + E2–E5 from the chat lab) */
|
|
56
|
-
--xeno-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
|
57
|
-
--xeno-ease-stagger: cubic-bezier(0.22, 0.7, 0.2, 1);
|
|
58
|
-
--xeno-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
|
|
59
|
-
--xeno-ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
|
|
60
|
-
--xeno-ease-overshoot: cubic-bezier(0.34, 1.4, 0.5, 1);
|
|
61
|
-
/* duration ladder + per-item stagger */
|
|
62
|
-
--xeno-dur: 140ms;
|
|
63
|
-
--xeno-dur-fast: 120ms;
|
|
64
|
-
--xeno-dur-entrance: 240ms;
|
|
65
|
-
--xeno-dur-modal: 420ms;
|
|
66
|
-
--xeno-stagger: 40ms;
|
|
67
|
-
|
|
68
|
-
color: var(--xeno-text);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
/* Light — PROPOSED (chat lab ground). Same monochrome roles, inverted values. */
|
|
73
|
-
.xeno[data-theme='light'] {
|
|
74
|
-
--xeno-canvas: #faf9f7;
|
|
75
|
-
--xeno-surface: #ffffff;
|
|
76
|
-
--xeno-elevated: #ffffff;
|
|
77
|
-
--xeno-control: #f0efec;
|
|
78
|
-
/* PROPOSED, like the rest of this block. Dark puts the heading one step LIGHTER than the body
|
|
79
|
-
(#1a1a1a over #161618); light mirrors that by going one step darker than a white body. It reuses
|
|
80
|
-
the existing control value rather than inventing a hue — but it must not equal `--xeno-canvas`,
|
|
81
|
-
or the 4px gap stops reading against the page and the separated architecture disappears. A real
|
|
82
|
-
light ramp is the design system's call, not this file's. */
|
|
83
|
-
--xeno-panel-header: #f0efec;
|
|
84
|
-
/* PROPOSED. Reuses this block's white rather than minting a fourth light value; the only
|
|
85
|
-
requirement is that shell / plate / body stay mutually distinguishable, or the gaps stop reading
|
|
86
|
-
and the separated construction collapses. */
|
|
87
|
-
--xeno-viewport: #ffffff;
|
|
88
|
-
--xeno-border: rgba(0, 0, 0, 0.12);
|
|
89
|
-
--xeno-border-subtle: rgba(0, 0, 0, 0.06);
|
|
90
|
-
--xeno-hover: rgba(0, 0, 0, 0.05);
|
|
91
|
-
--xeno-text: #1a1815;
|
|
92
|
-
--xeno-muted: #6f6b64;
|
|
93
|
-
--xeno-active: #3a3833;
|
|
94
|
-
--xeno-on-accent: #faf9f7;
|
|
95
|
-
--xeno-scroll-rail: rgba(0, 0, 0, 0.08);
|
|
96
|
-
--xeno-scroll-thumb: rgba(0, 0, 0, 0.18);
|
|
97
|
-
--xeno-scroll-thumb-hover: rgba(0, 0, 0, 0.32);
|
|
98
|
-
--xeno-scroll-thumb-active: rgba(0, 0, 0, 0.46);
|
|
99
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* XENO theme — the design tokens as CSS custom properties. Scope with a `.xeno` element (or copy the
|
|
3
|
+
* vars onto :root). Monochrome SHELL: every role below is greyscale; only `--xeno-danger` carries hue.
|
|
4
|
+
* Values mirror @xenosystem/elements/tokens (guarded by theme.test.ts). Dark is the default; light is a
|
|
5
|
+
* PROPOSED companion (the design-system locks dark; the chat lab supplies the light ground). Dim: TODO.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
.xeno {
|
|
9
|
+
/* radius scale — rounded squares, never circles */
|
|
10
|
+
--xeno-radius-hair: 1.5px;
|
|
11
|
+
--xeno-radius-xs: 3px;
|
|
12
|
+
--xeno-radius-sm: 5px;
|
|
13
|
+
--xeno-radius-md: 6px;
|
|
14
|
+
--xeno-radius-control: 8px;
|
|
15
|
+
--xeno-radius-card: 12px;
|
|
16
|
+
|
|
17
|
+
/* colour roles — dark (DESIGN_SYSTEM §2) */
|
|
18
|
+
--xeno-canvas: #08080a;
|
|
19
|
+
/* §2 Layer 1 "Canvas/viewport" — the body plate of any chrome stack.
|
|
20
|
+
⚠️ NAMING TRAP: `--xeno-canvas` above is `surface.page`, NOT `surface.canvas`. The token named
|
|
21
|
+
`canvas` is THIS one. Renaming would touch every component, so it is recorded, not deepened. */
|
|
22
|
+
--xeno-viewport: #111111;
|
|
23
|
+
--xeno-surface: #161618;
|
|
24
|
+
/* §2 Layer 3 "Panel header". The token (`surface.panelHeader`) already existed; this block simply
|
|
25
|
+
had not exposed it, which is why the panel had no second surface to separate its heading onto. */
|
|
26
|
+
--xeno-panel-header: #1a1a1a;
|
|
27
|
+
--xeno-elevated: #111115;
|
|
28
|
+
--xeno-control: #2b2b2b;
|
|
29
|
+
--xeno-border: rgba(255, 255, 255, 0.1);
|
|
30
|
+
/* Half-weight hairline. `Plate` frames its shell at white/[0.05]; `--xeno-border` (0.1) is twice
|
|
31
|
+
that and reads as a drawn line rather than an edge. The playbook calls it `border-subtle`. */
|
|
32
|
+
--xeno-border-subtle: rgba(255, 255, 255, 0.05);
|
|
33
|
+
--xeno-hover: rgba(169, 169, 177, 0.08);
|
|
34
|
+
--xeno-text: #d8d8de;
|
|
35
|
+
--xeno-muted: #7f7f86;
|
|
36
|
+
--xeno-active: #acacb4;
|
|
37
|
+
--xeno-danger: #ef4444;
|
|
38
|
+
--xeno-danger-hover: #dc2626;
|
|
39
|
+
--xeno-on-accent: #08080a;
|
|
40
|
+
|
|
41
|
+
/* scrollbar — its own alphas on purpose. A thumb sitting on any surface in the set has to be legible
|
|
42
|
+
without being furniture, and neither `--xeno-border` (too faint to grab) nor `--xeno-muted` (too
|
|
43
|
+
loud) is that value. Nothing is painted at rest; `-hover` is the bar in the region, `-active` is
|
|
44
|
+
the bar under the pointer. The pads set the widths: 5px of border on a 12px gutter leaves a 2px
|
|
45
|
+
rail, 3px leaves a 6px thumb, 2px leaves the 8px it grows to. */
|
|
46
|
+
--xeno-scroll-size: 12px;
|
|
47
|
+
--xeno-scroll-pad: 3px;
|
|
48
|
+
--xeno-scroll-pad-hover: 2px;
|
|
49
|
+
--xeno-scroll-rail-pad: 5px;
|
|
50
|
+
--xeno-scroll-rail: rgba(255, 255, 255, 0.07);
|
|
51
|
+
--xeno-scroll-thumb: rgba(255, 255, 255, 0.16);
|
|
52
|
+
--xeno-scroll-thumb-hover: rgba(255, 255, 255, 0.28);
|
|
53
|
+
--xeno-scroll-thumb-active: rgba(255, 255, 255, 0.42);
|
|
54
|
+
|
|
55
|
+
/* motion — easing families (E1 base + E2–E5 from the chat lab) */
|
|
56
|
+
--xeno-ease: cubic-bezier(0.22, 1, 0.36, 1);
|
|
57
|
+
--xeno-ease-stagger: cubic-bezier(0.22, 0.7, 0.2, 1);
|
|
58
|
+
--xeno-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
|
|
59
|
+
--xeno-ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
|
|
60
|
+
--xeno-ease-overshoot: cubic-bezier(0.34, 1.4, 0.5, 1);
|
|
61
|
+
/* duration ladder + per-item stagger */
|
|
62
|
+
--xeno-dur: 140ms;
|
|
63
|
+
--xeno-dur-fast: 120ms;
|
|
64
|
+
--xeno-dur-entrance: 240ms;
|
|
65
|
+
--xeno-dur-modal: 420ms;
|
|
66
|
+
--xeno-stagger: 40ms;
|
|
67
|
+
|
|
68
|
+
color: var(--xeno-text);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/* Light — PROPOSED (chat lab ground). Same monochrome roles, inverted values. */
|
|
73
|
+
.xeno[data-theme='light'] {
|
|
74
|
+
--xeno-canvas: #faf9f7;
|
|
75
|
+
--xeno-surface: #ffffff;
|
|
76
|
+
--xeno-elevated: #ffffff;
|
|
77
|
+
--xeno-control: #f0efec;
|
|
78
|
+
/* PROPOSED, like the rest of this block. Dark puts the heading one step LIGHTER than the body
|
|
79
|
+
(#1a1a1a over #161618); light mirrors that by going one step darker than a white body. It reuses
|
|
80
|
+
the existing control value rather than inventing a hue — but it must not equal `--xeno-canvas`,
|
|
81
|
+
or the 4px gap stops reading against the page and the separated architecture disappears. A real
|
|
82
|
+
light ramp is the design system's call, not this file's. */
|
|
83
|
+
--xeno-panel-header: #f0efec;
|
|
84
|
+
/* PROPOSED. Reuses this block's white rather than minting a fourth light value; the only
|
|
85
|
+
requirement is that shell / plate / body stay mutually distinguishable, or the gaps stop reading
|
|
86
|
+
and the separated construction collapses. */
|
|
87
|
+
--xeno-viewport: #ffffff;
|
|
88
|
+
--xeno-border: rgba(0, 0, 0, 0.12);
|
|
89
|
+
--xeno-border-subtle: rgba(0, 0, 0, 0.06);
|
|
90
|
+
--xeno-hover: rgba(0, 0, 0, 0.05);
|
|
91
|
+
--xeno-text: #1a1815;
|
|
92
|
+
--xeno-muted: #6f6b64;
|
|
93
|
+
--xeno-active: #3a3833;
|
|
94
|
+
--xeno-on-accent: #faf9f7;
|
|
95
|
+
--xeno-scroll-rail: rgba(0, 0, 0, 0.08);
|
|
96
|
+
--xeno-scroll-thumb: rgba(0, 0, 0, 0.18);
|
|
97
|
+
--xeno-scroll-thumb-hover: rgba(0, 0, 0, 0.32);
|
|
98
|
+
--xeno-scroll-thumb-active: rgba(0, 0, 0, 0.46);
|
|
99
|
+
}
|