@casoon/atlas-styles 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +271 -0
- package/dist/animations.css +1873 -0
- package/dist/core.css +2409 -0
- package/dist/glass.css +1208 -0
- package/dist/index.css +29 -0
- package/dist/orbs.css +1578 -0
- package/dist/utilities.css +1410 -0
- package/package.json +54 -0
package/dist/core.css
ADDED
|
@@ -0,0 +1,2409 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* CASOON Atlas Core - Design System Foundation for Tailwind v4
|
|
3
|
+
* Version: 0.0.1
|
|
4
|
+
* Repository: https://github.com/casoon/atlas
|
|
5
|
+
* Author: Jörn Seidel (joern.seidel@casoon.de)
|
|
6
|
+
* License: MIT
|
|
7
|
+
*
|
|
8
|
+
* Core design system with tokens, utilities, and components
|
|
9
|
+
* Part of CASOON Atlas UI effects library
|
|
10
|
+
*
|
|
11
|
+
* Usage: @import "@casoon/atlas-styles/core";
|
|
12
|
+
* Package: @casoon/atlas-styles
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/* Note: @import "tailwindcss"; should be added by the consumer */
|
|
16
|
+
|
|
17
|
+
/*!
|
|
18
|
+
* CASOON Atlas Core - Complete Foundation Package
|
|
19
|
+
* Ultra-complete foundation with 7 integrated systems:
|
|
20
|
+
* - Core Utilities, Forms, Cards & Components
|
|
21
|
+
* - Navigation System (navbar, tabs, breadcrumbs, drawer)
|
|
22
|
+
* - Scroll System (custom scrollbars, snap, reveal animations)
|
|
23
|
+
* - Gradients System (dynamic backgrounds & effects)
|
|
24
|
+
* - Loading System (spinners, skeleton, progress indicators)
|
|
25
|
+
* - Micro Interactions (hover effects, animations)
|
|
26
|
+
* - Typography System (prose, blog, marketing, docs styles)
|
|
27
|
+
*
|
|
28
|
+
* Total: 145+ classes, optimized for production
|
|
29
|
+
* SSR-safe, tree-shakeable, framework-agnostic
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/* Note: @import "tailwindcss"; should be added by the consumer */
|
|
33
|
+
|
|
34
|
+
/* =========================================================
|
|
35
|
+
DESIGN SYSTEM FOUNDATION
|
|
36
|
+
========================================================= */
|
|
37
|
+
|
|
38
|
+
/* Design Tokens - Complete token system for all components */
|
|
39
|
+
/*!
|
|
40
|
+
* Design Tokens - Complete Design System Foundation
|
|
41
|
+
* Core color, spacing, typography, and motion tokens
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
@theme {
|
|
45
|
+
/* Color tokens - Primary design system */
|
|
46
|
+
--cs-bg: #0b0c0f;
|
|
47
|
+
--cs-surface: #14161a;
|
|
48
|
+
--cs-elev1: #1b1e24;
|
|
49
|
+
--cs-elev2: #21252d;
|
|
50
|
+
--cs-text: #eef1f6;
|
|
51
|
+
--cs-text-muted: #b6bfcc;
|
|
52
|
+
--cs-border: #2a2f39;
|
|
53
|
+
--cs-brand: #4f7cff;
|
|
54
|
+
--cs-brand-contrast: #0b0d12;
|
|
55
|
+
|
|
56
|
+
/* State colors */
|
|
57
|
+
--cs-success: #22c55e;
|
|
58
|
+
--cs-warning: #f59e0b;
|
|
59
|
+
--cs-danger: #ef4444;
|
|
60
|
+
--cs-info: #06b6d4;
|
|
61
|
+
|
|
62
|
+
/* Typography tokens */
|
|
63
|
+
--cs-font-sans:
|
|
64
|
+
ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter,
|
|
65
|
+
'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
|
|
66
|
+
--cs-font-mono:
|
|
67
|
+
ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
|
|
68
|
+
'Courier New', monospace;
|
|
69
|
+
--cs-font-size: 16px;
|
|
70
|
+
--cs-line: 1.5;
|
|
71
|
+
|
|
72
|
+
/* Spacing tokens with density support */
|
|
73
|
+
--cs-density: 1;
|
|
74
|
+
--cs-space-1: calc(4px * var(--cs-density));
|
|
75
|
+
--cs-space-2: calc(8px * var(--cs-density));
|
|
76
|
+
--cs-space-3: calc(12px * var(--cs-density));
|
|
77
|
+
--cs-space-4: calc(16px * var(--cs-density));
|
|
78
|
+
--cs-space-6: calc(24px * var(--cs-density));
|
|
79
|
+
--cs-space-8: calc(32px * var(--cs-density));
|
|
80
|
+
|
|
81
|
+
/* Border radius & shadow tokens */
|
|
82
|
+
--cs-radius: 10px;
|
|
83
|
+
--cs-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px 1px rgba(0, 0, 0, 0.1);
|
|
84
|
+
--cs-shadow-2: 0 8px 24px rgba(0, 0, 0, 0.22), 0 2px 8px rgba(0, 0, 0, 0.18);
|
|
85
|
+
|
|
86
|
+
/* Motion tokens */
|
|
87
|
+
--cs-transition: 180ms cubic-bezier(0.2, 0.6, 0.2, 1);
|
|
88
|
+
--cs-anim-duration-sm: 160ms;
|
|
89
|
+
--cs-anim-duration-md: 280ms;
|
|
90
|
+
--cs-anim-duration-lg: 420ms;
|
|
91
|
+
--cs-anim-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
|
|
92
|
+
--cs-anim-ease-in: cubic-bezier(0.32, 0, 0.67, 0);
|
|
93
|
+
--cs-anim-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
94
|
+
|
|
95
|
+
/* Z-index tokens - Extended scale */
|
|
96
|
+
--cs-z-0: 0;
|
|
97
|
+
--cs-z-1: 1;
|
|
98
|
+
--cs-z-base: 1;
|
|
99
|
+
--cs-z-10: 10;
|
|
100
|
+
--cs-z-20: 20;
|
|
101
|
+
--cs-z-30: 30;
|
|
102
|
+
--cs-z-popover: 30;
|
|
103
|
+
--cs-z-40: 40;
|
|
104
|
+
--cs-z-tooltip: 40;
|
|
105
|
+
--cs-z-50: 50;
|
|
106
|
+
--cs-z-toast: 50;
|
|
107
|
+
--cs-z-60: 60;
|
|
108
|
+
--cs-z-modal: 60;
|
|
109
|
+
--cs-z-70: 70;
|
|
110
|
+
--cs-z-80: 80;
|
|
111
|
+
--cs-z-90: 90;
|
|
112
|
+
--cs-z-100: 100;
|
|
113
|
+
--cs-z-200: 200;
|
|
114
|
+
--cs-z-300: 300;
|
|
115
|
+
--cs-z-400: 400;
|
|
116
|
+
--cs-z-500: 500;
|
|
117
|
+
--cs-z-600: 600;
|
|
118
|
+
--cs-z-700: 700;
|
|
119
|
+
--cs-z-800: 800;
|
|
120
|
+
--cs-z-900: 900;
|
|
121
|
+
--cs-z-999: 999;
|
|
122
|
+
--cs-z-high: 9999;
|
|
123
|
+
--cs-z-9999: 9999;
|
|
124
|
+
--cs-z-max: 2147483647;
|
|
125
|
+
/* Additional semantic z-index tokens from v0.8.x */
|
|
126
|
+
--cs-z-drawer: 1000;
|
|
127
|
+
--cs-z-dropdown: 1000;
|
|
128
|
+
--cs-z-fixed: 1030;
|
|
129
|
+
--cs-z-nav: 1020;
|
|
130
|
+
--cs-z-nav-overlay: 1010;
|
|
131
|
+
--cs-z-orb: 5;
|
|
132
|
+
--cs-z-overlay: 1040;
|
|
133
|
+
--cs-z-sticky: 1020;
|
|
134
|
+
|
|
135
|
+
/* Layout tokens */
|
|
136
|
+
--cs-page-max: 1200px;
|
|
137
|
+
--cs-page-pad: var(--cs-space-4);
|
|
138
|
+
|
|
139
|
+
/* Backdrop/blur tokens */
|
|
140
|
+
--cs-acrylic-blur: 14px;
|
|
141
|
+
--cs-acrylic-tint: rgba(20, 22, 26, 0.55);
|
|
142
|
+
--cs-acrylic-border: rgba(255, 255, 255, 0.06);
|
|
143
|
+
|
|
144
|
+
/* Progressive color tokens */
|
|
145
|
+
--cs-brand-oklch: oklch(60% 0.15 255);
|
|
146
|
+
--cs-brand-ink: var(--cs-brand-contrast);
|
|
147
|
+
|
|
148
|
+
/* Fluid typography tokens */
|
|
149
|
+
--cs-fs-xs: clamp(0.78rem, 0.75rem + 0.2cqi, 0.84rem);
|
|
150
|
+
--cs-fs-sm: clamp(0.88rem, 0.82rem + 0.3cqi, 0.95rem);
|
|
151
|
+
--cs-fs-md: clamp(1rem, 0.95rem + 0.4cqi, 1.125rem);
|
|
152
|
+
--cs-fs-lg: clamp(1.25rem, 1.05rem + 0.8cqi, 1.5rem);
|
|
153
|
+
--cs-fs-xl: clamp(1.5rem, 1.2rem + 1.2cqi, 1.875rem);
|
|
154
|
+
--cs-fs-2xl: clamp(1.875rem, 1.4rem + 1.6cqi, 2.25rem);
|
|
155
|
+
|
|
156
|
+
/* Form tokens */
|
|
157
|
+
--cs-form-bg: var(--cs-surface);
|
|
158
|
+
--cs-form-border: var(--cs-border);
|
|
159
|
+
--cs-form-radius: var(--cs-radius);
|
|
160
|
+
--cs-form-shadow: var(--cs-shadow-1);
|
|
161
|
+
--cs-form-focus: var(--cs-brand);
|
|
162
|
+
|
|
163
|
+
/* Typography component tokens */
|
|
164
|
+
--cs-prose-headings: var(--cs-text);
|
|
165
|
+
--cs-prose-body: var(--cs-text-muted);
|
|
166
|
+
--cs-prose-links: var(--cs-brand);
|
|
167
|
+
--cs-prose-bold: var(--cs-text);
|
|
168
|
+
--cs-prose-quotes: var(--cs-text-muted);
|
|
169
|
+
--cs-prose-captions: var(--cs-text-muted);
|
|
170
|
+
|
|
171
|
+
/* Gradients system tokens */
|
|
172
|
+
--cs-gradient-primary: linear-gradient(
|
|
173
|
+
135deg,
|
|
174
|
+
var(--cs-brand),
|
|
175
|
+
color-mix(in srgb, var(--cs-brand) 80%, var(--cs-info))
|
|
176
|
+
);
|
|
177
|
+
--cs-gradient-success: linear-gradient(
|
|
178
|
+
135deg,
|
|
179
|
+
var(--cs-success),
|
|
180
|
+
color-mix(in srgb, var(--cs-success) 70%, var(--cs-info))
|
|
181
|
+
);
|
|
182
|
+
--cs-gradient-warning: linear-gradient(
|
|
183
|
+
135deg,
|
|
184
|
+
var(--cs-warning),
|
|
185
|
+
color-mix(in srgb, var(--cs-warning) 80%, var(--cs-danger))
|
|
186
|
+
);
|
|
187
|
+
--cs-gradient-sunset: linear-gradient(135deg, #ff9a9e, #fecfef, #fecfef);
|
|
188
|
+
--cs-gradient-ocean: linear-gradient(135deg, #667eea, #764ba2);
|
|
189
|
+
--cs-gradient-forest: linear-gradient(135deg, #11998e, #38ef7d);
|
|
190
|
+
|
|
191
|
+
/* Extended gradient color stop tokens for comprehensive utilities */
|
|
192
|
+
--cs-gradient-sunset-start: #ff6b6b;
|
|
193
|
+
--cs-gradient-sunset-mid: #ffd93d;
|
|
194
|
+
--cs-gradient-sunset-end: #6bcf7f;
|
|
195
|
+
|
|
196
|
+
--cs-gradient-ocean-start: #667eea;
|
|
197
|
+
--cs-gradient-ocean-end: #764ba2;
|
|
198
|
+
|
|
199
|
+
--cs-gradient-fire-start: #f093fb;
|
|
200
|
+
--cs-gradient-fire-end: #f5576c;
|
|
201
|
+
|
|
202
|
+
--cs-gradient-mint-start: #4facfe;
|
|
203
|
+
--cs-gradient-mint-end: #00f2fe;
|
|
204
|
+
|
|
205
|
+
--cs-gradient-purple-start: #a8edea;
|
|
206
|
+
--cs-gradient-purple-end: #fed6e3;
|
|
207
|
+
|
|
208
|
+
--cs-gradient-orange-start: #ffeaa7;
|
|
209
|
+
--cs-gradient-orange-end: #fab1a0;
|
|
210
|
+
|
|
211
|
+
--cs-gradient-blue-start: #74b9ff;
|
|
212
|
+
--cs-gradient-blue-end: #0984e3;
|
|
213
|
+
|
|
214
|
+
--cs-gradient-pink-start: #fd79a8;
|
|
215
|
+
--cs-gradient-pink-end: #fdcb6e;
|
|
216
|
+
|
|
217
|
+
/* Custom gradient variables (user customizable) */
|
|
218
|
+
--cs-gradient-custom-start: #667eea;
|
|
219
|
+
--cs-gradient-custom-mid: ;
|
|
220
|
+
--cs-gradient-custom-end: #764ba2;
|
|
221
|
+
|
|
222
|
+
--cs-gradient-white: #ffffff;
|
|
223
|
+
|
|
224
|
+
/* Shared stops list fallback (for radial/conic) */
|
|
225
|
+
--cs-gradient-stops:
|
|
226
|
+
var(--cs-gradient-ocean-start), var(--cs-gradient-ocean-end);
|
|
227
|
+
|
|
228
|
+
/* Gradient fade color tokens */
|
|
229
|
+
--cs-gradient-fade-color: rgba(79, 124, 255, 0.6);
|
|
230
|
+
--cs-gradient-fade-mid: rgba(79, 124, 255, 0.3);
|
|
231
|
+
|
|
232
|
+
/* Animation defaults for gradient animations */
|
|
233
|
+
--cs-anim-gradient-duration: 4s;
|
|
234
|
+
--cs-anim-gradient-ease: var(--cs-anim-ease-in-out);
|
|
235
|
+
--cs-anim-gradient-iteration: infinite;
|
|
236
|
+
|
|
237
|
+
/* Loading system tokens */
|
|
238
|
+
--cs-loading-spinner-size: 40px;
|
|
239
|
+
--cs-loading-spinner-border: 4px;
|
|
240
|
+
--cs-loading-duration-fast: 0.8s;
|
|
241
|
+
--cs-loading-duration-normal: 1.2s;
|
|
242
|
+
--cs-loading-duration-slow: 2s;
|
|
243
|
+
|
|
244
|
+
/* Micro interactions tokens */
|
|
245
|
+
--cs-hover-lift: -2px;
|
|
246
|
+
--cs-hover-scale: 1.02;
|
|
247
|
+
--cs-hover-glow-spread: 8px;
|
|
248
|
+
--cs-tap-scale: 0.98;
|
|
249
|
+
|
|
250
|
+
/* Scrollbar design tokens */
|
|
251
|
+
--cs-scroll-thumb-gray: #6b7280;
|
|
252
|
+
--cs-scroll-thumb-blue: #3b82f6;
|
|
253
|
+
--cs-scroll-thumb-primary: var(--cs-brand);
|
|
254
|
+
--cs-scroll-track: rgba(0, 0, 0, 0.08);
|
|
255
|
+
--cs-scroll-track-light: rgba(0, 0, 0, 0.04);
|
|
256
|
+
--cs-scroll-thumb-radius: 8px;
|
|
257
|
+
--cs-scrollbar-size: 10px;
|
|
258
|
+
--cs-scrollbar-size-thin: 6px;
|
|
259
|
+
|
|
260
|
+
/* Scroll shadow tokens */
|
|
261
|
+
--cs-scroll-shadow-color: rgba(0, 0, 0, 0.08);
|
|
262
|
+
--cs-scroll-shadow-size: 12px;
|
|
263
|
+
|
|
264
|
+
/* Scroll animation tokens */
|
|
265
|
+
--cs-scroll-reveal-distance: 16px;
|
|
266
|
+
--cs-scroll-reveal-scale: 0.96;
|
|
267
|
+
|
|
268
|
+
/* Navigation design tokens */
|
|
269
|
+
--cs-nav-primary: var(--cs-brand);
|
|
270
|
+
--cs-nav-text: var(--cs-text);
|
|
271
|
+
--cs-nav-text-muted: var(--cs-text-muted);
|
|
272
|
+
--cs-nav-text-secondary: color-mix(in srgb, var(--cs-text) 75%, transparent);
|
|
273
|
+
--cs-nav-text-disabled: color-mix(in srgb, var(--cs-text) 40%, transparent);
|
|
274
|
+
--cs-nav-border: var(--cs-border);
|
|
275
|
+
--cs-nav-border-light: color-mix(in srgb, var(--cs-border) 60%, transparent);
|
|
276
|
+
--cs-nav-bg: var(--cs-surface);
|
|
277
|
+
--cs-nav-bg-hover: color-mix(
|
|
278
|
+
in srgb,
|
|
279
|
+
var(--cs-surface) 80%,
|
|
280
|
+
var(--cs-text) 8%
|
|
281
|
+
);
|
|
282
|
+
--cs-nav-bg-secondary: color-mix(
|
|
283
|
+
in srgb,
|
|
284
|
+
var(--cs-surface) 60%,
|
|
285
|
+
var(--cs-bg)
|
|
286
|
+
);
|
|
287
|
+
--cs-nav-bg-disabled: color-mix(in srgb, var(--cs-surface) 50%, transparent);
|
|
288
|
+
--cs-nav-height: 64px;
|
|
289
|
+
--cs-nav-transition: var(--cs-transition);
|
|
290
|
+
--cs-nav-transition-fast: calc(var(--cs-transition) * 0.75);
|
|
291
|
+
--cs-nav-transition-base: var(--cs-transition);
|
|
292
|
+
--cs-nav-backdrop-bg: rgba(0, 0, 0, 0.5);
|
|
293
|
+
--cs-nav-backdrop-blur: var(--cs-acrylic-blur);
|
|
294
|
+
|
|
295
|
+
/* Typography base tokens */
|
|
296
|
+
--cs-prose-font-size: 1rem;
|
|
297
|
+
--cs-prose-line-height: 1.75;
|
|
298
|
+
--cs-prose-color: color-mix(in srgb, currentColor 85%, transparent);
|
|
299
|
+
--cs-prose-headings-color: color-mix(in srgb, currentColor 95%, transparent);
|
|
300
|
+
--cs-prose-links-color: #3b82f6;
|
|
301
|
+
--cs-prose-links-hover: color-mix(in srgb, #3b82f6 80%, transparent);
|
|
302
|
+
--cs-prose-spacing: 1.5rem;
|
|
303
|
+
--cs-prose-max-width: 65ch;
|
|
304
|
+
|
|
305
|
+
/* Typography scale tokens */
|
|
306
|
+
--cs-prose-xs: 0.8125rem;
|
|
307
|
+
--cs-prose-sm: 0.875rem;
|
|
308
|
+
--cs-prose-base: 1rem;
|
|
309
|
+
--cs-prose-lg: 1.125rem;
|
|
310
|
+
--cs-prose-xl: 1.25rem;
|
|
311
|
+
--cs-prose-2xl: 1.5rem;
|
|
312
|
+
--cs-prose-3xl: 1.875rem;
|
|
313
|
+
--cs-prose-4xl: 2.25rem;
|
|
314
|
+
--cs-prose-5xl: 3rem;
|
|
315
|
+
|
|
316
|
+
/* Typography weight tokens */
|
|
317
|
+
--cs-prose-weight-light: 300;
|
|
318
|
+
--cs-prose-weight-normal: 400;
|
|
319
|
+
--cs-prose-weight-medium: 500;
|
|
320
|
+
--cs-prose-weight-semibold: 600;
|
|
321
|
+
--cs-prose-weight-bold: 700;
|
|
322
|
+
--cs-prose-weight-extrabold: 800;
|
|
323
|
+
--cs-prose-weight-black: 900;
|
|
324
|
+
|
|
325
|
+
/* Typography family tokens */
|
|
326
|
+
--cs-prose-font-sans:
|
|
327
|
+
system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
|
|
328
|
+
'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
|
|
329
|
+
--cs-prose-font-serif: Georgia, 'Times New Roman', Times, serif;
|
|
330
|
+
--cs-prose-font-mono:
|
|
331
|
+
'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New',
|
|
332
|
+
monospace;
|
|
333
|
+
|
|
334
|
+
/* Typography spacing tokens */
|
|
335
|
+
--cs-prose-spacing-tight: 1.25rem;
|
|
336
|
+
--cs-prose-spacing-normal: 1.5rem;
|
|
337
|
+
--cs-prose-spacing-relaxed: 1.75rem;
|
|
338
|
+
--cs-prose-spacing-loose: 2rem;
|
|
339
|
+
|
|
340
|
+
/* Code styling tokens */
|
|
341
|
+
--cs-prose-code-bg: color-mix(in srgb, currentColor 8%, transparent);
|
|
342
|
+
--cs-prose-code-border: color-mix(in srgb, currentColor 10%, transparent);
|
|
343
|
+
--cs-prose-pre-bg: color-mix(in srgb, currentColor 5%, transparent);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/* =========================================================
|
|
347
|
+
BASE LAYER - Core accessibility and utilities
|
|
348
|
+
========================================================= */
|
|
349
|
+
|
|
350
|
+
/* Core Accessibility Utilities */
|
|
351
|
+
/* =========================================================
|
|
352
|
+
BASE ACCESSIBILITY UTILITIES
|
|
353
|
+
========================================================= */
|
|
354
|
+
|
|
355
|
+
/* Screen reader only content */
|
|
356
|
+
@utility cs-sr-only {
|
|
357
|
+
position: absolute;
|
|
358
|
+
width: 1px;
|
|
359
|
+
height: 1px;
|
|
360
|
+
padding: 0;
|
|
361
|
+
margin: -1px;
|
|
362
|
+
overflow: hidden;
|
|
363
|
+
clip: rect(0, 0, 0, 0);
|
|
364
|
+
white-space: nowrap;
|
|
365
|
+
border: 0;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/* Focus management utilities */
|
|
369
|
+
@utility cs-focus-ring {
|
|
370
|
+
outline: none;
|
|
371
|
+
|
|
372
|
+
&:focus-visible {
|
|
373
|
+
outline: 2px solid transparent;
|
|
374
|
+
outline-offset: 2px;
|
|
375
|
+
box-shadow:
|
|
376
|
+
0 0 0 2px var(--cs-brand, #4f7cff),
|
|
377
|
+
0 0 0 4px color-mix(in srgb, var(--cs-brand, #4f7cff) 20%, transparent);
|
|
378
|
+
transition: box-shadow var(--cs-transition);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
@utility cs-focus-ring-within {
|
|
383
|
+
&:focus-within {
|
|
384
|
+
box-shadow:
|
|
385
|
+
0 0 0 2px var(--cs-brand, #4f7cff),
|
|
386
|
+
0 0 0 6px color-mix(in srgb, var(--cs-brand, #4f7cff) 22%, transparent);
|
|
387
|
+
border-radius: var(--cs-radius);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/* Core Layout Utilities */
|
|
392
|
+
/* =========================================================
|
|
393
|
+
BASE LAYOUT UTILITIES
|
|
394
|
+
========================================================= */
|
|
395
|
+
|
|
396
|
+
/* Container utilities */
|
|
397
|
+
@utility cs-container-fluid {
|
|
398
|
+
width: 100%;
|
|
399
|
+
padding-left: var(--cs-page-pad);
|
|
400
|
+
padding-right: var(--cs-page-pad);
|
|
401
|
+
margin-left: auto;
|
|
402
|
+
margin-right: auto;
|
|
403
|
+
max-width: none;
|
|
404
|
+
background-color: var(--cs-surface, #14161a);
|
|
405
|
+
color: var(--cs-text, #eef1f6);
|
|
406
|
+
|
|
407
|
+
@media (min-width: 768px) {
|
|
408
|
+
padding-left: calc(var(--cs-page-pad) + var(--cs-space-2));
|
|
409
|
+
padding-right: calc(var(--cs-page-pad) + var(--cs-space-2));
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
@media (min-width: 1200px) {
|
|
413
|
+
max-width: var(--cs-page-max);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/* Z-Index utilities - Complete scale */
|
|
418
|
+
@utility cs-z-0 {
|
|
419
|
+
z-index: var(--cs-z-0);
|
|
420
|
+
position: relative;
|
|
421
|
+
}
|
|
422
|
+
@utility cs-z-1 {
|
|
423
|
+
z-index: var(--cs-z-1);
|
|
424
|
+
position: relative;
|
|
425
|
+
}
|
|
426
|
+
@utility cs-z-base {
|
|
427
|
+
z-index: var(--cs-z-base);
|
|
428
|
+
position: relative;
|
|
429
|
+
}
|
|
430
|
+
@utility cs-z-10 {
|
|
431
|
+
z-index: var(--cs-z-10);
|
|
432
|
+
position: relative;
|
|
433
|
+
}
|
|
434
|
+
@utility cs-z-20 {
|
|
435
|
+
z-index: var(--cs-z-20);
|
|
436
|
+
position: relative;
|
|
437
|
+
}
|
|
438
|
+
@utility cs-z-30 {
|
|
439
|
+
z-index: var(--cs-z-30);
|
|
440
|
+
position: relative;
|
|
441
|
+
}
|
|
442
|
+
@utility cs-z-popover {
|
|
443
|
+
z-index: var(--cs-z-popover);
|
|
444
|
+
position: relative;
|
|
445
|
+
}
|
|
446
|
+
@utility cs-z-40 {
|
|
447
|
+
z-index: var(--cs-z-40);
|
|
448
|
+
position: relative;
|
|
449
|
+
}
|
|
450
|
+
@utility cs-z-tooltip {
|
|
451
|
+
z-index: var(--cs-z-tooltip);
|
|
452
|
+
position: relative;
|
|
453
|
+
}
|
|
454
|
+
@utility cs-z-50 {
|
|
455
|
+
z-index: var(--cs-z-50);
|
|
456
|
+
position: relative;
|
|
457
|
+
}
|
|
458
|
+
@utility cs-z-toast {
|
|
459
|
+
z-index: var(--cs-z-toast);
|
|
460
|
+
position: relative;
|
|
461
|
+
}
|
|
462
|
+
@utility cs-z-60 {
|
|
463
|
+
z-index: var(--cs-z-60);
|
|
464
|
+
position: relative;
|
|
465
|
+
}
|
|
466
|
+
@utility cs-z-modal {
|
|
467
|
+
z-index: var(--cs-z-modal);
|
|
468
|
+
position: relative;
|
|
469
|
+
}
|
|
470
|
+
@utility cs-z-70 {
|
|
471
|
+
z-index: var(--cs-z-70);
|
|
472
|
+
position: relative;
|
|
473
|
+
}
|
|
474
|
+
@utility cs-z-80 {
|
|
475
|
+
z-index: var(--cs-z-80);
|
|
476
|
+
position: relative;
|
|
477
|
+
}
|
|
478
|
+
@utility cs-z-90 {
|
|
479
|
+
z-index: var(--cs-z-90);
|
|
480
|
+
position: relative;
|
|
481
|
+
}
|
|
482
|
+
@utility cs-z-100 {
|
|
483
|
+
z-index: var(--cs-z-100);
|
|
484
|
+
position: relative;
|
|
485
|
+
}
|
|
486
|
+
@utility cs-z-200 {
|
|
487
|
+
z-index: var(--cs-z-200);
|
|
488
|
+
position: relative;
|
|
489
|
+
}
|
|
490
|
+
@utility cs-z-300 {
|
|
491
|
+
z-index: var(--cs-z-300);
|
|
492
|
+
position: relative;
|
|
493
|
+
}
|
|
494
|
+
@utility cs-z-400 {
|
|
495
|
+
z-index: var(--cs-z-400);
|
|
496
|
+
position: relative;
|
|
497
|
+
}
|
|
498
|
+
@utility cs-z-500 {
|
|
499
|
+
z-index: var(--cs-z-500);
|
|
500
|
+
position: relative;
|
|
501
|
+
}
|
|
502
|
+
@utility cs-z-600 {
|
|
503
|
+
z-index: var(--cs-z-600);
|
|
504
|
+
position: relative;
|
|
505
|
+
}
|
|
506
|
+
@utility cs-z-700 {
|
|
507
|
+
z-index: var(--cs-z-700);
|
|
508
|
+
position: relative;
|
|
509
|
+
}
|
|
510
|
+
@utility cs-z-800 {
|
|
511
|
+
z-index: var(--cs-z-800);
|
|
512
|
+
position: relative;
|
|
513
|
+
}
|
|
514
|
+
@utility cs-z-900 {
|
|
515
|
+
z-index: var(--cs-z-900);
|
|
516
|
+
position: relative;
|
|
517
|
+
}
|
|
518
|
+
@utility cs-z-999 {
|
|
519
|
+
z-index: var(--cs-z-999);
|
|
520
|
+
position: relative;
|
|
521
|
+
}
|
|
522
|
+
@utility cs-z-high {
|
|
523
|
+
z-index: var(--cs-z-high);
|
|
524
|
+
position: relative;
|
|
525
|
+
}
|
|
526
|
+
@utility cs-z-9999 {
|
|
527
|
+
z-index: var(--cs-z-9999);
|
|
528
|
+
position: relative;
|
|
529
|
+
}
|
|
530
|
+
@utility cs-z-max {
|
|
531
|
+
z-index: var(--cs-z-max);
|
|
532
|
+
position: relative;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
/* Additional semantic z-index utilities from v0.8.x */
|
|
536
|
+
@utility cs-z-drawer {
|
|
537
|
+
z-index: var(--cs-z-drawer);
|
|
538
|
+
position: relative;
|
|
539
|
+
}
|
|
540
|
+
@utility cs-z-dropdown {
|
|
541
|
+
z-index: var(--cs-z-dropdown);
|
|
542
|
+
position: relative;
|
|
543
|
+
}
|
|
544
|
+
@utility cs-z-fixed {
|
|
545
|
+
z-index: var(--cs-z-fixed);
|
|
546
|
+
position: fixed;
|
|
547
|
+
}
|
|
548
|
+
@utility cs-z-nav {
|
|
549
|
+
z-index: var(--cs-z-nav);
|
|
550
|
+
position: relative;
|
|
551
|
+
}
|
|
552
|
+
@utility cs-z-nav-overlay {
|
|
553
|
+
z-index: var(--cs-z-nav-overlay);
|
|
554
|
+
position: relative;
|
|
555
|
+
}
|
|
556
|
+
@utility cs-z-orb {
|
|
557
|
+
z-index: var(--cs-z-orb);
|
|
558
|
+
position: relative;
|
|
559
|
+
}
|
|
560
|
+
@utility cs-z-overlay {
|
|
561
|
+
z-index: var(--cs-z-overlay);
|
|
562
|
+
position: relative;
|
|
563
|
+
}
|
|
564
|
+
@utility cs-z-sticky {
|
|
565
|
+
z-index: var(--cs-z-sticky);
|
|
566
|
+
position: sticky;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
/* =========================================================
|
|
570
|
+
LAYOUT UTILITIES
|
|
571
|
+
Page layout and spacing utilities
|
|
572
|
+
========================================================= */
|
|
573
|
+
@utility cs-page-max {
|
|
574
|
+
max-width: var(--cs-page-max);
|
|
575
|
+
}
|
|
576
|
+
@utility cs-page-pad {
|
|
577
|
+
padding: var(--cs-page-pad);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/* Shadow utilities */
|
|
581
|
+
@utility cs-shadow-0 {
|
|
582
|
+
box-shadow: var(--cs-shadow-0);
|
|
583
|
+
}
|
|
584
|
+
@utility cs-shadow-1 {
|
|
585
|
+
box-shadow: var(--cs-shadow-1);
|
|
586
|
+
}
|
|
587
|
+
@utility cs-shadow-2 {
|
|
588
|
+
box-shadow: var(--cs-shadow-2);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/* =========================================================
|
|
592
|
+
COLOR SYSTEM UTILITIES
|
|
593
|
+
Core color utilities from design tokens
|
|
594
|
+
========================================================= */
|
|
595
|
+
@utility cs-bg {
|
|
596
|
+
background-color: var(--cs-bg);
|
|
597
|
+
}
|
|
598
|
+
@utility cs-surface {
|
|
599
|
+
background-color: var(--cs-surface);
|
|
600
|
+
}
|
|
601
|
+
@utility cs-surface-2 {
|
|
602
|
+
background-color: var(--cs-surface-2);
|
|
603
|
+
}
|
|
604
|
+
@utility cs-elev1 {
|
|
605
|
+
background-color: var(--cs-elev1);
|
|
606
|
+
}
|
|
607
|
+
@utility cs-elev2 {
|
|
608
|
+
background-color: var(--cs-elev2);
|
|
609
|
+
}
|
|
610
|
+
@utility cs-text {
|
|
611
|
+
color: var(--cs-text);
|
|
612
|
+
}
|
|
613
|
+
@utility cs-text-muted {
|
|
614
|
+
color: var(--cs-text-muted);
|
|
615
|
+
}
|
|
616
|
+
@utility cs-text-inverse {
|
|
617
|
+
color: var(--cs-text-inverse);
|
|
618
|
+
}
|
|
619
|
+
@utility cs-brand {
|
|
620
|
+
color: var(--cs-brand);
|
|
621
|
+
}
|
|
622
|
+
@utility cs-brand-contrast {
|
|
623
|
+
color: var(--cs-brand-contrast);
|
|
624
|
+
}
|
|
625
|
+
@utility cs-success {
|
|
626
|
+
color: var(--cs-success);
|
|
627
|
+
}
|
|
628
|
+
@utility cs-warning {
|
|
629
|
+
color: var(--cs-warning);
|
|
630
|
+
}
|
|
631
|
+
@utility cs-danger {
|
|
632
|
+
color: var(--cs-danger);
|
|
633
|
+
}
|
|
634
|
+
@utility cs-info {
|
|
635
|
+
color: var(--cs-info);
|
|
636
|
+
}
|
|
637
|
+
@utility cs-border {
|
|
638
|
+
border-color: var(--cs-border);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
/* =========================================================
|
|
642
|
+
COMPONENT SYSTEMS - All UI components
|
|
643
|
+
========================================================= */
|
|
644
|
+
|
|
645
|
+
/* Cards System - Feature, product, pricing cards */
|
|
646
|
+
/* =========================================================
|
|
647
|
+
CARD SYSTEM COMPONENTS
|
|
648
|
+
Standard card components without glass effects
|
|
649
|
+
========================================================= */
|
|
650
|
+
|
|
651
|
+
/* Feature Card Component */
|
|
652
|
+
@utility cs-card-feature {
|
|
653
|
+
display: grid;
|
|
654
|
+
grid-template-rows: auto auto 1fr;
|
|
655
|
+
gap: var(--cs-card-space-lg, 1.5rem);
|
|
656
|
+
background: var(--cs-card-bg, #ffffff);
|
|
657
|
+
border: 1px solid var(--cs-card-border, #e5e7eb);
|
|
658
|
+
border-radius: var(--cs-card-radius, 12px);
|
|
659
|
+
box-shadow: var(--cs-card-shadow, 0 1px 2px rgba(0, 0, 0, 0.05));
|
|
660
|
+
padding: var(--cs-card-space-xl, 2rem);
|
|
661
|
+
text-align: center;
|
|
662
|
+
position: relative;
|
|
663
|
+
transition: var(--cs-card-transition, all 0.2s ease);
|
|
664
|
+
|
|
665
|
+
&:hover {
|
|
666
|
+
transform: translateY(var(--cs-card-hover-lift, -2px));
|
|
667
|
+
box-shadow: var(--cs-card-shadow-hover, 0 4px 6px rgba(0, 0, 0, 0.07));
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
/* Product Card Component */
|
|
672
|
+
@utility cs-card-product {
|
|
673
|
+
background: var(--cs-card-bg, #ffffff);
|
|
674
|
+
border-radius: var(--cs-card-radius, 12px);
|
|
675
|
+
box-shadow: var(--cs-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.1));
|
|
676
|
+
transition: var(--cs-card-transition, all 0.2s ease);
|
|
677
|
+
overflow: hidden;
|
|
678
|
+
max-width: 20rem;
|
|
679
|
+
display: flex;
|
|
680
|
+
flex-direction: column;
|
|
681
|
+
position: relative;
|
|
682
|
+
|
|
683
|
+
&:hover {
|
|
684
|
+
transform: translateY(var(--cs-card-hover-lift, -2px));
|
|
685
|
+
box-shadow: var(--cs-card-shadow-hover, 0 4px 6px rgba(0, 0, 0, 0.1));
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/* Pricing Card Component */
|
|
690
|
+
@utility cs-card-pricing {
|
|
691
|
+
display: grid;
|
|
692
|
+
grid-template-rows: auto 1fr auto;
|
|
693
|
+
background: var(--cs-card-bg, #ffffff);
|
|
694
|
+
border: 2px solid var(--cs-card-border, #e5e7eb);
|
|
695
|
+
border-radius: var(--cs-card-radius, 12px);
|
|
696
|
+
box-shadow: var(--cs-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.1));
|
|
697
|
+
padding: var(--cs-card-space-xl, 2rem);
|
|
698
|
+
text-align: center;
|
|
699
|
+
position: relative;
|
|
700
|
+
transition: var(--cs-card-transition, all 0.2s ease);
|
|
701
|
+
|
|
702
|
+
&:hover {
|
|
703
|
+
transform: translateY(var(--cs-card-hover-lift, -4px));
|
|
704
|
+
box-shadow: var(--cs-card-shadow-hover, 0 8px 25px rgba(0, 0, 0, 0.15));
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
/* Testimonial Card Component */
|
|
709
|
+
@utility cs-card-testimonial {
|
|
710
|
+
background: var(--cs-card-bg, #ffffff);
|
|
711
|
+
border-radius: var(--cs-card-radius, 12px);
|
|
712
|
+
box-shadow: var(--cs-card-shadow, 0 1px 3px rgba(0, 0, 0, 0.1));
|
|
713
|
+
transition: var(--cs-card-transition, all 0.2s ease);
|
|
714
|
+
overflow: hidden;
|
|
715
|
+
padding: var(--cs-card-padding, 1.5rem);
|
|
716
|
+
max-width: 24rem;
|
|
717
|
+
text-align: center;
|
|
718
|
+
position: relative;
|
|
719
|
+
|
|
720
|
+
&:hover {
|
|
721
|
+
box-shadow: var(--cs-card-shadow-hover, 0 4px 6px rgba(0, 0, 0, 0.1));
|
|
722
|
+
transform: translateY(var(--cs-card-hover-lift, -2px));
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
/* =========================================================
|
|
727
|
+
CARD HELPER COMPONENTS
|
|
728
|
+
========================================================= */
|
|
729
|
+
|
|
730
|
+
/* Card Image */
|
|
731
|
+
@utility cs-card-image {
|
|
732
|
+
width: 100%;
|
|
733
|
+
height: 12rem;
|
|
734
|
+
object-fit: cover;
|
|
735
|
+
background: color-mix(in srgb, currentColor 5%, transparent);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
/* Card Content */
|
|
739
|
+
@utility cs-card-content {
|
|
740
|
+
padding: var(--cs-card-padding, 1.5rem);
|
|
741
|
+
flex: 1;
|
|
742
|
+
display: flex;
|
|
743
|
+
flex-direction: column;
|
|
744
|
+
gap: 0.75rem;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
/* Card Title */
|
|
748
|
+
@utility cs-card-title {
|
|
749
|
+
font-size: 1.25rem;
|
|
750
|
+
font-weight: 700;
|
|
751
|
+
color: var(--cs-card-text, currentColor);
|
|
752
|
+
margin: 0;
|
|
753
|
+
line-height: 1.3;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
/* Card Description */
|
|
757
|
+
@utility cs-card-description {
|
|
758
|
+
color: var(
|
|
759
|
+
--cs-card-text-muted,
|
|
760
|
+
color-mix(in srgb, currentColor 70%, transparent)
|
|
761
|
+
);
|
|
762
|
+
line-height: 1.6;
|
|
763
|
+
margin: 0;
|
|
764
|
+
flex: 1;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
/* Card Price */
|
|
768
|
+
@utility cs-card-price {
|
|
769
|
+
font-size: 1.5rem;
|
|
770
|
+
font-weight: 800;
|
|
771
|
+
color: var(--cs-success, #059669);
|
|
772
|
+
margin: 0;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
/* Card Actions */
|
|
776
|
+
@utility cs-card-actions {
|
|
777
|
+
padding: 0 var(--cs-card-padding, 1.5rem) var(--cs-card-padding, 1.5rem);
|
|
778
|
+
display: flex;
|
|
779
|
+
gap: 0.75rem;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
/* Testimonial Quote */
|
|
783
|
+
@utility cs-testimonial-quote {
|
|
784
|
+
font-size: 1.125rem;
|
|
785
|
+
line-height: 1.6;
|
|
786
|
+
font-style: italic;
|
|
787
|
+
color: var(
|
|
788
|
+
--cs-card-text-muted,
|
|
789
|
+
color-mix(in srgb, currentColor 85%, transparent)
|
|
790
|
+
);
|
|
791
|
+
margin-bottom: 1.5rem;
|
|
792
|
+
position: relative;
|
|
793
|
+
|
|
794
|
+
&::before {
|
|
795
|
+
content: '"';
|
|
796
|
+
position: absolute;
|
|
797
|
+
top: -0.5rem;
|
|
798
|
+
left: -0.5rem;
|
|
799
|
+
font-size: 3rem;
|
|
800
|
+
color: color-mix(in srgb, currentColor 20%, transparent);
|
|
801
|
+
line-height: 1;
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
/* Testimonial Author */
|
|
806
|
+
@utility cs-testimonial-author {
|
|
807
|
+
display: flex;
|
|
808
|
+
align-items: center;
|
|
809
|
+
justify-content: center;
|
|
810
|
+
gap: 1rem;
|
|
811
|
+
margin-top: 1rem;
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
/* Primary Button for Cards */
|
|
815
|
+
@utility cs-button-primary-card {
|
|
816
|
+
background: linear-gradient(
|
|
817
|
+
135deg,
|
|
818
|
+
var(--cs-brand, #3b82f6),
|
|
819
|
+
color-mix(in srgb, var(--cs-brand, #3b82f6) 80%, #000000)
|
|
820
|
+
);
|
|
821
|
+
color: var(--cs-brand-ink, #ffffff);
|
|
822
|
+
border: none;
|
|
823
|
+
padding: 0.75rem 1.5rem;
|
|
824
|
+
border-radius: calc(var(--cs-radius, 10px) / 2);
|
|
825
|
+
font-weight: 600;
|
|
826
|
+
cursor: pointer;
|
|
827
|
+
transition: all var(--cs-transition, 200ms ease);
|
|
828
|
+
flex: 1;
|
|
829
|
+
|
|
830
|
+
&:hover {
|
|
831
|
+
transform: translateY(-1px);
|
|
832
|
+
box-shadow: 0 4px 12px
|
|
833
|
+
color-mix(in srgb, var(--cs-brand, #3b82f6) 40%, transparent);
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
&:focus {
|
|
837
|
+
outline: 2px solid transparent;
|
|
838
|
+
outline-offset: 2px;
|
|
839
|
+
box-shadow:
|
|
840
|
+
0 0 0 2px var(--cs-brand, #3b82f6),
|
|
841
|
+
0 0 0 4px color-mix(in srgb, var(--cs-brand, #3b82f6) 20%, transparent);
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
/* Forms System - Input, labels, validation */
|
|
846
|
+
/* =========================================================
|
|
847
|
+
FORMS SYSTEM COMPONENTS
|
|
848
|
+
Complete form system with modern styling
|
|
849
|
+
========================================================= */
|
|
850
|
+
|
|
851
|
+
/* Form Base */
|
|
852
|
+
@utility cs-form-base {
|
|
853
|
+
display: flex;
|
|
854
|
+
flex-direction: column;
|
|
855
|
+
gap: var(--cs-space-4, 1rem);
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
/* Input Base */
|
|
859
|
+
@utility cs-input-base {
|
|
860
|
+
padding: var(--cs-space-3, 12px) var(--cs-space-4, 16px);
|
|
861
|
+
border: 1px solid var(--cs-form-border, #e5e7eb);
|
|
862
|
+
border-radius: var(--cs-form-radius, 8px);
|
|
863
|
+
transition: var(--cs-transition, 180ms ease);
|
|
864
|
+
background: var(--cs-form-bg, #ffffff);
|
|
865
|
+
color: var(--cs-text, #111827);
|
|
866
|
+
|
|
867
|
+
&:focus {
|
|
868
|
+
outline: none;
|
|
869
|
+
border-color: var(--cs-form-focus, #3b82f6);
|
|
870
|
+
box-shadow: 0 0 0 3px
|
|
871
|
+
color-mix(in srgb, var(--cs-form-focus, #3b82f6) 15%, transparent);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
/* Modern Form */
|
|
876
|
+
@utility cs-form-modern {
|
|
877
|
+
display: flex;
|
|
878
|
+
flex-direction: column;
|
|
879
|
+
gap: var(--cs-space-4, 1rem);
|
|
880
|
+
max-width: 32rem;
|
|
881
|
+
margin: 0 auto;
|
|
882
|
+
padding: 2rem;
|
|
883
|
+
background: var(--cs-card-bg, #ffffff);
|
|
884
|
+
border-radius: var(--cs-radius, 10px);
|
|
885
|
+
box-shadow: var(--cs-shadow-1, 0 1px 3px rgba(0, 0, 0, 0.1));
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
/* Modern Input */
|
|
889
|
+
@utility cs-input-modern {
|
|
890
|
+
padding: var(--cs-space-3, 12px) var(--cs-space-4, 16px);
|
|
891
|
+
border: 2px solid color-mix(in srgb, currentColor 10%, transparent);
|
|
892
|
+
border-radius: var(--cs-form-radius, 8px);
|
|
893
|
+
transition: var(--cs-transition, 180ms ease);
|
|
894
|
+
background: var(--cs-form-bg, #ffffff);
|
|
895
|
+
font-size: var(--cs-fs-md, 1rem);
|
|
896
|
+
line-height: var(--cs-line, 1.5);
|
|
897
|
+
color: var(--cs-text, #111827);
|
|
898
|
+
|
|
899
|
+
&:focus {
|
|
900
|
+
outline: none;
|
|
901
|
+
border-color: var(--cs-form-focus, #3b82f6);
|
|
902
|
+
box-shadow: 0 0 0 3px
|
|
903
|
+
color-mix(in srgb, var(--cs-form-focus, #3b82f6) 20%, transparent);
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
&::placeholder {
|
|
907
|
+
color: var(--cs-text-muted, #6b7280);
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
/* Modern Label */
|
|
912
|
+
@utility cs-label-modern {
|
|
913
|
+
font-weight: 600;
|
|
914
|
+
color: var(--cs-text, #111827);
|
|
915
|
+
margin-bottom: 0.5rem;
|
|
916
|
+
display: block;
|
|
917
|
+
font-size: var(--cs-fs-sm, 0.875rem);
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
/* Modern Primary Button */
|
|
921
|
+
@utility cs-button-primary-modern {
|
|
922
|
+
background: linear-gradient(
|
|
923
|
+
135deg,
|
|
924
|
+
var(--cs-brand, #3b82f6),
|
|
925
|
+
color-mix(in srgb, var(--cs-brand, #3b82f6) 80%, #000000)
|
|
926
|
+
);
|
|
927
|
+
color: var(--cs-brand-ink, #ffffff);
|
|
928
|
+
border: none;
|
|
929
|
+
padding: 0.875rem 1.5rem;
|
|
930
|
+
border-radius: var(--cs-form-radius, 8px);
|
|
931
|
+
font-weight: 600;
|
|
932
|
+
cursor: pointer;
|
|
933
|
+
transition: var(--cs-transition, 180ms ease);
|
|
934
|
+
font-size: var(--cs-fs-md, 1rem);
|
|
935
|
+
|
|
936
|
+
&:hover {
|
|
937
|
+
transform: translateY(-2px);
|
|
938
|
+
box-shadow: 0 8px 20px
|
|
939
|
+
color-mix(in srgb, var(--cs-brand, #3b82f6) 30%, transparent);
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
&:focus {
|
|
943
|
+
outline: 2px solid transparent;
|
|
944
|
+
outline-offset: 2px;
|
|
945
|
+
box-shadow:
|
|
946
|
+
0 0 0 2px var(--cs-brand, #3b82f6),
|
|
947
|
+
0 0 0 4px color-mix(in srgb, var(--cs-brand, #3b82f6) 20%, transparent);
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
/* Form Group */
|
|
952
|
+
@utility cs-form-group {
|
|
953
|
+
position: relative;
|
|
954
|
+
margin-bottom: var(--cs-space-4, 1rem);
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
/* =========================================================
|
|
958
|
+
FORM VALIDATION SYSTEM
|
|
959
|
+
========================================================= */
|
|
960
|
+
|
|
961
|
+
/* Form Validation States */
|
|
962
|
+
@utility cs-input-validation {
|
|
963
|
+
position: absolute;
|
|
964
|
+
top: 100%;
|
|
965
|
+
left: 0;
|
|
966
|
+
right: 0;
|
|
967
|
+
margin-top: 0.25rem;
|
|
968
|
+
font-size: 0.875rem;
|
|
969
|
+
display: none;
|
|
970
|
+
align-items: center;
|
|
971
|
+
gap: 0.25rem;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
@utility cs-validation-error {
|
|
975
|
+
display: flex;
|
|
976
|
+
color: var(--cs-danger, #ef4444);
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
@utility cs-validation-success {
|
|
980
|
+
display: flex;
|
|
981
|
+
color: var(--cs-success, #22c55e);
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
@utility cs-validation-icon {
|
|
985
|
+
font-size: 1rem;
|
|
986
|
+
line-height: 1;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
@utility cs-input-error {
|
|
990
|
+
border-color: var(--cs-danger, #ef4444) !important;
|
|
991
|
+
box-shadow: 0 0 0 3px
|
|
992
|
+
color-mix(in srgb, var(--cs-danger, #ef4444) 20%, transparent) !important;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
@utility cs-input-success {
|
|
996
|
+
border-color: var(--cs-success, #22c55e) !important;
|
|
997
|
+
box-shadow: 0 0 0 3px
|
|
998
|
+
color-mix(in srgb, var(--cs-success, #22c55e) 20%, transparent) !important;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
/* =========================================================
|
|
1002
|
+
INPUT GROUP UTILITIES
|
|
1003
|
+
========================================================= */
|
|
1004
|
+
|
|
1005
|
+
/* Input Group Utilities */
|
|
1006
|
+
@utility cs-input-group {
|
|
1007
|
+
position: relative;
|
|
1008
|
+
display: flex;
|
|
1009
|
+
align-items: stretch;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
@utility cs-input-addon {
|
|
1013
|
+
display: flex;
|
|
1014
|
+
align-items: center;
|
|
1015
|
+
padding: 0 0.75rem;
|
|
1016
|
+
background: color-mix(in srgb, currentColor 5%, transparent);
|
|
1017
|
+
border: 1px solid var(--cs-form-border, #e5e7eb);
|
|
1018
|
+
color: var(--cs-text-muted, #6b7280);
|
|
1019
|
+
font-size: 0.875rem;
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
@utility cs-input-addon-left {
|
|
1023
|
+
border-right: none;
|
|
1024
|
+
border-radius: var(--cs-form-radius, 8px) 0 0 var(--cs-form-radius, 8px);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
@utility cs-input-addon-right {
|
|
1028
|
+
border-left: none;
|
|
1029
|
+
border-radius: 0 var(--cs-form-radius, 8px) var(--cs-form-radius, 8px) 0;
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
@utility cs-input-with-addon-left {
|
|
1033
|
+
border-radius: 0 var(--cs-form-radius, 8px) var(--cs-form-radius, 8px) 0;
|
|
1034
|
+
border-left: none;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
@utility cs-input-with-addon-right {
|
|
1038
|
+
border-radius: var(--cs-form-radius, 8px) 0 0 var(--cs-form-radius, 8px);
|
|
1039
|
+
border-right: none;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
/* =========================================================
|
|
1043
|
+
FORM LAYOUT UTILITIES
|
|
1044
|
+
========================================================= */
|
|
1045
|
+
|
|
1046
|
+
/* Form Layout Utilities */
|
|
1047
|
+
@utility cs-form-row {
|
|
1048
|
+
display: flex;
|
|
1049
|
+
gap: var(--cs-space-4, 1rem);
|
|
1050
|
+
align-items: flex-start;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
@utility cs-form-col {
|
|
1054
|
+
flex: 1;
|
|
1055
|
+
min-width: 0;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
/* =========================================================
|
|
1059
|
+
FORM TOKEN UTILITIES
|
|
1060
|
+
Direct form token utilities from design system
|
|
1061
|
+
========================================================= */
|
|
1062
|
+
@utility cs-form-bg {
|
|
1063
|
+
background-color: var(--cs-form-bg);
|
|
1064
|
+
}
|
|
1065
|
+
@utility cs-form-border {
|
|
1066
|
+
border-color: var(--cs-form-border);
|
|
1067
|
+
}
|
|
1068
|
+
@utility cs-form-radius {
|
|
1069
|
+
border-radius: var(--cs-form-radius);
|
|
1070
|
+
}
|
|
1071
|
+
@utility cs-form-shadow {
|
|
1072
|
+
box-shadow: var(--cs-form-shadow);
|
|
1073
|
+
}
|
|
1074
|
+
@utility cs-form-focus {
|
|
1075
|
+
border-color: var(--cs-form-focus);
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
/* =========================================================
|
|
1079
|
+
INTEGRATED SYSTEMS - Complex feature systems
|
|
1080
|
+
========================================================= */
|
|
1081
|
+
|
|
1082
|
+
/* Typography System - Prose, callouts, lead text */
|
|
1083
|
+
/* =========================================================
|
|
1084
|
+
TYPOGRAPHY SYSTEM
|
|
1085
|
+
========================================================= */
|
|
1086
|
+
|
|
1087
|
+
/* Prose typography system */
|
|
1088
|
+
.cs-prose {
|
|
1089
|
+
color: var(--cs-prose-body);
|
|
1090
|
+
max-width: 65ch;
|
|
1091
|
+
line-height: 1.75;
|
|
1092
|
+
font-size: var(--cs-fs-md);
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
.cs-prose h1,
|
|
1096
|
+
.cs-prose h2,
|
|
1097
|
+
.cs-prose h3,
|
|
1098
|
+
.cs-prose h4,
|
|
1099
|
+
.cs-prose h5,
|
|
1100
|
+
.cs-prose h6 {
|
|
1101
|
+
color: var(--cs-prose-headings);
|
|
1102
|
+
font-weight: 700;
|
|
1103
|
+
line-height: 1.25;
|
|
1104
|
+
margin-top: 2rem;
|
|
1105
|
+
margin-bottom: 0.75rem;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
.cs-prose h1 {
|
|
1109
|
+
font-size: var(--cs-fs-2xl);
|
|
1110
|
+
}
|
|
1111
|
+
.cs-prose h2 {
|
|
1112
|
+
font-size: var(--cs-fs-xl);
|
|
1113
|
+
}
|
|
1114
|
+
.cs-prose h3 {
|
|
1115
|
+
font-size: var(--cs-fs-lg);
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
.cs-prose p {
|
|
1119
|
+
margin-bottom: 1.25rem;
|
|
1120
|
+
line-height: 1.7;
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
.cs-prose a {
|
|
1124
|
+
color: var(--cs-prose-links);
|
|
1125
|
+
text-decoration: underline;
|
|
1126
|
+
text-underline-offset: 0.2em;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
.cs-prose a:hover {
|
|
1130
|
+
text-decoration: none;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
.cs-prose strong {
|
|
1134
|
+
color: var(--cs-prose-bold);
|
|
1135
|
+
font-weight: 600;
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
.cs-prose ul,
|
|
1139
|
+
.cs-prose ol {
|
|
1140
|
+
margin-left: 1.5rem;
|
|
1141
|
+
margin-bottom: 1.25rem;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
.cs-prose li {
|
|
1145
|
+
margin-bottom: 0.5rem;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
.cs-prose blockquote {
|
|
1149
|
+
border-left: 4px solid var(--cs-border);
|
|
1150
|
+
padding-left: 1.5rem;
|
|
1151
|
+
margin: 1.5rem 0;
|
|
1152
|
+
font-style: italic;
|
|
1153
|
+
color: var(--cs-prose-quotes);
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
.cs-prose code {
|
|
1157
|
+
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
1158
|
+
padding: 0.25rem 0.375rem;
|
|
1159
|
+
border-radius: 0.25rem;
|
|
1160
|
+
font-size: 0.875em;
|
|
1161
|
+
font-family: var(--cs-font-mono);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
.cs-prose pre {
|
|
1165
|
+
background: var(--cs-elev1);
|
|
1166
|
+
padding: 1.25rem;
|
|
1167
|
+
border-radius: var(--cs-radius);
|
|
1168
|
+
overflow-x: auto;
|
|
1169
|
+
margin: 1.5rem 0;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
.cs-prose pre code {
|
|
1173
|
+
background: none;
|
|
1174
|
+
padding: 0;
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
.cs-callout {
|
|
1178
|
+
padding: var(--cs-space-4) var(--cs-space-6);
|
|
1179
|
+
border-radius: var(--cs-radius);
|
|
1180
|
+
border-left: 4px solid var(--cs-info);
|
|
1181
|
+
background: color-mix(in srgb, var(--cs-info) 5%, var(--cs-surface));
|
|
1182
|
+
color: var(--cs-text);
|
|
1183
|
+
margin: 1.5rem 0;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
.cs-callout.cs-callout-info {
|
|
1187
|
+
border-left-color: var(--cs-info);
|
|
1188
|
+
background: color-mix(in srgb, var(--cs-info) 5%, var(--cs-surface));
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
.cs-callout.cs-callout-warning {
|
|
1192
|
+
border-left-color: var(--cs-warning);
|
|
1193
|
+
background: color-mix(in srgb, var(--cs-warning) 5%, var(--cs-surface));
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
.cs-callout.cs-callout-danger {
|
|
1197
|
+
border-left-color: var(--cs-danger);
|
|
1198
|
+
background: color-mix(in srgb, var(--cs-danger) 5%, var(--cs-surface));
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
.cs-callout.cs-callout-success {
|
|
1202
|
+
border-left-color: var(--cs-success);
|
|
1203
|
+
background: color-mix(in srgb, var(--cs-success) 5%, var(--cs-surface));
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
.cs-lead {
|
|
1207
|
+
font-size: var(--cs-fs-lg);
|
|
1208
|
+
line-height: 1.6;
|
|
1209
|
+
color: var(--cs-text-muted);
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
/* =========================================================
|
|
1213
|
+
FLUID TYPOGRAPHY UTILITIES
|
|
1214
|
+
Responsive typography using CSS clamp()
|
|
1215
|
+
========================================================= */
|
|
1216
|
+
@utility cs-fs-xs {
|
|
1217
|
+
font-size: var(--cs-fs-xs);
|
|
1218
|
+
}
|
|
1219
|
+
@utility cs-fs-sm {
|
|
1220
|
+
font-size: var(--cs-fs-sm);
|
|
1221
|
+
}
|
|
1222
|
+
@utility cs-fs-md {
|
|
1223
|
+
font-size: var(--cs-fs-md);
|
|
1224
|
+
}
|
|
1225
|
+
@utility cs-fs-lg {
|
|
1226
|
+
font-size: var(--cs-fs-lg);
|
|
1227
|
+
}
|
|
1228
|
+
@utility cs-fs-xl {
|
|
1229
|
+
font-size: var(--cs-fs-xl);
|
|
1230
|
+
}
|
|
1231
|
+
@utility cs-fs-2xl {
|
|
1232
|
+
font-size: var(--cs-fs-2xl);
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
/* Line Height utilities */
|
|
1236
|
+
@utility cs-leading-relaxed {
|
|
1237
|
+
line-height: var(--cs-leading-relaxed);
|
|
1238
|
+
}
|
|
1239
|
+
@utility cs-leading-loose {
|
|
1240
|
+
line-height: var(--cs-leading-loose);
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
/* Text Balance utility */
|
|
1244
|
+
@utility cs-text-balance {
|
|
1245
|
+
text-wrap: var(--cs-text-balance);
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
/* Navigation System - Navbar, links, brand */
|
|
1249
|
+
/* =========================================================
|
|
1250
|
+
NAVIGATION SYSTEM
|
|
1251
|
+
========================================================= */
|
|
1252
|
+
|
|
1253
|
+
@utility cs-navbar {
|
|
1254
|
+
position: relative;
|
|
1255
|
+
z-index: var(--cs-z-40, 40);
|
|
1256
|
+
display: flex;
|
|
1257
|
+
align-items: center;
|
|
1258
|
+
justify-content: space-between;
|
|
1259
|
+
gap: 0.5rem;
|
|
1260
|
+
padding: 0.75rem 1rem;
|
|
1261
|
+
background-color: var(--cs-surface, #ffffff);
|
|
1262
|
+
border-bottom: 1px solid var(--cs-border, #e5e7eb);
|
|
1263
|
+
transition: var(--cs-transition, 180ms ease);
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
@utility cs-navbar-brand {
|
|
1267
|
+
display: inline-block;
|
|
1268
|
+
padding: 0.3125rem 0;
|
|
1269
|
+
margin-right: 1rem;
|
|
1270
|
+
font-size: 1.25rem;
|
|
1271
|
+
font-weight: 600;
|
|
1272
|
+
line-height: 1.2;
|
|
1273
|
+
white-space: nowrap;
|
|
1274
|
+
text-decoration: none;
|
|
1275
|
+
color: var(--cs-text, #111827);
|
|
1276
|
+
|
|
1277
|
+
&:hover {
|
|
1278
|
+
text-decoration: none;
|
|
1279
|
+
}
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
@utility cs-navbar-nav {
|
|
1283
|
+
display: flex;
|
|
1284
|
+
align-items: center;
|
|
1285
|
+
gap: 0.5rem;
|
|
1286
|
+
margin: 0;
|
|
1287
|
+
padding: 0;
|
|
1288
|
+
list-style: none;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
@utility cs-navbar-link {
|
|
1292
|
+
display: inline-block;
|
|
1293
|
+
padding: 0.75rem 1rem;
|
|
1294
|
+
color: var(--cs-text-muted, #6b7280);
|
|
1295
|
+
text-decoration: none;
|
|
1296
|
+
font-weight: 500;
|
|
1297
|
+
border-radius: 0.375rem;
|
|
1298
|
+
transition: var(--cs-transition, 180ms ease);
|
|
1299
|
+
|
|
1300
|
+
&:hover {
|
|
1301
|
+
color: var(--cs-text);
|
|
1302
|
+
background-color: color-mix(in srgb, currentColor 8%, transparent);
|
|
1303
|
+
text-decoration: none;
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
&.active {
|
|
1307
|
+
color: var(--cs-brand);
|
|
1308
|
+
background-color: color-mix(in srgb, var(--cs-brand) 10%, transparent);
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
/* Gradient System - CASOON signature gradients */
|
|
1313
|
+
/* =========================================================
|
|
1314
|
+
COMPREHENSIVE GRADIENT SYSTEM - Complete Collection
|
|
1315
|
+
========================================================= */
|
|
1316
|
+
|
|
1317
|
+
/* =========================================================
|
|
1318
|
+
Core Gradient Background Utilities
|
|
1319
|
+
========================================================= */
|
|
1320
|
+
|
|
1321
|
+
@utility cs-gradient-sunset {
|
|
1322
|
+
background: linear-gradient(
|
|
1323
|
+
135deg,
|
|
1324
|
+
var(--cs-gradient-sunset-start),
|
|
1325
|
+
var(--cs-gradient-sunset-mid, var(--cs-gradient-sunset-end)),
|
|
1326
|
+
var(--cs-gradient-sunset-end)
|
|
1327
|
+
);
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
@utility cs-gradient-ocean {
|
|
1331
|
+
background: linear-gradient(
|
|
1332
|
+
135deg,
|
|
1333
|
+
var(--cs-gradient-ocean-start),
|
|
1334
|
+
var(--cs-gradient-ocean-end)
|
|
1335
|
+
);
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
@utility cs-gradient-fire {
|
|
1339
|
+
background: linear-gradient(
|
|
1340
|
+
135deg,
|
|
1341
|
+
var(--cs-gradient-fire-start),
|
|
1342
|
+
var(--cs-gradient-fire-end)
|
|
1343
|
+
);
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
@utility cs-gradient-mint {
|
|
1347
|
+
background: linear-gradient(
|
|
1348
|
+
135deg,
|
|
1349
|
+
var(--cs-gradient-mint-start),
|
|
1350
|
+
var(--cs-gradient-mint-end)
|
|
1351
|
+
);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
@utility cs-gradient-purple {
|
|
1355
|
+
background: linear-gradient(
|
|
1356
|
+
135deg,
|
|
1357
|
+
var(--cs-gradient-purple-start),
|
|
1358
|
+
var(--cs-gradient-purple-end)
|
|
1359
|
+
);
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
@utility cs-gradient-orange {
|
|
1363
|
+
background: linear-gradient(
|
|
1364
|
+
135deg,
|
|
1365
|
+
var(--cs-gradient-orange-start),
|
|
1366
|
+
var(--cs-gradient-orange-end)
|
|
1367
|
+
);
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
@utility cs-gradient-blue {
|
|
1371
|
+
background: linear-gradient(
|
|
1372
|
+
135deg,
|
|
1373
|
+
var(--cs-gradient-blue-start),
|
|
1374
|
+
var(--cs-gradient-blue-end)
|
|
1375
|
+
);
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
@utility cs-gradient-pink {
|
|
1379
|
+
background: linear-gradient(
|
|
1380
|
+
135deg,
|
|
1381
|
+
var(--cs-gradient-pink-start),
|
|
1382
|
+
var(--cs-gradient-pink-end)
|
|
1383
|
+
);
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
/* Custom gradient variants - 2-stop and 3-stop */
|
|
1387
|
+
@utility cs-gradient-custom-2 {
|
|
1388
|
+
background: linear-gradient(
|
|
1389
|
+
135deg,
|
|
1390
|
+
var(--cs-gradient-custom-start),
|
|
1391
|
+
var(--cs-gradient-custom-end)
|
|
1392
|
+
);
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
@utility cs-gradient-custom {
|
|
1396
|
+
background: linear-gradient(
|
|
1397
|
+
135deg,
|
|
1398
|
+
var(--cs-gradient-custom-start),
|
|
1399
|
+
var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
|
|
1400
|
+
var(--cs-gradient-custom-end)
|
|
1401
|
+
);
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
@utility cs-gradient-custom-3 {
|
|
1405
|
+
background: linear-gradient(
|
|
1406
|
+
135deg,
|
|
1407
|
+
var(--cs-gradient-custom-start),
|
|
1408
|
+
var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
|
|
1409
|
+
var(--cs-gradient-custom-end)
|
|
1410
|
+
);
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
/* =========================================================
|
|
1414
|
+
Directional Fade Gradients
|
|
1415
|
+
========================================================= */
|
|
1416
|
+
|
|
1417
|
+
/* Basic directional fades */
|
|
1418
|
+
@utility cs-gradient-fade-r {
|
|
1419
|
+
background: linear-gradient(
|
|
1420
|
+
to right,
|
|
1421
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1422
|
+
var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
|
|
1423
|
+
transparent 100%
|
|
1424
|
+
);
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
@utility cs-gradient-fade-l {
|
|
1428
|
+
background: linear-gradient(
|
|
1429
|
+
to left,
|
|
1430
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1431
|
+
var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
|
|
1432
|
+
transparent 100%
|
|
1433
|
+
);
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
@utility cs-gradient-fade-b {
|
|
1437
|
+
background: linear-gradient(
|
|
1438
|
+
to bottom,
|
|
1439
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1440
|
+
var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
|
|
1441
|
+
transparent 100%
|
|
1442
|
+
);
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
@utility cs-gradient-fade-t {
|
|
1446
|
+
background: linear-gradient(
|
|
1447
|
+
to top,
|
|
1448
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1449
|
+
var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.3)) 50%,
|
|
1450
|
+
transparent 100%
|
|
1451
|
+
);
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
/* Diagonal fade variants */
|
|
1455
|
+
@utility cs-gradient-fade-br {
|
|
1456
|
+
background: linear-gradient(
|
|
1457
|
+
to bottom right,
|
|
1458
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1459
|
+
transparent 100%
|
|
1460
|
+
);
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
@utility cs-gradient-fade-bl {
|
|
1464
|
+
background: linear-gradient(
|
|
1465
|
+
to bottom left,
|
|
1466
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1467
|
+
transparent 100%
|
|
1468
|
+
);
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
@utility cs-gradient-fade-tr {
|
|
1472
|
+
background: linear-gradient(
|
|
1473
|
+
to top right,
|
|
1474
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1475
|
+
transparent 100%
|
|
1476
|
+
);
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
@utility cs-gradient-fade-tl {
|
|
1480
|
+
background: linear-gradient(
|
|
1481
|
+
to top left,
|
|
1482
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1483
|
+
transparent 100%
|
|
1484
|
+
);
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
/* Intensity variants for fade gradients */
|
|
1488
|
+
@utility cs-gradient-fade-subtle {
|
|
1489
|
+
--cs-gradient-fade-color: rgba(79, 124, 255, 0.3);
|
|
1490
|
+
--cs-gradient-fade-mid: rgba(79, 124, 255, 0.1);
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
@utility cs-gradient-fade-medium {
|
|
1494
|
+
--cs-gradient-fade-color: rgba(79, 124, 255, 0.6);
|
|
1495
|
+
--cs-gradient-fade-mid: rgba(79, 124, 255, 0.3);
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
@utility cs-gradient-fade-strong {
|
|
1499
|
+
--cs-gradient-fade-color: rgba(79, 124, 255, 0.8);
|
|
1500
|
+
--cs-gradient-fade-mid: rgba(79, 124, 255, 0.5);
|
|
1501
|
+
}
|
|
1502
|
+
|
|
1503
|
+
/* Smooth fade with color-mix support */
|
|
1504
|
+
@utility cs-gradient-fade-smooth {
|
|
1505
|
+
background: linear-gradient(
|
|
1506
|
+
135deg,
|
|
1507
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1508
|
+
transparent 100%
|
|
1509
|
+
);
|
|
1510
|
+
|
|
1511
|
+
@supports (background: color-mix(in srgb, red 50%, transparent)) {
|
|
1512
|
+
background: linear-gradient(
|
|
1513
|
+
135deg,
|
|
1514
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1515
|
+
color-mix(
|
|
1516
|
+
in srgb,
|
|
1517
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 30%,
|
|
1518
|
+
transparent
|
|
1519
|
+
)
|
|
1520
|
+
60%,
|
|
1521
|
+
transparent 100%
|
|
1522
|
+
);
|
|
1523
|
+
}
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
/* =========================================================
|
|
1527
|
+
Radial Gradient Utilities
|
|
1528
|
+
========================================================= */
|
|
1529
|
+
|
|
1530
|
+
@utility cs-gradient-radial-fade {
|
|
1531
|
+
background: radial-gradient(
|
|
1532
|
+
circle at center,
|
|
1533
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1534
|
+
var(--cs-gradient-fade-mid, rgba(79, 124, 255, 0.2)) 40%,
|
|
1535
|
+
transparent 70%
|
|
1536
|
+
);
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1539
|
+
@utility cs-gradient-radial-fade-tl {
|
|
1540
|
+
background: radial-gradient(
|
|
1541
|
+
circle at top left,
|
|
1542
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1543
|
+
transparent 60%
|
|
1544
|
+
);
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
@utility cs-gradient-radial-fade-tr {
|
|
1548
|
+
background: radial-gradient(
|
|
1549
|
+
circle at top right,
|
|
1550
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1551
|
+
transparent 60%
|
|
1552
|
+
);
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
@utility cs-gradient-radial-fade-bl {
|
|
1556
|
+
background: radial-gradient(
|
|
1557
|
+
circle at bottom left,
|
|
1558
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1559
|
+
transparent 60%
|
|
1560
|
+
);
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
@utility cs-gradient-radial-fade-br {
|
|
1564
|
+
background: radial-gradient(
|
|
1565
|
+
circle at bottom right,
|
|
1566
|
+
var(--cs-gradient-fade-color, rgba(79, 124, 255, 0.6)) 0%,
|
|
1567
|
+
transparent 60%
|
|
1568
|
+
);
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
@utility cs-gradient-radial-center {
|
|
1572
|
+
background: radial-gradient(circle at center, var(--cs-gradient-stops));
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
@utility cs-gradient-radial-top {
|
|
1576
|
+
background: radial-gradient(circle at top, var(--cs-gradient-stops));
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
@utility cs-gradient-radial-bottom {
|
|
1580
|
+
background: radial-gradient(circle at bottom, var(--cs-gradient-stops));
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
/* =========================================================
|
|
1584
|
+
Conic Gradient Utilities
|
|
1585
|
+
========================================================= */
|
|
1586
|
+
|
|
1587
|
+
@utility cs-gradient-conic {
|
|
1588
|
+
background: conic-gradient(var(--cs-gradient-stops));
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
@utility cs-gradient-conic-center {
|
|
1592
|
+
background: conic-gradient(from 0deg at 50% 50%, var(--cs-gradient-stops));
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
/* =========================================================
|
|
1596
|
+
Mesh Gradient (Multi-layer System)
|
|
1597
|
+
========================================================= */
|
|
1598
|
+
|
|
1599
|
+
@utility cs-gradient-mesh {
|
|
1600
|
+
background:
|
|
1601
|
+
radial-gradient(
|
|
1602
|
+
at 27% 37%,
|
|
1603
|
+
color-mix(in srgb, var(--cs-brand) 50%, transparent) 0px,
|
|
1604
|
+
transparent 50%
|
|
1605
|
+
),
|
|
1606
|
+
radial-gradient(
|
|
1607
|
+
at 97% 21%,
|
|
1608
|
+
color-mix(in srgb, var(--cs-info) 50%, transparent) 0px,
|
|
1609
|
+
transparent 50%
|
|
1610
|
+
),
|
|
1611
|
+
radial-gradient(
|
|
1612
|
+
at 52% 99%,
|
|
1613
|
+
color-mix(in srgb, var(--cs-success) 50%, transparent) 0px,
|
|
1614
|
+
transparent 50%
|
|
1615
|
+
),
|
|
1616
|
+
radial-gradient(
|
|
1617
|
+
at 10% 29%,
|
|
1618
|
+
color-mix(in srgb, var(--cs-warning) 50%, transparent) 0px,
|
|
1619
|
+
transparent 50%
|
|
1620
|
+
),
|
|
1621
|
+
radial-gradient(
|
|
1622
|
+
at 97% 96%,
|
|
1623
|
+
color-mix(in srgb, var(--cs-danger) 50%, transparent) 0px,
|
|
1624
|
+
transparent 50%
|
|
1625
|
+
),
|
|
1626
|
+
radial-gradient(
|
|
1627
|
+
at 33% 50%,
|
|
1628
|
+
color-mix(in srgb, var(--cs-brand) 50%, transparent) 0px,
|
|
1629
|
+
transparent 50%
|
|
1630
|
+
),
|
|
1631
|
+
radial-gradient(
|
|
1632
|
+
at 79% 53%,
|
|
1633
|
+
color-mix(in srgb, var(--cs-info) 50%, transparent) 0px,
|
|
1634
|
+
transparent 50%
|
|
1635
|
+
);
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
/* =========================================================
|
|
1639
|
+
CASOON SIGNATURE GRADIENT PRESETS
|
|
1640
|
+
========================================================= */
|
|
1641
|
+
|
|
1642
|
+
/* CASOON Original - Your signature gradient */
|
|
1643
|
+
@utility cs-bg-casoon-original {
|
|
1644
|
+
background:
|
|
1645
|
+
radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%),
|
|
1646
|
+
radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%),
|
|
1647
|
+
radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%),
|
|
1648
|
+
linear-gradient(135deg, #0f172a, #1e293b);
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
/* CASOON Theme Variations */
|
|
1652
|
+
@utility cs-bg-casoon-warm {
|
|
1653
|
+
background:
|
|
1654
|
+
radial-gradient(circle at 25% 75%, #dc2626 0%, transparent 55%),
|
|
1655
|
+
radial-gradient(circle at 75% 25%, #f59e0b 0%, transparent 45%),
|
|
1656
|
+
radial-gradient(circle at 50% 50%, #ea580c 0%, transparent 60%),
|
|
1657
|
+
linear-gradient(135deg, #1f2937, #374151);
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
@utility cs-bg-casoon-cool {
|
|
1661
|
+
background:
|
|
1662
|
+
radial-gradient(circle at 30% 70%, #3b82f6 0%, transparent 50%),
|
|
1663
|
+
radial-gradient(circle at 70% 30%, #06b6d4 0%, transparent 55%),
|
|
1664
|
+
radial-gradient(circle at 45% 45%, #8b5cf6 0%, transparent 45%),
|
|
1665
|
+
linear-gradient(135deg, #111827, #1f2937);
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
@utility cs-bg-casoon-forest {
|
|
1669
|
+
background:
|
|
1670
|
+
radial-gradient(circle at 15% 85%, #059669 0%, transparent 50%),
|
|
1671
|
+
radial-gradient(circle at 85% 15%, #10b981 0%, transparent 60%),
|
|
1672
|
+
radial-gradient(circle at 55% 35%, #065f46 0%, transparent 40%),
|
|
1673
|
+
linear-gradient(135deg, #064e3b, #134e4a);
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
/* CASOON Utility Variants */
|
|
1677
|
+
@utility cs-bg-casoon-animated {
|
|
1678
|
+
background:
|
|
1679
|
+
radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%),
|
|
1680
|
+
radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%),
|
|
1681
|
+
radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%),
|
|
1682
|
+
linear-gradient(135deg, #0f172a, #1e293b);
|
|
1683
|
+
background-size: 400% 400%;
|
|
1684
|
+
animation: cs-gradient-shift 8s ease-in-out infinite;
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
@utility cs-bg-casoon-subtle {
|
|
1688
|
+
background:
|
|
1689
|
+
radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%),
|
|
1690
|
+
radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%),
|
|
1691
|
+
radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%),
|
|
1692
|
+
linear-gradient(135deg, #0f172a, #1e293b);
|
|
1693
|
+
filter: brightness(0.8) saturate(0.7) opacity(0.9);
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
@utility cs-bg-casoon-intense {
|
|
1697
|
+
background:
|
|
1698
|
+
radial-gradient(circle at 20% 80%, #1e40af 0%, transparent 50%),
|
|
1699
|
+
radial-gradient(circle at 80% 20%, #0891b2 0%, transparent 50%),
|
|
1700
|
+
radial-gradient(circle at 40% 40%, #f97316 0%, transparent 50%),
|
|
1701
|
+
linear-gradient(135deg, #0f172a, #1e293b);
|
|
1702
|
+
filter: brightness(1.2) saturate(1.3) contrast(1.1);
|
|
1703
|
+
}
|
|
1704
|
+
|
|
1705
|
+
/* =========================================================
|
|
1706
|
+
ADDITIONAL SIGNATURE PRESETS
|
|
1707
|
+
========================================================= */
|
|
1708
|
+
|
|
1709
|
+
@utility cs-bg-nebula-purple {
|
|
1710
|
+
background:
|
|
1711
|
+
radial-gradient(circle at 20% 20%, #8b5cf6 0%, transparent 70%),
|
|
1712
|
+
radial-gradient(circle at 80% 80%, #ec4899 0%, transparent 60%),
|
|
1713
|
+
radial-gradient(circle at 40% 60%, #3b82f6 0%, transparent 80%),
|
|
1714
|
+
linear-gradient(135deg, #0c0a1d, #1e1b3b);
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
@utility cs-bg-deep-ocean {
|
|
1718
|
+
background:
|
|
1719
|
+
radial-gradient(circle at 25% 25%, #1e40af 0%, transparent 65%),
|
|
1720
|
+
radial-gradient(circle at 75% 75%, #0891b2 0%, transparent 55%),
|
|
1721
|
+
radial-gradient(circle at 50% 80%, #0e7490 0%, transparent 70%),
|
|
1722
|
+
linear-gradient(135deg, #0c1e3d, #164e63);
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
@utility cs-bg-corporate-blue {
|
|
1726
|
+
background:
|
|
1727
|
+
radial-gradient(circle at 30% 30%, #1e40af 0%, transparent 70%),
|
|
1728
|
+
radial-gradient(circle at 70% 70%, #3b82f6 0%, transparent 60%),
|
|
1729
|
+
radial-gradient(circle at 50% 50%, #1d4ed8 0%, transparent 80%),
|
|
1730
|
+
linear-gradient(135deg, #1e3a8a, #1e40af);
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
/* =========================================================
|
|
1734
|
+
GRADIENT TEXT UTILITIES
|
|
1735
|
+
========================================================= */
|
|
1736
|
+
|
|
1737
|
+
@utility cs-gradient-text {
|
|
1738
|
+
-webkit-background-clip: text;
|
|
1739
|
+
background-clip: text;
|
|
1740
|
+
color: transparent;
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
@utility cs-gradient-text-sunset {
|
|
1744
|
+
background: linear-gradient(
|
|
1745
|
+
135deg,
|
|
1746
|
+
var(--cs-gradient-sunset-start),
|
|
1747
|
+
var(--cs-gradient-sunset-mid, var(--cs-gradient-sunset-end)),
|
|
1748
|
+
var(--cs-gradient-sunset-end)
|
|
1749
|
+
);
|
|
1750
|
+
-webkit-background-clip: text;
|
|
1751
|
+
background-clip: text;
|
|
1752
|
+
color: transparent;
|
|
1753
|
+
}
|
|
1754
|
+
|
|
1755
|
+
@utility cs-gradient-text-ocean {
|
|
1756
|
+
background: linear-gradient(
|
|
1757
|
+
135deg,
|
|
1758
|
+
var(--cs-gradient-ocean-start),
|
|
1759
|
+
var(--cs-gradient-ocean-end)
|
|
1760
|
+
);
|
|
1761
|
+
-webkit-background-clip: text;
|
|
1762
|
+
background-clip: text;
|
|
1763
|
+
color: transparent;
|
|
1764
|
+
}
|
|
1765
|
+
|
|
1766
|
+
@utility cs-gradient-text-fire {
|
|
1767
|
+
background: linear-gradient(
|
|
1768
|
+
135deg,
|
|
1769
|
+
var(--cs-gradient-fire-start),
|
|
1770
|
+
var(--cs-gradient-fire-end)
|
|
1771
|
+
);
|
|
1772
|
+
-webkit-background-clip: text;
|
|
1773
|
+
background-clip: text;
|
|
1774
|
+
color: transparent;
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
@utility cs-gradient-text-custom-2 {
|
|
1778
|
+
background: linear-gradient(
|
|
1779
|
+
135deg,
|
|
1780
|
+
var(--cs-gradient-custom-start),
|
|
1781
|
+
var(--cs-gradient-custom-end)
|
|
1782
|
+
);
|
|
1783
|
+
-webkit-background-clip: text;
|
|
1784
|
+
background-clip: text;
|
|
1785
|
+
color: transparent;
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
@utility cs-gradient-text-custom {
|
|
1789
|
+
background: linear-gradient(
|
|
1790
|
+
135deg,
|
|
1791
|
+
var(--cs-gradient-custom-start),
|
|
1792
|
+
var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
|
|
1793
|
+
var(--cs-gradient-custom-end)
|
|
1794
|
+
);
|
|
1795
|
+
-webkit-background-clip: text;
|
|
1796
|
+
background-clip: text;
|
|
1797
|
+
color: transparent;
|
|
1798
|
+
}
|
|
1799
|
+
|
|
1800
|
+
@utility cs-gradient-text-custom-3 {
|
|
1801
|
+
background: linear-gradient(
|
|
1802
|
+
135deg,
|
|
1803
|
+
var(--cs-gradient-custom-start),
|
|
1804
|
+
var(--cs-gradient-custom-mid, var(--cs-gradient-custom-end)),
|
|
1805
|
+
var(--cs-gradient-custom-end)
|
|
1806
|
+
);
|
|
1807
|
+
-webkit-background-clip: text;
|
|
1808
|
+
background-clip: text;
|
|
1809
|
+
color: transparent;
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
/* =========================================================
|
|
1813
|
+
GRADIENT ANIMATION UTILITIES
|
|
1814
|
+
========================================================= */
|
|
1815
|
+
|
|
1816
|
+
@utility cs-gradient-animate {
|
|
1817
|
+
background-size: 400% 400%;
|
|
1818
|
+
animation: cs-gradient-shift var(--cs-anim-gradient-duration)
|
|
1819
|
+
var(--cs-anim-gradient-ease) var(--cs-anim-gradient-iteration);
|
|
1820
|
+
}
|
|
1821
|
+
|
|
1822
|
+
@utility cs-gradient-shift-x {
|
|
1823
|
+
background-size: 200% 100%;
|
|
1824
|
+
animation: cs-gradient-shift-x 3s linear infinite;
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1827
|
+
@utility cs-gradient-shift-y {
|
|
1828
|
+
background-size: 100% 200%;
|
|
1829
|
+
animation: cs-gradient-shift-y 3s linear infinite;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
@utility cs-gradient-rotate {
|
|
1833
|
+
background-size: 200% 200%;
|
|
1834
|
+
animation: cs-gradient-rotate 8s linear infinite;
|
|
1835
|
+
}
|
|
1836
|
+
|
|
1837
|
+
@utility cs-gradient-pulse {
|
|
1838
|
+
animation: cs-gradient-pulse 2s ease-in-out infinite;
|
|
1839
|
+
transform-origin: center;
|
|
1840
|
+
}
|
|
1841
|
+
|
|
1842
|
+
@utility cs-gradient-pulse-slow {
|
|
1843
|
+
animation: cs-gradient-pulse-slow 4s ease-in-out infinite;
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1846
|
+
@utility cs-gradient-breathe {
|
|
1847
|
+
animation: cs-gradient-breathe 3s ease-in-out infinite;
|
|
1848
|
+
transform-origin: center;
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
@utility cs-gradient-wave {
|
|
1852
|
+
background-size:
|
|
1853
|
+
300% 300%,
|
|
1854
|
+
300% 300%;
|
|
1855
|
+
animation: cs-gradient-wave 6s ease-in-out infinite;
|
|
1856
|
+
}
|
|
1857
|
+
|
|
1858
|
+
@utility cs-gradient-shimmer {
|
|
1859
|
+
background-size: 200% 100%;
|
|
1860
|
+
animation: cs-gradient-shimmer 2s linear infinite;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
/* Speed and direction variants */
|
|
1864
|
+
@utility cs-gradient-animate-slow {
|
|
1865
|
+
animation-duration: 8s;
|
|
1866
|
+
}
|
|
1867
|
+
|
|
1868
|
+
@utility cs-gradient-animate-fast {
|
|
1869
|
+
animation-duration: 1.5s;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
@utility cs-gradient-animate-reverse {
|
|
1873
|
+
animation-direction: reverse;
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
@utility cs-gradient-animate-alternate {
|
|
1877
|
+
animation-direction: alternate;
|
|
1878
|
+
}
|
|
1879
|
+
|
|
1880
|
+
@utility cs-gradient-animate-hover-pause {
|
|
1881
|
+
&:hover {
|
|
1882
|
+
animation-play-state: paused;
|
|
1883
|
+
}
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1886
|
+
/* =========================================================
|
|
1887
|
+
ADVANCED GRADIENT EFFECTS
|
|
1888
|
+
========================================================= */
|
|
1889
|
+
|
|
1890
|
+
@utility cs-gradient-shine {
|
|
1891
|
+
background: linear-gradient(
|
|
1892
|
+
90deg,
|
|
1893
|
+
rgba(255, 255, 255, 0.05) 0%,
|
|
1894
|
+
rgba(255, 255, 255, 0.15) 50%,
|
|
1895
|
+
rgba(255, 255, 255, 0.05) 100%
|
|
1896
|
+
);
|
|
1897
|
+
background-size: 200% 100%;
|
|
1898
|
+
animation: cs-gradient-shine 3s linear infinite;
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
@utility cs-hover-ripple {
|
|
1902
|
+
position: relative;
|
|
1903
|
+
overflow: hidden;
|
|
1904
|
+
isolation: isolate;
|
|
1905
|
+
|
|
1906
|
+
&::after {
|
|
1907
|
+
content: '';
|
|
1908
|
+
position: absolute;
|
|
1909
|
+
top: 50%;
|
|
1910
|
+
left: 50%;
|
|
1911
|
+
width: 200px;
|
|
1912
|
+
height: 200px;
|
|
1913
|
+
background: radial-gradient(
|
|
1914
|
+
circle,
|
|
1915
|
+
rgba(255, 255, 255, 0.4) 10%,
|
|
1916
|
+
transparent 80%
|
|
1917
|
+
);
|
|
1918
|
+
transform: translate(-50%, -50%) scale(0);
|
|
1919
|
+
opacity: 0;
|
|
1920
|
+
pointer-events: none;
|
|
1921
|
+
border-radius: 9999px;
|
|
1922
|
+
animation: none;
|
|
1923
|
+
z-index: 1;
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
&:active::after {
|
|
1927
|
+
animation: cs-hover-ripple 0.6s ease-out;
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
@utility cs-gradient-ambient-rotate {
|
|
1932
|
+
background: conic-gradient(from 0deg, var(--cs-gradient-stops));
|
|
1933
|
+
animation: cs-ambient-rotate 20s linear infinite;
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
@utility cs-gradient-zoom-fade {
|
|
1937
|
+
animation: cs-gradient-zoom-fade 800ms var(--cs-anim-ease-in-out) both;
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1940
|
+
/* =========================================================
|
|
1941
|
+
GRADIENT BORDER COMPONENT
|
|
1942
|
+
========================================================= */
|
|
1943
|
+
|
|
1944
|
+
@utility cs-gradient-border {
|
|
1945
|
+
position: relative;
|
|
1946
|
+
border-radius: 0.5rem;
|
|
1947
|
+
background: linear-gradient(
|
|
1948
|
+
135deg,
|
|
1949
|
+
var(--cs-gradient-ocean-start),
|
|
1950
|
+
var(--cs-gradient-ocean-end)
|
|
1951
|
+
);
|
|
1952
|
+
|
|
1953
|
+
&::before {
|
|
1954
|
+
content: '';
|
|
1955
|
+
position: absolute;
|
|
1956
|
+
inset: 1px;
|
|
1957
|
+
background: var(--cs-gradient-white);
|
|
1958
|
+
border-radius: calc(0.5rem - 1px);
|
|
1959
|
+
z-index: 0;
|
|
1960
|
+
}
|
|
1961
|
+
|
|
1962
|
+
& > * {
|
|
1963
|
+
position: relative;
|
|
1964
|
+
z-index: 1;
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
/* =========================================================
|
|
1969
|
+
ANIMATION KEYFRAMES
|
|
1970
|
+
========================================================= */
|
|
1971
|
+
|
|
1972
|
+
@keyframes cs-gradient-shift {
|
|
1973
|
+
0%,
|
|
1974
|
+
100% {
|
|
1975
|
+
background-position: 0% 50%;
|
|
1976
|
+
}
|
|
1977
|
+
50% {
|
|
1978
|
+
background-position: 100% 50%;
|
|
1979
|
+
}
|
|
1980
|
+
}
|
|
1981
|
+
|
|
1982
|
+
@keyframes cs-gradient-shift-x {
|
|
1983
|
+
0% {
|
|
1984
|
+
background-position: 0% 50%;
|
|
1985
|
+
}
|
|
1986
|
+
100% {
|
|
1987
|
+
background-position: 100% 50%;
|
|
1988
|
+
}
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
@keyframes cs-gradient-shift-y {
|
|
1992
|
+
0% {
|
|
1993
|
+
background-position: 50% 0%;
|
|
1994
|
+
}
|
|
1995
|
+
100% {
|
|
1996
|
+
background-position: 50% 100%;
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
|
|
2000
|
+
@keyframes cs-gradient-rotate {
|
|
2001
|
+
0% {
|
|
2002
|
+
background-position: 0% 0%;
|
|
2003
|
+
}
|
|
2004
|
+
25% {
|
|
2005
|
+
background-position: 100% 0%;
|
|
2006
|
+
}
|
|
2007
|
+
50% {
|
|
2008
|
+
background-position: 100% 100%;
|
|
2009
|
+
}
|
|
2010
|
+
75% {
|
|
2011
|
+
background-position: 0% 100%;
|
|
2012
|
+
}
|
|
2013
|
+
100% {
|
|
2014
|
+
background-position: 0% 0%;
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
|
|
2018
|
+
@keyframes cs-gradient-pulse {
|
|
2019
|
+
0%,
|
|
2020
|
+
100% {
|
|
2021
|
+
opacity: 0.6;
|
|
2022
|
+
transform: scale(1);
|
|
2023
|
+
}
|
|
2024
|
+
50% {
|
|
2025
|
+
opacity: 1;
|
|
2026
|
+
transform: scale(1.05);
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
@keyframes cs-gradient-pulse-slow {
|
|
2031
|
+
0%,
|
|
2032
|
+
100% {
|
|
2033
|
+
opacity: 0.4;
|
|
2034
|
+
}
|
|
2035
|
+
50% {
|
|
2036
|
+
opacity: 0.9;
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
@keyframes cs-gradient-breathe {
|
|
2041
|
+
0%,
|
|
2042
|
+
100% {
|
|
2043
|
+
filter: brightness(0.8) saturate(1.2);
|
|
2044
|
+
transform: scale(1);
|
|
2045
|
+
}
|
|
2046
|
+
50% {
|
|
2047
|
+
filter: brightness(1.2) saturate(1.8);
|
|
2048
|
+
transform: scale(1.02);
|
|
2049
|
+
}
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
@keyframes cs-gradient-wave {
|
|
2053
|
+
0% {
|
|
2054
|
+
background-position:
|
|
2055
|
+
0% 50%,
|
|
2056
|
+
100% 50%;
|
|
2057
|
+
}
|
|
2058
|
+
25% {
|
|
2059
|
+
background-position:
|
|
2060
|
+
50% 0%,
|
|
2061
|
+
50% 100%;
|
|
2062
|
+
}
|
|
2063
|
+
50% {
|
|
2064
|
+
background-position:
|
|
2065
|
+
100% 50%,
|
|
2066
|
+
0% 50%;
|
|
2067
|
+
}
|
|
2068
|
+
75% {
|
|
2069
|
+
background-position:
|
|
2070
|
+
50% 100%,
|
|
2071
|
+
50% 0%;
|
|
2072
|
+
}
|
|
2073
|
+
100% {
|
|
2074
|
+
background-position:
|
|
2075
|
+
0% 50%,
|
|
2076
|
+
100% 50%;
|
|
2077
|
+
}
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
@keyframes cs-gradient-shimmer {
|
|
2081
|
+
0% {
|
|
2082
|
+
background-position: -200% 0;
|
|
2083
|
+
}
|
|
2084
|
+
100% {
|
|
2085
|
+
background-position: 200% 0;
|
|
2086
|
+
}
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
@keyframes cs-gradient-shine {
|
|
2090
|
+
0% {
|
|
2091
|
+
background-position: -200% 0;
|
|
2092
|
+
}
|
|
2093
|
+
100% {
|
|
2094
|
+
background-position: 200% 0;
|
|
2095
|
+
}
|
|
2096
|
+
}
|
|
2097
|
+
|
|
2098
|
+
@keyframes cs-hover-ripple {
|
|
2099
|
+
0% {
|
|
2100
|
+
transform: translate(-50%, -50%) scale(0);
|
|
2101
|
+
opacity: 0.8;
|
|
2102
|
+
}
|
|
2103
|
+
100% {
|
|
2104
|
+
transform: translate(-50%, -50%) scale(2);
|
|
2105
|
+
opacity: 0;
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2109
|
+
@keyframes cs-ambient-rotate {
|
|
2110
|
+
0% {
|
|
2111
|
+
transform: rotate(0deg);
|
|
2112
|
+
}
|
|
2113
|
+
100% {
|
|
2114
|
+
transform: rotate(360deg);
|
|
2115
|
+
}
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
@keyframes cs-gradient-zoom-fade {
|
|
2119
|
+
0% {
|
|
2120
|
+
opacity: 0;
|
|
2121
|
+
transform: scale(1.05);
|
|
2122
|
+
}
|
|
2123
|
+
100% {
|
|
2124
|
+
opacity: 1;
|
|
2125
|
+
transform: scale(1);
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
|
|
2129
|
+
/* =========================================================
|
|
2130
|
+
ACCESSIBILITY & PERFORMANCE
|
|
2131
|
+
========================================================= */
|
|
2132
|
+
|
|
2133
|
+
/* Reduced motion support */
|
|
2134
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2135
|
+
.cs-bg-casoon-animated,
|
|
2136
|
+
.cs-gradient-animate,
|
|
2137
|
+
.cs-gradient-shift-x,
|
|
2138
|
+
.cs-gradient-shift-y,
|
|
2139
|
+
.cs-gradient-rotate,
|
|
2140
|
+
.cs-gradient-pulse,
|
|
2141
|
+
.cs-gradient-pulse-slow,
|
|
2142
|
+
.cs-gradient-breathe,
|
|
2143
|
+
.cs-gradient-wave,
|
|
2144
|
+
.cs-gradient-shimmer,
|
|
2145
|
+
.cs-gradient-shine,
|
|
2146
|
+
.cs-gradient-ambient-rotate,
|
|
2147
|
+
.cs-gradient-zoom-fade {
|
|
2148
|
+
animation: none !important;
|
|
2149
|
+
background-size: 100% 100% !important;
|
|
2150
|
+
}
|
|
2151
|
+
|
|
2152
|
+
.cs-hover-ripple::after {
|
|
2153
|
+
animation: none !important;
|
|
2154
|
+
}
|
|
2155
|
+
}
|
|
2156
|
+
|
|
2157
|
+
/* High contrast mode support */
|
|
2158
|
+
@media (prefers-contrast: high) {
|
|
2159
|
+
.cs-bg-casoon-original,
|
|
2160
|
+
.cs-bg-casoon-warm,
|
|
2161
|
+
.cs-bg-casoon-cool,
|
|
2162
|
+
.cs-bg-casoon-forest,
|
|
2163
|
+
.cs-bg-casoon-animated,
|
|
2164
|
+
.cs-bg-casoon-subtle,
|
|
2165
|
+
.cs-bg-casoon-intense {
|
|
2166
|
+
filter: contrast(1.5) brightness(1.2) !important;
|
|
2167
|
+
}
|
|
2168
|
+
}
|
|
2169
|
+
|
|
2170
|
+
/* High-contrast/forced colors mode for gradient border */
|
|
2171
|
+
@media (prefers-contrast: more) {
|
|
2172
|
+
.cs-gradient-border::before {
|
|
2173
|
+
outline: 1px solid currentColor;
|
|
2174
|
+
outline-offset: -1px;
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
|
|
2178
|
+
@media (forced-colors: active) {
|
|
2179
|
+
.cs-gradient-border {
|
|
2180
|
+
forced-color-adjust: none;
|
|
2181
|
+
background: CanvasText;
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2184
|
+
.cs-gradient-border::before {
|
|
2185
|
+
background: Canvas;
|
|
2186
|
+
border: 1px solid CanvasText;
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
/* Performance optimizations for mobile */
|
|
2191
|
+
@media (max-width: 480px) {
|
|
2192
|
+
.cs-gradient-animate {
|
|
2193
|
+
animation-duration: calc(var(--cs-anim-gradient-duration) * 1.25);
|
|
2194
|
+
}
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
/* TEMPORARY: Remaining systems inline until extracted */
|
|
2198
|
+
|
|
2199
|
+
/* SCROLL SYSTEM */
|
|
2200
|
+
@utility cs-scrollbar-thin {
|
|
2201
|
+
scrollbar-width: thin;
|
|
2202
|
+
scrollbar-color: color-mix(in srgb, currentColor 20%, transparent) transparent;
|
|
2203
|
+
|
|
2204
|
+
&::-webkit-scrollbar {
|
|
2205
|
+
width: 8px;
|
|
2206
|
+
height: 8px;
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
&::-webkit-scrollbar-track {
|
|
2210
|
+
background: transparent;
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
&::-webkit-scrollbar-thumb {
|
|
2214
|
+
background: color-mix(in srgb, currentColor 20%, transparent);
|
|
2215
|
+
border-radius: 4px;
|
|
2216
|
+
|
|
2217
|
+
&:hover {
|
|
2218
|
+
background: color-mix(in srgb, currentColor 35%, transparent);
|
|
2219
|
+
}
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
&::-webkit-scrollbar-corner {
|
|
2223
|
+
background: transparent;
|
|
2224
|
+
}
|
|
2225
|
+
}
|
|
2226
|
+
|
|
2227
|
+
@utility cs-scrollbar-custom {
|
|
2228
|
+
scrollbar-width: auto;
|
|
2229
|
+
scrollbar-color: var(--cs-brand)
|
|
2230
|
+
color-mix(in srgb, var(--cs-brand) 10%, transparent);
|
|
2231
|
+
|
|
2232
|
+
&::-webkit-scrollbar {
|
|
2233
|
+
width: 12px;
|
|
2234
|
+
height: 12px;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
&::-webkit-scrollbar-track {
|
|
2238
|
+
background: color-mix(in srgb, var(--cs-brand) 5%, transparent);
|
|
2239
|
+
border-radius: 6px;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
&::-webkit-scrollbar-thumb {
|
|
2243
|
+
background: var(--cs-brand);
|
|
2244
|
+
border-radius: 6px;
|
|
2245
|
+
border: 2px solid color-mix(in srgb, var(--cs-brand) 5%, transparent);
|
|
2246
|
+
|
|
2247
|
+
&:hover {
|
|
2248
|
+
background: color-mix(in srgb, var(--cs-brand) 85%, #000);
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
|
|
2253
|
+
@utility cs-scroll-snap-x {
|
|
2254
|
+
scroll-snap-type: x mandatory;
|
|
2255
|
+
overflow-x: auto;
|
|
2256
|
+
overscroll-behavior-x: contain;
|
|
2257
|
+
}
|
|
2258
|
+
|
|
2259
|
+
@utility cs-scroll-snap-y {
|
|
2260
|
+
scroll-snap-type: y mandatory;
|
|
2261
|
+
overflow-y: auto;
|
|
2262
|
+
overscroll-behavior-y: contain;
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2265
|
+
@utility cs-snap-start {
|
|
2266
|
+
scroll-snap-align: start;
|
|
2267
|
+
}
|
|
2268
|
+
@utility cs-snap-center {
|
|
2269
|
+
scroll-snap-align: center;
|
|
2270
|
+
}
|
|
2271
|
+
@utility cs-snap-end {
|
|
2272
|
+
scroll-snap-align: end;
|
|
2273
|
+
}
|
|
2274
|
+
@utility cs-scroll-smooth {
|
|
2275
|
+
scroll-behavior: smooth;
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
/* LOADING SYSTEM */
|
|
2279
|
+
@utility cs-spinner {
|
|
2280
|
+
width: 1.5rem;
|
|
2281
|
+
height: 1.5rem;
|
|
2282
|
+
border: 2px solid color-mix(in srgb, currentColor 20%, transparent);
|
|
2283
|
+
border-radius: 50%;
|
|
2284
|
+
border-top-color: currentColor;
|
|
2285
|
+
animation: cs-spin 0.8s linear infinite;
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
@utility cs-spinner-lg {
|
|
2289
|
+
width: 2rem;
|
|
2290
|
+
height: 2rem;
|
|
2291
|
+
border-width: 3px;
|
|
2292
|
+
}
|
|
2293
|
+
|
|
2294
|
+
@utility cs-spinner-sm {
|
|
2295
|
+
width: 1rem;
|
|
2296
|
+
height: 1rem;
|
|
2297
|
+
border-width: 2px;
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2300
|
+
@keyframes cs-spin {
|
|
2301
|
+
to {
|
|
2302
|
+
transform: rotate(360deg);
|
|
2303
|
+
}
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
@utility cs-pulse {
|
|
2307
|
+
animation: cs-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
2308
|
+
}
|
|
2309
|
+
|
|
2310
|
+
@keyframes cs-pulse {
|
|
2311
|
+
0%,
|
|
2312
|
+
100% {
|
|
2313
|
+
opacity: 1;
|
|
2314
|
+
}
|
|
2315
|
+
50% {
|
|
2316
|
+
opacity: 0.5;
|
|
2317
|
+
}
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
@utility cs-skeleton {
|
|
2321
|
+
background: linear-gradient(
|
|
2322
|
+
90deg,
|
|
2323
|
+
color-mix(in srgb, currentColor 10%, transparent) 0%,
|
|
2324
|
+
color-mix(in srgb, currentColor 18%, transparent) 50%,
|
|
2325
|
+
color-mix(in srgb, currentColor 10%, transparent) 100%
|
|
2326
|
+
);
|
|
2327
|
+
background-size: 200% 100%;
|
|
2328
|
+
animation: cs-skeleton 1.5s ease-in-out infinite;
|
|
2329
|
+
border-radius: 0.375rem;
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
@keyframes cs-skeleton {
|
|
2333
|
+
0% {
|
|
2334
|
+
background-position: 200% 0;
|
|
2335
|
+
}
|
|
2336
|
+
100% {
|
|
2337
|
+
background-position: -200% 0;
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
|
|
2341
|
+
/* MICRO INTERACTIONS */
|
|
2342
|
+
@utility cs-hover-lift {
|
|
2343
|
+
transition: transform var(--cs-transition);
|
|
2344
|
+
|
|
2345
|
+
&:hover {
|
|
2346
|
+
transform: translateY(-2px);
|
|
2347
|
+
}
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
@utility cs-hover-scale {
|
|
2351
|
+
transition: transform var(--cs-transition);
|
|
2352
|
+
|
|
2353
|
+
&:hover {
|
|
2354
|
+
transform: scale(1.02);
|
|
2355
|
+
}
|
|
2356
|
+
}
|
|
2357
|
+
|
|
2358
|
+
@utility cs-hover-glow {
|
|
2359
|
+
transition: box-shadow var(--cs-transition);
|
|
2360
|
+
|
|
2361
|
+
&:hover {
|
|
2362
|
+
box-shadow: 0 8px 25px color-mix(in srgb, var(--cs-brand) 25%, transparent);
|
|
2363
|
+
}
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
@utility cs-interactive {
|
|
2367
|
+
transition: all var(--cs-transition);
|
|
2368
|
+
cursor: pointer;
|
|
2369
|
+
|
|
2370
|
+
&:hover {
|
|
2371
|
+
transform: translateY(-1px);
|
|
2372
|
+
box-shadow: 0 4px 12px color-mix(in srgb, currentColor 15%, transparent);
|
|
2373
|
+
}
|
|
2374
|
+
|
|
2375
|
+
&:active {
|
|
2376
|
+
transform: translateY(0);
|
|
2377
|
+
box-shadow: 0 2px 4px color-mix(in srgb, currentColor 20%, transparent);
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2380
|
+
|
|
2381
|
+
/* =========================================================
|
|
2382
|
+
RESPONSIVE & ACCESSIBILITY
|
|
2383
|
+
========================================================= */
|
|
2384
|
+
|
|
2385
|
+
/* Print Optimizations */
|
|
2386
|
+
@media print {
|
|
2387
|
+
.cs-prose {
|
|
2388
|
+
color: black !important;
|
|
2389
|
+
}
|
|
2390
|
+
|
|
2391
|
+
.cs-navbar {
|
|
2392
|
+
display: none !important;
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
.cs-card {
|
|
2396
|
+
box-shadow: none !important;
|
|
2397
|
+
border: 1px solid #ccc !important;
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2400
|
+
|
|
2401
|
+
/* Reduced Motion Preferences */
|
|
2402
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2403
|
+
* {
|
|
2404
|
+
animation-duration: 0.01ms !important;
|
|
2405
|
+
animation-iteration-count: 1 !important;
|
|
2406
|
+
transition-duration: 0.01ms !important;
|
|
2407
|
+
scroll-behavior: auto !important;
|
|
2408
|
+
}
|
|
2409
|
+
}
|