@enderfall/ui 0.1.16 → 0.2.0

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@enderfall/ui",
3
3
  "private": false,
4
- "version": "0.1.16",
4
+ "version": "0.2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
package/src/theme.css CHANGED
@@ -1,443 +1,13 @@
1
- :root {
2
- color-scheme: dark;
3
- --ef-surface: #0b0c1a;
4
- --ef-surface-soft: rgba(10, 13, 22, 0.78);
5
- --ef-control-radius: 12px;
6
- --ef-border-gradient: linear-gradient(135deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
7
- --ef-border-gradient-reverse: linear-gradient(315deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
8
- --ef-border-gradient-soft: linear-gradient(
9
- 135deg,
10
- rgba(0, 229, 255, 0.6),
11
- rgba(124, 77, 255, 0.6),
12
- rgba(255, 77, 210, 0.6),
13
- rgba(255, 183, 77, 0.6)
14
- );
15
- --ef-button-surface: var(--ef-surface);
16
- --ef-button-border: var(--ef-border-gradient);
17
- --ef-button-border-soft: var(--ef-border-gradient-soft);
18
- --ef-button-text: var(--text-strong);
19
- --ef-button-glow-shadow: 0 0 24px rgba(124, 77, 255, 0.45);
20
- --ef-button-locked-bg: rgba(15, 18, 28, 0.7);
21
- --ef-button-locked-border: rgba(255, 255, 255, 0.15);
22
- --ef-button-locked-text: rgba(255, 255, 255, 0.7);
23
- --ef-button-danger-border: linear-gradient(135deg, rgba(255, 92, 92, 0.8), rgba(255, 170, 170, 0.7));
24
- --ef-button-danger-text: #ffd6d6;
25
- --ef-button-warning-border: linear-gradient(135deg, rgba(255, 183, 77, 0.85), rgba(255, 221, 128, 0.7));
26
- --ef-button-warning-text: #2b1a00;
27
- --ef-button-info-border: linear-gradient(135deg, rgba(0, 229, 255, 0.7), rgba(124, 220, 255, 0.7));
28
- --ef-button-info-text: #021823;
29
- --ef-button-success-border: linear-gradient(135deg, rgba(76, 255, 200, 0.7), rgba(140, 255, 220, 0.7));
30
- --ef-button-success-text: #041a10;
31
- --ef-nav-text: rgba(238, 241, 246, 0.75);
32
- --ef-nav-text-hover: #eef1f6;
33
- --ef-nav-text-active: #f6f5ff;
34
- --ef-nav-surface: rgba(15, 18, 28, 0.7);
35
- --ef-nav-border: linear-gradient(135deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
36
- --ef-nav-shadow: none;
37
- --ef-nav-shadow-hover: 0 0 18px rgba(124, 77, 255, 0.35);
38
- --ef-nav-shadow-focus: 0 0 20px rgba(124, 77, 255, 0.45);
39
- --ef-nav-shadow-active: 0 0 24px rgba(124, 77, 255, 0.6);
40
- --ef-nav-radius: 8px;
41
- --ef-nav-padding-y: 8px;
42
- --ef-nav-padding-x: 18px;
43
- --ef-nav-letter-spacing: 0.08em;
44
- --ef-nav-transform-hover: translateY(-1px);
45
- --ef-menu-item-shadow: 0 0 16px rgba(124, 77, 255, 0.25);
46
- --ef-menu-item-shadow-hover: 0 0 18px rgba(124, 77, 255, 0.35);
47
- --ef-tabs-surface: #0b0c1a;
48
- --ef-tabs-border: linear-gradient(135deg, rgba(0, 229, 255, 0.5), rgba(124, 77, 255, 0.5), rgba(255, 77, 210, 0.5));
49
- --ef-tabs-content-surface: #0b0c1a;
50
- --ef-tabs-content-border: linear-gradient(135deg, rgba(0, 229, 255, 0.35), rgba(124, 77, 255, 0.35), rgba(255, 77, 210, 0.35));
51
- --ef-tabs-indicator: linear-gradient(180deg, #00e5ff, #7c4dff, #ff4dd2);
52
- --ef-slider-surface: var(--ef-surface);
53
- --ef-slider-border-color: var(--line-strong);
54
- --ef-slider-track-radius: 6px;
55
- --ef-slider-thumb-radius: 6px;
56
- --ef-slider-thumb-clip: inset(0);
57
- --ef-slider-thumb-mask: none;
58
- --ef-toggle-track-radius: 6px;
59
- --ef-toggle-thumb-radius: 6px;
60
- --ef-toggle-box-radius: 6px;
61
- --ef-toggle-check-radius: 2px;
62
- --ef-toggle-check-bg: var(--ef-slider-border-color);
63
- --ef-field-label: rgba(255, 255, 255, 0.7);
64
- --ef-field-required: rgba(255, 183, 77, 0.95);
65
- --ef-field-helper: rgba(255, 255, 255, 0.6);
66
- --ef-field-error: #ff8a8a;
67
- --ef-input-surface: #0b0c1a;
68
- --ef-input-border: var(--ef-border-gradient);
69
- --ef-input-text: #eef1f6;
70
- --ef-input-placeholder: rgba(246, 245, 255, 0.45);
71
- --ef-input-focus: rgba(124, 77, 255, 0.55);
72
- --ef-input-shadow: 0 0 0 2px rgba(124, 77, 255, 0.2);
73
- --ef-stacked-card-bg: rgba(10, 12, 22, 0.92);
74
- --ef-stacked-card-shadow: 0 14px 35px rgba(10, 12, 24, 0.6);
75
- --ef-stacked-card-shadow-hover: 0 20px 45px rgba(10, 12, 24, 0.7);
76
- --ef-stacked-frame-shadow: 0 18px 40px rgba(10, 12, 24, 0.55);
77
- --ef-stacked-tag-bg: rgba(15, 18, 28, 0.7);
78
- --ef-stacked-tag-text: rgba(238, 241, 246, 0.75);
79
- --ef-stacked-body-muted: rgba(255, 255, 255, 0.7);
80
- --ef-stacked-action-shadow: 0 0 24px rgba(124, 77, 255, 0.45);
81
- --ef-stacked-image-gradient: linear-gradient(
82
- 135deg,
83
- rgba(0, 229, 255, 0.35),
84
- rgba(124, 77, 255, 0.35),
85
- rgba(255, 77, 210, 0.25)
86
- );
87
- --text-strong: #f6f5ff;
88
- --text-soft: rgba(238, 241, 246, 0.75);
89
- --text-muted: rgba(247, 248, 251, 0.6);
90
- --card: rgba(10, 13, 22, 0.78);
91
- --card-border: rgba(124, 77, 255, 0.4);
92
- --accent: #7c4dff;
93
- --accent-bright: #00e5ff;
94
- --accent-warm: #ff4dd2;
95
- --accent-gold: #ffb74d;
96
- --shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
97
- --font-main: "Inter", "Segoe UI", Arial, sans-serif;
98
- --text: var(--text-strong);
99
- --muted: var(--text-muted);
100
- --line: var(--card-border);
101
- --bg: #0b0f15;
102
- --bg-soft: #141b26;
103
- --accent-dark: #5e35ff;
104
- --accent-alt: var(--accent-gold);
105
- --accent-soft: rgba(255, 183, 77, 0.18);
106
- --danger: #e06c6c;
107
- --radius: 18px;
108
- --row-odd: rgba(10, 13, 22, 0.9);
109
- --scrollbar-track: rgba(255, 255, 255, 0.12);
110
- --bg-glow: rgba(124, 77, 255, 0.18);
111
- --panel: var(--card);
112
- --panel-2: rgba(12, 16, 26, 0.9);
113
- --ink: var(--text-strong);
114
- --line-strong: var(--accent);
115
- --accent-2: var(--accent-gold);
116
- --frame-bg: linear-gradient(180deg, #0b0c1a 0%, #0a0d16 100%);
117
- --bio-bg: linear-gradient(180deg, #0e101c, #0b0f15 85%);
118
- --section-bg: linear-gradient(180deg, rgba(15, 18, 28, 0.92), rgba(12, 16, 24, 0.95));
119
- --note-bg: rgba(10, 13, 22, 0.6);
120
- --portrait-bg: #0c1322;
121
- --chip-bg: rgba(12, 16, 26, 0.8);
122
- --placeholder-bg:
123
- linear-gradient(135deg, rgba(28, 38, 64, 0.9), rgba(12, 18, 32, 0.95)),
124
- repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 8px);
125
- --placeholder-ink: #dde6f2;
126
- --menu-card: var(--card);
127
- --menu-line: var(--card-border);
128
- --menu-shadow: var(--shadow);
129
- --menu-bg-soft: rgba(124, 77, 255, 0.12);
130
- --menu-radius: 18px;
131
- --menu-muted: var(--text-muted);
132
- }
133
-
134
- :root[data-theme="light"],
135
- :root[data-theme="plain-light"] {
136
- color-scheme: light;
137
- --ef-control-radius: 12px;
138
- --ef-surface: #ffffff;
139
- --ef-surface-soft: rgba(255, 255, 255, 0.92);
140
- --ef-border-gradient: linear-gradient(135deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
141
- --ef-border-gradient-reverse: linear-gradient(315deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
142
- --ef-border-gradient-soft: linear-gradient(
143
- 135deg,
144
- rgba(0, 229, 255, 0.6),
145
- rgba(124, 77, 255, 0.6),
146
- rgba(255, 77, 210, 0.6),
147
- rgba(255, 183, 77, 0.6)
148
- );
149
- --ef-button-text: #1d232a;
150
- --ef-button-glow-shadow: 0 0 20px rgba(124, 77, 255, 0.32);
151
- --ef-button-locked-bg: rgba(255, 255, 255, 0.8);
152
- --ef-button-locked-border: rgba(24, 32, 40, 0.18);
153
- --ef-button-locked-text: rgba(24, 32, 40, 0.6);
154
- --ef-button-danger-border: linear-gradient(135deg, rgba(200, 76, 76, 0.7), rgba(255, 138, 138, 0.65));
155
- --ef-button-danger-text: #5a0f0f;
156
- --ef-button-warning-border: linear-gradient(135deg, rgba(242, 159, 69, 0.75), rgba(255, 210, 128, 0.7));
157
- --ef-button-warning-text: #4a2c00;
158
- --ef-button-info-border: linear-gradient(135deg, rgba(0, 180, 210, 0.6), rgba(124, 180, 255, 0.6));
159
- --ef-button-info-text: #0b2a3a;
160
- --ef-button-success-border: linear-gradient(135deg, rgba(46, 170, 130, 0.65), rgba(130, 220, 180, 0.65));
161
- --ef-button-success-text: #0b2b1d;
162
- --ef-nav-text: rgba(29, 35, 42, 0.8);
163
- --ef-nav-text-hover: #1d232a;
164
- --ef-nav-text-active: #1d232a;
165
- --ef-nav-surface: rgba(255, 255, 255, 0.72);
166
- --ef-nav-border: var(--ef-border-gradient);
167
- --ef-nav-shadow: none;
168
- --ef-nav-shadow-hover: 0 0 16px rgba(31, 122, 140, 0.2);
169
- --ef-nav-shadow-focus: 0 0 20px rgba(31, 122, 140, 0.24);
170
- --ef-nav-shadow-active: 0 0 20px rgba(31, 122, 140, 0.26);
171
- --ef-menu-item-shadow: 0 0 10px rgba(31, 122, 140, 0.12);
172
- --ef-menu-item-shadow-hover: 0 0 14px rgba(31, 122, 140, 0.18);
173
- --ef-tabs-surface: #ffffff;
174
- --ef-tabs-border: linear-gradient(135deg, rgba(0, 229, 255, 0.35), rgba(124, 77, 255, 0.35), rgba(255, 77, 210, 0.35));
175
- --ef-tabs-content-surface: #ffffff;
176
- --ef-tabs-content-border: linear-gradient(135deg, rgba(0, 229, 255, 0.2), rgba(124, 77, 255, 0.2), rgba(255, 77, 210, 0.2));
177
- --ef-tabs-indicator: linear-gradient(180deg, #1f7a8c, #7c4dff, #f29f45);
178
- --ef-slider-surface: var(--ef-surface);
179
- --ef-slider-border-color: var(--line-strong);
180
- --ef-slider-track-radius: 6px;
181
- --ef-slider-thumb-radius: 6px;
182
- --ef-slider-thumb-clip: inset(0);
183
- --ef-slider-thumb-mask: none;
184
- --ef-toggle-track-radius: 6px;
185
- --ef-toggle-thumb-radius: 6px;
186
- --ef-toggle-box-radius: 6px;
187
- --ef-toggle-check-radius: 2px;
188
- --ef-toggle-check-bg: var(--ef-slider-border-color);
189
- --ef-field-label: rgba(29, 35, 42, 0.7);
190
- --ef-field-required: rgba(242, 159, 69, 0.9);
191
- --ef-field-helper: rgba(29, 35, 42, 0.6);
192
- --ef-field-error: #b83a3a;
193
- --ef-input-surface: #ffffff;
194
- --ef-input-border: var(--ef-border-gradient);
195
- --ef-input-text: #1d232a;
196
- --ef-input-placeholder: rgba(29, 35, 42, 0.45);
197
- --ef-input-focus: rgba(31, 122, 140, 0.3);
198
- --ef-input-shadow: 0 0 0 2px rgba(31, 122, 140, 0.14);
199
- --ef-field-label: rgba(29, 35, 42, 0.7);
200
- --ef-field-helper: rgba(29, 35, 42, 0.55);
201
- --ef-field-error: #b34a4a;
202
- --ef-stacked-card-bg: rgba(10, 12, 22, 0.92);
203
- --ef-stacked-card-shadow: 0 14px 35px rgba(10, 12, 24, 0.6);
204
- --ef-stacked-card-shadow-hover: 0 20px 45px rgba(10, 12, 24, 0.7);
205
- --ef-stacked-frame-shadow: 0 18px 40px rgba(10, 12, 24, 0.55);
206
- --ef-stacked-tag-bg: rgba(15, 18, 28, 0.7);
207
- --ef-stacked-tag-text: rgba(238, 241, 246, 0.75);
208
- --ef-stacked-body-muted: rgba(255, 255, 255, 0.7);
209
- --ef-stacked-action-shadow: 0 0 24px rgba(124, 77, 255, 0.45);
210
- --ef-stacked-image-gradient: linear-gradient(
211
- 135deg,
212
- rgba(0, 229, 255, 0.35),
213
- rgba(124, 77, 255, 0.35),
214
- rgba(255, 77, 210, 0.25)
215
- );
216
- --text-strong: #1d232a;
217
- --text-soft: rgba(29, 35, 42, 0.75);
218
- --text-muted: rgba(29, 35, 42, 0.6);
219
- --card: rgba(255, 255, 255, 0.9);
220
- --card-border: rgba(24, 32, 40, 0.12);
221
- --shadow: 0 20px 50px rgba(24, 32, 40, 0.12);
222
- --text: var(--text-strong);
223
- --muted: var(--text-muted);
224
- --line: rgba(24, 32, 40, 0.18);
225
- --bg: #f4f1ea;
226
- --bg-soft: #fbf7f0;
227
- --accent-dark: #1f7a8c;
228
- --accent-alt: #f29f45;
229
- --accent-soft: rgba(242, 159, 69, 0.18);
230
- --danger: #c84c4c;
231
- --row-odd: rgba(255, 255, 255, 0.95);
232
- --scrollbar-track: rgba(24, 32, 40, 0.08);
233
- --bg-glow: rgba(31, 122, 140, 0.16);
234
- --panel: var(--card);
235
- --panel-2: rgba(255, 255, 255, 0.94);
236
- --ink: var(--text-strong);
237
- --line-strong: var(--accent);
238
- --accent-2: var(--accent-alt);
239
- --frame-bg: linear-gradient(180deg, #ffffff 0%, #f6ede1 100%);
240
- --bio-bg: linear-gradient(180deg, #ffffff, #f9f6f0 85%);
241
- --section-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(249, 246, 240, 0.96));
242
- --note-bg: rgba(255, 255, 255, 0.8);
243
- --portrait-bg: #e7ecf2;
244
- --chip-bg: rgba(255, 255, 255, 0.9);
245
- --placeholder-bg:
246
- linear-gradient(135deg, rgba(210, 225, 245, 0.9), rgba(240, 244, 248, 0.95)),
247
- repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.04) 0px, rgba(0, 0, 0, 0.04) 1px, transparent 1px, transparent 8px);
248
- --placeholder-ink: #2b3440;
249
- --menu-card: rgba(255, 255, 255, 0.88);
250
- --menu-line: rgba(24, 32, 40, 0.12);
251
- --menu-shadow: 0 16px 40px rgba(23, 28, 33, 0.12);
252
- --menu-bg-soft: #f9f6f0;
253
- --menu-radius: 18px;
254
- --menu-muted: var(--text-muted);
255
- }
1
+ /*
2
+ Theme runtime layer.
3
+ All design tokens and theme variables live in `variables.css`.
4
+ Keep this file lightweight for future runtime/theme-state utilities.
5
+ */
256
6
 
257
- :root[data-theme="plain-light"] {
258
- --ef-border-gradient: linear-gradient(135deg, var(--line), var(--line));
259
- --ef-border-gradient-reverse: linear-gradient(315deg, var(--line), var(--line));
260
- --ef-border-gradient-soft: linear-gradient(
261
- 135deg,
262
- rgba(24, 32, 40, 0.18),
263
- rgba(24, 32, 40, 0.18)
264
- );
265
- --ef-button-border: var(--ef-border-gradient);
266
- --ef-button-border-soft: var(--ef-border-gradient-soft);
267
- --ef-input-border: var(--ef-border-gradient);
268
- --ef-stacked-image-gradient: linear-gradient(135deg, rgba(24, 32, 40, 0.08), rgba(24, 32, 40, 0.15));
269
- --ef-nav-border: var(--ef-border-gradient);
270
- --ef-nav-shadow-hover: 0 0 0 1px rgba(24, 32, 40, 0.2);
271
- --ef-nav-shadow-focus: 0 0 0 2px rgba(24, 32, 40, 0.22);
272
- --ef-nav-shadow-active: 0 0 0 1px rgba(24, 32, 40, 0.3);
273
- --ef-menu-item-shadow: none;
274
- --ef-menu-item-shadow-hover: 0 0 0 1px rgba(24, 32, 40, 0.2);
275
- }
7
+ @import "./variables.css";
276
8
 
277
- :root[data-theme="plain-dark"] {
278
- color-scheme: dark;
279
- --card-border: rgba(255, 255, 255, 0.16);
280
- --line: rgba(255, 255, 255, 0.2);
281
- --line-strong: rgba(255, 255, 255, 0.35);
282
- --ef-border-gradient: linear-gradient(135deg, var(--line-strong), var(--line-strong));
283
- --ef-border-gradient-reverse: linear-gradient(315deg, var(--line-strong), var(--line-strong));
284
- --ef-border-gradient-soft: linear-gradient(
285
- 135deg,
286
- rgba(255, 255, 255, 0.18),
287
- rgba(255, 255, 255, 0.18)
288
- );
289
- --ef-button-border: var(--ef-border-gradient);
290
- --ef-button-border-soft: var(--ef-border-gradient-soft);
291
- --ef-input-border: var(--ef-border-gradient);
292
- --menu-line: var(--line);
293
- --menu-bg-soft: rgba(255, 255, 255, 0.06);
294
- --ef-stacked-image-gradient: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.12));
295
- --ef-nav-text: rgba(246, 245, 255, 0.8);
296
- --ef-nav-text-hover: #f6f5ff;
297
- --ef-nav-text-active: #f6f5ff;
298
- --ef-nav-surface: rgba(15, 18, 28, 0.7);
299
- --ef-nav-border: var(--ef-border-gradient);
300
- --ef-nav-shadow-hover: 0 0 0 1px rgba(255, 255, 255, 0.2);
301
- --ef-nav-shadow-focus: 0 0 0 2px rgba(255, 255, 255, 0.24);
302
- --ef-nav-shadow-active: 0 0 0 1px rgba(255, 255, 255, 0.3);
303
- --ef-menu-item-shadow: none;
304
- --ef-menu-item-shadow-hover: 0 0 0 1px rgba(255, 255, 255, 0.2);
9
+ /* Theme opt-in hook for app-level custom styling. */
10
+ [data-theme] {
11
+ color: var(--text-strong);
305
12
  }
306
13
 
307
-
308
-
309
- :root[data-theme="atelier"] {
310
- color-scheme: dark;
311
- --ef-control-radius: 0px;
312
- --ef-surface: #1b0b18;
313
- --ef-surface-soft: rgba(27, 11, 24, 0.92);
314
- --ef-border-gradient: linear-gradient(135deg, #ff86c8, #e255a1, #7dd6f6);
315
- --ef-border-gradient-reverse: linear-gradient(315deg, #ff86c8, #e255a1, #7dd6f6);
316
- --ef-border-gradient-soft: linear-gradient(
317
- 135deg,
318
- rgba(255, 134, 200, 0.5),
319
- rgba(226, 85, 161, 0.5),
320
- rgba(125, 214, 246, 0.5)
321
- );
322
- --ef-slider-surface: var(--ef-surface);
323
- --ef-slider-border-color: var(--line-strong);
324
- --ef-slider-track-radius: 0px;
325
- --ef-slider-thumb-radius: 0px;
326
- --ef-slider-thumb-clip: inset(0);
327
- --ef-slider-thumb-mask: none;
328
- --ef-toggle-track-radius: 0px;
329
- --ef-toggle-thumb-radius: 0px;
330
- --ef-toggle-box-radius: 0px;
331
- --ef-toggle-check-radius: 0px;
332
- --ef-toggle-check-bg: var(--ef-slider-border-color);
333
- --ef-button-surface: var(--ef-surface);
334
- --ef-button-border: var(--ef-border-gradient);
335
- --ef-button-border-soft: var(--ef-border-gradient-soft);
336
- --ef-button-text: #f6eaf2;
337
- --ef-button-glow-shadow: 0 0 24px rgba(226, 85, 161, 0.42);
338
- --ef-nav-text: rgba(246, 234, 242, 0.78);
339
- --ef-nav-text-hover: #f6eaf2;
340
- --ef-nav-text-active: #f6eaf2;
341
- --ef-nav-surface: rgba(27, 11, 24, 0.74);
342
- --ef-nav-border: var(--ef-border-gradient);
343
- --ef-nav-shadow: none;
344
- --ef-nav-shadow-hover: 0 0 16px rgba(226, 85, 161, 0.28);
345
- --ef-nav-shadow-focus: 0 0 20px rgba(226, 85, 161, 0.34);
346
- --ef-nav-shadow-active: 0 0 22px rgba(226, 85, 161, 0.42);
347
- --ef-menu-item-shadow: 0 0 14px rgba(226, 85, 161, 0.2);
348
- --ef-menu-item-shadow-hover: 0 0 18px rgba(226, 85, 161, 0.3);
349
- --ef-tabs-surface: #1b0b18;
350
- --ef-tabs-border: linear-gradient(135deg, rgba(255, 134, 200, 0.45), rgba(226, 85, 161, 0.45), rgba(125, 214, 246, 0.45));
351
- --ef-tabs-content-surface: #1b0b18;
352
- --ef-tabs-content-border: linear-gradient(135deg, rgba(255, 134, 200, 0.3), rgba(226, 85, 161, 0.3), rgba(125, 214, 246, 0.3));
353
- --ef-tabs-indicator: linear-gradient(180deg, #ff86c8, #e255a1, #7dd6f6);
354
- --ef-input-surface: #1b0b18;
355
- --ef-input-border: var(--ef-border-gradient);
356
- --ef-input-text: #f6eaf2;
357
- --ef-input-placeholder: rgba(246, 234, 242, 0.6);
358
- --ef-input-focus: rgba(226, 85, 161, 0.45);
359
- --ef-input-shadow: 0 0 0 2px rgba(226, 85, 161, 0.2);
360
- --text-strong: #f6eaf2;
361
- --text-soft: rgba(246, 234, 242, 0.8);
362
- --text-muted: #dbc7d7;
363
- --card: #1b0b18;
364
- --card-border: rgba(192, 59, 132, 0.6);
365
- --accent: #ff86c8;
366
- --accent-bright: #7dd6f6;
367
- --accent-warm: #e255a1;
368
- --accent-gold: #ff86c8;
369
- --shadow: rgba(0, 0, 0, 0.6);
370
- --text: #f6eaf2;
371
- --muted: #dbc7d7;
372
- --line: #c03b84;
373
- --bg: #130810;
374
- --bg-soft: #241028;
375
- --accent-dark: #c03b84;
376
- --accent-alt: #7dd6f6;
377
- --accent-soft: rgba(255, 134, 200, 0.18);
378
- --danger: #e06c6c;
379
- --radius: 18px;
380
- --row-odd: rgba(27, 11, 24, 0.85);
381
- --scrollbar-track: rgba(255, 255, 255, 0.08);
382
- --bg-glow: #2a0f21;
383
- --panel: #1b0b18;
384
- --panel-2: #241028;
385
- --ink: #f6eaf2;
386
- --line-strong: #e255a1;
387
- --accent-2: #7dd6f6;
388
- --frame-bg: linear-gradient(180deg, #220b1a 0%, #12070f 100%);
389
- --bio-bg: linear-gradient(180deg, #1a0b1b, #12070f 85%);
390
- --section-bg: linear-gradient(180deg, rgba(35, 14, 32, 0.94), rgba(20, 9, 18, 0.95));
391
- --note-bg: rgba(16, 7, 14, 0.6);
392
- --portrait-bg: #131a2c;
393
- --chip-bg: rgba(17, 9, 20, 0.8);
394
- --placeholder-bg:
395
- linear-gradient(135deg, rgba(60, 78, 108, 0.9), rgba(20, 30, 50, 0.95)),
396
- repeating-linear-gradient(
397
- 0deg,
398
- rgba(255, 255, 255, 0.06) 0px,
399
- rgba(255, 255, 255, 0.06) 1px,
400
- transparent 1px,
401
- transparent 8px
402
- );
403
- --placeholder-ink: #dde6f2;
404
- --menu-card: #1b0b18;
405
- --menu-line: rgba(192, 59, 132, 0.5);
406
- --menu-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
407
- --menu-bg-soft: rgba(255, 134, 200, 0.12);
408
- --menu-radius: 18px;
409
- --menu-muted: #dbc7d7;
410
- }
411
-
412
- :root[data-theme="galaxy"] {
413
- --ef-slider-track-radius: 6px;
414
- --ef-slider-thumb-radius: 6px;
415
- --ef-slider-thumb-clip: inset(0);
416
- --ef-slider-thumb-mask: none;
417
- --ef-toggle-track-radius: 6px;
418
- --ef-toggle-thumb-radius: 6px;
419
- --ef-toggle-box-radius: 6px;
420
- --ef-toggle-check-radius: 2px;
421
- }
422
-
423
- :root[data-theme="system"] {
424
- color-scheme: light dark;
425
- }
426
-
427
- @media (prefers-color-scheme: light) {
428
- :root[data-theme="system"] {
429
- --ef-nav-text: rgba(29, 35, 42, 0.8);
430
- --ef-nav-text-hover: #1d232a;
431
- --ef-nav-text-active: #1d232a;
432
- --ef-nav-surface: rgba(255, 255, 255, 0.72);
433
- --ef-nav-shadow: none;
434
- --ef-nav-shadow-hover: 0 0 16px rgba(31, 122, 140, 0.2);
435
- --ef-nav-shadow-focus: 0 0 20px rgba(31, 122, 140, 0.24);
436
- --ef-nav-shadow-active: 0 0 20px rgba(31, 122, 140, 0.26);
437
- --ef-menu-item-shadow: 0 0 10px rgba(31, 122, 140, 0.12);
438
- --ef-menu-item-shadow-hover: 0 0 14px rgba(31, 122, 140, 0.18);
439
- --ef-tabs-surface: #ffffff;
440
- --ef-tabs-content-surface: #ffffff;
441
- }
442
- }
443
-
@@ -0,0 +1,443 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --ef-surface: #0b0c1a;
4
+ --ef-surface-soft: rgba(10, 13, 22, 0.78);
5
+ --ef-control-radius: 12px;
6
+ --ef-border-gradient: linear-gradient(135deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
7
+ --ef-border-gradient-reverse: linear-gradient(315deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
8
+ --ef-border-gradient-soft: linear-gradient(
9
+ 135deg,
10
+ rgba(0, 229, 255, 0.6),
11
+ rgba(124, 77, 255, 0.6),
12
+ rgba(255, 77, 210, 0.6),
13
+ rgba(255, 183, 77, 0.6)
14
+ );
15
+ --ef-button-surface: var(--ef-surface);
16
+ --ef-button-border: var(--ef-border-gradient);
17
+ --ef-button-border-soft: var(--ef-border-gradient-soft);
18
+ --ef-button-text: var(--text-strong);
19
+ --ef-button-glow-shadow: 0 0 24px rgba(124, 77, 255, 0.45);
20
+ --ef-button-locked-bg: rgba(15, 18, 28, 0.7);
21
+ --ef-button-locked-border: rgba(255, 255, 255, 0.15);
22
+ --ef-button-locked-text: rgba(255, 255, 255, 0.7);
23
+ --ef-button-danger-border: linear-gradient(135deg, rgba(255, 92, 92, 0.8), rgba(255, 170, 170, 0.7));
24
+ --ef-button-danger-text: #ffd6d6;
25
+ --ef-button-warning-border: linear-gradient(135deg, rgba(255, 183, 77, 0.85), rgba(255, 221, 128, 0.7));
26
+ --ef-button-warning-text: #2b1a00;
27
+ --ef-button-info-border: linear-gradient(135deg, rgba(0, 229, 255, 0.7), rgba(124, 220, 255, 0.7));
28
+ --ef-button-info-text: #021823;
29
+ --ef-button-success-border: linear-gradient(135deg, rgba(76, 255, 200, 0.7), rgba(140, 255, 220, 0.7));
30
+ --ef-button-success-text: #041a10;
31
+ --ef-nav-text: rgba(238, 241, 246, 0.75);
32
+ --ef-nav-text-hover: #eef1f6;
33
+ --ef-nav-text-active: #f6f5ff;
34
+ --ef-nav-surface: rgba(15, 18, 28, 0.7);
35
+ --ef-nav-border: linear-gradient(135deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
36
+ --ef-nav-shadow: none;
37
+ --ef-nav-shadow-hover: 0 0 18px rgba(124, 77, 255, 0.35);
38
+ --ef-nav-shadow-focus: 0 0 20px rgba(124, 77, 255, 0.45);
39
+ --ef-nav-shadow-active: 0 0 24px rgba(124, 77, 255, 0.6);
40
+ --ef-nav-radius: 8px;
41
+ --ef-nav-padding-y: 8px;
42
+ --ef-nav-padding-x: 18px;
43
+ --ef-nav-letter-spacing: 0.08em;
44
+ --ef-nav-transform-hover: translateY(-1px);
45
+ --ef-menu-item-shadow: 0 0 16px rgba(124, 77, 255, 0.25);
46
+ --ef-menu-item-shadow-hover: 0 0 18px rgba(124, 77, 255, 0.35);
47
+ --ef-tabs-surface: #0b0c1a;
48
+ --ef-tabs-border: linear-gradient(135deg, rgba(0, 229, 255, 0.5), rgba(124, 77, 255, 0.5), rgba(255, 77, 210, 0.5));
49
+ --ef-tabs-content-surface: #0b0c1a;
50
+ --ef-tabs-content-border: linear-gradient(135deg, rgba(0, 229, 255, 0.35), rgba(124, 77, 255, 0.35), rgba(255, 77, 210, 0.35));
51
+ --ef-tabs-indicator: linear-gradient(180deg, #00e5ff, #7c4dff, #ff4dd2);
52
+ --ef-slider-surface: var(--ef-surface);
53
+ --ef-slider-border-color: var(--line-strong);
54
+ --ef-slider-track-radius: 6px;
55
+ --ef-slider-thumb-radius: 6px;
56
+ --ef-slider-thumb-clip: inset(0);
57
+ --ef-slider-thumb-mask: none;
58
+ --ef-toggle-track-radius: 6px;
59
+ --ef-toggle-thumb-radius: 6px;
60
+ --ef-toggle-box-radius: 6px;
61
+ --ef-toggle-check-radius: 2px;
62
+ --ef-toggle-check-bg: var(--ef-slider-border-color);
63
+ --ef-field-label: rgba(255, 255, 255, 0.7);
64
+ --ef-field-required: rgba(255, 183, 77, 0.95);
65
+ --ef-field-helper: rgba(255, 255, 255, 0.6);
66
+ --ef-field-error: #ff8a8a;
67
+ --ef-input-surface: #0b0c1a;
68
+ --ef-input-border: var(--ef-border-gradient);
69
+ --ef-input-text: #eef1f6;
70
+ --ef-input-placeholder: rgba(246, 245, 255, 0.45);
71
+ --ef-input-focus: rgba(124, 77, 255, 0.55);
72
+ --ef-input-shadow: 0 0 0 2px rgba(124, 77, 255, 0.2);
73
+ --ef-stacked-card-bg: rgba(10, 12, 22, 0.92);
74
+ --ef-stacked-card-shadow: 0 14px 35px rgba(10, 12, 24, 0.6);
75
+ --ef-stacked-card-shadow-hover: 0 20px 45px rgba(10, 12, 24, 0.7);
76
+ --ef-stacked-frame-shadow: 0 18px 40px rgba(10, 12, 24, 0.55);
77
+ --ef-stacked-tag-bg: rgba(15, 18, 28, 0.7);
78
+ --ef-stacked-tag-text: rgba(238, 241, 246, 0.75);
79
+ --ef-stacked-body-muted: rgba(255, 255, 255, 0.7);
80
+ --ef-stacked-action-shadow: 0 0 24px rgba(124, 77, 255, 0.45);
81
+ --ef-stacked-image-gradient: linear-gradient(
82
+ 135deg,
83
+ rgba(0, 229, 255, 0.35),
84
+ rgba(124, 77, 255, 0.35),
85
+ rgba(255, 77, 210, 0.25)
86
+ );
87
+ --text-strong: #f6f5ff;
88
+ --text-soft: rgba(238, 241, 246, 0.75);
89
+ --text-muted: rgba(247, 248, 251, 0.6);
90
+ --card: rgba(10, 13, 22, 0.78);
91
+ --card-border: rgba(124, 77, 255, 0.4);
92
+ --accent: #7c4dff;
93
+ --accent-bright: #00e5ff;
94
+ --accent-warm: #ff4dd2;
95
+ --accent-gold: #ffb74d;
96
+ --shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
97
+ --font-main: "Inter", "Segoe UI", Arial, sans-serif;
98
+ --text: var(--text-strong);
99
+ --muted: var(--text-muted);
100
+ --line: var(--card-border);
101
+ --bg: #0b0f15;
102
+ --bg-soft: #141b26;
103
+ --accent-dark: #5e35ff;
104
+ --accent-alt: var(--accent-gold);
105
+ --accent-soft: rgba(255, 183, 77, 0.18);
106
+ --danger: #e06c6c;
107
+ --radius: 18px;
108
+ --row-odd: rgba(10, 13, 22, 0.9);
109
+ --scrollbar-track: rgba(255, 255, 255, 0.12);
110
+ --bg-glow: rgba(124, 77, 255, 0.18);
111
+ --panel: var(--card);
112
+ --panel-2: rgba(12, 16, 26, 0.9);
113
+ --ink: var(--text-strong);
114
+ --line-strong: var(--accent);
115
+ --accent-2: var(--accent-gold);
116
+ --frame-bg: linear-gradient(180deg, #0b0c1a 0%, #0a0d16 100%);
117
+ --bio-bg: linear-gradient(180deg, #0e101c, #0b0f15 85%);
118
+ --section-bg: linear-gradient(180deg, rgba(15, 18, 28, 0.92), rgba(12, 16, 24, 0.95));
119
+ --note-bg: rgba(10, 13, 22, 0.6);
120
+ --portrait-bg: #0c1322;
121
+ --chip-bg: rgba(12, 16, 26, 0.8);
122
+ --placeholder-bg:
123
+ linear-gradient(135deg, rgba(28, 38, 64, 0.9), rgba(12, 18, 32, 0.95)),
124
+ repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 8px);
125
+ --placeholder-ink: #dde6f2;
126
+ --menu-card: var(--card);
127
+ --menu-line: var(--card-border);
128
+ --menu-shadow: var(--shadow);
129
+ --menu-bg-soft: rgba(124, 77, 255, 0.12);
130
+ --menu-radius: 18px;
131
+ --menu-muted: var(--text-muted);
132
+ }
133
+
134
+ :root[data-theme="light"],
135
+ :root[data-theme="plain-light"] {
136
+ color-scheme: light;
137
+ --ef-control-radius: 12px;
138
+ --ef-surface: #ffffff;
139
+ --ef-surface-soft: rgba(255, 255, 255, 0.92);
140
+ --ef-border-gradient: linear-gradient(135deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
141
+ --ef-border-gradient-reverse: linear-gradient(315deg, #00e5ff, #7c4dff, #ff4dd2, #ffb74d);
142
+ --ef-border-gradient-soft: linear-gradient(
143
+ 135deg,
144
+ rgba(0, 229, 255, 0.6),
145
+ rgba(124, 77, 255, 0.6),
146
+ rgba(255, 77, 210, 0.6),
147
+ rgba(255, 183, 77, 0.6)
148
+ );
149
+ --ef-button-text: #1d232a;
150
+ --ef-button-glow-shadow: 0 0 20px rgba(124, 77, 255, 0.32);
151
+ --ef-button-locked-bg: rgba(255, 255, 255, 0.8);
152
+ --ef-button-locked-border: rgba(24, 32, 40, 0.18);
153
+ --ef-button-locked-text: rgba(24, 32, 40, 0.6);
154
+ --ef-button-danger-border: linear-gradient(135deg, rgba(200, 76, 76, 0.7), rgba(255, 138, 138, 0.65));
155
+ --ef-button-danger-text: #5a0f0f;
156
+ --ef-button-warning-border: linear-gradient(135deg, rgba(242, 159, 69, 0.75), rgba(255, 210, 128, 0.7));
157
+ --ef-button-warning-text: #4a2c00;
158
+ --ef-button-info-border: linear-gradient(135deg, rgba(0, 180, 210, 0.6), rgba(124, 180, 255, 0.6));
159
+ --ef-button-info-text: #0b2a3a;
160
+ --ef-button-success-border: linear-gradient(135deg, rgba(46, 170, 130, 0.65), rgba(130, 220, 180, 0.65));
161
+ --ef-button-success-text: #0b2b1d;
162
+ --ef-nav-text: rgba(29, 35, 42, 0.8);
163
+ --ef-nav-text-hover: #1d232a;
164
+ --ef-nav-text-active: #1d232a;
165
+ --ef-nav-surface: rgba(255, 255, 255, 0.72);
166
+ --ef-nav-border: var(--ef-border-gradient);
167
+ --ef-nav-shadow: none;
168
+ --ef-nav-shadow-hover: 0 0 16px rgba(31, 122, 140, 0.2);
169
+ --ef-nav-shadow-focus: 0 0 20px rgba(31, 122, 140, 0.24);
170
+ --ef-nav-shadow-active: 0 0 20px rgba(31, 122, 140, 0.26);
171
+ --ef-menu-item-shadow: 0 0 10px rgba(31, 122, 140, 0.12);
172
+ --ef-menu-item-shadow-hover: 0 0 14px rgba(31, 122, 140, 0.18);
173
+ --ef-tabs-surface: #ffffff;
174
+ --ef-tabs-border: linear-gradient(135deg, rgba(0, 229, 255, 0.35), rgba(124, 77, 255, 0.35), rgba(255, 77, 210, 0.35));
175
+ --ef-tabs-content-surface: #ffffff;
176
+ --ef-tabs-content-border: linear-gradient(135deg, rgba(0, 229, 255, 0.2), rgba(124, 77, 255, 0.2), rgba(255, 77, 210, 0.2));
177
+ --ef-tabs-indicator: linear-gradient(180deg, #1f7a8c, #7c4dff, #f29f45);
178
+ --ef-slider-surface: var(--ef-surface);
179
+ --ef-slider-border-color: var(--line-strong);
180
+ --ef-slider-track-radius: 6px;
181
+ --ef-slider-thumb-radius: 6px;
182
+ --ef-slider-thumb-clip: inset(0);
183
+ --ef-slider-thumb-mask: none;
184
+ --ef-toggle-track-radius: 6px;
185
+ --ef-toggle-thumb-radius: 6px;
186
+ --ef-toggle-box-radius: 6px;
187
+ --ef-toggle-check-radius: 2px;
188
+ --ef-toggle-check-bg: var(--ef-slider-border-color);
189
+ --ef-field-label: rgba(29, 35, 42, 0.7);
190
+ --ef-field-required: rgba(242, 159, 69, 0.9);
191
+ --ef-field-helper: rgba(29, 35, 42, 0.6);
192
+ --ef-field-error: #b83a3a;
193
+ --ef-input-surface: #ffffff;
194
+ --ef-input-border: var(--ef-border-gradient);
195
+ --ef-input-text: #1d232a;
196
+ --ef-input-placeholder: rgba(29, 35, 42, 0.45);
197
+ --ef-input-focus: rgba(31, 122, 140, 0.3);
198
+ --ef-input-shadow: 0 0 0 2px rgba(31, 122, 140, 0.14);
199
+ --ef-field-label: rgba(29, 35, 42, 0.7);
200
+ --ef-field-helper: rgba(29, 35, 42, 0.55);
201
+ --ef-field-error: #b34a4a;
202
+ --ef-stacked-card-bg: rgba(10, 12, 22, 0.92);
203
+ --ef-stacked-card-shadow: 0 14px 35px rgba(10, 12, 24, 0.6);
204
+ --ef-stacked-card-shadow-hover: 0 20px 45px rgba(10, 12, 24, 0.7);
205
+ --ef-stacked-frame-shadow: 0 18px 40px rgba(10, 12, 24, 0.55);
206
+ --ef-stacked-tag-bg: rgba(15, 18, 28, 0.7);
207
+ --ef-stacked-tag-text: rgba(238, 241, 246, 0.75);
208
+ --ef-stacked-body-muted: rgba(255, 255, 255, 0.7);
209
+ --ef-stacked-action-shadow: 0 0 24px rgba(124, 77, 255, 0.45);
210
+ --ef-stacked-image-gradient: linear-gradient(
211
+ 135deg,
212
+ rgba(0, 229, 255, 0.35),
213
+ rgba(124, 77, 255, 0.35),
214
+ rgba(255, 77, 210, 0.25)
215
+ );
216
+ --text-strong: #1d232a;
217
+ --text-soft: rgba(29, 35, 42, 0.75);
218
+ --text-muted: rgba(29, 35, 42, 0.6);
219
+ --card: rgba(255, 255, 255, 0.9);
220
+ --card-border: rgba(24, 32, 40, 0.12);
221
+ --shadow: 0 20px 50px rgba(24, 32, 40, 0.12);
222
+ --text: var(--text-strong);
223
+ --muted: var(--text-muted);
224
+ --line: rgba(24, 32, 40, 0.18);
225
+ --bg: #f4f1ea;
226
+ --bg-soft: #fbf7f0;
227
+ --accent-dark: #1f7a8c;
228
+ --accent-alt: #f29f45;
229
+ --accent-soft: rgba(242, 159, 69, 0.18);
230
+ --danger: #c84c4c;
231
+ --row-odd: rgba(255, 255, 255, 0.95);
232
+ --scrollbar-track: rgba(24, 32, 40, 0.08);
233
+ --bg-glow: rgba(31, 122, 140, 0.16);
234
+ --panel: var(--card);
235
+ --panel-2: rgba(255, 255, 255, 0.94);
236
+ --ink: var(--text-strong);
237
+ --line-strong: var(--accent);
238
+ --accent-2: var(--accent-alt);
239
+ --frame-bg: linear-gradient(180deg, #ffffff 0%, #f6ede1 100%);
240
+ --bio-bg: linear-gradient(180deg, #ffffff, #f9f6f0 85%);
241
+ --section-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(249, 246, 240, 0.96));
242
+ --note-bg: rgba(255, 255, 255, 0.8);
243
+ --portrait-bg: #e7ecf2;
244
+ --chip-bg: rgba(255, 255, 255, 0.9);
245
+ --placeholder-bg:
246
+ linear-gradient(135deg, rgba(210, 225, 245, 0.9), rgba(240, 244, 248, 0.95)),
247
+ repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.04) 0px, rgba(0, 0, 0, 0.04) 1px, transparent 1px, transparent 8px);
248
+ --placeholder-ink: #2b3440;
249
+ --menu-card: rgba(255, 255, 255, 0.88);
250
+ --menu-line: rgba(24, 32, 40, 0.12);
251
+ --menu-shadow: 0 16px 40px rgba(23, 28, 33, 0.12);
252
+ --menu-bg-soft: #f9f6f0;
253
+ --menu-radius: 18px;
254
+ --menu-muted: var(--text-muted);
255
+ }
256
+
257
+ :root[data-theme="plain-light"] {
258
+ --ef-border-gradient: linear-gradient(135deg, var(--line), var(--line));
259
+ --ef-border-gradient-reverse: linear-gradient(315deg, var(--line), var(--line));
260
+ --ef-border-gradient-soft: linear-gradient(
261
+ 135deg,
262
+ rgba(24, 32, 40, 0.18),
263
+ rgba(24, 32, 40, 0.18)
264
+ );
265
+ --ef-button-border: var(--ef-border-gradient);
266
+ --ef-button-border-soft: var(--ef-border-gradient-soft);
267
+ --ef-input-border: var(--ef-border-gradient);
268
+ --ef-stacked-image-gradient: linear-gradient(135deg, rgba(24, 32, 40, 0.08), rgba(24, 32, 40, 0.15));
269
+ --ef-nav-border: var(--ef-border-gradient);
270
+ --ef-nav-shadow-hover: 0 0 0 1px rgba(24, 32, 40, 0.2);
271
+ --ef-nav-shadow-focus: 0 0 0 2px rgba(24, 32, 40, 0.22);
272
+ --ef-nav-shadow-active: 0 0 0 1px rgba(24, 32, 40, 0.3);
273
+ --ef-menu-item-shadow: none;
274
+ --ef-menu-item-shadow-hover: 0 0 0 1px rgba(24, 32, 40, 0.2);
275
+ }
276
+
277
+ :root[data-theme="plain-dark"] {
278
+ color-scheme: dark;
279
+ --card-border: rgba(255, 255, 255, 0.16);
280
+ --line: rgba(255, 255, 255, 0.2);
281
+ --line-strong: rgba(255, 255, 255, 0.35);
282
+ --ef-border-gradient: linear-gradient(135deg, var(--line-strong), var(--line-strong));
283
+ --ef-border-gradient-reverse: linear-gradient(315deg, var(--line-strong), var(--line-strong));
284
+ --ef-border-gradient-soft: linear-gradient(
285
+ 135deg,
286
+ rgba(255, 255, 255, 0.18),
287
+ rgba(255, 255, 255, 0.18)
288
+ );
289
+ --ef-button-border: var(--ef-border-gradient);
290
+ --ef-button-border-soft: var(--ef-border-gradient-soft);
291
+ --ef-input-border: var(--ef-border-gradient);
292
+ --menu-line: var(--line);
293
+ --menu-bg-soft: rgba(255, 255, 255, 0.06);
294
+ --ef-stacked-image-gradient: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.12));
295
+ --ef-nav-text: rgba(246, 245, 255, 0.8);
296
+ --ef-nav-text-hover: #f6f5ff;
297
+ --ef-nav-text-active: #f6f5ff;
298
+ --ef-nav-surface: rgba(15, 18, 28, 0.7);
299
+ --ef-nav-border: var(--ef-border-gradient);
300
+ --ef-nav-shadow-hover: 0 0 0 1px rgba(255, 255, 255, 0.2);
301
+ --ef-nav-shadow-focus: 0 0 0 2px rgba(255, 255, 255, 0.24);
302
+ --ef-nav-shadow-active: 0 0 0 1px rgba(255, 255, 255, 0.3);
303
+ --ef-menu-item-shadow: none;
304
+ --ef-menu-item-shadow-hover: 0 0 0 1px rgba(255, 255, 255, 0.2);
305
+ }
306
+
307
+
308
+
309
+ :root[data-theme="atelier"] {
310
+ color-scheme: dark;
311
+ --ef-control-radius: 0px;
312
+ --ef-surface: #1b0b18;
313
+ --ef-surface-soft: rgba(27, 11, 24, 0.92);
314
+ --ef-border-gradient: linear-gradient(135deg, #ff86c8, #e255a1, #7dd6f6);
315
+ --ef-border-gradient-reverse: linear-gradient(315deg, #ff86c8, #e255a1, #7dd6f6);
316
+ --ef-border-gradient-soft: linear-gradient(
317
+ 135deg,
318
+ rgba(255, 134, 200, 0.5),
319
+ rgba(226, 85, 161, 0.5),
320
+ rgba(125, 214, 246, 0.5)
321
+ );
322
+ --ef-slider-surface: var(--ef-surface);
323
+ --ef-slider-border-color: var(--line-strong);
324
+ --ef-slider-track-radius: 0px;
325
+ --ef-slider-thumb-radius: 0px;
326
+ --ef-slider-thumb-clip: inset(0);
327
+ --ef-slider-thumb-mask: none;
328
+ --ef-toggle-track-radius: 0px;
329
+ --ef-toggle-thumb-radius: 0px;
330
+ --ef-toggle-box-radius: 0px;
331
+ --ef-toggle-check-radius: 0px;
332
+ --ef-toggle-check-bg: var(--ef-slider-border-color);
333
+ --ef-button-surface: var(--ef-surface);
334
+ --ef-button-border: var(--ef-border-gradient);
335
+ --ef-button-border-soft: var(--ef-border-gradient-soft);
336
+ --ef-button-text: #f6eaf2;
337
+ --ef-button-glow-shadow: 0 0 24px rgba(226, 85, 161, 0.42);
338
+ --ef-nav-text: rgba(246, 234, 242, 0.78);
339
+ --ef-nav-text-hover: #f6eaf2;
340
+ --ef-nav-text-active: #f6eaf2;
341
+ --ef-nav-surface: rgba(27, 11, 24, 0.74);
342
+ --ef-nav-border: var(--ef-border-gradient);
343
+ --ef-nav-shadow: none;
344
+ --ef-nav-shadow-hover: 0 0 16px rgba(226, 85, 161, 0.28);
345
+ --ef-nav-shadow-focus: 0 0 20px rgba(226, 85, 161, 0.34);
346
+ --ef-nav-shadow-active: 0 0 22px rgba(226, 85, 161, 0.42);
347
+ --ef-menu-item-shadow: 0 0 14px rgba(226, 85, 161, 0.2);
348
+ --ef-menu-item-shadow-hover: 0 0 18px rgba(226, 85, 161, 0.3);
349
+ --ef-tabs-surface: #1b0b18;
350
+ --ef-tabs-border: linear-gradient(135deg, rgba(255, 134, 200, 0.45), rgba(226, 85, 161, 0.45), rgba(125, 214, 246, 0.45));
351
+ --ef-tabs-content-surface: #1b0b18;
352
+ --ef-tabs-content-border: linear-gradient(135deg, rgba(255, 134, 200, 0.3), rgba(226, 85, 161, 0.3), rgba(125, 214, 246, 0.3));
353
+ --ef-tabs-indicator: linear-gradient(180deg, #ff86c8, #e255a1, #7dd6f6);
354
+ --ef-input-surface: #1b0b18;
355
+ --ef-input-border: var(--ef-border-gradient);
356
+ --ef-input-text: #f6eaf2;
357
+ --ef-input-placeholder: rgba(246, 234, 242, 0.6);
358
+ --ef-input-focus: rgba(226, 85, 161, 0.45);
359
+ --ef-input-shadow: 0 0 0 2px rgba(226, 85, 161, 0.2);
360
+ --text-strong: #f6eaf2;
361
+ --text-soft: rgba(246, 234, 242, 0.8);
362
+ --text-muted: #dbc7d7;
363
+ --card: #1b0b18;
364
+ --card-border: rgba(192, 59, 132, 0.6);
365
+ --accent: #ff86c8;
366
+ --accent-bright: #7dd6f6;
367
+ --accent-warm: #e255a1;
368
+ --accent-gold: #ff86c8;
369
+ --shadow: rgba(0, 0, 0, 0.6);
370
+ --text: #f6eaf2;
371
+ --muted: #dbc7d7;
372
+ --line: #c03b84;
373
+ --bg: #130810;
374
+ --bg-soft: #241028;
375
+ --accent-dark: #c03b84;
376
+ --accent-alt: #7dd6f6;
377
+ --accent-soft: rgba(255, 134, 200, 0.18);
378
+ --danger: #e06c6c;
379
+ --radius: 18px;
380
+ --row-odd: rgba(27, 11, 24, 0.85);
381
+ --scrollbar-track: rgba(255, 255, 255, 0.08);
382
+ --bg-glow: #2a0f21;
383
+ --panel: #1b0b18;
384
+ --panel-2: #241028;
385
+ --ink: #f6eaf2;
386
+ --line-strong: #e255a1;
387
+ --accent-2: #7dd6f6;
388
+ --frame-bg: linear-gradient(180deg, #220b1a 0%, #12070f 100%);
389
+ --bio-bg: linear-gradient(180deg, #1a0b1b, #12070f 85%);
390
+ --section-bg: linear-gradient(180deg, rgba(35, 14, 32, 0.94), rgba(20, 9, 18, 0.95));
391
+ --note-bg: rgba(16, 7, 14, 0.6);
392
+ --portrait-bg: #131a2c;
393
+ --chip-bg: rgba(17, 9, 20, 0.8);
394
+ --placeholder-bg:
395
+ linear-gradient(135deg, rgba(60, 78, 108, 0.9), rgba(20, 30, 50, 0.95)),
396
+ repeating-linear-gradient(
397
+ 0deg,
398
+ rgba(255, 255, 255, 0.06) 0px,
399
+ rgba(255, 255, 255, 0.06) 1px,
400
+ transparent 1px,
401
+ transparent 8px
402
+ );
403
+ --placeholder-ink: #dde6f2;
404
+ --menu-card: #1b0b18;
405
+ --menu-line: rgba(192, 59, 132, 0.5);
406
+ --menu-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
407
+ --menu-bg-soft: rgba(255, 134, 200, 0.12);
408
+ --menu-radius: 18px;
409
+ --menu-muted: #dbc7d7;
410
+ }
411
+
412
+ :root[data-theme="galaxy"] {
413
+ --ef-slider-track-radius: 6px;
414
+ --ef-slider-thumb-radius: 6px;
415
+ --ef-slider-thumb-clip: inset(0);
416
+ --ef-slider-thumb-mask: none;
417
+ --ef-toggle-track-radius: 6px;
418
+ --ef-toggle-thumb-radius: 6px;
419
+ --ef-toggle-box-radius: 6px;
420
+ --ef-toggle-check-radius: 2px;
421
+ }
422
+
423
+ :root[data-theme="system"] {
424
+ color-scheme: light dark;
425
+ }
426
+
427
+ @media (prefers-color-scheme: light) {
428
+ :root[data-theme="system"] {
429
+ --ef-nav-text: rgba(29, 35, 42, 0.8);
430
+ --ef-nav-text-hover: #1d232a;
431
+ --ef-nav-text-active: #1d232a;
432
+ --ef-nav-surface: rgba(255, 255, 255, 0.72);
433
+ --ef-nav-shadow: none;
434
+ --ef-nav-shadow-hover: 0 0 16px rgba(31, 122, 140, 0.2);
435
+ --ef-nav-shadow-focus: 0 0 20px rgba(31, 122, 140, 0.24);
436
+ --ef-nav-shadow-active: 0 0 20px rgba(31, 122, 140, 0.26);
437
+ --ef-menu-item-shadow: 0 0 10px rgba(31, 122, 140, 0.12);
438
+ --ef-menu-item-shadow-hover: 0 0 14px rgba(31, 122, 140, 0.18);
439
+ --ef-tabs-surface: #ffffff;
440
+ --ef-tabs-content-surface: #ffffff;
441
+ }
442
+ }
443
+
package/styles.css CHANGED
@@ -1,6 +1,7 @@
1
- @import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");
2
- @import "./src/base.css";
3
- @import "./src/theme.css";
1
+ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");
2
+ @import "./src/base.css";
3
+ @import "./src/variables.css";
4
+ @import "./src/theme.css";
4
5
  @import "./src/components/BookmarkDropdown.css";
5
6
  @import "./src/components/AccessGate.css";
6
7
  @import "./src/components/Button.css";