osi-cards-lib 1.5.30 → 1.5.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -20
- package/package.json +13 -25
- package/postcss.config.js +81 -0
- package/section-registry.json +3864 -0
- package/section-registry.schema.json +264 -0
- package/fesm2022/osi-cards-lib.mjs +0 -31878
- package/fesm2022/osi-cards-lib.mjs.map +0 -1
- package/index.d.ts +0 -11522
- package/scripts/setup-angular-styles.js +0 -169
- package/styles/_components.scss +0 -38
- package/styles/_index.scss +0 -25
- package/styles/_osi-cards-mixins.scss +0 -459
- package/styles/_osi-cards-tokens.scss +0 -333
- package/styles/_styles-scoped.scss +0 -81
- package/styles/_styles.scss +0 -26
- package/styles/bundles/_ai-card.scss +0 -245
- package/styles/bundles/_all.scss +0 -68
- package/styles/bundles/_base.scss +0 -60
- package/styles/bundles/_card-skeleton.scss +0 -290
- package/styles/bundles/_index.scss +0 -25
- package/styles/bundles/_sections.scss +0 -48
- package/styles/bundles/_tokens-only.scss +0 -139
- package/styles/components/_ai-card-renderer.scss +0 -104
- package/styles/components/_badges.scss +0 -317
- package/styles/components/_card-actions.scss +0 -169
- package/styles/components/_card-footer.scss +0 -47
- package/styles/components/_component-styles.scss +0 -205
- package/styles/components/_empty-state.scss +0 -630
- package/styles/components/_hero-card.scss +0 -422
- package/styles/components/_image-fallback.scss +0 -28
- package/styles/components/_streaming-effects.scss +0 -518
- package/styles/components/cards/_ai-card.scss +0 -718
- package/styles/components/sections/_all-sections.generated.scss +0 -41
- package/styles/components/sections/_all-sections.scss +0 -1086
- package/styles/components/sections/_balanced-compact-system.scss +0 -186
- package/styles/components/sections/_compact-mixins.scss +0 -180
- package/styles/components/sections/_component-mixins.scss +0 -454
- package/styles/components/sections/_design-system.scss +0 -477
- package/styles/components/sections/_design-tokens.scss +0 -308
- package/styles/components/sections/_enhanced-design-variables.scss +0 -147
- package/styles/components/sections/_master-compact-system.scss +0 -302
- package/styles/components/sections/_master-dense-system.scss +0 -239
- package/styles/components/sections/_minimalistic-design.scss +0 -268
- package/styles/components/sections/_modern-effects.scss +0 -392
- package/styles/components/sections/_modern-sections.scss +0 -351
- package/styles/components/sections/_perfect-system.scss +0 -204
- package/styles/components/sections/_section-animations.scss +0 -331
- package/styles/components/sections/_section-shell.scss +0 -337
- package/styles/components/sections/_section-types.generated.scss +0 -30
- package/styles/components/sections/_sections-all.scss +0 -26
- package/styles/components/sections/_sections-base.scss +0 -334
- package/styles/components/sections/_typography-system.scss +0 -327
- package/styles/components/sections/_ultra-compact-tokens.scss +0 -375
- package/styles/components/sections/_unified-section-style.scss +0 -157
- package/styles/components/sections/_utility-classes.scss +0 -567
- package/styles/components/sections/_visual-effects-library.scss +0 -374
- package/styles/core/_animations.scss +0 -1498
- package/styles/core/_bootstrap-reset.scss +0 -445
- package/styles/core/_color-helpers.scss +0 -46
- package/styles/core/_global-unified.scss +0 -118
- package/styles/core/_global.scss +0 -73
- package/styles/core/_mixins.scss +0 -491
- package/styles/core/_surface-layers.scss +0 -76
- package/styles/core/_utilities.scss +0 -326
- package/styles/core/_variables-unified.scss +0 -57
- package/styles/core/_variables.scss +0 -36
- package/styles/core/variables/_colors-source.scss +0 -34
- package/styles/core/variables/_colors-unified.scss +0 -26
- package/styles/core/variables/_colors.scss +0 -21
- package/styles/critical.scss +0 -353
- package/styles/design-system/_compact-theme.scss +0 -159
- package/styles/design-system/_section-base.scss +0 -426
- package/styles/design-system/_tokens.scss +0 -237
- package/styles/design-system/_unified-sections.scss +0 -215
- package/styles/layout/_feature-grid.scss +0 -322
- package/styles/layout/_masonry.scss +0 -734
- package/styles/layout/_tilt.scss +0 -244
- package/styles/micro-interactions.scss +0 -583
- package/styles/mixins/_section-mixins.scss +0 -280
- package/styles/non-critical.scss +0 -643
- package/styles/reset/_framework-reset.scss +0 -457
- package/styles/reset/_index.scss +0 -14
- package/styles/reset/_shadow-reset.scss +0 -383
- package/styles/responsive.scss +0 -326
- package/styles/themes.scss +0 -573
- package/styles/tokens/_index.scss +0 -92
- package/styles/tokens/_master.scss +0 -1404
- package/styles/tokens/_section-tokens.generated.scss +0 -140
|
@@ -1,1498 +0,0 @@
|
|
|
1
|
-
/* ===================================================================
|
|
2
|
-
ANIMATION KEYFRAMES
|
|
3
|
-
Performance-optimized animations with hardware acceleration
|
|
4
|
-
=================================================================== */
|
|
5
|
-
|
|
6
|
-
/* Entry Animations - For components appearing on screen */
|
|
7
|
-
@keyframes fadeInUp {
|
|
8
|
-
from {
|
|
9
|
-
opacity: 0;
|
|
10
|
-
transform: translate3d(0, var(--motion-distance-lg), 0); /* Hardware acceleration */
|
|
11
|
-
}
|
|
12
|
-
to {
|
|
13
|
-
opacity: 1;
|
|
14
|
-
transform: translate3d(0, 0, 0);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@keyframes fadeIn {
|
|
19
|
-
from {
|
|
20
|
-
opacity: 0;
|
|
21
|
-
transform: translate3d(0, 0, 0); /* Hardware acceleration */
|
|
22
|
-
}
|
|
23
|
-
to {
|
|
24
|
-
opacity: 1;
|
|
25
|
-
transform: translate3d(0, 0, 0);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@keyframes fadeInSoft {
|
|
30
|
-
from {
|
|
31
|
-
opacity: 0;
|
|
32
|
-
transform: translate3d(0, var(--motion-distance-sm), 0) scale(var(--motion-scale-soft-start));
|
|
33
|
-
}
|
|
34
|
-
to {
|
|
35
|
-
opacity: 1;
|
|
36
|
-
transform: translate3d(0, 0, 0) scale(var(--motion-scale-soft-end));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@keyframes slideUp {
|
|
41
|
-
from {
|
|
42
|
-
transform: translate3d(0, var(--motion-distance-xl), 0);
|
|
43
|
-
opacity: 0;
|
|
44
|
-
}
|
|
45
|
-
to {
|
|
46
|
-
transform: translate3d(0, 0, 0);
|
|
47
|
-
opacity: 1;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@keyframes slideDown {
|
|
52
|
-
from {
|
|
53
|
-
transform: translate3d(0, calc(var(--motion-distance-xl) * -1), 0);
|
|
54
|
-
opacity: 0;
|
|
55
|
-
}
|
|
56
|
-
to {
|
|
57
|
-
transform: translate3d(0, 0, 0);
|
|
58
|
-
opacity: 1;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@keyframes slideInLeft {
|
|
63
|
-
from {
|
|
64
|
-
transform: translate3d(calc(var(--motion-distance-xl) * -1), 0, 0);
|
|
65
|
-
opacity: 0;
|
|
66
|
-
}
|
|
67
|
-
to {
|
|
68
|
-
transform: translate3d(0, 0, 0);
|
|
69
|
-
opacity: 1;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
@keyframes slideInRight {
|
|
74
|
-
from {
|
|
75
|
-
transform: translate3d(var(--motion-distance-xl), 0, 0);
|
|
76
|
-
opacity: 0;
|
|
77
|
-
}
|
|
78
|
-
to {
|
|
79
|
-
transform: translate3d(0, 0, 0);
|
|
80
|
-
opacity: 1;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@keyframes fadeInUpSoft {
|
|
85
|
-
from {
|
|
86
|
-
opacity: 0;
|
|
87
|
-
transform: translate3d(0, var(--motion-distance-md), 0) scale(var(--motion-scale-soft-start));
|
|
88
|
-
}
|
|
89
|
-
to {
|
|
90
|
-
opacity: 1;
|
|
91
|
-
transform: translate3d(0, 0, 0) scale(var(--motion-scale-soft-end));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* Scale Animations - For interactive feedback */
|
|
96
|
-
@keyframes scale {
|
|
97
|
-
0% {
|
|
98
|
-
transform: scale(var(--motion-scale-pulse-min)) translate3d(0, 0, 0);
|
|
99
|
-
}
|
|
100
|
-
70% {
|
|
101
|
-
transform: scale(var(--motion-scale-pop)) translate3d(0, 0, 0);
|
|
102
|
-
}
|
|
103
|
-
100% {
|
|
104
|
-
transform: scale(var(--motion-scale-soft-end)) translate3d(0, 0, 0);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
@keyframes scaleIn {
|
|
109
|
-
from {
|
|
110
|
-
transform: scale(var(--motion-scale-soft-start)) translate3d(0, 0, 0);
|
|
111
|
-
opacity: 0;
|
|
112
|
-
}
|
|
113
|
-
to {
|
|
114
|
-
transform: scale(var(--motion-scale-soft-end)) translate3d(0, 0, 0);
|
|
115
|
-
opacity: 1;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
@keyframes fadeInScaleSoft {
|
|
120
|
-
from {
|
|
121
|
-
opacity: 0;
|
|
122
|
-
transform: scale(var(--motion-scale-soft-start)) translate3d(0, 0, 0);
|
|
123
|
-
}
|
|
124
|
-
to {
|
|
125
|
-
opacity: 1;
|
|
126
|
-
transform: scale(var(--motion-scale-soft-end)) translate3d(0, 0, 0);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
@keyframes pulse {
|
|
131
|
-
0%,
|
|
132
|
-
100% {
|
|
133
|
-
transform: scale(var(--motion-scale-soft-end)) translate3d(0, 0, 0);
|
|
134
|
-
opacity: 1;
|
|
135
|
-
}
|
|
136
|
-
50% {
|
|
137
|
-
transform: scale(var(--motion-scale-pop)) translate3d(0, 0, 0);
|
|
138
|
-
opacity: 0.8;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/* Enhanced hover elevation for cards - subtle lift */
|
|
143
|
-
@keyframes hoverLift {
|
|
144
|
-
from {
|
|
145
|
-
transform: translate3d(0, 0, 0);
|
|
146
|
-
}
|
|
147
|
-
to {
|
|
148
|
-
transform: translate3d(0, -2px, 0);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/* Glow accent animation - brand color pulse */
|
|
153
|
-
@keyframes glowAccent {
|
|
154
|
-
0%,
|
|
155
|
-
100% {
|
|
156
|
-
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
|
|
157
|
-
}
|
|
158
|
-
50% {
|
|
159
|
-
text-shadow: 0 2px 6px rgba(255, 121, 0, 0.25);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/* Value emphasis - gentle highlight on important numbers */
|
|
164
|
-
@keyframes valueEmphasize {
|
|
165
|
-
0%,
|
|
166
|
-
100% {
|
|
167
|
-
color: var(--card-text-primary);
|
|
168
|
-
}
|
|
169
|
-
50% {
|
|
170
|
-
color: color-mix(in srgb, var(--card-text-primary) 85%, var(--color-brand) 15%);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/* Glow & Effect Animations - For visual enhancements */
|
|
175
|
-
@keyframes glowPulse {
|
|
176
|
-
0%,
|
|
177
|
-
100% {
|
|
178
|
-
opacity: 0.6;
|
|
179
|
-
filter: blur(25px);
|
|
180
|
-
}
|
|
181
|
-
50% {
|
|
182
|
-
opacity: 1;
|
|
183
|
-
filter: blur(30px);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
@keyframes glowDrift {
|
|
188
|
-
0%,
|
|
189
|
-
100% {
|
|
190
|
-
opacity: 0.7;
|
|
191
|
-
transform: translate3d(0, 0, 0);
|
|
192
|
-
}
|
|
193
|
-
25% {
|
|
194
|
-
opacity: 0.8;
|
|
195
|
-
transform: translate3d(5px, -5px, 0);
|
|
196
|
-
}
|
|
197
|
-
50% {
|
|
198
|
-
opacity: 0.9;
|
|
199
|
-
transform: translate3d(0, 5px, 0);
|
|
200
|
-
}
|
|
201
|
-
75% {
|
|
202
|
-
opacity: 0.8;
|
|
203
|
-
transform: translate3d(-5px, 0, 0);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
@keyframes shimmer {
|
|
208
|
-
0%,
|
|
209
|
-
100% {
|
|
210
|
-
opacity: 0.5;
|
|
211
|
-
}
|
|
212
|
-
50% {
|
|
213
|
-
opacity: 0.8;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
/* Rotation Animations - For loaders and indicators */
|
|
218
|
-
@keyframes spin {
|
|
219
|
-
from {
|
|
220
|
-
transform: rotate(0deg) translateZ(0);
|
|
221
|
-
}
|
|
222
|
-
to {
|
|
223
|
-
transform: rotate(360deg) translateZ(0);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
@keyframes spinSlow {
|
|
228
|
-
from {
|
|
229
|
-
transform: rotate(0deg) translateZ(0);
|
|
230
|
-
}
|
|
231
|
-
to {
|
|
232
|
-
transform: rotate(360deg) translateZ(0);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/* Shake & Attention Animations */
|
|
237
|
-
@keyframes shake {
|
|
238
|
-
0%,
|
|
239
|
-
100% {
|
|
240
|
-
transform: translate3d(0, 0, 0);
|
|
241
|
-
}
|
|
242
|
-
10%,
|
|
243
|
-
30%,
|
|
244
|
-
50%,
|
|
245
|
-
70%,
|
|
246
|
-
90% {
|
|
247
|
-
transform: translate3d(calc(var(--motion-distance-sm) * -1), 0, 0);
|
|
248
|
-
}
|
|
249
|
-
20%,
|
|
250
|
-
40%,
|
|
251
|
-
60%,
|
|
252
|
-
80% {
|
|
253
|
-
transform: translate3d(var(--motion-distance-sm), 0, 0);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
@keyframes bounce {
|
|
258
|
-
0%,
|
|
259
|
-
100% {
|
|
260
|
-
transform: translate3d(0, 0, 0);
|
|
261
|
-
animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
|
|
262
|
-
}
|
|
263
|
-
50% {
|
|
264
|
-
transform: translate3d(0, calc(var(--motion-distance-lg) * -1), 0);
|
|
265
|
-
animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/* ===================================================================
|
|
270
|
-
LLM SIMULATION & STREAMING ANIMATIONS
|
|
271
|
-
Section entrance animations for progressive loading
|
|
272
|
-
=================================================================== */
|
|
273
|
-
|
|
274
|
-
/* Section entrance animation - smooth fade-in with scale and upward motion */
|
|
275
|
-
@keyframes sectionEnter {
|
|
276
|
-
from {
|
|
277
|
-
opacity: 0;
|
|
278
|
-
transform: translate3d(0, 20px, 0) scale(0.95);
|
|
279
|
-
}
|
|
280
|
-
to {
|
|
281
|
-
opacity: 1;
|
|
282
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/* Section streaming glow effect - subtle pulse during appearance */
|
|
287
|
-
@keyframes sectionStreamingGlow {
|
|
288
|
-
0%,
|
|
289
|
-
100% {
|
|
290
|
-
box-shadow: 0 0 0 0 rgba(255, 121, 0, 0);
|
|
291
|
-
}
|
|
292
|
-
50% {
|
|
293
|
-
box-shadow: 0 0 12px 2px rgba(255, 121, 0, 0.15);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/* Field entrance animation - smooth fade-in with upward motion */
|
|
298
|
-
@keyframes fieldEnter {
|
|
299
|
-
from {
|
|
300
|
-
opacity: 0;
|
|
301
|
-
transform: translate3d(0, 10px, 0);
|
|
302
|
-
}
|
|
303
|
-
to {
|
|
304
|
-
opacity: 1;
|
|
305
|
-
transform: translate3d(0, 0, 0);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/* Item entrance animation - slide-in from left with fade */
|
|
310
|
-
@keyframes itemEnter {
|
|
311
|
-
from {
|
|
312
|
-
opacity: 0;
|
|
313
|
-
transform: translate3d(-10px, 0, 0);
|
|
314
|
-
}
|
|
315
|
-
to {
|
|
316
|
-
opacity: 1;
|
|
317
|
-
transform: translate3d(0, 0, 0);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/* ===================================================================
|
|
322
|
-
MAGICAL STREAMING EFFECTS
|
|
323
|
-
Enhanced visual effects for LLM streaming experience
|
|
324
|
-
=================================================================== */
|
|
325
|
-
|
|
326
|
-
/* Traveling spark around card border - follows the perimeter */
|
|
327
|
-
@keyframes sparkTravel {
|
|
328
|
-
0% {
|
|
329
|
-
top: -1.5px;
|
|
330
|
-
left: 0;
|
|
331
|
-
}
|
|
332
|
-
25% {
|
|
333
|
-
top: -1.5px;
|
|
334
|
-
left: calc(100% - 1.5px);
|
|
335
|
-
}
|
|
336
|
-
50% {
|
|
337
|
-
top: calc(100% - 1.5px);
|
|
338
|
-
left: calc(100% - 1.5px);
|
|
339
|
-
}
|
|
340
|
-
75% {
|
|
341
|
-
top: calc(100% - 1.5px);
|
|
342
|
-
left: 0;
|
|
343
|
-
}
|
|
344
|
-
100% {
|
|
345
|
-
top: -1.5px;
|
|
346
|
-
left: 0;
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/* Magical section entrance - blur-to-sharp reveal with scale bounce */
|
|
351
|
-
@keyframes sectionMagicAppear {
|
|
352
|
-
0% {
|
|
353
|
-
opacity: 0;
|
|
354
|
-
transform: translate3d(0, 20px, 0) scale(0.95);
|
|
355
|
-
filter: blur(8px);
|
|
356
|
-
}
|
|
357
|
-
60% {
|
|
358
|
-
opacity: 1;
|
|
359
|
-
transform: translate3d(0, -4px, 0) scale(1.02);
|
|
360
|
-
filter: blur(0);
|
|
361
|
-
}
|
|
362
|
-
100% {
|
|
363
|
-
opacity: 1;
|
|
364
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
365
|
-
filter: blur(0);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/* Shimmer sweep effect - diagonal light sweep across sections */
|
|
370
|
-
@keyframes shimmerSweep {
|
|
371
|
-
0% {
|
|
372
|
-
transform: translate3d(-100%, 0, 0);
|
|
373
|
-
opacity: 1;
|
|
374
|
-
}
|
|
375
|
-
100% {
|
|
376
|
-
transform: translate3d(100%, 0, 0);
|
|
377
|
-
opacity: 0;
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/* Inner glow flash on section appearance */
|
|
382
|
-
@keyframes innerFlash {
|
|
383
|
-
0% {
|
|
384
|
-
box-shadow: inset 0 0 30px rgba(255, 149, 0, 0.4);
|
|
385
|
-
}
|
|
386
|
-
100% {
|
|
387
|
-
box-shadow: inset 0 0 0 rgba(255, 149, 0, 0);
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
/* Subtle inner border glow pulse */
|
|
392
|
-
@keyframes innerBorderPulse {
|
|
393
|
-
0%,
|
|
394
|
-
100% {
|
|
395
|
-
box-shadow: inset 0 0 0 1px rgba(255, 121, 0, 0.1);
|
|
396
|
-
}
|
|
397
|
-
50% {
|
|
398
|
-
box-shadow: inset 0 0 0 1px rgba(255, 121, 0, 0.3);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
/* Typing cursor blink effect */
|
|
403
|
-
@keyframes cursorBlink {
|
|
404
|
-
0%,
|
|
405
|
-
50% {
|
|
406
|
-
opacity: 1;
|
|
407
|
-
}
|
|
408
|
-
51%,
|
|
409
|
-
100% {
|
|
410
|
-
opacity: 0;
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
/* Section glow pulse during streaming */
|
|
415
|
-
@keyframes sectionGlowPulse {
|
|
416
|
-
0%,
|
|
417
|
-
100% {
|
|
418
|
-
box-shadow: 0 0 10px rgba(255, 121, 0, 0.15);
|
|
419
|
-
}
|
|
420
|
-
50% {
|
|
421
|
-
box-shadow: 0 0 20px rgba(255, 121, 0, 0.35);
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
/* Field enter with bounce - more dynamic than simple fade */
|
|
426
|
-
@keyframes fieldEnterBounce {
|
|
427
|
-
0% {
|
|
428
|
-
opacity: 0;
|
|
429
|
-
transform: translate3d(0, 12px, 0) scale(0.98);
|
|
430
|
-
}
|
|
431
|
-
60% {
|
|
432
|
-
opacity: 1;
|
|
433
|
-
transform: translate3d(0, -2px, 0) scale(1.01);
|
|
434
|
-
}
|
|
435
|
-
100% {
|
|
436
|
-
opacity: 1;
|
|
437
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
/* ===================================================================
|
|
442
|
-
STATE TRANSITION ANIMATIONS
|
|
443
|
-
Smooth transitions between LLM simulation states
|
|
444
|
-
=================================================================== */
|
|
445
|
-
|
|
446
|
-
/* State fade transition - smooth fade between states */
|
|
447
|
-
@keyframes stateFade {
|
|
448
|
-
from {
|
|
449
|
-
opacity: 0;
|
|
450
|
-
transform: translate3d(0, 8px, 0) scale(0.98);
|
|
451
|
-
}
|
|
452
|
-
to {
|
|
453
|
-
opacity: 1;
|
|
454
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
/* State slide transition - slide out old, slide in new */
|
|
459
|
-
@keyframes stateSlideOut {
|
|
460
|
-
from {
|
|
461
|
-
opacity: 1;
|
|
462
|
-
transform: translate3d(0, 0, 0);
|
|
463
|
-
}
|
|
464
|
-
to {
|
|
465
|
-
opacity: 0;
|
|
466
|
-
transform: translate3d(0, -10px, 0);
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
@keyframes stateSlideIn {
|
|
471
|
-
from {
|
|
472
|
-
opacity: 0;
|
|
473
|
-
transform: translate3d(0, 10px, 0);
|
|
474
|
-
}
|
|
475
|
-
to {
|
|
476
|
-
opacity: 1;
|
|
477
|
-
transform: translate3d(0, 0, 0);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
/* Error shake animation - for error states */
|
|
482
|
-
@keyframes errorShake {
|
|
483
|
-
0%,
|
|
484
|
-
100% {
|
|
485
|
-
transform: translate3d(0, 0, 0);
|
|
486
|
-
}
|
|
487
|
-
10%,
|
|
488
|
-
30%,
|
|
489
|
-
50%,
|
|
490
|
-
70%,
|
|
491
|
-
90% {
|
|
492
|
-
transform: translate3d(-4px, 0, 0);
|
|
493
|
-
}
|
|
494
|
-
20%,
|
|
495
|
-
40%,
|
|
496
|
-
60%,
|
|
497
|
-
80% {
|
|
498
|
-
transform: translate3d(4px, 0, 0);
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
/* Error pulse - subtle pulse for error indication */
|
|
503
|
-
@keyframes errorPulse {
|
|
504
|
-
0%,
|
|
505
|
-
100% {
|
|
506
|
-
opacity: 1;
|
|
507
|
-
box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
|
|
508
|
-
}
|
|
509
|
-
50% {
|
|
510
|
-
opacity: 0.9;
|
|
511
|
-
box-shadow: 0 0 0 8px rgba(239, 68, 68, 0);
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
/* Enhanced shimmer effect - for skeleton loaders */
|
|
516
|
-
@keyframes shimmerWave {
|
|
517
|
-
0% {
|
|
518
|
-
background-position: -200% 0;
|
|
519
|
-
}
|
|
520
|
-
100% {
|
|
521
|
-
background-position: 200% 0;
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
/* Skeleton pulse - breathing effect for loading */
|
|
526
|
-
@keyframes skeletonPulse {
|
|
527
|
-
0%,
|
|
528
|
-
100% {
|
|
529
|
-
opacity: 0.6;
|
|
530
|
-
}
|
|
531
|
-
50% {
|
|
532
|
-
opacity: 1;
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
/* ===================================================================
|
|
537
|
-
ADDITIONAL ANIMATIONS - Homepage Feature Parity
|
|
538
|
-
=================================================================== */
|
|
539
|
-
|
|
540
|
-
/* Fade in with scale - entrance with scale bounce */
|
|
541
|
-
@keyframes fadeInScale {
|
|
542
|
-
from {
|
|
543
|
-
opacity: 0;
|
|
544
|
-
transform: scale(0.98) translate3d(0, 0, 0);
|
|
545
|
-
}
|
|
546
|
-
to {
|
|
547
|
-
opacity: 1;
|
|
548
|
-
transform: scale(1) translate3d(0, 0, 0);
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
/* Background pulse glow - radial gradient pulsing effect */
|
|
553
|
-
@keyframes pulseGlow {
|
|
554
|
-
0%,
|
|
555
|
-
100% {
|
|
556
|
-
opacity: 0.5;
|
|
557
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
558
|
-
}
|
|
559
|
-
50% {
|
|
560
|
-
opacity: 0.8;
|
|
561
|
-
transform: translate3d(0, 0, 0) scale(1.1);
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
/* Float animation - vertical floating motion */
|
|
566
|
-
@keyframes float {
|
|
567
|
-
0%,
|
|
568
|
-
100% {
|
|
569
|
-
transform: translate3d(0, 0, 0);
|
|
570
|
-
}
|
|
571
|
-
50% {
|
|
572
|
-
transform: translate3d(0, -10px, 0);
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
/* Pulse ring - expanding ring animation */
|
|
577
|
-
@keyframes pulseRing {
|
|
578
|
-
0% {
|
|
579
|
-
opacity: 1;
|
|
580
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
581
|
-
}
|
|
582
|
-
100% {
|
|
583
|
-
opacity: 0;
|
|
584
|
-
transform: translate3d(0, 0, 0) scale(1.3);
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
/* Text shimmer - gradient text shimmer effect */
|
|
589
|
-
@keyframes textShimmer {
|
|
590
|
-
0%,
|
|
591
|
-
100% {
|
|
592
|
-
background-position: -200% 0;
|
|
593
|
-
}
|
|
594
|
-
50% {
|
|
595
|
-
background-position: 200% 0;
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
/* Wave slide - wave progress indicator */
|
|
600
|
-
@keyframes waveSlide {
|
|
601
|
-
0% {
|
|
602
|
-
background-position: -200% 0;
|
|
603
|
-
}
|
|
604
|
-
100% {
|
|
605
|
-
background-position: 200% 0;
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
|
|
609
|
-
/* Section pulse - subtle scale pulse for highlighted sections */
|
|
610
|
-
@keyframes sectionPulse {
|
|
611
|
-
0%,
|
|
612
|
-
100% {
|
|
613
|
-
transform: scale(1);
|
|
614
|
-
}
|
|
615
|
-
50% {
|
|
616
|
-
transform: scale(1.01);
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
/* Section border fade - fading border highlight */
|
|
621
|
-
@keyframes sectionBorderFade {
|
|
622
|
-
0% {
|
|
623
|
-
opacity: 1;
|
|
624
|
-
box-shadow: 0 0 20px color-mix(in srgb, var(--color-brand, #ff7900) 40%, transparent);
|
|
625
|
-
}
|
|
626
|
-
100% {
|
|
627
|
-
opacity: 0;
|
|
628
|
-
box-shadow: 0 0 0 transparent;
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
/* New section glow - glow effect for newly added sections */
|
|
633
|
-
@keyframes newSectionGlow {
|
|
634
|
-
0% {
|
|
635
|
-
border-color: color-mix(in srgb, var(--color-brand, #ff7900) 60%, transparent);
|
|
636
|
-
box-shadow: 0 0 25px color-mix(in srgb, var(--color-brand, #ff7900) 40%, transparent);
|
|
637
|
-
}
|
|
638
|
-
100% {
|
|
639
|
-
border-color: color-mix(in srgb, var(--color-brand, #ff7900) 20%, transparent);
|
|
640
|
-
box-shadow: 0 0 10px color-mix(in srgb, var(--color-brand, #ff7900) 15%, transparent);
|
|
641
|
-
}
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
/* Dot pulse - pulsing dot animation */
|
|
645
|
-
@keyframes dotPulse {
|
|
646
|
-
0%,
|
|
647
|
-
100% {
|
|
648
|
-
transform: translate3d(-50%, -50%, 0) scale(1);
|
|
649
|
-
opacity: 0.6;
|
|
650
|
-
}
|
|
651
|
-
50% {
|
|
652
|
-
transform: translate3d(-50%, -50%, 0) scale(1.5);
|
|
653
|
-
opacity: 0.3;
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
/* Ring expand - expanding ring that fades */
|
|
658
|
-
@keyframes ringExpand {
|
|
659
|
-
0% {
|
|
660
|
-
transform: translate3d(-50%, -50%, 0) scale(0.8);
|
|
661
|
-
opacity: 0.2;
|
|
662
|
-
}
|
|
663
|
-
50% {
|
|
664
|
-
transform: translate3d(-50%, -50%, 0) scale(1);
|
|
665
|
-
opacity: 0.1;
|
|
666
|
-
}
|
|
667
|
-
100% {
|
|
668
|
-
transform: translate3d(-50%, -50%, 0) scale(1.2);
|
|
669
|
-
opacity: 0;
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
/* Generating background pulse - for loading states */
|
|
674
|
-
@keyframes generatingBgPulse {
|
|
675
|
-
0%,
|
|
676
|
-
100% {
|
|
677
|
-
background: radial-gradient(
|
|
678
|
-
circle at 50% 50%,
|
|
679
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 5%, transparent) 0%,
|
|
680
|
-
transparent 70%
|
|
681
|
-
);
|
|
682
|
-
}
|
|
683
|
-
50% {
|
|
684
|
-
background: radial-gradient(
|
|
685
|
-
circle at 50% 50%,
|
|
686
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 12%, transparent) 0%,
|
|
687
|
-
transparent 70%
|
|
688
|
-
);
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
/* Card generating pulse - glow pulse for cards during generation */
|
|
693
|
-
@keyframes cardGeneratingPulse {
|
|
694
|
-
0%,
|
|
695
|
-
100% {
|
|
696
|
-
box-shadow:
|
|
697
|
-
inset 0 1px 3px color-mix(in srgb, var(--color-brand, #ff7900) 8%, transparent),
|
|
698
|
-
0 4px 20px rgba(0, 0, 0, 0.15),
|
|
699
|
-
0 0 0 transparent;
|
|
700
|
-
}
|
|
701
|
-
50% {
|
|
702
|
-
box-shadow:
|
|
703
|
-
inset 0 1px 3px color-mix(in srgb, var(--color-brand, #ff7900) 15%, transparent),
|
|
704
|
-
0 4px 20px rgba(0, 0, 0, 0.15),
|
|
705
|
-
0 0 30px color-mix(in srgb, var(--color-brand, #ff7900) 20%, transparent);
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
/* Gradient pulse - for empty state backgrounds */
|
|
710
|
-
@keyframes gradientPulse {
|
|
711
|
-
0%,
|
|
712
|
-
100% {
|
|
713
|
-
opacity: 0.6;
|
|
714
|
-
transform: translate3d(-50%, -50%, 0) scale(1);
|
|
715
|
-
}
|
|
716
|
-
50% {
|
|
717
|
-
opacity: 0.9;
|
|
718
|
-
transform: translate3d(-50%, -50%, 0) scale(1.05);
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
/* Ring pulse - for icon wrappers */
|
|
723
|
-
@keyframes ringPulse {
|
|
724
|
-
0%,
|
|
725
|
-
100% {
|
|
726
|
-
opacity: 0.4;
|
|
727
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
728
|
-
}
|
|
729
|
-
50% {
|
|
730
|
-
opacity: 0.7;
|
|
731
|
-
transform: translate3d(0, 0, 0) scale(1.08);
|
|
732
|
-
}
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
/* Icon float - floating icon animation */
|
|
736
|
-
@keyframes iconFloat {
|
|
737
|
-
0%,
|
|
738
|
-
100% {
|
|
739
|
-
transform: translate3d(0, 0, 0) rotate(0deg);
|
|
740
|
-
}
|
|
741
|
-
25% {
|
|
742
|
-
transform: translate3d(0, -6px, 0) rotate(-3deg);
|
|
743
|
-
}
|
|
744
|
-
50% {
|
|
745
|
-
transform: translate3d(0, -10px, 0) rotate(0deg);
|
|
746
|
-
}
|
|
747
|
-
75% {
|
|
748
|
-
transform: translate3d(0, -6px, 0) rotate(3deg);
|
|
749
|
-
}
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
/* Particle float - for floating particle effects */
|
|
753
|
-
@keyframes particleFloat {
|
|
754
|
-
0%,
|
|
755
|
-
100% {
|
|
756
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
757
|
-
opacity: 0.3;
|
|
758
|
-
}
|
|
759
|
-
25% {
|
|
760
|
-
transform: translate3d(20px, -30px, 0) scale(1.2);
|
|
761
|
-
opacity: 0.7;
|
|
762
|
-
}
|
|
763
|
-
50% {
|
|
764
|
-
transform: translate3d(-10px, -60px, 0) scale(0.8);
|
|
765
|
-
opacity: 1;
|
|
766
|
-
}
|
|
767
|
-
75% {
|
|
768
|
-
transform: translate3d(15px, -30px, 0) scale(1.1);
|
|
769
|
-
opacity: 0.6;
|
|
770
|
-
}
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
/* Spinner rotate - for loading spinners */
|
|
774
|
-
@keyframes spinnerRotate {
|
|
775
|
-
0% {
|
|
776
|
-
transform: rotate(0deg);
|
|
777
|
-
}
|
|
778
|
-
100% {
|
|
779
|
-
transform: rotate(360deg);
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
/* Spinner dash - SVG spinner stroke animation */
|
|
784
|
-
@keyframes spinnerDash {
|
|
785
|
-
0% {
|
|
786
|
-
stroke-dasharray: 1, 125.6;
|
|
787
|
-
stroke-dashoffset: 0;
|
|
788
|
-
}
|
|
789
|
-
50% {
|
|
790
|
-
stroke-dasharray: 94.2, 125.6;
|
|
791
|
-
stroke-dashoffset: -31.4;
|
|
792
|
-
}
|
|
793
|
-
100% {
|
|
794
|
-
stroke-dasharray: 94.2, 125.6;
|
|
795
|
-
stroke-dashoffset: -125.6;
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
|
|
799
|
-
/* Text shimmer flow - gradient text shimmer (alternative) */
|
|
800
|
-
@keyframes textShimmerFlow {
|
|
801
|
-
0%,
|
|
802
|
-
100% {
|
|
803
|
-
background-position: -200% 0;
|
|
804
|
-
}
|
|
805
|
-
50% {
|
|
806
|
-
background-position: 200% 0;
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
/* Button ripple effect */
|
|
811
|
-
@keyframes rippleEffect {
|
|
812
|
-
0% {
|
|
813
|
-
transform: translate3d(0, 0, 0) scale(0);
|
|
814
|
-
opacity: 0.6;
|
|
815
|
-
}
|
|
816
|
-
100% {
|
|
817
|
-
transform: translate3d(0, 0, 0) scale(2.5);
|
|
818
|
-
opacity: 0;
|
|
819
|
-
}
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
/* ===================================================================
|
|
823
|
-
ANIMATION UTILITY CLASSES
|
|
824
|
-
Pre-configured animations using design system variables
|
|
825
|
-
=================================================================== */
|
|
826
|
-
|
|
827
|
-
/* Entry Animations */
|
|
828
|
-
.animate-fade-in {
|
|
829
|
-
animation: fadeIn var(--duration-moderate) var(--ease-out-smooth);
|
|
830
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
831
|
-
}
|
|
832
|
-
|
|
833
|
-
.animate-fade-in-up {
|
|
834
|
-
animation: fadeInUp var(--duration-moderate) var(--ease-out-smooth);
|
|
835
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
836
|
-
}
|
|
837
|
-
|
|
838
|
-
.animate-fade-in-soft {
|
|
839
|
-
animation: fadeInSoft var(--duration-slow) var(--ease-out-smooth);
|
|
840
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
.animate-fade-in-up-soft {
|
|
844
|
-
animation: fadeInUpSoft var(--duration-slow) var(--ease-out-smooth);
|
|
845
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
.animate-fade-in-scale-soft {
|
|
849
|
-
animation: fadeInScaleSoft var(--duration-moderate) var(--ease-out-smooth);
|
|
850
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
851
|
-
}
|
|
852
|
-
|
|
853
|
-
.animate-slide-up {
|
|
854
|
-
animation: slideUp var(--duration-moderate) var(--ease-out-smooth);
|
|
855
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
856
|
-
}
|
|
857
|
-
|
|
858
|
-
.animate-slide-down {
|
|
859
|
-
animation: slideDown var(--duration-moderate) var(--ease-out-smooth);
|
|
860
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
.animate-slide-in-left {
|
|
864
|
-
animation: slideInLeft var(--duration-moderate) var(--ease-out-smooth);
|
|
865
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
866
|
-
}
|
|
867
|
-
|
|
868
|
-
.animate-slide-in-right {
|
|
869
|
-
animation: slideInRight var(--duration-moderate) var(--ease-out-smooth);
|
|
870
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
/* Scale Animations */
|
|
874
|
-
.animate-scale {
|
|
875
|
-
animation: scale var(--duration-moderate) var(--ease-spring);
|
|
876
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
877
|
-
}
|
|
878
|
-
|
|
879
|
-
.animate-scale-in {
|
|
880
|
-
animation: scaleIn var(--duration-moderate) var(--ease-out-smooth);
|
|
881
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
.animate-pulse {
|
|
885
|
-
animation: pulse var(--duration-slow) var(--ease-in-out-smooth) infinite;
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
/* Rotation Animations */
|
|
889
|
-
.animate-spin {
|
|
890
|
-
animation: spin 1s linear infinite;
|
|
891
|
-
}
|
|
892
|
-
|
|
893
|
-
.animate-spin-slow {
|
|
894
|
-
animation: spinSlow 3s linear infinite;
|
|
895
|
-
}
|
|
896
|
-
|
|
897
|
-
/* Attention Animations */
|
|
898
|
-
.animate-shake {
|
|
899
|
-
animation: shake var(--duration-slow) var(--ease-in-out-smooth);
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
.animate-bounce {
|
|
903
|
-
animation: bounce 1s infinite;
|
|
904
|
-
}
|
|
905
|
-
|
|
906
|
-
/* ===================================================================
|
|
907
|
-
LLM SIMULATION ANIMATION CLASSES
|
|
908
|
-
Section streaming and entrance animations
|
|
909
|
-
=================================================================== */
|
|
910
|
-
|
|
911
|
-
/* Section entrance animation - for progressive section appearance */
|
|
912
|
-
.section-streaming {
|
|
913
|
-
animation: sectionEnter 400ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
914
|
-
opacity: 0;
|
|
915
|
-
transform: translate3d(0, 20px, 0) scale(0.95);
|
|
916
|
-
will-change: transform, opacity;
|
|
917
|
-
/* Performance optimization: GPU acceleration */
|
|
918
|
-
backface-visibility: hidden;
|
|
919
|
-
perspective: 1000px;
|
|
920
|
-
/* Additional performance optimizations */
|
|
921
|
-
contain: layout style paint;
|
|
922
|
-
transform-origin: center center;
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
/* Section entered state - animation complete */
|
|
926
|
-
.section-entered {
|
|
927
|
-
opacity: 1;
|
|
928
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
929
|
-
will-change: auto;
|
|
930
|
-
/* Remove GPU hints after animation */
|
|
931
|
-
backface-visibility: visible;
|
|
932
|
-
perspective: none;
|
|
933
|
-
}
|
|
934
|
-
|
|
935
|
-
/* Section with streaming glow effect */
|
|
936
|
-
.section-streaming-glow {
|
|
937
|
-
animation: sectionStreamingGlow 1.5s ease-in-out infinite;
|
|
938
|
-
}
|
|
939
|
-
|
|
940
|
-
/* Stagger delay utilities for section animations */
|
|
941
|
-
.section-stagger-0 {
|
|
942
|
-
animation-delay: 0ms;
|
|
943
|
-
}
|
|
944
|
-
.section-stagger-1 {
|
|
945
|
-
animation-delay: 80ms;
|
|
946
|
-
}
|
|
947
|
-
.section-stagger-2 {
|
|
948
|
-
animation-delay: 160ms;
|
|
949
|
-
}
|
|
950
|
-
.section-stagger-3 {
|
|
951
|
-
animation-delay: 240ms;
|
|
952
|
-
}
|
|
953
|
-
.section-stagger-4 {
|
|
954
|
-
animation-delay: 320ms;
|
|
955
|
-
}
|
|
956
|
-
.section-stagger-5 {
|
|
957
|
-
animation-delay: 400ms;
|
|
958
|
-
}
|
|
959
|
-
.section-stagger-6 {
|
|
960
|
-
animation-delay: 480ms;
|
|
961
|
-
}
|
|
962
|
-
.section-stagger-7 {
|
|
963
|
-
animation-delay: 560ms;
|
|
964
|
-
}
|
|
965
|
-
.section-stagger-8 {
|
|
966
|
-
animation-delay: 640ms;
|
|
967
|
-
}
|
|
968
|
-
.section-stagger-9 {
|
|
969
|
-
animation-delay: 720ms;
|
|
970
|
-
}
|
|
971
|
-
.section-stagger-10 {
|
|
972
|
-
animation-delay: 800ms;
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
/* ===================================================================
|
|
976
|
-
FIELD & ITEM ANIMATION CLASSES
|
|
977
|
-
Progressive reveal animations for fields and items within sections
|
|
978
|
-
=================================================================== */
|
|
979
|
-
|
|
980
|
-
/* Field entrance animation - for progressive field reveal */
|
|
981
|
-
.field-streaming {
|
|
982
|
-
animation: fieldEnter 300ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
983
|
-
opacity: 0;
|
|
984
|
-
transform: translate3d(0, 10px, 0);
|
|
985
|
-
will-change: transform, opacity;
|
|
986
|
-
/* Performance optimization: GPU acceleration */
|
|
987
|
-
backface-visibility: hidden;
|
|
988
|
-
perspective: 1000px;
|
|
989
|
-
/* Additional performance optimizations */
|
|
990
|
-
contain: layout style paint;
|
|
991
|
-
transform-origin: center center;
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
/* Field entered state - animation complete */
|
|
995
|
-
.field-entered {
|
|
996
|
-
opacity: 1;
|
|
997
|
-
transform: translate3d(0, 0, 0);
|
|
998
|
-
will-change: auto;
|
|
999
|
-
/* Remove GPU hints after animation */
|
|
1000
|
-
backface-visibility: visible;
|
|
1001
|
-
perspective: none;
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
/* Item entrance animation - for progressive item reveal */
|
|
1005
|
-
.item-streaming {
|
|
1006
|
-
animation: itemEnter 350ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
1007
|
-
opacity: 0;
|
|
1008
|
-
transform: translate3d(-10px, 0, 0);
|
|
1009
|
-
will-change: transform, opacity;
|
|
1010
|
-
/* Performance optimization: GPU acceleration */
|
|
1011
|
-
backface-visibility: hidden;
|
|
1012
|
-
perspective: 1000px;
|
|
1013
|
-
/* Additional performance optimizations */
|
|
1014
|
-
contain: layout style paint;
|
|
1015
|
-
transform-origin: center center;
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
/* Item entered state - animation complete */
|
|
1019
|
-
.item-entered {
|
|
1020
|
-
opacity: 1;
|
|
1021
|
-
transform: translate3d(0, 0, 0);
|
|
1022
|
-
will-change: auto;
|
|
1023
|
-
/* Remove GPU hints after animation */
|
|
1024
|
-
backface-visibility: visible;
|
|
1025
|
-
perspective: none;
|
|
1026
|
-
}
|
|
1027
|
-
|
|
1028
|
-
/* Stagger delay utilities for field animations (30ms increments) */
|
|
1029
|
-
// Field stagger delays - 40ms increment for smooth sequential animation
|
|
1030
|
-
.field-stagger-0 {
|
|
1031
|
-
animation-delay: 0ms;
|
|
1032
|
-
}
|
|
1033
|
-
.field-stagger-1 {
|
|
1034
|
-
animation-delay: 40ms;
|
|
1035
|
-
}
|
|
1036
|
-
.field-stagger-2 {
|
|
1037
|
-
animation-delay: 80ms;
|
|
1038
|
-
}
|
|
1039
|
-
.field-stagger-3 {
|
|
1040
|
-
animation-delay: 120ms;
|
|
1041
|
-
}
|
|
1042
|
-
.field-stagger-4 {
|
|
1043
|
-
animation-delay: 160ms;
|
|
1044
|
-
}
|
|
1045
|
-
.field-stagger-5 {
|
|
1046
|
-
animation-delay: 200ms;
|
|
1047
|
-
}
|
|
1048
|
-
.field-stagger-6 {
|
|
1049
|
-
animation-delay: 240ms;
|
|
1050
|
-
}
|
|
1051
|
-
.field-stagger-7 {
|
|
1052
|
-
animation-delay: 280ms;
|
|
1053
|
-
}
|
|
1054
|
-
.field-stagger-8 {
|
|
1055
|
-
animation-delay: 320ms;
|
|
1056
|
-
}
|
|
1057
|
-
.field-stagger-9 {
|
|
1058
|
-
animation-delay: 360ms;
|
|
1059
|
-
}
|
|
1060
|
-
.field-stagger-10 {
|
|
1061
|
-
animation-delay: 400ms;
|
|
1062
|
-
}
|
|
1063
|
-
.field-stagger-11 {
|
|
1064
|
-
animation-delay: 440ms;
|
|
1065
|
-
}
|
|
1066
|
-
.field-stagger-12 {
|
|
1067
|
-
animation-delay: 480ms;
|
|
1068
|
-
}
|
|
1069
|
-
.field-stagger-13 {
|
|
1070
|
-
animation-delay: 520ms;
|
|
1071
|
-
}
|
|
1072
|
-
.field-stagger-14 {
|
|
1073
|
-
animation-delay: 560ms;
|
|
1074
|
-
}
|
|
1075
|
-
.field-stagger-15 {
|
|
1076
|
-
animation-delay: 600ms;
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
|
-
/* Stagger delay utilities for item animations (40ms increments) */
|
|
1080
|
-
.item-stagger-0 {
|
|
1081
|
-
animation-delay: 0ms;
|
|
1082
|
-
}
|
|
1083
|
-
.item-stagger-1 {
|
|
1084
|
-
animation-delay: 40ms;
|
|
1085
|
-
}
|
|
1086
|
-
.item-stagger-2 {
|
|
1087
|
-
animation-delay: 80ms;
|
|
1088
|
-
}
|
|
1089
|
-
.item-stagger-3 {
|
|
1090
|
-
animation-delay: 120ms;
|
|
1091
|
-
}
|
|
1092
|
-
.item-stagger-4 {
|
|
1093
|
-
animation-delay: 160ms;
|
|
1094
|
-
}
|
|
1095
|
-
.item-stagger-5 {
|
|
1096
|
-
animation-delay: 200ms;
|
|
1097
|
-
}
|
|
1098
|
-
.item-stagger-6 {
|
|
1099
|
-
animation-delay: 240ms;
|
|
1100
|
-
}
|
|
1101
|
-
.item-stagger-7 {
|
|
1102
|
-
animation-delay: 280ms;
|
|
1103
|
-
}
|
|
1104
|
-
.item-stagger-8 {
|
|
1105
|
-
animation-delay: 320ms;
|
|
1106
|
-
}
|
|
1107
|
-
.item-stagger-9 {
|
|
1108
|
-
animation-delay: 360ms;
|
|
1109
|
-
}
|
|
1110
|
-
.item-stagger-10 {
|
|
1111
|
-
animation-delay: 400ms;
|
|
1112
|
-
}
|
|
1113
|
-
.item-stagger-11 {
|
|
1114
|
-
animation-delay: 440ms;
|
|
1115
|
-
}
|
|
1116
|
-
.item-stagger-12 {
|
|
1117
|
-
animation-delay: 480ms;
|
|
1118
|
-
}
|
|
1119
|
-
.item-stagger-13 {
|
|
1120
|
-
animation-delay: 520ms;
|
|
1121
|
-
}
|
|
1122
|
-
.item-stagger-14 {
|
|
1123
|
-
animation-delay: 560ms;
|
|
1124
|
-
}
|
|
1125
|
-
.item-stagger-15 {
|
|
1126
|
-
animation-delay: 600ms;
|
|
1127
|
-
}
|
|
1128
|
-
|
|
1129
|
-
/* ===================================================================
|
|
1130
|
-
STATE TRANSITION ANIMATION CLASSES
|
|
1131
|
-
Smooth transitions between thinking, streaming, and complete states
|
|
1132
|
-
=================================================================== */
|
|
1133
|
-
|
|
1134
|
-
/* State transition - fade in new state */
|
|
1135
|
-
.state-transition-enter {
|
|
1136
|
-
animation: stateFade 400ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
1137
|
-
opacity: 0;
|
|
1138
|
-
transform: translate3d(0, 8px, 0) scale(0.98);
|
|
1139
|
-
will-change: transform, opacity;
|
|
1140
|
-
/* Performance optimization: GPU acceleration */
|
|
1141
|
-
backface-visibility: hidden;
|
|
1142
|
-
perspective: 1000px;
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
/* State transition - fade out old state */
|
|
1146
|
-
.state-transition-exit {
|
|
1147
|
-
animation: stateSlideOut 300ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
1148
|
-
will-change: transform, opacity;
|
|
1149
|
-
/* Performance optimization: GPU acceleration */
|
|
1150
|
-
backface-visibility: hidden;
|
|
1151
|
-
perspective: 1000px;
|
|
1152
|
-
}
|
|
1153
|
-
|
|
1154
|
-
/* State entered - transition complete */
|
|
1155
|
-
.state-entered {
|
|
1156
|
-
opacity: 1;
|
|
1157
|
-
transform: translate3d(0, 0, 0) scale(1);
|
|
1158
|
-
will-change: auto;
|
|
1159
|
-
/* Remove GPU hints after animation */
|
|
1160
|
-
backface-visibility: visible;
|
|
1161
|
-
perspective: none;
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
/* Error state animations */
|
|
1165
|
-
.error-shake {
|
|
1166
|
-
animation: errorShake 500ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
1167
|
-
}
|
|
1168
|
-
|
|
1169
|
-
.error-pulse {
|
|
1170
|
-
animation: errorPulse 2s ease-in-out infinite;
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
|
-
/* Enhanced skeleton shimmer */
|
|
1174
|
-
.skeleton-shimmer {
|
|
1175
|
-
background: linear-gradient(
|
|
1176
|
-
90deg,
|
|
1177
|
-
var(--muted, rgba(255, 255, 255, 0.1)) 0%,
|
|
1178
|
-
var(--muted-foreground, rgba(255, 255, 255, 0.2)) 20%,
|
|
1179
|
-
var(--muted, rgba(255, 255, 255, 0.1)) 40%,
|
|
1180
|
-
var(--muted, rgba(255, 255, 255, 0.1)) 100%
|
|
1181
|
-
);
|
|
1182
|
-
background-size: 200% 100%;
|
|
1183
|
-
animation: shimmerWave 1.5s ease-in-out infinite;
|
|
1184
|
-
}
|
|
1185
|
-
|
|
1186
|
-
/* Skeleton pulse effect */
|
|
1187
|
-
.skeleton-pulse {
|
|
1188
|
-
animation: skeletonPulse 2s ease-in-out infinite;
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
|
-
/* Stagger Animation Delays - For sequential animations */
|
|
1192
|
-
.animate-delay-1 {
|
|
1193
|
-
animation-delay: calc(var(--stagger-delay-base) * 1);
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
|
-
.animate-delay-2 {
|
|
1197
|
-
animation-delay: calc(var(--stagger-delay-base) * 2);
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1200
|
-
.animate-delay-3 {
|
|
1201
|
-
animation-delay: calc(var(--stagger-delay-base) * 3);
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
|
-
.animate-delay-4 {
|
|
1205
|
-
animation-delay: calc(var(--stagger-delay-base) * 4);
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
.animate-delay-5 {
|
|
1209
|
-
animation-delay: calc(var(--stagger-delay-base) * 5);
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1212
|
-
/* ===================================================================
|
|
1213
|
-
ADDITIONAL ANIMATION UTILITY CLASSES
|
|
1214
|
-
Homepage feature parity animations
|
|
1215
|
-
=================================================================== */
|
|
1216
|
-
|
|
1217
|
-
/* Fade in with scale */
|
|
1218
|
-
.animate-fade-in-scale {
|
|
1219
|
-
animation: fadeInScale 0.5s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1220
|
-
animation-fill-mode: var(--animation-fill-mode);
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
/* Pulse glow - background glow effect */
|
|
1224
|
-
.animate-pulse-glow {
|
|
1225
|
-
animation: pulseGlow 2s ease-in-out infinite;
|
|
1226
|
-
}
|
|
1227
|
-
|
|
1228
|
-
/* Float animation */
|
|
1229
|
-
.animate-float {
|
|
1230
|
-
animation: float 3s ease-in-out infinite;
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
/* Pulse ring - expanding ring */
|
|
1234
|
-
.animate-pulse-ring {
|
|
1235
|
-
animation: pulseRing 2s ease-in-out infinite;
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
/* Text shimmer - gradient text effect */
|
|
1239
|
-
.animate-text-shimmer {
|
|
1240
|
-
background: linear-gradient(
|
|
1241
|
-
90deg,
|
|
1242
|
-
var(--foreground, #ffffff) 0%,
|
|
1243
|
-
var(--color-brand, #ff7900) 50%,
|
|
1244
|
-
var(--foreground, #ffffff) 100%
|
|
1245
|
-
);
|
|
1246
|
-
background-size: 200% 100%;
|
|
1247
|
-
background-clip: text;
|
|
1248
|
-
-webkit-background-clip: text;
|
|
1249
|
-
-webkit-text-fill-color: transparent;
|
|
1250
|
-
animation: textShimmer 2s ease-in-out infinite;
|
|
1251
|
-
}
|
|
1252
|
-
|
|
1253
|
-
/* Wave slide - progress indicator */
|
|
1254
|
-
.animate-wave-slide {
|
|
1255
|
-
background: linear-gradient(
|
|
1256
|
-
90deg,
|
|
1257
|
-
transparent 0%,
|
|
1258
|
-
var(--color-brand, #ff7900) 25%,
|
|
1259
|
-
var(--color-brand, #ff7900) 75%,
|
|
1260
|
-
transparent 100%
|
|
1261
|
-
);
|
|
1262
|
-
background-size: 200% 100%;
|
|
1263
|
-
animation: waveSlide 2s ease-in-out infinite;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
/* Section pulse - highlighted section */
|
|
1267
|
-
.animate-section-pulse {
|
|
1268
|
-
animation: sectionPulse 2s ease-out;
|
|
1269
|
-
}
|
|
1270
|
-
|
|
1271
|
-
/* Section border fade - fading highlight */
|
|
1272
|
-
.animate-section-border-fade {
|
|
1273
|
-
animation: sectionBorderFade 2s ease-out forwards;
|
|
1274
|
-
}
|
|
1275
|
-
|
|
1276
|
-
/* New section glow - streaming new sections */
|
|
1277
|
-
.animate-new-section-glow {
|
|
1278
|
-
animation: newSectionGlow 0.6s ease-out forwards;
|
|
1279
|
-
}
|
|
1280
|
-
|
|
1281
|
-
/* Dot pulse - status indicator */
|
|
1282
|
-
.animate-dot-pulse {
|
|
1283
|
-
animation: dotPulse 2s ease-in-out infinite;
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
|
-
/* Ring expand - expandings rings */
|
|
1287
|
-
.animate-ring-expand {
|
|
1288
|
-
animation: ringExpand 2s ease-in-out infinite;
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
/* Generating pulse - loading states */
|
|
1292
|
-
.animate-generating-pulse {
|
|
1293
|
-
animation:
|
|
1294
|
-
generatingBgPulse 3s ease-in-out infinite,
|
|
1295
|
-
cardGeneratingPulse 2s ease-in-out infinite;
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
/* Gradient pulse - background gradient */
|
|
1299
|
-
.animate-gradient-pulse {
|
|
1300
|
-
animation: gradientPulse 5s ease-in-out infinite;
|
|
1301
|
-
}
|
|
1302
|
-
|
|
1303
|
-
/* Ring pulse - icon rings */
|
|
1304
|
-
.animate-ring-pulse {
|
|
1305
|
-
animation: ringPulse 3s ease-in-out infinite;
|
|
1306
|
-
}
|
|
1307
|
-
|
|
1308
|
-
/* Icon float - floating icons */
|
|
1309
|
-
.animate-icon-float {
|
|
1310
|
-
animation: iconFloat 4s ease-in-out infinite;
|
|
1311
|
-
}
|
|
1312
|
-
|
|
1313
|
-
/* Particle float - floating particles */
|
|
1314
|
-
.animate-particle-float {
|
|
1315
|
-
animation: particleFloat 4s ease-in-out infinite;
|
|
1316
|
-
}
|
|
1317
|
-
|
|
1318
|
-
/* Spinner - loading spinner */
|
|
1319
|
-
.animate-spinner {
|
|
1320
|
-
animation: spinnerRotate 1.5s linear infinite;
|
|
1321
|
-
}
|
|
1322
|
-
|
|
1323
|
-
/* Button ripple effect */
|
|
1324
|
-
.btn-ripple {
|
|
1325
|
-
position: relative;
|
|
1326
|
-
overflow: hidden;
|
|
1327
|
-
|
|
1328
|
-
&::after {
|
|
1329
|
-
content: "";
|
|
1330
|
-
position: absolute;
|
|
1331
|
-
width: 100%;
|
|
1332
|
-
height: 100%;
|
|
1333
|
-
top: 50%;
|
|
1334
|
-
left: 50%;
|
|
1335
|
-
transform: translate3d(-50%, -50%, 0) scale(0);
|
|
1336
|
-
background: radial-gradient(
|
|
1337
|
-
circle,
|
|
1338
|
-
color-mix(in srgb, var(--color-brand, #ff7900) 30%, transparent) 0%,
|
|
1339
|
-
transparent 70%
|
|
1340
|
-
);
|
|
1341
|
-
pointer-events: none;
|
|
1342
|
-
border-radius: inherit;
|
|
1343
|
-
opacity: 0;
|
|
1344
|
-
}
|
|
1345
|
-
|
|
1346
|
-
&:active::after {
|
|
1347
|
-
animation: rippleEffect 0.6s ease-out;
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
|
|
1351
|
-
/* Cursor blink - typing indicator */
|
|
1352
|
-
.animate-cursor-blink {
|
|
1353
|
-
animation: cursorBlink 0.8s step-end infinite;
|
|
1354
|
-
}
|
|
1355
|
-
|
|
1356
|
-
/* Spark travel - border traveling spark */
|
|
1357
|
-
.animate-spark-travel {
|
|
1358
|
-
position: relative;
|
|
1359
|
-
|
|
1360
|
-
&::before {
|
|
1361
|
-
content: "";
|
|
1362
|
-
position: absolute;
|
|
1363
|
-
width: 3px;
|
|
1364
|
-
height: 3px;
|
|
1365
|
-
background: var(--color-brand, #ff7900);
|
|
1366
|
-
border-radius: 50%;
|
|
1367
|
-
box-shadow: 0 0 6px 1px color-mix(in srgb, var(--color-brand, #ff7900) 80%, transparent);
|
|
1368
|
-
animation: sparkTravel 3s linear infinite;
|
|
1369
|
-
pointer-events: none;
|
|
1370
|
-
z-index: 10;
|
|
1371
|
-
}
|
|
1372
|
-
}
|
|
1373
|
-
|
|
1374
|
-
/* Section highlight - URL fragment scroll highlight */
|
|
1375
|
-
.section-highlight {
|
|
1376
|
-
animation: sectionPulse 2s ease-out;
|
|
1377
|
-
position: relative;
|
|
1378
|
-
|
|
1379
|
-
&::after {
|
|
1380
|
-
content: "";
|
|
1381
|
-
position: absolute;
|
|
1382
|
-
inset: -4px;
|
|
1383
|
-
border: 2px solid color-mix(in srgb, var(--color-brand, #ff7900) 60%, transparent);
|
|
1384
|
-
border-radius: 14px;
|
|
1385
|
-
pointer-events: none;
|
|
1386
|
-
animation: sectionBorderFade 2s ease-out forwards;
|
|
1387
|
-
}
|
|
1388
|
-
}
|
|
1389
|
-
|
|
1390
|
-
/* ===================================================================
|
|
1391
|
-
PERFORMANCE OPTIMIZATION
|
|
1392
|
-
Hardware acceleration hints for smooth animations
|
|
1393
|
-
=================================================================== */
|
|
1394
|
-
|
|
1395
|
-
/* Apply to animated elements for better performance */
|
|
1396
|
-
.will-animate {
|
|
1397
|
-
will-change: transform, opacity;
|
|
1398
|
-
}
|
|
1399
|
-
|
|
1400
|
-
.will-animate-transform {
|
|
1401
|
-
will-change: transform;
|
|
1402
|
-
}
|
|
1403
|
-
|
|
1404
|
-
.will-animate-opacity {
|
|
1405
|
-
will-change: opacity;
|
|
1406
|
-
}
|
|
1407
|
-
|
|
1408
|
-
/* Remove will-change after animation to free resources */
|
|
1409
|
-
.animation-complete {
|
|
1410
|
-
will-change: auto;
|
|
1411
|
-
}
|
|
1412
|
-
|
|
1413
|
-
/* Hardware acceleration hint */
|
|
1414
|
-
.gpu-accelerated {
|
|
1415
|
-
transform: translateZ(0);
|
|
1416
|
-
backface-visibility: hidden;
|
|
1417
|
-
perspective: 1000px;
|
|
1418
|
-
}
|
|
1419
|
-
|
|
1420
|
-
/* ===================================================================
|
|
1421
|
-
REDUCED MOTION SUPPORT
|
|
1422
|
-
Respect user preferences for reduced motion
|
|
1423
|
-
=================================================================== */
|
|
1424
|
-
|
|
1425
|
-
@media (prefers-reduced-motion: reduce) {
|
|
1426
|
-
/* Disable all custom animations */
|
|
1427
|
-
.animate-fade-in,
|
|
1428
|
-
.animate-fade-in-up,
|
|
1429
|
-
.animate-fade-in-scale,
|
|
1430
|
-
.animate-slide-up,
|
|
1431
|
-
.animate-slide-down,
|
|
1432
|
-
.animate-slide-in-left,
|
|
1433
|
-
.animate-slide-in-right,
|
|
1434
|
-
.animate-scale,
|
|
1435
|
-
.animate-scale-in,
|
|
1436
|
-
.animate-pulse,
|
|
1437
|
-
.animate-pulse-glow,
|
|
1438
|
-
.animate-float,
|
|
1439
|
-
.animate-pulse-ring,
|
|
1440
|
-
.animate-text-shimmer,
|
|
1441
|
-
.animate-wave-slide,
|
|
1442
|
-
.animate-section-pulse,
|
|
1443
|
-
.animate-section-border-fade,
|
|
1444
|
-
.animate-new-section-glow,
|
|
1445
|
-
.animate-dot-pulse,
|
|
1446
|
-
.animate-ring-expand,
|
|
1447
|
-
.animate-generating-pulse,
|
|
1448
|
-
.animate-gradient-pulse,
|
|
1449
|
-
.animate-ring-pulse,
|
|
1450
|
-
.animate-icon-float,
|
|
1451
|
-
.animate-particle-float,
|
|
1452
|
-
.animate-spinner,
|
|
1453
|
-
.animate-cursor-blink,
|
|
1454
|
-
.animate-spark-travel,
|
|
1455
|
-
.animate-spin,
|
|
1456
|
-
.animate-spin-slow,
|
|
1457
|
-
.animate-shake,
|
|
1458
|
-
.animate-bounce,
|
|
1459
|
-
.section-streaming,
|
|
1460
|
-
.section-streaming-glow,
|
|
1461
|
-
.section-highlight,
|
|
1462
|
-
.field-streaming,
|
|
1463
|
-
.item-streaming,
|
|
1464
|
-
.state-transition-enter,
|
|
1465
|
-
.state-transition-exit,
|
|
1466
|
-
.error-shake,
|
|
1467
|
-
.error-pulse,
|
|
1468
|
-
.skeleton-shimmer,
|
|
1469
|
-
.skeleton-pulse,
|
|
1470
|
-
.btn-ripple {
|
|
1471
|
-
animation: none !important;
|
|
1472
|
-
transition: none !important;
|
|
1473
|
-
opacity: 1 !important;
|
|
1474
|
-
transform: none !important;
|
|
1475
|
-
}
|
|
1476
|
-
|
|
1477
|
-
/* Disable pseudo-element animations */
|
|
1478
|
-
.animate-spark-travel::before,
|
|
1479
|
-
.section-highlight::after,
|
|
1480
|
-
.btn-ripple::after {
|
|
1481
|
-
animation: none !important;
|
|
1482
|
-
display: none;
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
/* Disable text shimmer gradient */
|
|
1486
|
-
.animate-text-shimmer {
|
|
1487
|
-
background: none !important;
|
|
1488
|
-
-webkit-text-fill-color: var(--foreground, currentColor) !important;
|
|
1489
|
-
}
|
|
1490
|
-
|
|
1491
|
-
/* Remove will-change hints */
|
|
1492
|
-
.will-animate,
|
|
1493
|
-
.will-animate-transform,
|
|
1494
|
-
.will-animate-opacity,
|
|
1495
|
-
.section-streaming {
|
|
1496
|
-
will-change: auto !important;
|
|
1497
|
-
}
|
|
1498
|
-
}
|