@salesmind-ai/design-system 1.8.0 → 1.9.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.
Files changed (52) hide show
  1. package/dist/ChangeEmail-BuUhjW0o.d.cts +226 -0
  2. package/dist/ChangeEmail-BuUhjW0o.d.ts +226 -0
  3. package/dist/chunk-AI2YEYT4.js +1368 -0
  4. package/dist/chunk-AI2YEYT4.js.map +1 -0
  5. package/dist/{chunk-4QQKREVH.cjs → chunk-LM3UJILC.cjs} +3 -3
  6. package/dist/{chunk-4QQKREVH.cjs.map → chunk-LM3UJILC.cjs.map} +1 -1
  7. package/dist/{chunk-K7NQ7TQG.cjs → chunk-M4MLGT4B.cjs} +84 -27
  8. package/dist/chunk-M4MLGT4B.cjs.map +1 -0
  9. package/dist/{chunk-25TUCNN6.js → chunk-QVGDMAZY.js} +84 -27
  10. package/dist/chunk-QVGDMAZY.js.map +1 -0
  11. package/dist/{chunk-2TC5EVSJ.js → chunk-TPZ3PKSF.js} +3 -3
  12. package/dist/{chunk-2TC5EVSJ.js.map → chunk-TPZ3PKSF.js.map} +1 -1
  13. package/dist/chunk-YWJKSY5C.cjs +1381 -0
  14. package/dist/chunk-YWJKSY5C.cjs.map +1 -0
  15. package/dist/index.cjs +47 -30
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.css +2372 -0
  18. package/dist/index.css.map +1 -1
  19. package/dist/index.d.cts +1 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +2 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/marketing/index.cjs +27 -27
  24. package/dist/marketing/index.js +1 -1
  25. package/dist/onboarding/index.cjs +5870 -0
  26. package/dist/onboarding/index.cjs.map +1 -0
  27. package/dist/onboarding/index.css +557 -0
  28. package/dist/onboarding/index.css.map +1 -0
  29. package/dist/onboarding/index.d.cts +1589 -0
  30. package/dist/onboarding/index.d.ts +1589 -0
  31. package/dist/onboarding/index.js +5736 -0
  32. package/dist/onboarding/index.js.map +1 -0
  33. package/dist/styles/styles.css +2539 -0
  34. package/dist/v2-auth/index.cjs +59 -0
  35. package/dist/v2-auth/index.cjs.map +1 -0
  36. package/dist/v2-auth/index.css +3360 -0
  37. package/dist/v2-auth/index.css.map +1 -0
  38. package/dist/v2-auth/index.d.cts +76 -0
  39. package/dist/v2-auth/index.d.ts +76 -0
  40. package/dist/v2-auth/index.js +24 -0
  41. package/dist/v2-auth/index.js.map +1 -0
  42. package/dist/web/index.cjs +7 -7
  43. package/dist/web/index.d.cts +1 -1
  44. package/dist/web/index.d.ts +1 -1
  45. package/dist/web/index.js +1 -1
  46. package/dist/web/server/index.cjs +7 -7
  47. package/dist/web/server/index.d.cts +91 -27
  48. package/dist/web/server/index.d.ts +91 -27
  49. package/dist/web/server/index.js +1 -1
  50. package/package.json +14 -2
  51. package/dist/chunk-25TUCNN6.js.map +0 -1
  52. package/dist/chunk-K7NQ7TQG.cjs.map +0 -1
@@ -0,0 +1,3360 @@
1
+ /* src/v2-auth/tokens.css */
2
+ :root {
3
+ --color-accent:rgb(var(--accent-rgb));
4
+ --color-accent-secondary:rgb(var(--accent-secondary-rgb));
5
+ --void-grid-size:80px;
6
+ --void-grid-grain-opacity:0.025;
7
+ --void-float-distance:24px;
8
+ --density-multiplier:1;
9
+ --radius-scale:1;
10
+ --radius-xs:calc(4px * var(--radius-scale));
11
+ --radius-panel:calc(32px * var(--radius-scale));
12
+ --radius-card:calc(24px * var(--radius-scale));
13
+ --radius-button:calc(12px * var(--radius-scale));
14
+ --radius-badge:calc(8px * var(--radius-scale));
15
+ --radius-pill:9999px;
16
+ --font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
17
+ --font-family-mono:"SF Mono",SFMono-Regular,ui-monospace,Menlo,Monaco,"Cascadia Code",monospace;
18
+ --font-size-2xs:0.625rem;
19
+ --font-size-xs:0.75rem;
20
+ --font-size-sm:0.875rem;
21
+ --font-size-base:1rem;
22
+ --font-size-lg:1.125rem;
23
+ --font-size-xl:1.25rem;
24
+ --font-size-2xl:1.5rem;
25
+ --font-size-3xl:1.875rem;
26
+ --font-size-4xl:2.25rem;
27
+ --font-size-5xl:3rem;
28
+ --font-size-6xl:3.75rem;
29
+ --font-size-display:clamp(3rem,5vw + 1rem,4.5rem);
30
+ --font-size-display-sm:clamp(2.25rem,3.5vw + 0.75rem,3rem);
31
+ --font-size-code-inline:0.875em;
32
+ --font-size-suffix:0.6em;
33
+ --font-weight-normal:400;
34
+ --font-weight-medium:500;
35
+ --font-weight-semibold:600;
36
+ --font-weight-bold:700;
37
+ --letter-spacing-display:-0.025em;
38
+ --letter-spacing-tight:-0.02em;
39
+ --letter-spacing-slightly-tight:-0.01em;
40
+ --letter-spacing-normal:0em;
41
+ --letter-spacing-wide:0.05em;
42
+ --letter-spacing-wider:0.08em;
43
+ --letter-spacing-widest:0.1em;
44
+ --line-height-tight:1.25;
45
+ --line-height-normal:1.5;
46
+ --line-height-relaxed:1.75;
47
+ --line-height-display:1.1;
48
+ --space-1:calc(0.25rem * var(--density-multiplier));
49
+ --space-2:calc(0.5rem * var(--density-multiplier));
50
+ --space-3:calc(0.75rem * var(--density-multiplier));
51
+ --space-4:calc(1rem * var(--density-multiplier));
52
+ --space-5:calc(1.25rem * var(--density-multiplier));
53
+ --space-6:calc(1.5rem * var(--density-multiplier));
54
+ --space-8:calc(2rem * var(--density-multiplier));
55
+ --space-10:calc(2.5rem * var(--density-multiplier));
56
+ --space-12:calc(3rem * var(--density-multiplier));
57
+ --space-16:calc(4rem * var(--density-multiplier));
58
+ --space-20:calc(5rem * var(--density-multiplier));
59
+ --space-px:1px;
60
+ --space-0-5:2px;
61
+ --space-1-5:calc(0.375rem * var(--density-multiplier));
62
+ --space-2-5:calc(0.625rem * var(--density-multiplier));
63
+ --section-gap-sm:calc(3rem * var(--density-multiplier));
64
+ --section-gap-md:calc(5rem * var(--density-multiplier));
65
+ --section-gap-lg:calc(8rem * var(--density-multiplier));
66
+ --content-width-prose:42.5rem;
67
+ --content-width-narrow:48rem;
68
+ --content-width-standard:64rem;
69
+ --content-width-wide:80rem;
70
+ --duration-count:1500ms;
71
+ --duration-section-reveal:600ms;
72
+ --duration-timeline-draw:1200ms;
73
+ --transition-fast:150ms ease;
74
+ --transition-base:200ms ease;
75
+ --transition-slow:300ms ease;
76
+ --transition-glass:200ms cubic-bezier(0.4,0,0.2,1);
77
+ --z-void:0;
78
+ --z-glass-panel:10;
79
+ --z-ornament:20;
80
+ --z-dropdown:30;
81
+ --z-modal-backdrop:40;
82
+ --z-modal:50;
83
+ --z-tooltip:60;
84
+ --breakpoint-xs:480px;
85
+ --breakpoint-sm:640px;
86
+ --breakpoint-md:768px;
87
+ --breakpoint-lg:1024px;
88
+ --breakpoint-xl:1280px;
89
+ --breakpoint-2xl:1536px;
90
+ --illus-node-size:48px;
91
+ --illus-node-size-sm:36px;
92
+ --illus-node-border-width:2px;
93
+ --illus-node-radius:12px;
94
+ --illus-connector-width:2px;
95
+ --illus-connector-dash-length:6px;
96
+ --illus-connector-gap-length:4px;
97
+ --illus-particle-size:6px;
98
+ --illus-particle-blur:8px;
99
+ --illus-cycle-duration:8000ms;
100
+ --illus-cycle-pulse-duration:2000ms;
101
+ --illus-cycle-particle-duration:3000ms;
102
+ --illus-cycle-stagger:200ms;
103
+ --illus-glow-spread:20px;
104
+ --illus-glow-blur:30px;
105
+ --illus-glow-opacity:0.15;
106
+ --illus-layout-gap:80px;
107
+ --illus-layout-gap-sm:48px;
108
+ --illus-layout-padding:24px;
109
+ }
110
+ :root,
111
+ :root[data-theme=dark] {
112
+ --void-base:#08040a;
113
+ --void-base-rgb:8,4,10;
114
+ --void-grid-color:hsla(0deg,0%,100%,.04);
115
+ --text-primary:hsla(0deg,0%,100%,.98);
116
+ --text-secondary:hsla(0deg,0%,100%,.8);
117
+ --text-tertiary:hsla(0deg,0%,100%,.6);
118
+ --text-disabled:hsla(0deg,0%,100%,.3);
119
+ --glass-base:hsla(0deg,0%,100%,.06);
120
+ --glass-base-hover:hsla(0deg,0%,100%,.09);
121
+ --glass-base-active:hsla(0deg,0%,100%,.12);
122
+ --glass-blur:40px;
123
+ --glass-saturate:160%;
124
+ --glass-brightness:90%;
125
+ --glass-backdrop:blur(var(--glass-blur)) saturate(var(--glass-saturate)) brightness(var(--glass-brightness));
126
+ --glass-backdrop-light:blur(20px) saturate(140%) brightness(95%);
127
+ --glass-backdrop-heavy:blur(60px) saturate(180%) brightness(85%);
128
+ --glass-shadow-outer:0 20px 50px rgba(0,0,0,.35);
129
+ --glass-shadow-inner:inset 0 1px 1px hsla(0deg,0%,100%,.1);
130
+ --glass-shadow-combined:var(--glass-shadow-outer),var(--glass-shadow-inner);
131
+ --glass-shadow-elevated:0 30px 70px rgba(0,0,0,.45);
132
+ --glass-shadow-elevated-combined:var(--glass-shadow-elevated),var(--glass-shadow-inner);
133
+ --glass-highlight-subtle:hsla(0deg,0%,100%,.08);
134
+ --glass-highlight-light:hsla(0deg,0%,100%,.1);
135
+ --glass-highlight-medium:hsla(0deg,0%,100%,.2);
136
+ --glass-highlight-strong:hsla(0deg,0%,100%,.25);
137
+ --glass-highlight-bright:hsla(0deg,0%,100%,.35);
138
+ --glass-knob-start:hsla(0deg,0%,100%,.95);
139
+ --glass-knob-end:hsla(0deg,0%,100%,.85);
140
+ --outline-rim-top:hsla(0deg,0%,100%,.15);
141
+ --outline-rim-bottom:hsla(0deg,0%,100%,.05);
142
+ --interactive-hover-bg:hsla(0deg,0%,100%,.05);
143
+ --interactive-active-bg:hsla(0deg,0%,100%,.08);
144
+ --rim-light-top:hsla(0deg,0%,100%,.12);
145
+ --rim-light-bottom:hsla(0deg,0%,100%,.03);
146
+ --rim-light-hover-top:hsla(0deg,0%,100%,.18);
147
+ --rim-light-hover-bottom:hsla(0deg,0%,100%,.06);
148
+ --rim-light-active-top:hsla(0deg,0%,100%,.22);
149
+ --rim-light-active-bottom:hsla(0deg,0%,100%,.08);
150
+ --shadow-xs:0 1px 2px rgba(0,0,0,.15);
151
+ --shadow-sm:0 2px 8px rgba(0,0,0,.2);
152
+ --shadow-md:0 4px 20px rgba(0,0,0,.2);
153
+ --shadow-lg:0 8px 32px rgba(0,0,0,.25);
154
+ --shadow-xl:0 12px 48px rgba(0,0,0,.3);
155
+ --shadow-inset-xs:inset 0 1px 1px rgba(0,0,0,.1);
156
+ --shadow-inset-sm:inset 0 1px 2px rgba(0,0,0,.15);
157
+ --shadow-inset-border-subtle:inset 0 0 0 1px hsla(0deg,0%,100%,.1);
158
+ --shadow-inset-border-error:inset 0 0 0 1px hsla(0deg,0%,100%,.08);
159
+ --shadow-interactive-rest:0 8px 32px rgba(0,0,0,.3);
160
+ --shadow-interactive-rest-subtle:0 8px 32px rgba(0,0,0,.25);
161
+ --shadow-interactive-rest-light:0 8px 32px rgba(0,0,0,.2);
162
+ --shadow-interactive-hover:0 12px 40px rgba(0,0,0,.35);
163
+ --shadow-interactive-hover-subtle:0 12px 40px rgba(0,0,0,.3);
164
+ --shadow-interactive-active:0 4px 20px rgba(0,0,0,.3);
165
+ --surface-alpha-1:hsla(0deg,0%,100%,.05);
166
+ --surface-alpha-2:hsla(0deg,0%,100%,.1);
167
+ --surface-alpha-3:hsla(0deg,0%,100%,.15);
168
+ --hc-surface:rgba(20,10,30,.98);
169
+ --hc-surface-subtle:hsla(0deg,0%,100%,.15);
170
+ --hc-surface-input:hsla(0deg,0%,100%,.1);
171
+ --hc-border:hsla(0deg,0%,100%,.3);
172
+ --hc-border-subtle:hsla(0deg,0%,100%,.15);
173
+ --hc-border-strong:hsla(0deg,0%,100%,.5);
174
+ --hc-control-knob:#fff;
175
+ --overlay-backdrop:rgba(0,0,0,.5);
176
+ --overlay-backdrop-heavy:rgba(0,0,0,.9);
177
+ --data-purple:#8b5cf6;
178
+ --data-purple-light:#a78bfa;
179
+ --data-purple-glow:rgba(139,92,246,.4);
180
+ --data-yellow:#eab308;
181
+ --data-yellow-light:#facc15;
182
+ --data-yellow-glow:rgba(234,179,8,.4);
183
+ --data-pink:#ec4899;
184
+ --data-pink-light:#f472b6;
185
+ --data-pink-glow:rgba(236,72,153,.4);
186
+ --data-blue:#3b82f6;
187
+ --data-blue-light:#60a5fa;
188
+ --data-blue-glow:rgba(59,130,246,.4);
189
+ --social-linkedin:#0a66c2;
190
+ --social-linkedin-hover-bg:rgba(10,102,194,.2);
191
+ --fallback-surface:rgba(30,20,45,.98);
192
+ --fallback-backdrop:rgba(8,4,10,.95);
193
+ --marketing-urgency:rgba(255,170,0,.15);
194
+ --marketing-urgency-subtle:rgba(255,170,0,.08);
195
+ --marketing-success:rgba(0,255,136,.15);
196
+ --marketing-success-subtle:rgba(0,255,136,.08);
197
+ --marketing-negative:rgba(255,68,102,.15);
198
+ --marketing-negative-subtle:rgba(255,68,102,.08);
199
+ --btn-primary-bg:rgba(var(--accent-rgb),0.9);
200
+ --btn-primary-bg-hover:rgba(var(--accent-rgb),1);
201
+ --btn-primary-text:#fff;
202
+ --btn-primary-glow:0 0 30px rgba(var(--accent-rgb),0.3);
203
+ --btn-primary-glow-hover:0 0 40px rgba(var(--accent-rgb),0.4);
204
+ --btn-secondary-bg:hsla(0deg,0%,100%,.05);
205
+ --btn-secondary-bg-hover:hsla(0deg,0%,100%,.08);
206
+ --btn-destructive-text:#fff;
207
+ --illus-node-fill:hsla(0deg,0%,100%,.06);
208
+ --illus-node-border:hsla(0deg,0%,100%,.12);
209
+ --illus-node-active-fill:hsla(0deg,0%,100%,.1);
210
+ --illus-node-active-border:rgb(var(--accent-rgb));
211
+ --illus-connector-color:hsla(0deg,0%,100%,.08);
212
+ --illus-connector-active-color:hsla(0deg,0%,100%,.2);
213
+ --illus-particle-color:rgb(var(--accent-rgb));
214
+ --illus-particle-glow:rgba(var(--accent-rgb),0.4);
215
+ --illus-label-color:hsla(0deg,0%,100%,.5);
216
+ --illus-label-active-color:hsla(0deg,0%,100%,.9);
217
+ --illus-glow-color:rgba(var(--accent-rgb),0.15);
218
+ }
219
+ :root[data-theme=dark-contrast] {
220
+ --void-base:#08040a;
221
+ --void-base-rgb:8,4,10;
222
+ --void-grid-color:hsla(0deg,0%,100%,.06);
223
+ --text-primary:#fff;
224
+ --text-secondary:hsla(0deg,0%,100%,.9);
225
+ --text-tertiary:hsla(0deg,0%,100%,.75);
226
+ --text-disabled:hsla(0deg,0%,100%,.5);
227
+ --glass-base:hsla(0deg,0%,100%,.08);
228
+ --glass-base-hover:hsla(0deg,0%,100%,.12);
229
+ --glass-base-active:hsla(0deg,0%,100%,.16);
230
+ --glass-backdrop:blur(40px) saturate(100%) brightness(70%);
231
+ --glass-backdrop-light:blur(20px) saturate(100%) brightness(80%);
232
+ --glass-backdrop-heavy:blur(60px) saturate(100%) brightness(60%);
233
+ --glass-shadow-outer:0 20px 50px rgba(0,0,0,.5);
234
+ --glass-shadow-inner:inset 0 1px 1px hsla(0deg,0%,100%,.15);
235
+ --rim-light-top:hsla(0deg,0%,100%,.35);
236
+ --rim-light-bottom:hsla(0deg,0%,100%,.12);
237
+ --rim-light-hover-top:hsla(0deg,0%,100%,.45);
238
+ --rim-light-hover-bottom:hsla(0deg,0%,100%,.18);
239
+ --rim-light-active-top:hsla(0deg,0%,100%,.55);
240
+ --rim-light-active-bottom:hsla(0deg,0%,100%,.22);
241
+ --shadow-interactive-rest:0 8px 32px rgba(0,0,0,.4);
242
+ --shadow-interactive-rest-subtle:0 8px 32px rgba(0,0,0,.35);
243
+ --shadow-interactive-rest-light:0 8px 32px rgba(0,0,0,.3);
244
+ --shadow-interactive-hover:0 12px 40px rgba(0,0,0,.45);
245
+ --shadow-interactive-hover-subtle:0 12px 40px rgba(0,0,0,.4);
246
+ --shadow-interactive-active:0 4px 20px rgba(0,0,0,.4);
247
+ --surface-alpha-1:hsla(0deg,0%,100%,.05);
248
+ --surface-alpha-2:hsla(0deg,0%,100%,.1);
249
+ --surface-alpha-3:hsla(0deg,0%,100%,.15);
250
+ --hc-surface:rgba(20,10,30,.98);
251
+ --hc-surface-subtle:hsla(0deg,0%,100%,.15);
252
+ --hc-surface-input:hsla(0deg,0%,100%,.1);
253
+ --fallback-surface:rgba(30,20,45,.98);
254
+ --fallback-backdrop:rgba(8,4,10,.95);
255
+ --marketing-urgency:rgba(255,170,0,.25);
256
+ --marketing-urgency-subtle:rgba(255,170,0,.12);
257
+ --marketing-success:rgba(0,255,136,.25);
258
+ --marketing-success-subtle:rgba(0,255,136,.12);
259
+ --marketing-negative:rgba(255,68,102,.25);
260
+ --marketing-negative-subtle:rgba(255,68,102,.12);
261
+ --illus-node-fill:hsla(0deg,0%,100%,.1);
262
+ --illus-node-border:hsla(0deg,0%,100%,.25);
263
+ --illus-node-active-fill:hsla(0deg,0%,100%,.15);
264
+ --illus-node-active-border:rgb(var(--accent-rgb));
265
+ --illus-connector-color:hsla(0deg,0%,100%,.15);
266
+ --illus-connector-active-color:hsla(0deg,0%,100%,.35);
267
+ --illus-particle-color:rgb(var(--accent-rgb));
268
+ --illus-particle-glow:rgba(var(--accent-rgb),0.5);
269
+ --illus-label-color:hsla(0deg,0%,100%,.7);
270
+ --illus-label-active-color:#fff;
271
+ --illus-glow-color:rgba(var(--accent-rgb),0.2);
272
+ }
273
+ :root[data-theme=light] {
274
+ --void-base:#f4f5f7;
275
+ --void-base-rgb:244,245,247;
276
+ --void-grid-color:rgba(0,0,0,.04);
277
+ --text-primary:#171923;
278
+ --text-secondary:#4a5568;
279
+ --text-tertiary:#718096;
280
+ --text-disabled:#a0aec0;
281
+ --glass-base:hsla(0deg,0%,100%,.65);
282
+ --glass-base-hover:hsla(0deg,0%,100%,.75);
283
+ --glass-base-active:hsla(0deg,0%,100%,.85);
284
+ --glass-blur:24px;
285
+ --glass-saturate:180%;
286
+ --glass-brightness:110%;
287
+ --glass-backdrop:blur(var(--glass-blur)) saturate(var(--glass-saturate)) brightness(var(--glass-brightness));
288
+ --glass-backdrop-light:blur(16px) saturate(150%) brightness(105%);
289
+ --glass-backdrop-heavy:blur(40px) saturate(200%) brightness(100%);
290
+ --glass-shadow-outer:0 10px 30px rgba(0,0,0,.08);
291
+ --glass-shadow-inner:inset 0 1px 0px hsla(0deg,0%,100%,.8);
292
+ --glass-shadow-combined:var(--glass-shadow-outer),var(--glass-shadow-inner);
293
+ --glass-shadow-elevated:0 20px 40px rgba(0,0,0,.1);
294
+ --glass-shadow-elevated-combined:var(--glass-shadow-elevated),var(--glass-shadow-inner);
295
+ --glass-highlight-subtle:hsla(0deg,0%,100%,.4);
296
+ --glass-highlight-light:hsla(0deg,0%,100%,.5);
297
+ --glass-highlight-medium:hsla(0deg,0%,100%,.6);
298
+ --glass-highlight-strong:hsla(0deg,0%,100%,.7);
299
+ --glass-highlight-bright:hsla(0deg,0%,100%,.8);
300
+ --glass-knob-start:#fff;
301
+ --glass-knob-end:hsla(0deg,0%,100%,.95);
302
+ --outline-rim-top:rgba(0,0,0,.08);
303
+ --outline-rim-bottom:rgba(0,0,0,.03);
304
+ --interactive-hover-bg:rgba(0,0,0,.04);
305
+ --interactive-active-bg:rgba(0,0,0,.07);
306
+ --rim-light-top:hsla(0deg,0%,100%,.9);
307
+ --rim-light-bottom:hsla(0deg,0%,100%,.4);
308
+ --rim-light-hover-top:#fff;
309
+ --rim-light-hover-bottom:hsla(0deg,0%,100%,.6);
310
+ --rim-light-active-top:#fff;
311
+ --rim-light-active-bottom:hsla(0deg,0%,100%,.8);
312
+ --shadow-xs:0 1px 2px rgba(0,0,0,.06);
313
+ --shadow-sm:0 2px 8px rgba(0,0,0,.08);
314
+ --shadow-md:0 4px 20px rgba(0,0,0,.08);
315
+ --shadow-lg:0 8px 32px rgba(0,0,0,.1);
316
+ --shadow-xl:0 12px 48px rgba(0,0,0,.12);
317
+ --shadow-inset-xs:inset 0 1px 1px rgba(0,0,0,.04);
318
+ --shadow-inset-sm:inset 0 1px 2px rgba(0,0,0,.06);
319
+ --shadow-inset-border-subtle:inset 0 0 0 1px rgba(0,0,0,.06);
320
+ --shadow-inset-border-error:inset 0 0 0 1px rgba(0,0,0,.05);
321
+ --shadow-interactive-rest:0 8px 32px rgba(0,0,0,.12);
322
+ --shadow-interactive-rest-subtle:0 8px 32px rgba(0,0,0,.1);
323
+ --shadow-interactive-rest-light:0 8px 32px rgba(0,0,0,.08);
324
+ --shadow-interactive-hover:0 12px 40px rgba(0,0,0,.15);
325
+ --shadow-interactive-hover-subtle:0 12px 40px rgba(0,0,0,.12);
326
+ --shadow-interactive-active:0 4px 20px rgba(0,0,0,.1);
327
+ --surface-alpha-1:rgba(0,0,0,.03);
328
+ --surface-alpha-2:rgba(0,0,0,.06);
329
+ --surface-alpha-3:rgba(0,0,0,.09);
330
+ --hc-surface:hsla(0deg,0%,100%,.98);
331
+ --hc-surface-subtle:rgba(0,0,0,.06);
332
+ --hc-surface-input:rgba(0,0,0,.05);
333
+ --hc-border:rgba(0,0,0,.25);
334
+ --hc-border-subtle:rgba(0,0,0,.12);
335
+ --hc-border-strong:rgba(0,0,0,.4);
336
+ --hc-control-knob:#fff;
337
+ --overlay-backdrop:rgba(0,0,0,.4);
338
+ --overlay-backdrop-heavy:rgba(0,0,0,.8);
339
+ --data-purple:#7c3aed;
340
+ --data-purple-light:#8b5cf6;
341
+ --data-purple-glow:rgba(124,58,237,.25);
342
+ --data-yellow:#ca8a04;
343
+ --data-yellow-light:#eab308;
344
+ --data-yellow-glow:rgba(202,138,4,.25);
345
+ --data-pink:#db2777;
346
+ --data-pink-light:#ec4899;
347
+ --data-pink-glow:rgba(219,39,119,.25);
348
+ --data-blue:#2563eb;
349
+ --data-blue-light:#3b82f6;
350
+ --data-blue-glow:rgba(37,99,235,.25);
351
+ --social-linkedin:#0a66c2;
352
+ --social-linkedin-hover-bg:rgba(10,102,194,.15);
353
+ --fallback-surface:rgba(240,241,243,.98);
354
+ --fallback-backdrop:rgba(0,0,0,.5);
355
+ --marketing-urgency:rgba(200,130,0,.12);
356
+ --marketing-urgency-subtle:rgba(200,130,0,.06);
357
+ --marketing-success:rgba(0,160,80,.12);
358
+ --marketing-success-subtle:rgba(0,160,80,.06);
359
+ --marketing-negative:rgba(200,40,70,.12);
360
+ --marketing-negative-subtle:rgba(200,40,70,.06);
361
+ --btn-primary-bg:rgba(var(--accent-rgb),0.85);
362
+ --btn-primary-bg-hover:rgba(var(--accent-rgb),0.95);
363
+ --btn-primary-text:#fff;
364
+ --btn-primary-glow:0 0 12px rgba(var(--accent-rgb),0.1);
365
+ --btn-primary-glow-hover:0 0 16px rgba(var(--accent-rgb),0.15);
366
+ --btn-secondary-bg:rgba(0,0,0,.05);
367
+ --btn-secondary-bg-hover:rgba(0,0,0,.08);
368
+ --btn-destructive-text:#fff;
369
+ --illus-node-fill:rgba(0,0,0,.04);
370
+ --illus-node-border:rgba(0,0,0,.1);
371
+ --illus-node-active-fill:rgba(0,0,0,.06);
372
+ --illus-node-active-border:rgb(var(--accent-rgb));
373
+ --illus-connector-color:rgba(0,0,0,.08);
374
+ --illus-connector-active-color:rgba(0,0,0,.2);
375
+ --illus-particle-color:rgb(var(--accent-rgb));
376
+ --illus-particle-glow:rgba(var(--accent-rgb),0.3);
377
+ --illus-label-color:rgba(0,0,0,.45);
378
+ --illus-label-active-color:rgba(0,0,0,.85);
379
+ --illus-glow-color:rgba(var(--accent-rgb),0.1);
380
+ }
381
+ :root[data-theme=light-contrast] {
382
+ --void-base:#fff;
383
+ --void-base-rgb:255,255,255;
384
+ --void-grid-color:rgba(0,0,0,.08);
385
+ --text-primary:#000;
386
+ --text-secondary:#1a1a1a;
387
+ --text-tertiary:#404040;
388
+ --text-disabled:grey;
389
+ --glass-base:hsla(0deg,0%,100%,.9);
390
+ --glass-base-hover:hsla(0deg,0%,100%,.95);
391
+ --glass-base-active:#fff;
392
+ --glass-blur:16px;
393
+ --glass-saturate:100%;
394
+ --glass-brightness:100%;
395
+ --glass-backdrop:blur(var(--glass-blur)) saturate(var(--glass-saturate)) brightness(var(--glass-brightness));
396
+ --glass-shadow-outer:0 8px 24px rgba(0,0,0,.1);
397
+ --glass-shadow-inner:inset 0 1px 0px #fff;
398
+ --glass-shadow-combined:var(--glass-shadow-outer),var(--glass-shadow-inner);
399
+ --glass-shadow-elevated:0 16px 32px rgba(0,0,0,.12);
400
+ --glass-shadow-elevated-combined:var(--glass-shadow-elevated),var(--glass-shadow-inner);
401
+ --rim-light-top:rgba(0,0,0,.08);
402
+ --rim-light-bottom:rgba(0,0,0,.02);
403
+ --rim-light-hover-top:rgba(0,0,0,.12);
404
+ --rim-light-hover-bottom:rgba(0,0,0,.04);
405
+ --shadow-interactive-rest:0 8px 32px rgba(0,0,0,.18);
406
+ --shadow-interactive-rest-subtle:0 8px 32px rgba(0,0,0,.15);
407
+ --shadow-interactive-rest-light:0 8px 32px rgba(0,0,0,.12);
408
+ --shadow-interactive-hover:0 12px 40px rgba(0,0,0,.22);
409
+ --shadow-interactive-hover-subtle:0 12px 40px rgba(0,0,0,.18);
410
+ --shadow-interactive-active:0 4px 20px rgba(0,0,0,.15);
411
+ --surface-alpha-1:rgba(0,0,0,.05);
412
+ --surface-alpha-2:rgba(0,0,0,.08);
413
+ --surface-alpha-3:rgba(0,0,0,.12);
414
+ --hc-surface:#fff;
415
+ --hc-surface-subtle:rgba(0,0,0,.08);
416
+ --hc-surface-input:rgba(0,0,0,.06);
417
+ --fallback-surface:#fafafa;
418
+ --fallback-backdrop:rgba(0,0,0,.6);
419
+ --marketing-urgency:rgba(180,110,0,.15);
420
+ --marketing-urgency-subtle:rgba(180,110,0,.08);
421
+ --marketing-success:rgba(0,140,70,.15);
422
+ --marketing-success-subtle:rgba(0,140,70,.08);
423
+ --marketing-negative:rgba(180,30,60,.15);
424
+ --marketing-negative-subtle:rgba(180,30,60,.08);
425
+ --illus-node-fill:rgba(0,0,0,.06);
426
+ --illus-node-border:rgba(0,0,0,.2);
427
+ --illus-node-active-fill:rgba(0,0,0,.08);
428
+ --illus-node-active-border:rgb(var(--accent-rgb));
429
+ --illus-connector-color:rgba(0,0,0,.15);
430
+ --illus-connector-active-color:rgba(0,0,0,.35);
431
+ --illus-particle-color:rgb(var(--accent-rgb));
432
+ --illus-particle-glow:rgba(var(--accent-rgb),0.4);
433
+ --illus-label-color:rgba(0,0,0,.6);
434
+ --illus-label-active-color:#000;
435
+ --illus-glow-color:rgba(var(--accent-rgb),0.15);
436
+ }
437
+ :root,
438
+ :root[data-brand=default] {
439
+ --accent-rgb:249,115,22;
440
+ --accent-secondary-rgb:139,92,246;
441
+ --void-orb-pink:#f97316;
442
+ --void-orb-pink-rgb:249,115,22;
443
+ --void-orb-yellow:#8b5cf6;
444
+ --void-orb-yellow-rgb:139,92,246;
445
+ --void-orb-purple:#431407;
446
+ --void-orb-purple-rgb:67,20,7;
447
+ --brand-pink:#f97316;
448
+ --brand-pink-rgb:249,115,22;
449
+ --brand-pink-bright:#fb923c;
450
+ --brand-pink-glow:rgba(249,115,22,.4);
451
+ --brand-yellow:#8b5cf6;
452
+ --brand-yellow-rgb:139,92,246;
453
+ --status-success:#0f8;
454
+ --status-success-rgb:0,255,136;
455
+ --status-warning:#fa0;
456
+ --status-warning-rgb:255,170,0;
457
+ --status-error:#f46;
458
+ --status-error-rgb:255,68,102;
459
+ --status-info:#0af;
460
+ --status-info-rgb:0,170,255;
461
+ --focus-ring-color:rgba(var(--accent-rgb),0.5);
462
+ --focus-ring:0 0 0 2px var(--void-base),0 0 0 4px var(--focus-ring-color);
463
+ }
464
+ :root[data-brand=custom],
465
+ [data-brand=custom] {
466
+ --accent-rgb:var(--custom-accent-rgb,255,45,138);
467
+ --accent-secondary-rgb:var(--custom-accent2-rgb,255,208,0);
468
+ --accent-fg-rgb:var(--custom-accent-fg-rgb,255,255,255);
469
+ --btn-primary-text:rgb(var(--accent-fg-rgb));
470
+ --void-orb-pink:rgb(var(--accent-rgb));
471
+ --void-orb-pink-rgb:var(--accent-rgb);
472
+ --void-orb-yellow:rgb(var(--accent2-rgb));
473
+ --void-orb-yellow-rgb:var(--accent2-rgb);
474
+ --void-orb-purple:#4a1a6b;
475
+ --void-orb-purple-rgb:74,26,107;
476
+ --brand-pink:rgb(var(--accent-rgb));
477
+ --brand-pink-rgb:var(--accent-rgb);
478
+ --brand-pink-bright:rgb(var(--accent-rgb));
479
+ --brand-pink-glow:rgba(var(--accent-rgb),0.4);
480
+ --brand-yellow:rgb(var(--accent2-rgb));
481
+ --brand-yellow-rgb:var(--accent2-rgb);
482
+ --focus-ring-color:rgba(var(--accent-rgb),0.5);
483
+ }
484
+ :root[data-brand=salesmind] {
485
+ --accent-rgb:255,0,90;
486
+ --accent-secondary-rgb:255,194,0;
487
+ --void-orb-pink:#ff005a;
488
+ --void-orb-pink-rgb:255,0,90;
489
+ --void-orb-yellow:#ffc200;
490
+ --void-orb-yellow-rgb:255,194,0;
491
+ --void-orb-purple:#7b0035;
492
+ --void-orb-purple-rgb:123,0,53;
493
+ --brand-pink:#ff005a;
494
+ --brand-pink-rgb:255,0,90;
495
+ --brand-pink-bright:#ff3d7f;
496
+ --brand-pink-glow:rgba(255,0,90,.4);
497
+ --brand-yellow:#ffc200;
498
+ --brand-yellow-rgb:255,194,0;
499
+ --brand-dark:#7b0035;
500
+ --brand-dark-rgb:123,0,53;
501
+ --brand-orange:#ff9800;
502
+ --brand-orange-rgb:255,152,0;
503
+ --brand-red:#c30826;
504
+ --brand-red-rgb:195,8,38;
505
+ --status-success:#0f8;
506
+ --status-success-rgb:0,255,136;
507
+ --status-warning:#fa0;
508
+ --status-warning-rgb:255,170,0;
509
+ --status-error:#f46;
510
+ --status-error-rgb:255,68,102;
511
+ --status-info:#0af;
512
+ --status-info-rgb:0,170,255;
513
+ --focus-ring-color:rgba(var(--accent-rgb),0.5);
514
+ --focus-ring:0 0 0 2px var(--void-base),0 0 0 4px var(--focus-ring-color);
515
+ }
516
+ :root,
517
+ :root[data-density=comfortable] {
518
+ --density-multiplier:1;
519
+ }
520
+ :root[data-density=compact] {
521
+ --density-multiplier:0.75;
522
+ }
523
+ :root,
524
+ :root[data-radius=playful] {
525
+ --radius-scale:1;
526
+ }
527
+ :root[data-radius=sharp] {
528
+ --radius-scale:0.25;
529
+ }
530
+ :root {
531
+ --glass-base:hsla(0deg,0%,100%,.08);
532
+ --rim-light-top:hsla(0deg,0%,100%,.25);
533
+ --rim-light-bottom:hsla(0deg,0%,100%,.1);
534
+ }
535
+ :root {
536
+ --transition-fast:0ms;
537
+ --transition-base:0ms;
538
+ --transition-slow:0ms;
539
+ --transition-glass:0ms;
540
+ --illus-cycle-duration:0ms;
541
+ --illus-cycle-pulse-duration:0ms;
542
+ --illus-cycle-particle-duration:0ms;
543
+ --illus-cycle-stagger:0ms;
544
+ }
545
+ :root {
546
+ --density-multiplier:0.75;
547
+ --radius-scale:0.75;
548
+ --void-float-distance:16px;
549
+ }
550
+ :root {
551
+ --density-multiplier:0.9;
552
+ --void-float-distance:20px;
553
+ }
554
+ :root {
555
+ --void-float-distance:32px;
556
+ }
557
+ @media (prefers-contrast:more) {
558
+ :root {
559
+ --glass-base:hsla(0deg,0%,100%,.08);
560
+ --rim-light-top:hsla(0deg,0%,100%,.25);
561
+ --rim-light-bottom:hsla(0deg,0%,100%,.1) ;
562
+ }
563
+ }
564
+ @media (prefers-reduced-motion:reduce) {
565
+ :root {
566
+ --transition-fast:0ms;
567
+ --transition-base:0ms;
568
+ --transition-slow:0ms;
569
+ --transition-glass:0ms;
570
+ --illus-cycle-duration:0ms;
571
+ --illus-cycle-pulse-duration:0ms;
572
+ --illus-cycle-particle-duration:0ms;
573
+ --illus-cycle-stagger:0ms ;
574
+ }
575
+ }
576
+ @media (max-width:767px) {
577
+ :root {
578
+ --density-multiplier:0.75;
579
+ --radius-scale:0.75;
580
+ --void-float-distance:16px ;
581
+ }
582
+ }
583
+ @media (min-width:768px) and (max-width:1024px) {
584
+ :root {
585
+ --density-multiplier:0.9;
586
+ --void-float-distance:20px ;
587
+ }
588
+ }
589
+ @media (min-width:1441px) {
590
+ :root {
591
+ --void-float-distance:32px ;
592
+ }
593
+ }
594
+
595
+ /* src/v2-auth/glass.css */
596
+ .glass {
597
+ background: var(--glass-base);
598
+ backdrop-filter: var(--glass-backdrop);
599
+ -webkit-backdrop-filter: var(--glass-backdrop);
600
+ border: 1px solid transparent;
601
+ background-clip: padding-box;
602
+ box-shadow: var(--glass-shadow-combined);
603
+ border-radius: var(--radius-panel);
604
+ transition:
605
+ background var(--transition-glass),
606
+ box-shadow var(--transition-glass),
607
+ border-color var(--transition-glass),
608
+ transform var(--transition-glass);
609
+ }
610
+ .glass::before {
611
+ content: "";
612
+ position: absolute;
613
+ inset: 0;
614
+ border-radius: inherit;
615
+ padding: var(--space-px);
616
+ background:
617
+ linear-gradient(
618
+ 180deg,
619
+ var(--rim-light-top) 0%,
620
+ var(--rim-light-bottom) 100%);
621
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
622
+ mask-composite: exclude;
623
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
624
+ -webkit-mask-composite: xor;
625
+ pointer-events: none;
626
+ z-index: 1;
627
+ }
628
+ .glass:hover {
629
+ background: var(--glass-base-hover);
630
+ }
631
+ .glass:hover::before {
632
+ background:
633
+ linear-gradient(
634
+ 180deg,
635
+ var(--rim-light-hover-top) 0%,
636
+ var(--rim-light-hover-bottom) 100%);
637
+ }
638
+ .glass:active {
639
+ background: var(--glass-base-active);
640
+ }
641
+ .glass:active::before {
642
+ background:
643
+ linear-gradient(
644
+ 180deg,
645
+ var(--rim-light-active-top) 0%,
646
+ var(--rim-light-active-bottom) 100%);
647
+ }
648
+ .glass--card {
649
+ border-radius: var(--radius-card);
650
+ }
651
+ .glass--button {
652
+ border-radius: var(--radius-button);
653
+ }
654
+ .glass--badge {
655
+ border-radius: var(--radius-badge);
656
+ }
657
+ .glass--pill {
658
+ border-radius: var(--radius-pill);
659
+ }
660
+ .glass--elevated {
661
+ box-shadow: var(--glass-shadow-elevated-combined);
662
+ }
663
+ .glass--elevated::before {
664
+ background:
665
+ linear-gradient(
666
+ 180deg,
667
+ var(--rim-light-hover-top) 0%,
668
+ var(--rim-light-top) 100%);
669
+ }
670
+ .glass--light {
671
+ backdrop-filter: var(--glass-backdrop-light);
672
+ -webkit-backdrop-filter: var(--glass-backdrop-light);
673
+ }
674
+ .glass--heavy {
675
+ backdrop-filter: var(--glass-backdrop-heavy);
676
+ -webkit-backdrop-filter: var(--glass-backdrop-heavy);
677
+ }
678
+ .glass--primary {
679
+ background: var(--btn-primary-bg);
680
+ box-shadow:
681
+ var(--glass-shadow-outer),
682
+ var(--glass-shadow-inner),
683
+ var(--btn-primary-glow);
684
+ }
685
+ .glass--primary:hover {
686
+ background: var(--btn-primary-bg-hover);
687
+ box-shadow:
688
+ var(--glass-shadow-outer),
689
+ var(--glass-shadow-inner),
690
+ var(--btn-primary-glow-hover);
691
+ }
692
+ .glass--primary::before {
693
+ background:
694
+ linear-gradient(
695
+ 180deg,
696
+ rgba(255, 255, 255, 0.2) 0%,
697
+ rgba(var(--brand-pink-rgb), 0.3) 100%);
698
+ }
699
+ .glass--secondary {
700
+ background: var(--btn-secondary-bg);
701
+ }
702
+ .glass--secondary:hover {
703
+ background: var(--btn-secondary-bg-hover);
704
+ }
705
+ .glass--success {
706
+ background: rgba(var(--status-success-rgb), 0.1);
707
+ }
708
+ .glass--success::before {
709
+ background:
710
+ linear-gradient(
711
+ 180deg,
712
+ rgba(var(--status-success-rgb), 0.3) 0%,
713
+ rgba(var(--status-success-rgb), 0.1) 100%);
714
+ }
715
+ .glass--warning {
716
+ background: rgba(var(--status-warning-rgb), 0.1);
717
+ }
718
+ .glass--warning::before {
719
+ background:
720
+ linear-gradient(
721
+ 180deg,
722
+ rgba(var(--status-warning-rgb), 0.3) 0%,
723
+ rgba(var(--status-warning-rgb), 0.1) 100%);
724
+ }
725
+ .glass--error {
726
+ background: rgba(var(--status-error-rgb), 0.1);
727
+ }
728
+ .glass--error::before {
729
+ background:
730
+ linear-gradient(
731
+ 180deg,
732
+ rgba(var(--status-error-rgb), 0.3) 0%,
733
+ rgba(var(--status-error-rgb), 0.1) 100%);
734
+ }
735
+ .glass--info {
736
+ background: rgba(var(--status-info-rgb), 0.1);
737
+ }
738
+ .glass--info::before {
739
+ background:
740
+ linear-gradient(
741
+ 180deg,
742
+ rgba(var(--status-info-rgb), 0.3) 0%,
743
+ rgba(var(--status-info-rgb), 0.1) 100%);
744
+ }
745
+ .glass-panel {
746
+ position: relative;
747
+ background: var(--glass-base);
748
+ backdrop-filter: var(--glass-backdrop);
749
+ -webkit-backdrop-filter: var(--glass-backdrop);
750
+ border-radius: var(--radius-panel);
751
+ box-shadow: var(--glass-shadow-combined);
752
+ padding: var(--space-6);
753
+ z-index: var(--z-glass-panel);
754
+ }
755
+ .glass-panel::before {
756
+ content: "";
757
+ position: absolute;
758
+ inset: 0;
759
+ border-radius: inherit;
760
+ padding: var(--space-px);
761
+ background:
762
+ linear-gradient(
763
+ 180deg,
764
+ var(--rim-light-top) 0%,
765
+ var(--rim-light-bottom) 100%);
766
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
767
+ mask-composite: exclude;
768
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
769
+ -webkit-mask-composite: xor;
770
+ pointer-events: none;
771
+ }
772
+ .glass-ornament {
773
+ position: relative;
774
+ background: var(--glass-base-hover);
775
+ backdrop-filter: var(--glass-backdrop);
776
+ -webkit-backdrop-filter: var(--glass-backdrop);
777
+ border-radius: var(--radius-card);
778
+ box-shadow: var(--glass-shadow-elevated-combined);
779
+ padding: var(--space-4);
780
+ z-index: var(--z-ornament);
781
+ }
782
+ .glass-ornament::before {
783
+ content: "";
784
+ position: absolute;
785
+ inset: 0;
786
+ border-radius: inherit;
787
+ padding: var(--space-px);
788
+ background:
789
+ linear-gradient(
790
+ 180deg,
791
+ var(--rim-light-hover-top) 0%,
792
+ var(--rim-light-top) 100%);
793
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
794
+ mask-composite: exclude;
795
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
796
+ -webkit-mask-composite: xor;
797
+ pointer-events: none;
798
+ }
799
+ @media (prefers-contrast: more) {
800
+ .glass,
801
+ .glass-panel,
802
+ .glass-ornament {
803
+ background: var(--hc-surface-input);
804
+ border: 1px solid var(--hc-border);
805
+ }
806
+ .glass::before,
807
+ .glass-panel::before,
808
+ .glass-ornament::before {
809
+ display: none;
810
+ }
811
+ }
812
+ @supports not (backdrop-filter: blur(1px)) {
813
+ .glass,
814
+ .glass-panel,
815
+ .glass-ornament {
816
+ background: var(--fallback-surface);
817
+ }
818
+ }
819
+
820
+ /* src/v2-auth/helpers.css */
821
+ .ds-login,
822
+ .ds-signup,
823
+ .ds-forgot,
824
+ .ds-change-email {
825
+ --void-grid-size: 80px;
826
+ }
827
+ .ds-login,
828
+ .ds-login *,
829
+ .ds-login *::before,
830
+ .ds-login *::after,
831
+ .ds-signup,
832
+ .ds-signup *,
833
+ .ds-signup *::before,
834
+ .ds-signup *::after,
835
+ .ds-forgot,
836
+ .ds-forgot *,
837
+ .ds-forgot *::before,
838
+ .ds-forgot *::after,
839
+ .ds-change-email,
840
+ .ds-change-email *,
841
+ .ds-change-email *::before,
842
+ .ds-change-email *::after {
843
+ box-sizing: border-box;
844
+ }
845
+ .ds-login__logo svg,
846
+ .ds-signup__logo svg,
847
+ .ds-forgot__logo svg,
848
+ .ds-change-email__logo svg {
849
+ height: 40px;
850
+ width: auto;
851
+ display: block;
852
+ }
853
+ .ds-login input:-webkit-autofill,
854
+ .ds-login input:-webkit-autofill:hover,
855
+ .ds-login input:-webkit-autofill:focus,
856
+ .ds-login input:-webkit-autofill:active,
857
+ .ds-signup input:-webkit-autofill,
858
+ .ds-signup input:-webkit-autofill:hover,
859
+ .ds-signup input:-webkit-autofill:focus,
860
+ .ds-signup input:-webkit-autofill:active,
861
+ .ds-forgot input:-webkit-autofill,
862
+ .ds-forgot input:-webkit-autofill:hover,
863
+ .ds-forgot input:-webkit-autofill:focus,
864
+ .ds-forgot input:-webkit-autofill:active,
865
+ .ds-change-email input:-webkit-autofill,
866
+ .ds-change-email input:-webkit-autofill:hover,
867
+ .ds-change-email input:-webkit-autofill:focus,
868
+ .ds-change-email input:-webkit-autofill:active {
869
+ -webkit-text-fill-color: var(--text-primary) !important;
870
+ caret-color: var(--text-primary);
871
+ -webkit-box-shadow: 0 0 0 1000px var(--glass-base-active, var(--glass-base)) inset !important;
872
+ box-shadow: 0 0 0 1000px var(--glass-base-active, var(--glass-base)) inset !important;
873
+ transition: background-color 100000s ease-in-out 0s;
874
+ }
875
+
876
+ /* src/v2-auth/index.css */
877
+
878
+ /* src/v2-auth/Button/Button.css */
879
+ .ds-button {
880
+ position: relative;
881
+ display: inline-flex;
882
+ align-items: center;
883
+ justify-content: center;
884
+ gap: var(--space-2);
885
+ border: none;
886
+ cursor: pointer;
887
+ font-family: var(--font-family);
888
+ font-weight: var(--font-weight-medium);
889
+ border-radius: var(--radius-button);
890
+ color: var(--text-primary);
891
+ outline: none;
892
+ white-space: nowrap;
893
+ hyphens: none;
894
+ word-break: normal;
895
+ overflow-wrap: normal;
896
+ backdrop-filter: blur(12px) saturate(140%);
897
+ -webkit-backdrop-filter: blur(12px) saturate(140%);
898
+ transition:
899
+ background var(--transition-glass),
900
+ box-shadow var(--transition-glass),
901
+ transform var(--transition-glass);
902
+ }
903
+ .ds-button::before {
904
+ content: "";
905
+ position: absolute;
906
+ inset: 0;
907
+ border-radius: inherit;
908
+ padding: var(--space-px);
909
+ background:
910
+ linear-gradient(
911
+ 180deg,
912
+ var(--rim-light-top) 0,
913
+ var(--rim-light-bottom) 100%);
914
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
915
+ mask-composite: exclude;
916
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
917
+ -webkit-mask-composite: xor;
918
+ pointer-events: none;
919
+ transition: background var(--transition-glass);
920
+ }
921
+ .ds-button:focus-visible {
922
+ box-shadow: var(--focus-ring);
923
+ }
924
+ .ds-button:disabled {
925
+ opacity: .4;
926
+ cursor: not-allowed;
927
+ transform: none !important;
928
+ }
929
+ .ds-button--primary {
930
+ background: var(--btn-primary-bg);
931
+ color: var(--btn-primary-text,#fff);
932
+ box-shadow:
933
+ var(--shadow-interactive-rest),
934
+ var(--glass-shadow-inner),
935
+ var(--btn-primary-glow);
936
+ backdrop-filter: none;
937
+ -webkit-backdrop-filter: none;
938
+ }
939
+ .ds-button--primary::before {
940
+ background:
941
+ linear-gradient(
942
+ 180deg,
943
+ var(--glass-highlight-strong) 0,
944
+ rgba(var(--brand-pink-rgb), .2) 100%);
945
+ }
946
+ .ds-button--primary:hover:not(:disabled) {
947
+ background: var(--btn-primary-bg-hover);
948
+ box-shadow:
949
+ var(--shadow-interactive-hover),
950
+ var(--glass-shadow-inner),
951
+ var(--btn-primary-glow-hover);
952
+ transform: translateY(-1px);
953
+ }
954
+ .ds-button--primary:hover:not(:disabled)::before {
955
+ background:
956
+ linear-gradient(
957
+ 180deg,
958
+ var(--glass-highlight-bright) 0,
959
+ rgba(var(--brand-pink-rgb), .25) 100%);
960
+ }
961
+ .ds-button--primary:active:not(:disabled) {
962
+ transform: translateY(0);
963
+ box-shadow:
964
+ var(--shadow-interactive-active),
965
+ var(--glass-shadow-inner),
966
+ var(--btn-primary-glow);
967
+ }
968
+ .ds-button--secondary {
969
+ background: var(--btn-secondary-bg);
970
+ box-shadow: var(--shadow-interactive-rest-subtle), var(--glass-shadow-inner);
971
+ }
972
+ .ds-button--secondary:hover:not(:disabled) {
973
+ background: var(--btn-secondary-bg-hover);
974
+ box-shadow: var(--shadow-interactive-hover-subtle), var(--glass-shadow-inner);
975
+ transform: translateY(-1px);
976
+ }
977
+ .ds-button--secondary:hover:not(:disabled)::before {
978
+ background:
979
+ linear-gradient(
980
+ 180deg,
981
+ var(--rim-light-hover-top) 0,
982
+ var(--rim-light-hover-bottom) 100%);
983
+ }
984
+ .ds-button--secondary:active:not(:disabled) {
985
+ transform: translateY(0);
986
+ background: var(--glass-base-active);
987
+ }
988
+ .ds-button--outline {
989
+ background: transparent;
990
+ box-shadow: none;
991
+ backdrop-filter: none;
992
+ -webkit-backdrop-filter: none;
993
+ color: var(--text-secondary);
994
+ transition:
995
+ background var(--transition-glass),
996
+ color var(--transition-glass),
997
+ box-shadow var(--transition-glass),
998
+ transform var(--transition-glass);
999
+ }
1000
+ .ds-button--outline::before {
1001
+ background:
1002
+ linear-gradient(
1003
+ 180deg,
1004
+ var(--outline-rim-top) 0,
1005
+ var(--outline-rim-bottom) 100%);
1006
+ }
1007
+ .ds-button--outline:hover:not(:disabled) {
1008
+ background: rgba(var(--brand-pink-rgb), .05);
1009
+ color: var(--text-primary);
1010
+ backdrop-filter: blur(12px) saturate(140%);
1011
+ -webkit-backdrop-filter: blur(12px) saturate(140%);
1012
+ box-shadow:
1013
+ var(--shadow-interactive-rest-light),
1014
+ var(--glass-shadow-inner),
1015
+ 0 0 16px rgba(var(--brand-pink-rgb), .1);
1016
+ transform: translateY(-1px);
1017
+ }
1018
+ .ds-button--outline:hover:not(:disabled)::before {
1019
+ background:
1020
+ linear-gradient(
1021
+ 180deg,
1022
+ rgba(var(--brand-pink-rgb), .3) 0,
1023
+ rgba(var(--brand-pink-rgb), .1) 100%);
1024
+ }
1025
+ .ds-button--outline:active:not(:disabled) {
1026
+ transform: translateY(0);
1027
+ background: rgba(var(--brand-pink-rgb), .1);
1028
+ }
1029
+ .ds-button--ghost {
1030
+ background: transparent;
1031
+ box-shadow: none;
1032
+ backdrop-filter: none;
1033
+ -webkit-backdrop-filter: none;
1034
+ color: var(--text-secondary);
1035
+ }
1036
+ .ds-button--ghost::before {
1037
+ display: none;
1038
+ }
1039
+ .ds-button--ghost:hover:not(:disabled) {
1040
+ background: var(--interactive-hover-bg);
1041
+ color: var(--text-primary);
1042
+ }
1043
+ .ds-button--ghost:active:not(:disabled) {
1044
+ background: var(--interactive-active-bg);
1045
+ }
1046
+ .ds-button--link {
1047
+ background: transparent;
1048
+ box-shadow: none;
1049
+ backdrop-filter: none;
1050
+ -webkit-backdrop-filter: none;
1051
+ color: var(--brand-pink);
1052
+ text-underline-offset: 4px;
1053
+ height: auto;
1054
+ padding: 0;
1055
+ }
1056
+ .ds-button--link::before {
1057
+ display: none;
1058
+ }
1059
+ .ds-button--link:hover:not(:disabled) {
1060
+ text-decoration: underline;
1061
+ }
1062
+ .ds-button--link:active:not(:disabled) {
1063
+ opacity: .8;
1064
+ }
1065
+ .ds-button--destructive {
1066
+ background: var(--btn-destructive-bg,rgba(var(--status-error-rgb,239,68,68),.6));
1067
+ color: var(--btn-destructive-text,#fff);
1068
+ box-shadow:
1069
+ var(--shadow-interactive-rest),
1070
+ var(--glass-shadow-inner),
1071
+ 0 0 20px rgba(var(--status-error-rgb,239,68,68), .15);
1072
+ backdrop-filter: none;
1073
+ -webkit-backdrop-filter: none;
1074
+ }
1075
+ .ds-button--destructive::before {
1076
+ background:
1077
+ linear-gradient(
1078
+ 180deg,
1079
+ var(--glass-highlight-medium) 0,
1080
+ rgba(var(--status-error-rgb,239,68,68), .15) 100%);
1081
+ }
1082
+ .ds-button--destructive:hover:not(:disabled) {
1083
+ background: var(--btn-destructive-bg-hover,rgba(var(--status-error-rgb,239,68,68),.75));
1084
+ box-shadow:
1085
+ var(--shadow-interactive-hover),
1086
+ var(--glass-shadow-inner),
1087
+ 0 0 24px rgba(var(--status-error-rgb,239,68,68), .25);
1088
+ transform: translateY(-1px);
1089
+ }
1090
+ .ds-button--destructive:hover:not(:disabled)::before {
1091
+ background:
1092
+ linear-gradient(
1093
+ 180deg,
1094
+ var(--glass-highlight-strong) 0,
1095
+ rgba(var(--status-error-rgb,239,68,68), .2) 100%);
1096
+ }
1097
+ .ds-button--destructive:active:not(:disabled) {
1098
+ transform: translateY(0);
1099
+ background: var(--btn-destructive-bg-active,rgba(var(--status-error-rgb,239,68,68),.85));
1100
+ }
1101
+ .ds-button--sm {
1102
+ font-size: var(--font-size-sm);
1103
+ padding: var(--space-2) var(--space-4);
1104
+ height: 2rem;
1105
+ }
1106
+ .ds-button--md {
1107
+ font-size: var(--font-size-base);
1108
+ padding: var(--space-2) var(--space-5);
1109
+ height: 2.5rem;
1110
+ }
1111
+ .ds-button--lg {
1112
+ font-size: var(--font-size-lg);
1113
+ padding: var(--space-3) var(--space-6);
1114
+ height: 3rem;
1115
+ }
1116
+ .ds-button--icon {
1117
+ padding: 0;
1118
+ aspect-ratio: 1;
1119
+ }
1120
+ .ds-button--icon.ds-button--sm {
1121
+ width: 2rem;
1122
+ }
1123
+ .ds-button--icon.ds-button--md {
1124
+ width: 2.5rem;
1125
+ }
1126
+ .ds-button--icon.ds-button--lg {
1127
+ width: 3rem;
1128
+ }
1129
+ @media (prefers-contrast:more) {
1130
+ .ds-button {
1131
+ border: 1px solid var(--hc-border);
1132
+ }
1133
+ .ds-button::before {
1134
+ display: none;
1135
+ }
1136
+ .ds-button--primary {
1137
+ background: rgba(var(--brand-pink-rgb), .8);
1138
+ }
1139
+ .ds-button--secondary {
1140
+ background: var(--hc-surface-subtle);
1141
+ }
1142
+ .ds-button--ghost {
1143
+ border-color: transparent;
1144
+ }
1145
+ .ds-button--ghost:hover:not(:disabled) {
1146
+ border-color: var(--hc-border-subtle);
1147
+ }
1148
+ .ds-button--link {
1149
+ border: none;
1150
+ text-decoration: underline;
1151
+ }
1152
+ .ds-button--destructive {
1153
+ background: rgba(var(--status-error-rgb,239,68,68), .85);
1154
+ }
1155
+ }
1156
+ @supports not (backdrop-filter:blur(1px)) {
1157
+ .ds-button--primary {
1158
+ background: rgba(var(--brand-pink-rgb), .85);
1159
+ }
1160
+ .ds-button--secondary {
1161
+ background: var(--fallback-surface);
1162
+ }
1163
+ }
1164
+ :root[data-theme=light-contrast] .ds-button--primary::before,
1165
+ :root[data-theme=light] .ds-button--primary::before {
1166
+ background:
1167
+ linear-gradient(
1168
+ 180deg,
1169
+ var(--glass-highlight-light) 0,
1170
+ rgba(var(--brand-pink-rgb), .08) 100%);
1171
+ }
1172
+ :root[data-theme=light-contrast] .ds-button--primary:hover:not(:disabled)::before,
1173
+ :root[data-theme=light] .ds-button--primary:hover:not(:disabled)::before {
1174
+ background:
1175
+ linear-gradient(
1176
+ 180deg,
1177
+ var(--glass-highlight-medium) 0,
1178
+ rgba(var(--brand-pink-rgb), .1) 100%);
1179
+ }
1180
+ :root[data-theme=light-contrast] .ds-button--destructive::before,
1181
+ :root[data-theme=light] .ds-button--destructive::before {
1182
+ background:
1183
+ linear-gradient(
1184
+ 180deg,
1185
+ var(--glass-highlight-light) 0,
1186
+ rgba(var(--status-error-rgb,239,68,68), .06) 100%);
1187
+ }
1188
+ :root[data-theme=light-contrast] .ds-button--destructive:hover:not(:disabled)::before,
1189
+ :root[data-theme=light] .ds-button--destructive:hover:not(:disabled)::before {
1190
+ background:
1191
+ linear-gradient(
1192
+ 180deg,
1193
+ var(--glass-highlight-light) 0,
1194
+ rgba(var(--status-error-rgb,239,68,68), .08) 100%);
1195
+ }
1196
+ .ds-button--loading {
1197
+ position: relative;
1198
+ cursor: not-allowed;
1199
+ opacity: .8;
1200
+ }
1201
+ .ds-button__spinner {
1202
+ position: absolute;
1203
+ top: 50%;
1204
+ left: 50%;
1205
+ transform: translate(-50%, -50%);
1206
+ animation: ds-button-spin 1s linear infinite;
1207
+ }
1208
+ .ds-button__content {
1209
+ display: inline-flex;
1210
+ align-items: center;
1211
+ justify-content: center;
1212
+ gap: inherit;
1213
+ visibility: visible;
1214
+ }
1215
+ .ds-button__content--hidden {
1216
+ visibility: hidden;
1217
+ }
1218
+ @keyframes ds-button-spin {
1219
+ 0% {
1220
+ transform: translate(-50%, -50%) rotate(0deg);
1221
+ }
1222
+ 100% {
1223
+ transform: translate(-50%, -50%) rotate(1turn);
1224
+ }
1225
+ }
1226
+
1227
+ /* src/v2-auth/TextField/TextField.css */
1228
+ .ds-textfield {
1229
+ display: flex;
1230
+ flex-direction: column;
1231
+ gap: var(--space-2);
1232
+ }
1233
+ .ds-textfield__label {
1234
+ font-family: var(--font-family);
1235
+ font-size: var(--font-size-sm);
1236
+ font-weight: var(--font-weight-medium);
1237
+ color: var(--text-secondary);
1238
+ transition: color var(--transition-base);
1239
+ }
1240
+ .ds-textfield:focus-within .ds-textfield__label {
1241
+ color: var(--text-primary);
1242
+ }
1243
+ .ds-textfield__input {
1244
+ position: relative;
1245
+ font-family: var(--font-family);
1246
+ font-size: var(--font-size-base);
1247
+ padding: var(--space-3) var(--space-4);
1248
+ border: none;
1249
+ border-radius: var(--radius-button);
1250
+ color: var(--text-primary);
1251
+ outline: none;
1252
+ width: 100%;
1253
+ box-sizing: border-box;
1254
+ background: var(--glass-base-active);
1255
+ backdrop-filter: blur(20px) saturate(140%);
1256
+ -webkit-backdrop-filter: blur(20px) saturate(140%);
1257
+ box-shadow: var(--shadow-md), var(--shadow-inset-border-subtle);
1258
+ transition: background var(--transition-glass), box-shadow var(--transition-glass);
1259
+ }
1260
+ .ds-textfield__input::before {
1261
+ content: "";
1262
+ position: absolute;
1263
+ inset: 0;
1264
+ border-radius: inherit;
1265
+ padding: var(--space-px);
1266
+ background:
1267
+ linear-gradient(
1268
+ 180deg,
1269
+ var(--rim-light-top) 0,
1270
+ var(--rim-light-bottom) 100%);
1271
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1272
+ mask-composite: exclude;
1273
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1274
+ -webkit-mask-composite: xor;
1275
+ pointer-events: none;
1276
+ }
1277
+ .ds-textfield__input-wrapper {
1278
+ position: relative;
1279
+ }
1280
+ .ds-textfield__input-wrapper::before {
1281
+ content: "";
1282
+ position: absolute;
1283
+ inset: 0;
1284
+ border-radius: var(--radius-button);
1285
+ padding: var(--space-px);
1286
+ background:
1287
+ linear-gradient(
1288
+ 180deg,
1289
+ var(--rim-light-top) 0,
1290
+ var(--rim-light-bottom) 100%);
1291
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1292
+ mask-composite: exclude;
1293
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1294
+ -webkit-mask-composite: xor;
1295
+ pointer-events: none;
1296
+ transition: background var(--transition-glass);
1297
+ }
1298
+ .ds-textfield__input::placeholder {
1299
+ color: var(--text-tertiary);
1300
+ }
1301
+ .ds-textfield__input::placeholder {
1302
+ color: var(--text-tertiary);
1303
+ }
1304
+ .ds-textfield__input:hover:not(:disabled):not(:focus) {
1305
+ background: var(--glass-base-hover);
1306
+ }
1307
+ .ds-textfield__input-wrapper:hover:not(:has(:disabled)):not(:has(:focus))::before {
1308
+ background:
1309
+ linear-gradient(
1310
+ 180deg,
1311
+ var(--rim-light-hover-top) 0,
1312
+ var(--rim-light-hover-bottom) 100%);
1313
+ }
1314
+ .ds-textfield__input:focus {
1315
+ background: var(--glass-base-hover);
1316
+ box-shadow:
1317
+ var(--shadow-lg),
1318
+ var(--glass-shadow-inner),
1319
+ 0 0 0 2px rgba(var(--brand-pink-rgb), .3);
1320
+ }
1321
+ .ds-textfield__input-wrapper:has(:focus)::before {
1322
+ background:
1323
+ linear-gradient(
1324
+ 180deg,
1325
+ rgba(var(--brand-pink-rgb), .4) 0,
1326
+ rgba(var(--brand-pink-rgb), .1) 100%);
1327
+ }
1328
+ .ds-textfield__input:disabled {
1329
+ opacity: .4;
1330
+ cursor: not-allowed;
1331
+ }
1332
+ .ds-textfield__input--adorned {
1333
+ padding-right: var(--space-12);
1334
+ }
1335
+ .ds-textfield__adornment {
1336
+ position: absolute;
1337
+ right: var(--space-2);
1338
+ top: 50%;
1339
+ transform: translateY(-50%);
1340
+ display: flex;
1341
+ align-items: center;
1342
+ justify-content: center;
1343
+ z-index: 2;
1344
+ }
1345
+ .ds-textfield__input--error {
1346
+ box-shadow:
1347
+ var(--shadow-md),
1348
+ var(--shadow-inset-border-error),
1349
+ 0 0 0 1px rgba(var(--status-error-rgb), .5);
1350
+ }
1351
+ .ds-textfield__input-wrapper:has(.ds-textfield__input--error)::before {
1352
+ background:
1353
+ linear-gradient(
1354
+ 180deg,
1355
+ rgba(var(--status-error-rgb), .4) 0,
1356
+ rgba(var(--status-error-rgb), .1) 100%);
1357
+ }
1358
+ .ds-textfield__input--error:focus {
1359
+ box-shadow:
1360
+ var(--shadow-lg),
1361
+ var(--glass-shadow-inner),
1362
+ 0 0 0 2px rgba(var(--status-error-rgb), .4);
1363
+ }
1364
+ .ds-textfield__helper {
1365
+ font-family: var(--font-family);
1366
+ font-size: var(--font-size-xs);
1367
+ color: var(--text-tertiary);
1368
+ }
1369
+ .ds-textfield__helper--error {
1370
+ color: var(--status-error);
1371
+ }
1372
+ @media (prefers-contrast:more) {
1373
+ .ds-textfield__input {
1374
+ background: var(--hc-surface-input);
1375
+ border: 1px solid var(--hc-border);
1376
+ }
1377
+ .ds-textfield__input-wrapper::before {
1378
+ display: none;
1379
+ }
1380
+ .ds-textfield__input:focus {
1381
+ border-color: var(--brand-pink);
1382
+ }
1383
+ .ds-textfield__input--error {
1384
+ border-color: var(--status-error);
1385
+ }
1386
+ }
1387
+ @supports not (backdrop-filter:blur(1px)) {
1388
+ .ds-textfield__input {
1389
+ background: var(--fallback-surface);
1390
+ }
1391
+ }
1392
+ .ds-signup__phone-container,
1393
+ .ds-signup__phone-container.ds-textfield__input {
1394
+ display: flex;
1395
+ align-items: center;
1396
+ position: relative;
1397
+ width: 100%;
1398
+ }
1399
+ .ds-signup__phone-container.ds-textfield__input {
1400
+ padding: 0;
1401
+ overflow: hidden;
1402
+ }
1403
+ .ds-signup__password-wrapper .ds-textfield__input {
1404
+ padding-right: var(--space-12);
1405
+ }
1406
+ .ds-forgot__password-wrapper .ds-textfield__input {
1407
+ padding-right: var(--space-12);
1408
+ }
1409
+
1410
+ /* src/v2-auth/Checkbox/Checkbox.css */
1411
+ .ds-checkbox-wrapper {
1412
+ display: flex;
1413
+ align-items: center;
1414
+ gap: var(--space-3);
1415
+ }
1416
+ .ds-checkbox {
1417
+ all: unset;
1418
+ position: relative;
1419
+ width: 1.25rem;
1420
+ height: 1.25rem;
1421
+ border-radius: var(--radius-badge);
1422
+ display: flex;
1423
+ align-items: center;
1424
+ justify-content: center;
1425
+ cursor: pointer;
1426
+ flex-shrink: 0;
1427
+ background: var(--glass-base);
1428
+ backdrop-filter: blur(12px) saturate(140%);
1429
+ -webkit-backdrop-filter: blur(12px) saturate(140%);
1430
+ box-shadow: var(--shadow-sm), var(--shadow-inset-border-error);
1431
+ transition:
1432
+ background var(--transition-glass),
1433
+ box-shadow var(--transition-glass),
1434
+ transform var(--transition-glass);
1435
+ }
1436
+ .ds-checkbox::before {
1437
+ content: "";
1438
+ position: absolute;
1439
+ inset: 0;
1440
+ border-radius: inherit;
1441
+ padding: var(--space-px);
1442
+ background:
1443
+ linear-gradient(
1444
+ 180deg,
1445
+ var(--rim-light-top) 0,
1446
+ var(--rim-light-bottom) 100%);
1447
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1448
+ mask-composite: exclude;
1449
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1450
+ -webkit-mask-composite: xor;
1451
+ pointer-events: none;
1452
+ transition: background var(--transition-glass);
1453
+ }
1454
+ .ds-checkbox:hover:not([disabled]) {
1455
+ background: var(--glass-base-hover);
1456
+ transform: translateY(-1px);
1457
+ box-shadow: var(--shadow-md), var(--glass-shadow-inner);
1458
+ }
1459
+ .ds-checkbox:hover:not([disabled])::before {
1460
+ background:
1461
+ linear-gradient(
1462
+ 180deg,
1463
+ var(--rim-light-hover-top) 0,
1464
+ var(--rim-light-hover-bottom) 100%);
1465
+ }
1466
+ .ds-checkbox:focus-visible {
1467
+ box-shadow: var(--focus-ring);
1468
+ }
1469
+ .ds-checkbox[data-state=checked] {
1470
+ background: var(--btn-primary-bg);
1471
+ box-shadow:
1472
+ var(--shadow-sm),
1473
+ var(--glass-shadow-inner),
1474
+ var(--btn-primary-glow);
1475
+ }
1476
+ .ds-checkbox[data-state=checked]::before {
1477
+ background:
1478
+ linear-gradient(
1479
+ 180deg,
1480
+ var(--glass-highlight-strong) 0,
1481
+ rgba(var(--brand-pink-rgb), .2) 100%);
1482
+ }
1483
+ .ds-checkbox[data-state=checked]:hover:not([disabled]) {
1484
+ background: var(--btn-primary-bg-hover);
1485
+ box-shadow:
1486
+ var(--shadow-md),
1487
+ var(--glass-highlight-medium),
1488
+ var(--btn-primary-glow-hover);
1489
+ }
1490
+ .ds-checkbox[disabled] {
1491
+ opacity: .4;
1492
+ cursor: not-allowed;
1493
+ transform: none !important;
1494
+ }
1495
+ .ds-checkbox__indicator {
1496
+ display: flex;
1497
+ align-items: center;
1498
+ justify-content: center;
1499
+ width: 100%;
1500
+ height: 100%;
1501
+ color: var(--text-primary);
1502
+ position: relative;
1503
+ z-index: 1;
1504
+ }
1505
+ .ds-checkbox__icon {
1506
+ width: .75rem;
1507
+ height: .75rem;
1508
+ animation: ds-checkbox-check-in .15s ease-out;
1509
+ }
1510
+ @keyframes ds-checkbox-check-in {
1511
+ 0% {
1512
+ opacity: 0;
1513
+ transform: scale(.8);
1514
+ }
1515
+ 100% {
1516
+ opacity: 1;
1517
+ transform: scale(1);
1518
+ }
1519
+ }
1520
+ .ds-checkbox__label {
1521
+ font-family: var(--font-family);
1522
+ font-size: var(--font-size-base);
1523
+ color: var(--text-primary);
1524
+ cursor: pointer;
1525
+ -webkit-user-select: none;
1526
+ -moz-user-select: none;
1527
+ user-select: none;
1528
+ line-height: var(--line-height-normal);
1529
+ }
1530
+ .ds-checkbox-wrapper:has(.ds-checkbox[disabled]) .ds-checkbox__label,
1531
+ .ds-checkbox[disabled] + .ds-checkbox__label {
1532
+ opacity: .4;
1533
+ cursor: not-allowed;
1534
+ }
1535
+ @media (prefers-contrast:more) {
1536
+ .ds-checkbox {
1537
+ background: var(--hc-surface-input);
1538
+ border: 1px solid var(--hc-border-strong);
1539
+ }
1540
+ .ds-checkbox::before {
1541
+ display: none;
1542
+ }
1543
+ .ds-checkbox[data-state=checked] {
1544
+ background: rgba(var(--brand-pink-rgb), .8);
1545
+ border-color: var(--brand-pink);
1546
+ }
1547
+ }
1548
+ @media (prefers-reduced-motion:reduce) {
1549
+ .ds-checkbox__icon {
1550
+ animation: none;
1551
+ }
1552
+ }
1553
+
1554
+ /* src/v2-auth/Login/Login.css */
1555
+ .ds-login {
1556
+ position: relative;
1557
+ display: flex;
1558
+ flex-direction: column;
1559
+ align-items: center;
1560
+ justify-content: center;
1561
+ width: 100%;
1562
+ padding: var(--space-6);
1563
+ }
1564
+ .ds-login__accent {
1565
+ position: absolute;
1566
+ border-radius: 50%;
1567
+ filter: blur(80px);
1568
+ opacity: .5;
1569
+ pointer-events: none;
1570
+ animation: ds-login-float 20s ease-in-out infinite;
1571
+ }
1572
+ .ds-login__accent--1 {
1573
+ width: 400px;
1574
+ height: 400px;
1575
+ background:
1576
+ radial-gradient(
1577
+ circle,
1578
+ rgba(var(--accent-rgb), .4) 0,
1579
+ transparent 70%);
1580
+ top: -100px;
1581
+ right: -100px;
1582
+ animation-delay: 0s;
1583
+ }
1584
+ .ds-login__accent--2 {
1585
+ width: 300px;
1586
+ height: 300px;
1587
+ background:
1588
+ radial-gradient(
1589
+ circle,
1590
+ rgba(var(--accent2-rgb), .3) 0,
1591
+ transparent 70%);
1592
+ bottom: -50px;
1593
+ left: -50px;
1594
+ animation-delay: -10s;
1595
+ }
1596
+ @keyframes ds-login-float {
1597
+ 0%, 100% {
1598
+ transform: translate(0) scale(1);
1599
+ }
1600
+ 25% {
1601
+ transform: translate(20px, -30px) scale(1.05);
1602
+ }
1603
+ 50% {
1604
+ transform: translate(-10px, 20px) scale(.95);
1605
+ }
1606
+ 75% {
1607
+ transform: translate(-30px, -10px) scale(1.02);
1608
+ }
1609
+ }
1610
+ .ds-login__card {
1611
+ position: relative;
1612
+ width: 100%;
1613
+ max-width: 420px;
1614
+ padding: var(--space-8);
1615
+ border-radius: var(--radius-panel);
1616
+ background: var(--glass-base);
1617
+ backdrop-filter: var(--glass-backdrop);
1618
+ -webkit-backdrop-filter: var(--glass-backdrop);
1619
+ box-shadow: var(--glass-shadow-elevated-combined);
1620
+ animation: ds-login-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
1621
+ opacity: 0;
1622
+ transform: translateY(20px);
1623
+ }
1624
+ .ds-login__card::before {
1625
+ content: "";
1626
+ position: absolute;
1627
+ inset: 0;
1628
+ border-radius: inherit;
1629
+ padding: 1px;
1630
+ background:
1631
+ linear-gradient(
1632
+ 180deg,
1633
+ var(--rim-light-hover-top) 0,
1634
+ var(--rim-light-bottom) 100%);
1635
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1636
+ mask-composite: exclude;
1637
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1638
+ -webkit-mask-composite: xor;
1639
+ pointer-events: none;
1640
+ }
1641
+ @keyframes ds-login-card-enter {
1642
+ to {
1643
+ opacity: 1;
1644
+ transform: translateY(0);
1645
+ }
1646
+ }
1647
+ .ds-login__header {
1648
+ text-align: center;
1649
+ margin-bottom: var(--space-6);
1650
+ }
1651
+ .ds-login__logo {
1652
+ display: flex;
1653
+ justify-content: center;
1654
+ margin-bottom: var(--space-4);
1655
+ animation: ds-login-fade-in .5s ease-out .1s forwards;
1656
+ opacity: 0;
1657
+ }
1658
+ .ds-login__logo--default {
1659
+ display: flex;
1660
+ }
1661
+ .ds-login__logo-icon {
1662
+ width: 56px;
1663
+ height: 56px;
1664
+ animation: ds-login-logo-pulse 3s ease-in-out infinite;
1665
+ }
1666
+ .ds-login__logo-icon svg {
1667
+ width: 100%;
1668
+ height: 100%;
1669
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
1670
+ }
1671
+ @keyframes ds-login-logo-pulse {
1672
+ 0%, 100% {
1673
+ transform: scale(1);
1674
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
1675
+ }
1676
+ 50% {
1677
+ transform: scale(1.05);
1678
+ filter: drop-shadow(0 6px 20px rgba(var(--accent-rgb), .5));
1679
+ }
1680
+ }
1681
+ .ds-login__title {
1682
+ animation: ds-login-fade-in .5s ease-out .2s forwards;
1683
+ }
1684
+ .ds-login__tagline,
1685
+ .ds-login__title {
1686
+ font-family: var(--font-family);
1687
+ font-size: var(--font-size-2xl);
1688
+ font-weight: var(--font-weight-bold);
1689
+ color: var(--text-primary);
1690
+ margin: 0 0 var(--space-2);
1691
+ opacity: 0;
1692
+ }
1693
+ .ds-login__tagline {
1694
+ line-height: var(--line-height-normal);
1695
+ animation: ds-login-fade-in .5s ease-out .3s forwards;
1696
+ }
1697
+ @keyframes ds-login-fade-in {
1698
+ to {
1699
+ opacity: 1;
1700
+ }
1701
+ }
1702
+ .ds-login__error {
1703
+ display: flex;
1704
+ align-items: center;
1705
+ gap: var(--space-2);
1706
+ padding: var(--space-3) var(--space-4);
1707
+ margin-bottom: var(--space-4);
1708
+ border-radius: var(--radius-button);
1709
+ background: rgba(var(--status-error-rgb), .1);
1710
+ border: 1px solid rgba(var(--status-error-rgb), .3);
1711
+ color: var(--status-error);
1712
+ font-size: var(--font-size-sm);
1713
+ animation: ds-login-error-enter .4s ease-out;
1714
+ }
1715
+ @keyframes ds-login-error-enter {
1716
+ 0% {
1717
+ opacity: 0;
1718
+ transform: translateX(-10px);
1719
+ }
1720
+ 50% {
1721
+ transform: translateX(5px);
1722
+ }
1723
+ 100% {
1724
+ opacity: 1;
1725
+ transform: translateX(0);
1726
+ }
1727
+ }
1728
+ .ds-login__social {
1729
+ margin-bottom: var(--space-4);
1730
+ animation: ds-login-fade-in .5s ease-out .4s forwards;
1731
+ opacity: 0;
1732
+ }
1733
+ .ds-login__social-btn {
1734
+ display: flex;
1735
+ align-items: center;
1736
+ justify-content: center;
1737
+ gap: var(--space-3);
1738
+ width: 100%;
1739
+ padding: var(--space-3) var(--space-4);
1740
+ margin-bottom: var(--space-3);
1741
+ border: none;
1742
+ border-radius: var(--radius-button);
1743
+ background: var(--glass-base);
1744
+ color: var(--text-primary);
1745
+ font-family: var(--font-family);
1746
+ font-size: var(--font-size-base);
1747
+ font-weight: var(--font-weight-medium);
1748
+ cursor: pointer;
1749
+ position: relative;
1750
+ transition:
1751
+ background var(--transition-glass),
1752
+ transform var(--transition-glass),
1753
+ box-shadow var(--transition-glass);
1754
+ }
1755
+ .ds-login__social-btn::before {
1756
+ content: "";
1757
+ position: absolute;
1758
+ inset: 0;
1759
+ border-radius: inherit;
1760
+ padding: 1px;
1761
+ background:
1762
+ linear-gradient(
1763
+ 180deg,
1764
+ var(--rim-light-top) 0,
1765
+ var(--rim-light-bottom) 100%);
1766
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1767
+ mask-composite: exclude;
1768
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
1769
+ -webkit-mask-composite: xor;
1770
+ pointer-events: none;
1771
+ transition: background var(--transition-glass);
1772
+ }
1773
+ .ds-login__social-btn:hover:not(:disabled) {
1774
+ background: var(--glass-base-hover);
1775
+ transform: translateY(-2px);
1776
+ box-shadow: var(--shadow-lg);
1777
+ }
1778
+ .ds-login__social-btn:hover:not(:disabled)::before {
1779
+ background:
1780
+ linear-gradient(
1781
+ 180deg,
1782
+ var(--rim-light-hover-top) 0,
1783
+ var(--rim-light-hover-bottom) 100%);
1784
+ }
1785
+ .ds-login__social-btn:disabled {
1786
+ opacity: .5;
1787
+ cursor: not-allowed;
1788
+ }
1789
+ .ds-login__divider {
1790
+ display: flex;
1791
+ align-items: center;
1792
+ gap: var(--space-4);
1793
+ margin: var(--space-4) 0;
1794
+ color: var(--text-tertiary);
1795
+ font-size: var(--font-size-sm);
1796
+ }
1797
+ .ds-login__divider::after,
1798
+ .ds-login__divider::before {
1799
+ content: "";
1800
+ flex: 1 1;
1801
+ height: 1px;
1802
+ background:
1803
+ linear-gradient(
1804
+ 90deg,
1805
+ transparent 0,
1806
+ var(--rim-light-top) 50%,
1807
+ transparent 100%);
1808
+ }
1809
+ .ds-login__form {
1810
+ animation: ds-login-fade-in .5s ease-out .5s forwards;
1811
+ opacity: 0;
1812
+ }
1813
+ .ds-login__field {
1814
+ margin-bottom: var(--space-4);
1815
+ }
1816
+ .ds-login__password-toggle {
1817
+ position: static;
1818
+ transform: none;
1819
+ padding: var(--space-2);
1820
+ border: none;
1821
+ background: transparent;
1822
+ color: var(--text-tertiary);
1823
+ cursor: pointer;
1824
+ border-radius: var(--radius-badge);
1825
+ display: flex;
1826
+ align-items: center;
1827
+ justify-content: center;
1828
+ transition: color var(--transition-glass), background var(--transition-glass);
1829
+ }
1830
+ .ds-login__password-toggle:hover {
1831
+ color: var(--text-primary);
1832
+ background: var(--glass-base-hover);
1833
+ }
1834
+ .ds-login__options {
1835
+ display: flex;
1836
+ align-items: center;
1837
+ justify-content: space-between;
1838
+ margin-bottom: var(--space-6);
1839
+ flex-wrap: wrap;
1840
+ gap: var(--space-2);
1841
+ }
1842
+ .ds-login__link {
1843
+ padding: 0;
1844
+ border: none;
1845
+ background: transparent;
1846
+ color: var(--text-secondary);
1847
+ font-family: var(--font-family);
1848
+ font-size: var(--font-size-sm);
1849
+ cursor: pointer;
1850
+ transition: color var(--transition-glass);
1851
+ }
1852
+ .ds-login__link:hover:not(:disabled) {
1853
+ color: var(--text-primary);
1854
+ }
1855
+ .ds-login__link--accent {
1856
+ color: rgb(var(--accent-rgb));
1857
+ font-weight: var(--font-weight-medium);
1858
+ }
1859
+ .ds-login__link--accent:hover:not(:disabled) {
1860
+ color: rgb(var(--accent-rgb));
1861
+ text-decoration: underline;
1862
+ }
1863
+ .ds-login__link:disabled {
1864
+ opacity: .5;
1865
+ cursor: not-allowed;
1866
+ }
1867
+ .ds-login__submit {
1868
+ width: 100%;
1869
+ }
1870
+ .ds-login__spinner {
1871
+ display: inline-block;
1872
+ width: 20px;
1873
+ height: 20px;
1874
+ border: 2px solid var(--hc-border);
1875
+ border-top-color: var(--hc-control-knob);
1876
+ border-radius: 50%;
1877
+ animation: ds-login-spin .8s linear infinite;
1878
+ }
1879
+ @keyframes ds-login-spin {
1880
+ to {
1881
+ transform: rotate(1turn);
1882
+ }
1883
+ }
1884
+ .ds-login__footer {
1885
+ display: flex;
1886
+ align-items: center;
1887
+ justify-content: center;
1888
+ gap: var(--space-2);
1889
+ margin-top: var(--space-6);
1890
+ padding-top: var(--space-6);
1891
+ border-top: 1px solid var(--rim-light-bottom);
1892
+ font-size: var(--font-size-sm);
1893
+ color: var(--text-tertiary);
1894
+ animation: ds-login-fade-in .5s ease-out .6s forwards;
1895
+ opacity: 0;
1896
+ }
1897
+ @media (max-width:480px) {
1898
+ .ds-login {
1899
+ padding: var(--space-4);
1900
+ }
1901
+ .ds-login__card {
1902
+ padding: var(--space-6);
1903
+ border-radius: var(--radius-card);
1904
+ }
1905
+ .ds-login__accent--1 {
1906
+ width: 200px;
1907
+ height: 200px;
1908
+ top: -50px;
1909
+ right: -50px;
1910
+ }
1911
+ .ds-login__accent--2 {
1912
+ width: 150px;
1913
+ height: 150px;
1914
+ bottom: -30px;
1915
+ left: -30px;
1916
+ }
1917
+ .ds-login__options {
1918
+ flex-direction: column;
1919
+ align-items: flex-start;
1920
+ gap: var(--space-3);
1921
+ }
1922
+ }
1923
+ @media (prefers-reduced-motion:reduce) {
1924
+ .ds-login__card,
1925
+ .ds-login__footer,
1926
+ .ds-login__form,
1927
+ .ds-login__logo,
1928
+ .ds-login__social,
1929
+ .ds-login__tagline,
1930
+ .ds-login__title,
1931
+ .ds-login__trust {
1932
+ animation: none;
1933
+ opacity: 1;
1934
+ }
1935
+ .ds-login__accent,
1936
+ .ds-login__logo-icon {
1937
+ animation: none;
1938
+ }
1939
+ .ds-login__spinner {
1940
+ animation-duration: 1.5s;
1941
+ }
1942
+ }
1943
+ @media (prefers-contrast:more) {
1944
+ .ds-login__card {
1945
+ border: 1px solid var(--hc-border);
1946
+ }
1947
+ .ds-login__social-btn {
1948
+ border: 1px solid var(--hc-border-subtle);
1949
+ }
1950
+ .ds-login__social-btn::before {
1951
+ display: none;
1952
+ }
1953
+ }
1954
+
1955
+ /* src/v2-auth/Signup/Signup.css */
1956
+ .ds-signup {
1957
+ position: relative;
1958
+ display: flex;
1959
+ flex-direction: column;
1960
+ align-items: center;
1961
+ justify-content: center;
1962
+ width: 100%;
1963
+ padding: var(--space-6) var(--space-4);
1964
+ box-sizing: border-box;
1965
+ }
1966
+ .ds-signup__accent {
1967
+ position: absolute;
1968
+ border-radius: 50%;
1969
+ filter: blur(80px);
1970
+ opacity: .5;
1971
+ pointer-events: none;
1972
+ animation: ds-signup-float 20s ease-in-out infinite;
1973
+ }
1974
+ .ds-signup__accent--1 {
1975
+ width: 400px;
1976
+ height: 400px;
1977
+ background:
1978
+ radial-gradient(
1979
+ circle,
1980
+ rgba(var(--accent-rgb), .4) 0,
1981
+ transparent 70%);
1982
+ top: -100px;
1983
+ right: -100px;
1984
+ animation-delay: 0s;
1985
+ }
1986
+ .ds-signup__accent--2 {
1987
+ width: 300px;
1988
+ height: 300px;
1989
+ background:
1990
+ radial-gradient(
1991
+ circle,
1992
+ rgba(var(--accent2-rgb), .3) 0,
1993
+ transparent 70%);
1994
+ bottom: -50px;
1995
+ left: -50px;
1996
+ animation-delay: -10s;
1997
+ }
1998
+ @keyframes ds-signup-float {
1999
+ 0%, 100% {
2000
+ transform: translate(0) scale(1);
2001
+ }
2002
+ 25% {
2003
+ transform: translate(20px, -30px) scale(1.05);
2004
+ }
2005
+ 50% {
2006
+ transform: translate(-10px, 20px) scale(.95);
2007
+ }
2008
+ 75% {
2009
+ transform: translate(-30px, -10px) scale(1.02);
2010
+ }
2011
+ }
2012
+ .ds-signup__card {
2013
+ position: relative;
2014
+ width: 100%;
2015
+ max-width: 420px;
2016
+ padding: var(--space-8);
2017
+ border-radius: var(--radius-panel);
2018
+ background: var(--glass-base);
2019
+ backdrop-filter: var(--glass-backdrop);
2020
+ -webkit-backdrop-filter: var(--glass-backdrop);
2021
+ box-shadow: var(--glass-shadow-elevated-combined);
2022
+ animation: ds-signup-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
2023
+ opacity: 0;
2024
+ transform: translateY(20px);
2025
+ }
2026
+ .ds-signup__card::before {
2027
+ content: "";
2028
+ position: absolute;
2029
+ inset: 0;
2030
+ border-radius: inherit;
2031
+ padding: 1px;
2032
+ background:
2033
+ linear-gradient(
2034
+ 180deg,
2035
+ var(--rim-light-hover-top) 0,
2036
+ var(--rim-light-bottom) 100%);
2037
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2038
+ mask-composite: exclude;
2039
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2040
+ -webkit-mask-composite: xor;
2041
+ pointer-events: none;
2042
+ }
2043
+ @keyframes ds-signup-card-enter {
2044
+ to {
2045
+ opacity: 1;
2046
+ transform: translateY(0);
2047
+ }
2048
+ }
2049
+ .ds-signup__card--success {
2050
+ text-align: center;
2051
+ }
2052
+ .ds-signup__success-icon {
2053
+ width: 64px;
2054
+ height: 64px;
2055
+ margin: 0 auto var(--space-6);
2056
+ animation: ds-signup-success-icon .6s cubic-bezier(.16, 1, .3, 1) forwards;
2057
+ }
2058
+ .ds-signup__success-icon svg {
2059
+ width: 100%;
2060
+ height: 100%;
2061
+ }
2062
+ @keyframes ds-signup-success-icon {
2063
+ 0% {
2064
+ transform: scale(0);
2065
+ opacity: 0;
2066
+ }
2067
+ 50% {
2068
+ transform: scale(1.2);
2069
+ }
2070
+ 100% {
2071
+ transform: scale(1);
2072
+ opacity: 1;
2073
+ }
2074
+ }
2075
+ .ds-signup__success-title {
2076
+ font-family: var(--font-family);
2077
+ font-size: var(--font-size-2xl);
2078
+ font-weight: var(--font-weight-bold);
2079
+ color: var(--text-primary);
2080
+ margin: 0 0 var(--space-2);
2081
+ }
2082
+ .ds-signup__success-message {
2083
+ font-family: var(--font-family);
2084
+ font-size: var(--font-size-base);
2085
+ color: var(--text-secondary);
2086
+ margin: 0 0 var(--space-6);
2087
+ line-height: var(--line-height-normal);
2088
+ }
2089
+ .ds-signup__success-btn {
2090
+ width: 100%;
2091
+ }
2092
+ .ds-signup__header {
2093
+ text-align: center;
2094
+ margin-bottom: var(--space-6);
2095
+ }
2096
+ .ds-signup__logo {
2097
+ display: flex;
2098
+ justify-content: center;
2099
+ margin-bottom: var(--space-4);
2100
+ animation: ds-signup-fade-in .5s ease-out .1s forwards;
2101
+ opacity: 0;
2102
+ }
2103
+ .ds-signup__logo-icon {
2104
+ width: 56px;
2105
+ height: 56px;
2106
+ animation: ds-signup-logo-pulse 3s ease-in-out infinite;
2107
+ }
2108
+ .ds-signup__logo-icon svg {
2109
+ width: 100%;
2110
+ height: 100%;
2111
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
2112
+ }
2113
+ @keyframes ds-signup-logo-pulse {
2114
+ 0%, 100% {
2115
+ transform: scale(1);
2116
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
2117
+ }
2118
+ 50% {
2119
+ transform: scale(1.05);
2120
+ filter: drop-shadow(0 6px 20px rgba(var(--accent-rgb), .5));
2121
+ }
2122
+ }
2123
+ .ds-signup__title {
2124
+ font-size: var(--font-size-2xl);
2125
+ font-weight: var(--font-weight-bold);
2126
+ color: var(--text-primary);
2127
+ margin: 0 0 var(--space-2);
2128
+ animation: ds-signup-fade-in .5s ease-out .2s forwards;
2129
+ }
2130
+ .ds-signup__tagline,
2131
+ .ds-signup__title {
2132
+ font-family: var(--font-family);
2133
+ opacity: 0;
2134
+ }
2135
+ .ds-signup__tagline {
2136
+ font-size: var(--font-size-sm);
2137
+ color: var(--text-secondary);
2138
+ margin: 0;
2139
+ line-height: var(--line-height-normal);
2140
+ animation: ds-signup-fade-in .5s ease-out .3s forwards;
2141
+ }
2142
+ @keyframes ds-signup-fade-in {
2143
+ to {
2144
+ opacity: 1;
2145
+ }
2146
+ }
2147
+ .ds-signup__error {
2148
+ display: flex;
2149
+ align-items: center;
2150
+ gap: var(--space-2);
2151
+ padding: var(--space-3) var(--space-4);
2152
+ margin-bottom: var(--space-4);
2153
+ border-radius: var(--radius-button);
2154
+ background: rgba(var(--status-error-rgb), .1);
2155
+ border: 1px solid rgba(var(--status-error-rgb), .3);
2156
+ color: var(--status-error);
2157
+ font-size: var(--font-size-sm);
2158
+ animation: ds-signup-error-enter .4s ease-out;
2159
+ }
2160
+ @keyframes ds-signup-error-enter {
2161
+ 0% {
2162
+ opacity: 0;
2163
+ transform: translateX(-10px);
2164
+ }
2165
+ 50% {
2166
+ transform: translateX(5px);
2167
+ }
2168
+ 100% {
2169
+ opacity: 1;
2170
+ transform: translateX(0);
2171
+ }
2172
+ }
2173
+ .ds-signup__social {
2174
+ margin-bottom: var(--space-4);
2175
+ animation: ds-signup-fade-in .5s ease-out .4s forwards;
2176
+ opacity: 0;
2177
+ }
2178
+ .ds-signup__social-btn {
2179
+ display: flex;
2180
+ align-items: center;
2181
+ justify-content: center;
2182
+ gap: var(--space-3);
2183
+ width: 100%;
2184
+ padding: var(--space-3) var(--space-4);
2185
+ margin-bottom: var(--space-3);
2186
+ border: none;
2187
+ border-radius: var(--radius-button);
2188
+ background: var(--glass-base);
2189
+ color: var(--text-primary);
2190
+ font-family: var(--font-family);
2191
+ font-size: var(--font-size-base);
2192
+ font-weight: var(--font-weight-medium);
2193
+ cursor: pointer;
2194
+ position: relative;
2195
+ transition:
2196
+ background var(--transition-glass),
2197
+ transform var(--transition-glass),
2198
+ box-shadow var(--transition-glass);
2199
+ }
2200
+ .ds-signup__social-btn::before {
2201
+ content: "";
2202
+ position: absolute;
2203
+ inset: 0;
2204
+ border-radius: inherit;
2205
+ padding: 1px;
2206
+ background:
2207
+ linear-gradient(
2208
+ 180deg,
2209
+ var(--rim-light-top) 0,
2210
+ var(--rim-light-bottom) 100%);
2211
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2212
+ mask-composite: exclude;
2213
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2214
+ -webkit-mask-composite: xor;
2215
+ pointer-events: none;
2216
+ transition: background var(--transition-glass);
2217
+ }
2218
+ .ds-signup__social-btn:hover:not(:disabled) {
2219
+ background: var(--glass-base-hover);
2220
+ transform: translateY(-2px);
2221
+ box-shadow: var(--shadow-lg);
2222
+ }
2223
+ .ds-signup__social-btn:disabled {
2224
+ opacity: .5;
2225
+ cursor: not-allowed;
2226
+ }
2227
+ .ds-signup__divider {
2228
+ display: flex;
2229
+ align-items: center;
2230
+ gap: var(--space-4);
2231
+ margin: var(--space-4) 0;
2232
+ color: var(--text-tertiary);
2233
+ font-size: var(--font-size-sm);
2234
+ }
2235
+ .ds-signup__divider::after,
2236
+ .ds-signup__divider::before {
2237
+ content: "";
2238
+ flex: 1 1;
2239
+ height: 1px;
2240
+ background:
2241
+ linear-gradient(
2242
+ 90deg,
2243
+ transparent 0,
2244
+ var(--rim-light-top) 50%,
2245
+ transparent 100%);
2246
+ }
2247
+ .ds-signup__form {
2248
+ animation: ds-signup-fade-in .5s ease-out .5s forwards;
2249
+ opacity: 0;
2250
+ }
2251
+ .ds-signup__field {
2252
+ margin-bottom: var(--space-4);
2253
+ }
2254
+ .ds-signup__phone-container,
2255
+ .ds-signup__phone-container.ds-textfield__input {
2256
+ display: flex;
2257
+ align-items: center;
2258
+ position: relative;
2259
+ width: 100%;
2260
+ }
2261
+ .ds-signup__phone-container.ds-textfield__input {
2262
+ padding: 0;
2263
+ overflow: hidden;
2264
+ }
2265
+ .ds-signup__flag-select-wrapper {
2266
+ position: relative;
2267
+ display: flex;
2268
+ align-items: center;
2269
+ align-self: stretch;
2270
+ }
2271
+ .ds-signup__flag-select-native {
2272
+ position: absolute;
2273
+ inset: 0;
2274
+ width: 100%;
2275
+ height: 100%;
2276
+ opacity: 0;
2277
+ cursor: pointer;
2278
+ z-index: 2;
2279
+ }
2280
+ .ds-signup__flag-display {
2281
+ display: flex;
2282
+ align-items: center;
2283
+ gap: var(--space-2);
2284
+ padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
2285
+ height: 100%;
2286
+ background: transparent;
2287
+ color: var(--text-primary);
2288
+ border-right: 1px solid var(--border-subtle);
2289
+ pointer-events: none;
2290
+ }
2291
+ .ds-signup__flag-icon {
2292
+ font-size: var(--font-size-lg);
2293
+ line-height: 1;
2294
+ }
2295
+ .ds-signup__phone-input-native {
2296
+ flex-grow: 1;
2297
+ border: none !important;
2298
+ background: transparent !important;
2299
+ border-radius: 0 !important;
2300
+ box-shadow: none !important;
2301
+ padding: var(--space-3) var(--space-4) var(--space-3) var(--space-3) !important;
2302
+ color: inherit;
2303
+ font-family: inherit;
2304
+ font-size: inherit;
2305
+ outline: none;
2306
+ }
2307
+ .ds-signup__phone-input-native:focus {
2308
+ outline: none;
2309
+ border-color: transparent !important;
2310
+ box-shadow: none !important;
2311
+ }
2312
+ .ds-signup__phone-container:disabled,
2313
+ .ds-signup__phone-input-native:disabled {
2314
+ opacity: .5;
2315
+ cursor: not-allowed;
2316
+ }
2317
+ .ds-signup__password-wrapper {
2318
+ position: relative;
2319
+ }
2320
+ .ds-signup__password-wrapper .ds-textfield__input {
2321
+ padding-right: var(--space-12);
2322
+ }
2323
+ .ds-signup__password-toggle {
2324
+ position: absolute;
2325
+ right: var(--space-3);
2326
+ top: 60%;
2327
+ transform: translateY(calc(-50% + 10px));
2328
+ padding: var(--space-2);
2329
+ border: none;
2330
+ background: transparent;
2331
+ color: var(--text-tertiary);
2332
+ cursor: pointer;
2333
+ border-radius: var(--radius-badge);
2334
+ transition: color var(--transition-glass), background var(--transition-glass);
2335
+ }
2336
+ .ds-signup__password-toggle:hover {
2337
+ color: var(--text-primary);
2338
+ background: var(--glass-base-hover);
2339
+ }
2340
+ .ds-signup__strength {
2341
+ display: flex;
2342
+ align-items: center;
2343
+ gap: var(--space-3);
2344
+ margin-top: var(--space-2);
2345
+ }
2346
+ .ds-signup__strength-bar {
2347
+ display: flex;
2348
+ gap: var(--space-1);
2349
+ flex: 1 1;
2350
+ }
2351
+ .ds-signup__strength-segment {
2352
+ height: 4px;
2353
+ flex: 1 1;
2354
+ border-radius: 2px;
2355
+ background: var(--glass-base-hover);
2356
+ transition: background-color var(--transition-fast);
2357
+ }
2358
+ .ds-signup__strength-segment--active {
2359
+ background: var(--status-success);
2360
+ }
2361
+ .ds-signup__strength-label {
2362
+ font-family: var(--font-family);
2363
+ font-size: var(--font-size-xs);
2364
+ font-weight: var(--font-weight-medium);
2365
+ white-space: nowrap;
2366
+ transition: color var(--transition-fast);
2367
+ }
2368
+ .ds-signup__terms {
2369
+ display: flex;
2370
+ align-items: flex-start;
2371
+ gap: var(--space-2);
2372
+ margin-bottom: var(--space-6);
2373
+ }
2374
+ .ds-signup__terms-text {
2375
+ font-family: var(--font-family);
2376
+ font-size: var(--font-size-sm);
2377
+ color: var(--text-secondary);
2378
+ line-height: var(--line-height-normal);
2379
+ }
2380
+ .ds-signup__link {
2381
+ padding: 0;
2382
+ border: none;
2383
+ background: transparent;
2384
+ color: rgb(var(--accent-rgb));
2385
+ font-family: var(--font-family);
2386
+ font-size: inherit;
2387
+ font-weight: var(--font-weight-medium);
2388
+ cursor: pointer;
2389
+ transition: color var(--transition-glass);
2390
+ }
2391
+ .ds-signup__link:hover:not(:disabled) {
2392
+ text-decoration: underline;
2393
+ }
2394
+ .ds-signup__link:disabled {
2395
+ opacity: .5;
2396
+ cursor: not-allowed;
2397
+ }
2398
+ .ds-signup__link--accent {
2399
+ color: rgb(var(--accent-rgb));
2400
+ }
2401
+ .ds-signup__submit {
2402
+ width: 100%;
2403
+ }
2404
+ .ds-signup__spinner {
2405
+ display: inline-block;
2406
+ width: 20px;
2407
+ height: 20px;
2408
+ border: 2px solid var(--hc-border);
2409
+ border-top-color: var(--hc-control-knob);
2410
+ border-radius: 50%;
2411
+ animation: ds-signup-spin .8s linear infinite;
2412
+ }
2413
+ @keyframes ds-signup-spin {
2414
+ to {
2415
+ transform: rotate(1turn);
2416
+ }
2417
+ }
2418
+ .ds-signup__footer {
2419
+ display: flex;
2420
+ align-items: center;
2421
+ justify-content: center;
2422
+ gap: var(--space-2);
2423
+ margin-top: var(--space-6);
2424
+ padding-top: var(--space-6);
2425
+ border-top: 1px solid var(--rim-light-bottom);
2426
+ font-size: var(--font-size-sm);
2427
+ color: var(--text-tertiary);
2428
+ animation: ds-signup-fade-in .5s ease-out .6s forwards;
2429
+ opacity: 0;
2430
+ }
2431
+ @media (max-width:480px) {
2432
+ .ds-signup {
2433
+ padding: var(--space-4);
2434
+ }
2435
+ .ds-signup__card {
2436
+ padding: var(--space-6);
2437
+ border-radius: var(--radius-card);
2438
+ }
2439
+ .ds-signup__accent--1 {
2440
+ width: 200px;
2441
+ height: 200px;
2442
+ top: -50px;
2443
+ right: -50px;
2444
+ }
2445
+ .ds-signup__accent--2 {
2446
+ width: 150px;
2447
+ height: 150px;
2448
+ bottom: -30px;
2449
+ left: -30px;
2450
+ }
2451
+ }
2452
+ @media (prefers-reduced-motion:reduce) {
2453
+ .ds-signup__card,
2454
+ .ds-signup__footer,
2455
+ .ds-signup__form,
2456
+ .ds-signup__logo,
2457
+ .ds-signup__social,
2458
+ .ds-signup__success-icon,
2459
+ .ds-signup__tagline,
2460
+ .ds-signup__title,
2461
+ .ds-signup__trust {
2462
+ animation: none;
2463
+ opacity: 1;
2464
+ }
2465
+ .ds-signup__accent,
2466
+ .ds-signup__logo-icon {
2467
+ animation: none;
2468
+ }
2469
+ .ds-signup__spinner {
2470
+ animation-duration: 1.5s;
2471
+ }
2472
+ }
2473
+ @media (prefers-contrast:more) {
2474
+ .ds-signup__card {
2475
+ border: 1px solid var(--hc-border);
2476
+ }
2477
+ .ds-signup__social-btn {
2478
+ border: 1px solid var(--hc-border-subtle);
2479
+ }
2480
+ .ds-signup__social-btn::before {
2481
+ display: none;
2482
+ }
2483
+ }
2484
+
2485
+ /* src/v2-auth/ForgotPassword/ForgotPassword.css */
2486
+ .ds-forgot {
2487
+ position: relative;
2488
+ display: flex;
2489
+ flex-direction: column;
2490
+ align-items: center;
2491
+ justify-content: center;
2492
+ padding: var(--space-6);
2493
+ }
2494
+ .ds-forgot__accent {
2495
+ position: absolute;
2496
+ border-radius: 50%;
2497
+ filter: blur(80px);
2498
+ opacity: .5;
2499
+ pointer-events: none;
2500
+ animation: ds-forgot-float 20s ease-in-out infinite;
2501
+ }
2502
+ .ds-forgot__accent--1 {
2503
+ width: 400px;
2504
+ height: 400px;
2505
+ background:
2506
+ radial-gradient(
2507
+ circle,
2508
+ rgba(var(--accent-rgb), .4) 0,
2509
+ transparent 70%);
2510
+ top: -100px;
2511
+ right: -100px;
2512
+ animation-delay: 0s;
2513
+ }
2514
+ .ds-forgot__accent--2 {
2515
+ width: 300px;
2516
+ height: 300px;
2517
+ background:
2518
+ radial-gradient(
2519
+ circle,
2520
+ rgba(var(--accent2-rgb), .3) 0,
2521
+ transparent 70%);
2522
+ bottom: -50px;
2523
+ left: -50px;
2524
+ animation-delay: -10s;
2525
+ }
2526
+ @keyframes ds-forgot-float {
2527
+ 0%, 100% {
2528
+ transform: translate(0) scale(1);
2529
+ }
2530
+ 25% {
2531
+ transform: translate(20px, -30px) scale(1.05);
2532
+ }
2533
+ 50% {
2534
+ transform: translate(-10px, 20px) scale(.95);
2535
+ }
2536
+ 75% {
2537
+ transform: translate(-30px, -10px) scale(1.02);
2538
+ }
2539
+ }
2540
+ .ds-forgot__card {
2541
+ position: relative;
2542
+ width: 100%;
2543
+ max-width: 400px;
2544
+ padding: var(--space-8);
2545
+ border-radius: var(--radius-panel);
2546
+ background: var(--glass-base);
2547
+ backdrop-filter: var(--glass-backdrop);
2548
+ -webkit-backdrop-filter: var(--glass-backdrop);
2549
+ box-shadow: var(--glass-shadow-elevated-combined);
2550
+ animation: ds-forgot-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
2551
+ opacity: 0;
2552
+ transform: translateY(20px);
2553
+ }
2554
+ .ds-forgot__card::before {
2555
+ content: "";
2556
+ position: absolute;
2557
+ inset: 0;
2558
+ border-radius: inherit;
2559
+ padding: 1px;
2560
+ background:
2561
+ linear-gradient(
2562
+ 180deg,
2563
+ var(--rim-light-hover-top) 0,
2564
+ var(--rim-light-bottom) 100%);
2565
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2566
+ mask-composite: exclude;
2567
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2568
+ -webkit-mask-composite: xor;
2569
+ pointer-events: none;
2570
+ }
2571
+ .ds-forgot__card--centered {
2572
+ text-align: center;
2573
+ }
2574
+ @keyframes ds-forgot-card-enter {
2575
+ to {
2576
+ opacity: 1;
2577
+ transform: translateY(0);
2578
+ }
2579
+ }
2580
+ .ds-forgot__header {
2581
+ text-align: center;
2582
+ margin-bottom: var(--space-6);
2583
+ }
2584
+ .ds-forgot__logo {
2585
+ display: flex;
2586
+ justify-content: center;
2587
+ margin-bottom: var(--space-4);
2588
+ animation: ds-forgot-fade-in .5s ease-out .1s forwards;
2589
+ opacity: 0;
2590
+ }
2591
+ .ds-forgot__logo-icon {
2592
+ width: 56px;
2593
+ height: 56px;
2594
+ }
2595
+ .ds-forgot__logo-icon svg {
2596
+ width: 100%;
2597
+ height: 100%;
2598
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
2599
+ }
2600
+ .ds-forgot__title {
2601
+ font-size: var(--font-size-2xl);
2602
+ font-weight: var(--font-weight-bold);
2603
+ color: var(--text-primary);
2604
+ margin: 0 0 var(--space-2);
2605
+ animation: ds-forgot-fade-in .5s ease-out .2s forwards;
2606
+ }
2607
+ .ds-forgot__tagline,
2608
+ .ds-forgot__title {
2609
+ font-family: var(--font-family);
2610
+ opacity: 0;
2611
+ }
2612
+ .ds-forgot__tagline {
2613
+ font-size: var(--font-size-sm);
2614
+ color: var(--text-secondary);
2615
+ margin: 0;
2616
+ line-height: var(--line-height-normal);
2617
+ animation: ds-forgot-fade-in .5s ease-out .3s forwards;
2618
+ }
2619
+ .ds-forgot__tagline strong {
2620
+ color: var(--text-primary);
2621
+ }
2622
+ @keyframes ds-forgot-fade-in {
2623
+ to {
2624
+ opacity: 1;
2625
+ }
2626
+ }
2627
+ .ds-forgot__success-icon {
2628
+ width: 64px;
2629
+ height: 64px;
2630
+ margin: 0 auto var(--space-6);
2631
+ animation: ds-forgot-success-icon .6s cubic-bezier(.16, 1, .3, 1) forwards;
2632
+ }
2633
+ .ds-forgot__success-icon svg {
2634
+ width: 100%;
2635
+ height: 100%;
2636
+ }
2637
+ @keyframes ds-forgot-success-icon {
2638
+ 0% {
2639
+ transform: scale(0);
2640
+ opacity: 0;
2641
+ }
2642
+ 50% {
2643
+ transform: scale(1.2);
2644
+ }
2645
+ 100% {
2646
+ transform: scale(1);
2647
+ opacity: 1;
2648
+ }
2649
+ }
2650
+ .ds-forgot__error {
2651
+ display: flex;
2652
+ align-items: center;
2653
+ gap: var(--space-2);
2654
+ padding: var(--space-3) var(--space-4);
2655
+ margin-bottom: var(--space-4);
2656
+ border-radius: var(--radius-button);
2657
+ background: rgba(var(--status-error-rgb), .1);
2658
+ border: 1px solid rgba(var(--status-error-rgb), .3);
2659
+ color: var(--status-error);
2660
+ font-size: var(--font-size-sm);
2661
+ animation: ds-forgot-error-enter .4s ease-out;
2662
+ }
2663
+ @keyframes ds-forgot-error-enter {
2664
+ 0% {
2665
+ opacity: 0;
2666
+ transform: translateX(-10px);
2667
+ }
2668
+ 50% {
2669
+ transform: translateX(5px);
2670
+ }
2671
+ 100% {
2672
+ opacity: 1;
2673
+ transform: translateX(0);
2674
+ }
2675
+ }
2676
+ .ds-forgot__form {
2677
+ animation: ds-forgot-fade-in .5s ease-out .4s forwards;
2678
+ opacity: 0;
2679
+ }
2680
+ .ds-forgot__field {
2681
+ margin-bottom: var(--space-4);
2682
+ }
2683
+ .ds-forgot__password-wrapper {
2684
+ position: relative;
2685
+ }
2686
+ .ds-forgot__password-wrapper .ds-textfield__input {
2687
+ padding-right: var(--space-12);
2688
+ }
2689
+ .ds-forgot__password-toggle {
2690
+ position: absolute;
2691
+ right: var(--space-3);
2692
+ top: 60%;
2693
+ transform: translateY(calc(-50% + 10px));
2694
+ padding: var(--space-2);
2695
+ border: none;
2696
+ background: transparent;
2697
+ color: var(--text-tertiary);
2698
+ cursor: pointer;
2699
+ border-radius: var(--radius-badge);
2700
+ transition: color var(--transition-glass), background var(--transition-glass);
2701
+ }
2702
+ .ds-forgot__password-toggle:hover {
2703
+ color: var(--text-primary);
2704
+ background: var(--glass-base-hover);
2705
+ }
2706
+ .ds-forgot__submit {
2707
+ width: 100%;
2708
+ margin-top: var(--space-2);
2709
+ }
2710
+ .ds-forgot__spinner {
2711
+ display: inline-block;
2712
+ width: 20px;
2713
+ height: 20px;
2714
+ border: 2px solid var(--hc-border);
2715
+ border-top: 2px solid #fff;
2716
+ border-radius: 50%;
2717
+ animation: ds-forgot-spin .8s linear infinite;
2718
+ }
2719
+ @keyframes ds-forgot-spin {
2720
+ to {
2721
+ transform: rotate(1turn);
2722
+ }
2723
+ }
2724
+ .ds-forgot__hint {
2725
+ margin-top: var(--space-6);
2726
+ font-family: var(--font-family);
2727
+ font-size: var(--font-size-sm);
2728
+ color: var(--text-tertiary);
2729
+ }
2730
+ .ds-forgot__link {
2731
+ padding: 0;
2732
+ border: none;
2733
+ background: transparent;
2734
+ color: rgb(var(--accent-rgb));
2735
+ font-family: var(--font-family);
2736
+ font-size: inherit;
2737
+ font-weight: var(--font-weight-medium);
2738
+ cursor: pointer;
2739
+ transition: color var(--transition-glass);
2740
+ margin-left: var(--space-1);
2741
+ }
2742
+ .ds-forgot__link:hover:not(:disabled) {
2743
+ text-decoration: underline;
2744
+ }
2745
+ .ds-forgot__link:disabled {
2746
+ opacity: .5;
2747
+ cursor: not-allowed;
2748
+ }
2749
+ .ds-forgot__footer {
2750
+ display: flex;
2751
+ justify-content: center;
2752
+ margin-top: var(--space-6);
2753
+ padding-top: var(--space-6);
2754
+ border-top: 1px solid var(--rim-light-bottom);
2755
+ animation: ds-forgot-fade-in .5s ease-out .5s forwards;
2756
+ opacity: 0;
2757
+ }
2758
+ .ds-forgot__back {
2759
+ display: flex;
2760
+ align-items: center;
2761
+ gap: var(--space-2);
2762
+ padding: var(--space-2) var(--space-3);
2763
+ border: none;
2764
+ border-radius: var(--radius-button);
2765
+ background: transparent;
2766
+ color: var(--text-secondary);
2767
+ font-family: var(--font-family);
2768
+ font-size: var(--font-size-sm);
2769
+ font-weight: var(--font-weight-medium);
2770
+ cursor: pointer;
2771
+ transition: color var(--transition-glass), background var(--transition-glass);
2772
+ }
2773
+ .ds-forgot__back:hover:not(:disabled) {
2774
+ color: var(--text-primary);
2775
+ background: var(--glass-base-hover);
2776
+ }
2777
+ .ds-forgot__back:disabled {
2778
+ opacity: .5;
2779
+ cursor: not-allowed;
2780
+ }
2781
+ @media (max-width:480px) {
2782
+ .ds-forgot {
2783
+ padding: var(--space-4);
2784
+ }
2785
+ .ds-forgot__card {
2786
+ padding: var(--space-6);
2787
+ border-radius: var(--radius-card);
2788
+ }
2789
+ .ds-forgot__accent--1 {
2790
+ width: 200px;
2791
+ height: 200px;
2792
+ top: -50px;
2793
+ right: -50px;
2794
+ }
2795
+ .ds-forgot__accent--2 {
2796
+ width: 150px;
2797
+ height: 150px;
2798
+ bottom: -30px;
2799
+ left: -30px;
2800
+ }
2801
+ }
2802
+ @media (prefers-reduced-motion:reduce) {
2803
+ .ds-forgot__card,
2804
+ .ds-forgot__footer,
2805
+ .ds-forgot__form,
2806
+ .ds-forgot__logo,
2807
+ .ds-forgot__success-icon,
2808
+ .ds-forgot__tagline,
2809
+ .ds-forgot__title {
2810
+ animation: none;
2811
+ opacity: 1;
2812
+ }
2813
+ .ds-forgot__accent {
2814
+ animation: none;
2815
+ }
2816
+ .ds-forgot__spinner {
2817
+ animation-duration: 1.5s;
2818
+ }
2819
+ }
2820
+ @media (prefers-contrast:more) {
2821
+ .ds-forgot__card {
2822
+ border: 1px solid var(--hc-border);
2823
+ }
2824
+ }
2825
+
2826
+ /* src/v2-auth/ChangeEmail/ChangeEmail.css */
2827
+ .ds-change-email {
2828
+ position: relative;
2829
+ display: flex;
2830
+ flex-direction: column;
2831
+ align-items: center;
2832
+ justify-content: center;
2833
+ width: 100%;
2834
+ padding: var(--space-6);
2835
+ box-sizing: border-box;
2836
+ }
2837
+ .void__content .ds-change-email {
2838
+ min-height: auto;
2839
+ flex: 1 1;
2840
+ }
2841
+ .ds-change-email__accent {
2842
+ position: absolute;
2843
+ border-radius: 50%;
2844
+ filter: blur(80px);
2845
+ opacity: .5;
2846
+ pointer-events: none;
2847
+ animation: ds-change-email-float 20s ease-in-out infinite;
2848
+ }
2849
+ .ds-change-email__accent--1 {
2850
+ width: 400px;
2851
+ height: 400px;
2852
+ background:
2853
+ radial-gradient(
2854
+ circle,
2855
+ rgba(var(--accent-rgb), .4) 0,
2856
+ transparent 70%);
2857
+ top: -100px;
2858
+ right: -100px;
2859
+ animation-delay: 0s;
2860
+ }
2861
+ .ds-change-email__accent--2 {
2862
+ width: 300px;
2863
+ height: 300px;
2864
+ background:
2865
+ radial-gradient(
2866
+ circle,
2867
+ rgba(var(--accent2-rgb), .3) 0,
2868
+ transparent 70%);
2869
+ bottom: -50px;
2870
+ left: -50px;
2871
+ animation-delay: -10s;
2872
+ }
2873
+ .ds-change-email__container {
2874
+ position: relative;
2875
+ width: 100%;
2876
+ max-width: 420px;
2877
+ display: flex;
2878
+ flex-direction: column;
2879
+ align-items: center;
2880
+ }
2881
+ @keyframes ds-change-email-float {
2882
+ 0%, 100% {
2883
+ transform: translate(0) scale(1);
2884
+ }
2885
+ 25% {
2886
+ transform: translate(20px, -30px) scale(1.05);
2887
+ }
2888
+ 50% {
2889
+ transform: translate(-10px, 20px) scale(.95);
2890
+ }
2891
+ 75% {
2892
+ transform: translate(-30px, -10px) scale(1.02);
2893
+ }
2894
+ }
2895
+ .ds-change-email__card {
2896
+ position: relative;
2897
+ width: 100%;
2898
+ max-width: 420px;
2899
+ padding: var(--space-8);
2900
+ border-radius: var(--radius-panel);
2901
+ background: var(--glass-base);
2902
+ backdrop-filter: var(--glass-backdrop);
2903
+ -webkit-backdrop-filter: var(--glass-backdrop);
2904
+ box-shadow: var(--glass-shadow-elevated-combined);
2905
+ animation: ds-change-email-card-enter .6s cubic-bezier(.16, 1, .3, 1) forwards;
2906
+ opacity: 0;
2907
+ transform: translateY(20px);
2908
+ }
2909
+ .ds-change-email__card::before {
2910
+ content: "";
2911
+ position: absolute;
2912
+ inset: 0;
2913
+ border-radius: inherit;
2914
+ padding: 1px;
2915
+ background:
2916
+ linear-gradient(
2917
+ 180deg,
2918
+ var(--rim-light-hover-top) 0,
2919
+ var(--rim-light-bottom) 100%);
2920
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2921
+ mask-composite: exclude;
2922
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2923
+ -webkit-mask-composite: xor;
2924
+ pointer-events: none;
2925
+ }
2926
+ @keyframes ds-change-email-card-enter {
2927
+ to {
2928
+ opacity: 1;
2929
+ transform: translateY(0);
2930
+ }
2931
+ }
2932
+ .ds-change-email__header {
2933
+ text-align: center;
2934
+ margin-bottom: var(--space-6);
2935
+ }
2936
+ .ds-change-email__logo {
2937
+ display: flex;
2938
+ justify-content: center;
2939
+ margin-bottom: var(--space-4);
2940
+ animation: ds-change-email-fade-in .5s ease-out .1s forwards;
2941
+ opacity: 0;
2942
+ }
2943
+ .ds-change-email__logo-icon {
2944
+ width: 56px;
2945
+ height: 56px;
2946
+ animation: ds-change-email-logo-pulse 3s ease-in-out infinite;
2947
+ }
2948
+ .ds-change-email__logo-icon svg {
2949
+ width: 100%;
2950
+ height: 100%;
2951
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
2952
+ }
2953
+ @keyframes ds-change-email-logo-pulse {
2954
+ 0%, 100% {
2955
+ transform: scale(1);
2956
+ filter: drop-shadow(0 4px 12px rgba(var(--accent-rgb), .3));
2957
+ }
2958
+ 50% {
2959
+ transform: scale(1.05);
2960
+ filter: drop-shadow(0 6px 20px rgba(var(--accent-rgb), .5));
2961
+ }
2962
+ }
2963
+ .ds-change-email__title {
2964
+ font-family: var(--font-family);
2965
+ font-size: var(--font-size-2xl);
2966
+ font-weight: var(--font-weight-bold);
2967
+ color: var(--text-primary);
2968
+ margin: 0 0 var(--space-2);
2969
+ animation: ds-change-email-fade-in .5s ease-out .2s forwards;
2970
+ opacity: 0;
2971
+ }
2972
+ .ds-change-email__tagline {
2973
+ font-family: var(--font-family);
2974
+ font-size: var(--font-size-sm);
2975
+ color: var(--text-secondary);
2976
+ margin: 0;
2977
+ line-height: var(--line-height-normal);
2978
+ animation: ds-change-email-fade-in .5s ease-out .3s forwards;
2979
+ opacity: 0;
2980
+ }
2981
+ @keyframes ds-change-email-fade-in {
2982
+ to {
2983
+ opacity: 1;
2984
+ }
2985
+ }
2986
+ .ds-change-email__error {
2987
+ display: flex;
2988
+ align-items: center;
2989
+ gap: var(--space-2);
2990
+ padding: var(--space-3) var(--space-4);
2991
+ margin-bottom: var(--space-4);
2992
+ border-radius: var(--radius-button);
2993
+ background: rgba(var(--status-error-rgb), .1);
2994
+ border: 1px solid rgba(var(--status-error-rgb), .3);
2995
+ color: var(--status-error);
2996
+ font-size: var(--font-size-sm);
2997
+ animation: ds-change-email-error-enter .4s ease-out;
2998
+ }
2999
+ @keyframes ds-change-email-error-enter {
3000
+ 0% {
3001
+ opacity: 0;
3002
+ transform: translateX(-10px);
3003
+ }
3004
+ 50% {
3005
+ transform: translateX(5px);
3006
+ }
3007
+ 100% {
3008
+ opacity: 1;
3009
+ transform: translateX(0);
3010
+ }
3011
+ }
3012
+ .ds-change-email__social {
3013
+ margin-bottom: var(--space-4);
3014
+ animation: ds-change-email-fade-in .5s ease-out .4s forwards;
3015
+ opacity: 0;
3016
+ }
3017
+ .ds-change-email__social-btn {
3018
+ display: flex;
3019
+ align-items: center;
3020
+ justify-content: center;
3021
+ gap: var(--space-3);
3022
+ width: 100%;
3023
+ padding: var(--space-3) var(--space-4);
3024
+ margin-bottom: var(--space-3);
3025
+ border: none;
3026
+ border-radius: var(--radius-button);
3027
+ background: var(--glass-base);
3028
+ color: var(--text-primary);
3029
+ font-family: var(--font-family);
3030
+ font-size: var(--font-size-base);
3031
+ font-weight: var(--font-weight-medium);
3032
+ cursor: pointer;
3033
+ position: relative;
3034
+ transition:
3035
+ background var(--transition-glass),
3036
+ transform var(--transition-glass),
3037
+ box-shadow var(--transition-glass);
3038
+ }
3039
+ .ds-change-email__social-btn::before {
3040
+ content: "";
3041
+ position: absolute;
3042
+ inset: 0;
3043
+ border-radius: inherit;
3044
+ padding: 1px;
3045
+ background:
3046
+ linear-gradient(
3047
+ 180deg,
3048
+ var(--rim-light-top) 0,
3049
+ var(--rim-light-bottom) 100%);
3050
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3051
+ mask-composite: exclude;
3052
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3053
+ -webkit-mask-composite: xor;
3054
+ pointer-events: none;
3055
+ transition: background var(--transition-glass);
3056
+ }
3057
+ .ds-change-email__social-btn:hover:not(:disabled) {
3058
+ background: var(--glass-base-hover);
3059
+ transform: translateY(-2px);
3060
+ box-shadow: 0 8px 24px var(--shadow-color-heavy,rgba(0,0,0,.2));
3061
+ }
3062
+ .ds-change-email__social-btn:hover:not(:disabled)::before {
3063
+ background:
3064
+ linear-gradient(
3065
+ 180deg,
3066
+ var(--rim-light-hover-top) 0,
3067
+ var(--rim-light-hover-bottom) 100%);
3068
+ }
3069
+ .ds-change-email__social-btn:disabled {
3070
+ opacity: .5;
3071
+ cursor: not-allowed;
3072
+ }
3073
+ .ds-change-email__divider {
3074
+ display: flex;
3075
+ align-items: center;
3076
+ gap: var(--space-4);
3077
+ margin: var(--space-4) 0;
3078
+ color: var(--text-tertiary);
3079
+ font-family: var(--font-family);
3080
+ font-size: var(--font-size-sm);
3081
+ }
3082
+ .ds-change-email__divider::after,
3083
+ .ds-change-email__divider::before {
3084
+ content: "";
3085
+ flex: 1 1;
3086
+ height: 1px;
3087
+ background:
3088
+ linear-gradient(
3089
+ 90deg,
3090
+ transparent 0,
3091
+ var(--rim-light-top) 50%,
3092
+ transparent 100%);
3093
+ }
3094
+ .ds-change-email__form {
3095
+ animation: ds-change-email-fade-in .5s ease-out .5s forwards;
3096
+ opacity: 0;
3097
+ }
3098
+ .ds-change-email__field {
3099
+ margin-bottom: var(--space-4);
3100
+ }
3101
+ .ds-change-email__password-toggle {
3102
+ position: static;
3103
+ transform: none;
3104
+ padding: var(--space-2);
3105
+ border: none;
3106
+ background: transparent;
3107
+ color: var(--text-tertiary);
3108
+ cursor: pointer;
3109
+ border-radius: var(--radius-badge);
3110
+ display: flex;
3111
+ align-items: center;
3112
+ justify-content: center;
3113
+ transition: color var(--transition-glass), background var(--transition-glass);
3114
+ }
3115
+ .ds-change-email__password-toggle:hover {
3116
+ color: var(--text-primary);
3117
+ background: var(--glass-base-hover);
3118
+ }
3119
+ .ds-change-email__options {
3120
+ display: flex;
3121
+ align-items: center;
3122
+ justify-content: space-between;
3123
+ margin-bottom: var(--space-6);
3124
+ flex-wrap: wrap;
3125
+ gap: var(--space-2);
3126
+ }
3127
+ .ds-change-email__link {
3128
+ padding: 0;
3129
+ border: none;
3130
+ background: transparent;
3131
+ color: var(--text-secondary);
3132
+ font-family: var(--font-family);
3133
+ font-size: var(--font-size-sm);
3134
+ cursor: pointer;
3135
+ transition: color var(--transition-glass);
3136
+ }
3137
+ .ds-change-email__link:hover:not(:disabled) {
3138
+ color: var(--text-primary);
3139
+ }
3140
+ .ds-change-email__link--accent {
3141
+ color: rgb(var(--accent-rgb));
3142
+ font-weight: var(--font-weight-medium);
3143
+ }
3144
+ .ds-change-email__link--accent:hover:not(:disabled) {
3145
+ color: rgb(var(--accent-rgb));
3146
+ text-decoration: underline;
3147
+ }
3148
+ .ds-change-email__link:disabled {
3149
+ opacity: .5;
3150
+ cursor: not-allowed;
3151
+ }
3152
+ .ds-change-email__submit {
3153
+ width: 100%;
3154
+ }
3155
+ .ds-change-email__spinner {
3156
+ display: inline-block;
3157
+ width: 20px;
3158
+ height: 20px;
3159
+ border: 2px solid var(--border-subtle,hsla(0deg,0%,100%,.3));
3160
+ border-top-color: var(--text-primary,#fff);
3161
+ border-radius: 50%;
3162
+ animation: ds-change-email-spin .8s linear infinite;
3163
+ }
3164
+ @keyframes ds-change-email-spin {
3165
+ to {
3166
+ transform: rotate(1turn);
3167
+ }
3168
+ }
3169
+ .ds-change-email__footer {
3170
+ display: flex;
3171
+ align-items: center;
3172
+ justify-content: center;
3173
+ gap: var(--space-2);
3174
+ margin-top: var(--space-6);
3175
+ border-top: 1px solid var(--rim-light-bottom);
3176
+ font-size: var(--font-size-sm);
3177
+ animation: ds-change-email-fade-in .5s ease-out .6s forwards;
3178
+ }
3179
+ .ds-change-email__footer,
3180
+ .ds-change-email__trust {
3181
+ padding-top: var(--space-6);
3182
+ font-family: var(--font-family);
3183
+ color: var(--text-tertiary);
3184
+ opacity: 0;
3185
+ }
3186
+ .ds-change-email__trust {
3187
+ padding-bottom: var(--space-2);
3188
+ text-align: center;
3189
+ font-size: var(--font-size-xs);
3190
+ animation: ds-change-email-fade-in .5s ease-out .7s forwards;
3191
+ }
3192
+ @media (max-width:480px) {
3193
+ .ds-change-email {
3194
+ padding: var(--space-4);
3195
+ }
3196
+ .ds-change-email__card {
3197
+ padding: var(--space-6);
3198
+ border-radius: var(--radius-card);
3199
+ }
3200
+ .ds-change-email__accent--1 {
3201
+ width: 200px;
3202
+ height: 200px;
3203
+ top: -50px;
3204
+ right: -50px;
3205
+ }
3206
+ .ds-change-email__accent--2 {
3207
+ width: 150px;
3208
+ height: 150px;
3209
+ bottom: -30px;
3210
+ left: -30px;
3211
+ }
3212
+ .ds-change-email__options {
3213
+ flex-direction: column;
3214
+ align-items: flex-start;
3215
+ gap: var(--space-3);
3216
+ }
3217
+ }
3218
+ @media (prefers-reduced-motion:reduce) {
3219
+ .ds-change-email__card,
3220
+ .ds-change-email__footer,
3221
+ .ds-change-email__form,
3222
+ .ds-change-email__logo,
3223
+ .ds-change-email__social,
3224
+ .ds-change-email__tagline,
3225
+ .ds-change-email__title,
3226
+ .ds-change-email__trust {
3227
+ animation: none;
3228
+ opacity: 1;
3229
+ }
3230
+ .ds-change-email__accent,
3231
+ .ds-change-email__logo-icon {
3232
+ animation: none;
3233
+ }
3234
+ .ds-change-email__spinner {
3235
+ animation-duration: 1.5s;
3236
+ }
3237
+ }
3238
+ @media (prefers-contrast:more) {
3239
+ .ds-change-email__card {
3240
+ border: 1px solid var(--hc-border);
3241
+ }
3242
+ .ds-change-email__social-btn {
3243
+ border: 1px solid var(--hc-border-subtle);
3244
+ }
3245
+ .ds-change-email__social-btn::before {
3246
+ display: none;
3247
+ }
3248
+ }
3249
+
3250
+ /* src/v2-auth/VoidBackground/VoidBackground.css */
3251
+ .void {
3252
+ position: relative;
3253
+ display: flex;
3254
+ flex-direction: column;
3255
+ width: 100%;
3256
+ min-height: 100vh;
3257
+ overflow: hidden;
3258
+ isolation: isolate;
3259
+ }
3260
+ .void__base {
3261
+ background-color: var(--void-base);
3262
+ z-index: -4;
3263
+ }
3264
+ .void__base,
3265
+ .void__orbs {
3266
+ position: absolute;
3267
+ inset: 0;
3268
+ }
3269
+ .void__orbs {
3270
+ z-index: -3;
3271
+ pointer-events: none;
3272
+ }
3273
+ .void__orb {
3274
+ position: absolute;
3275
+ border-radius: 50%;
3276
+ mix-blend-mode: screen;
3277
+ filter: blur(140px);
3278
+ opacity: .6;
3279
+ }
3280
+ .void__orb--warm {
3281
+ width: 800px;
3282
+ height: 800px;
3283
+ top: 10%;
3284
+ right: 10%;
3285
+ background:
3286
+ radial-gradient(
3287
+ circle at center,
3288
+ rgba(var(--void-orb-yellow-rgb), .4) 0,
3289
+ rgba(var(--void-orb-pink-rgb), .3) 40%,
3290
+ transparent 70%);
3291
+ }
3292
+ .void__orb--purple {
3293
+ width: 600px;
3294
+ height: 600px;
3295
+ bottom: 10%;
3296
+ left: 10%;
3297
+ background:
3298
+ radial-gradient(
3299
+ circle at center,
3300
+ rgba(var(--void-orb-purple-rgb), .5) 0,
3301
+ rgba(var(--void-orb-purple-rgb), .2) 50%,
3302
+ transparent 70%);
3303
+ }
3304
+ .void__grid {
3305
+ z-index: -2;
3306
+ background-image:
3307
+ linear-gradient(
3308
+ to right,
3309
+ var(--void-grid-color) 1px,
3310
+ transparent 1px),
3311
+ linear-gradient(
3312
+ to bottom,
3313
+ var(--void-grid-color) 1px,
3314
+ transparent 1px);
3315
+ background-size: var(--void-grid-size) var(--void-grid-size);
3316
+ mask-image:
3317
+ radial-gradient(
3318
+ ellipse 70% 60% at 50% 40%,
3319
+ #000 0,
3320
+ transparent 100%);
3321
+ -webkit-mask-image:
3322
+ radial-gradient(
3323
+ ellipse 70% 60% at 50% 40%,
3324
+ #000 0,
3325
+ transparent 100%);
3326
+ }
3327
+ .void__grain,
3328
+ .void__grid {
3329
+ position: absolute;
3330
+ inset: 0;
3331
+ pointer-events: none;
3332
+ }
3333
+ .void__grain {
3334
+ z-index: -1;
3335
+ opacity: var(--void-grid-grain-opacity,.04);
3336
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
3337
+ background-repeat: repeat;
3338
+ background-size: 200px 200px;
3339
+ }
3340
+ .void__content {
3341
+ position: relative;
3342
+ z-index: 1;
3343
+ flex: 1 1;
3344
+ display: flex;
3345
+ flex-direction: column;
3346
+ }
3347
+ .void--inline,
3348
+ .void--inline .void__content {
3349
+ min-height: auto;
3350
+ }
3351
+ @media (prefers-reduced-motion:reduce) {
3352
+ .void__orb {
3353
+ animation: none;
3354
+ }
3355
+ }
3356
+ .void__content .ds-change-email {
3357
+ min-height: auto;
3358
+ flex: 1 1;
3359
+ }
3360
+ /*# sourceMappingURL=index.css.map */