@howssatoshi/quantumcss 1.5.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4885 +1 @@
1
- /*!
2
- * QuantumCSS + Starlight UI v1.5.2 - Advanced Utility-First CSS Framework
3
- * https://github.com/macroadster/quantumcss
4
- * Copyright (c) 2026 Eric Yang
5
- * License: MIT
6
- */
7
-
8
- /*!
9
- * QuantumCSS + Starlight UI
10
- * Advanced utility-first framework with ethereal cosmic aesthetics
11
- * Version: 1.5.2
12
- * Features: Modern CSS, JIT Engine, Starlight Components, Dark Mode
13
- */
14
-
15
- @import 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap';
16
-
17
- /* CSS Custom Properties (Design Tokens) */
18
- :root {
19
- color-scheme: dark;
20
-
21
- /* Colors */
22
- --color-primary: #3b82f6;
23
- --color-primary-50: #eff6ff;
24
- --color-primary-100: #dbeafe;
25
- --color-primary-200: #bfdbfe;
26
- --color-primary-300: #93c5fd;
27
- --color-primary-400: #60a5fa;
28
- --color-primary-500: #3b82f6;
29
- --color-primary-600: #2563eb;
30
- --color-primary-700: #1d4ed8;
31
- --color-primary-800: #1e40af;
32
- --color-primary-900: #1e3a8a;
33
- --color-secondary: #64748b;
34
- --color-success: #10b981;
35
- --color-warning: #f59e0b;
36
- --color-error: #ef4444;
37
- --color-neutral: #6b7280;
38
-
39
- /* Typography */
40
- --font-sans: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
41
- --font-serif: Georgia, Cambria, serif;
42
- --font-mono: 'SF Mono', Monaco, 'Cascadia Code', monospace;
43
-
44
- /* Spacing Scale (4px base unit) */
45
- --space-0: 0px;
46
- --space-1: 0.25rem; /* 4px */
47
- --space-2: 0.5rem; /* 8px */
48
- --space-3: 0.75rem; /* 12px */
49
- --space-4: 1rem; /* 16px */
50
- --space-5: 1.25rem; /* 20px */
51
- --space-6: 1.5rem; /* 24px */
52
- --space-8: 2rem; /* 32px */
53
- --space-10: 2.5rem; /* 40px */
54
- --space-12: 3rem; /* 48px */
55
- --space-16: 4rem; /* 64px */
56
- --space-20: 5rem; /* 80px */
57
- --space-24: 6rem; /* 96px */
58
- --space-32: 8rem; /* 128px */
59
-
60
- /* Border Radius */
61
- --radius-none: 0px;
62
- --radius-sm: 0.125rem;
63
- --radius-md: 0.375rem;
64
- --radius-lg: 0.5rem;
65
- --radius-xl: 0.75rem;
66
- --radius-2xl: 1rem;
67
- --radius-3xl: 1.5rem;
68
- --radius-full: 9999px;
69
-
70
- /* Shadows */
71
- --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 5%);
72
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%);
73
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%);
74
- --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 10%), 0 8px 10px -6px rgb(0 0 0 / 10%);
75
- --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 25%);
76
-
77
- /* Animation */
78
- --duration-75: 75ms;
79
- --duration-100: 100ms;
80
- --duration-150: 150ms;
81
- --duration-200: 200ms;
82
- --duration-300: 300ms;
83
- --duration-500: 500ms;
84
- --duration-700: 700ms;
85
- --duration-1000: 1000ms;
86
- --ease-linear: linear;
87
- --ease-in: cubic-bezier(0.4, 0, 1, 1);
88
- --ease-out: cubic-bezier(0, 0, 0.2, 1);
89
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
90
-
91
- /* --- Starlight Specific Tokens --- */
92
- --color-starlight-blue: #00d4ff;
93
- --color-starlight-peach: #ffb38a;
94
- --color-starlight-orange: #ff7e5f;
95
- --color-starlight-deep: #08081a;
96
- --color-starlight-glow: rgb(0 212 255 / 35%);
97
-
98
- /* Semantic Background Colors */
99
- --bg-primary: var(--color-starlight-deep);
100
-
101
- /* Semantic Text Colors */
102
- --text-primary: #f1f5f9;
103
- --text-secondary: rgb(241 245 249 / 70%);
104
- --text-muted: rgb(241 245 249 / 45%);
105
-
106
- /* Light Mode Palette */
107
- --light-bg: #f1f5f9;
108
- --light-text: #1e293b;
109
- --light-text-muted: #64748b;
110
- --light-card-bg: #fff;
111
- --light-card-border: rgb(0 0 0 / 6%);
112
-
113
- /* Glassmorphism */
114
- --glass-bg: rgb(255 255 255 / 3%);
115
- --glass-border: rgb(255 255 255 / 10%);
116
- --glass-blur: blur(16px);
117
-
118
- /* Transitions */
119
- --transition-fast: 150ms ease-in-out;
120
- --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
121
- --transition-slow: 400ms ease-in-out;
122
- }
123
-
124
- /* High Contrast (Accessibility) Mode Support */
125
- @media (prefers-contrast: more) {
126
- :root {
127
- --color-starlight-blue: #08c; /* Darkened for better contrast on light */
128
- --color-starlight-orange: #d14d33;
129
- --glass-bg: rgb(255 255 255 / 10%);
130
- --glass-border: rgb(255 255 255 / 40%);
131
- --text-muted: rgb(241 245 249 / 80%);
132
- }
133
- }
134
-
135
- @media (forced-colors: active) {
136
- :root {
137
- --radius-none: 0;
138
- --radius-sm: 0;
139
- --radius-md: 0;
140
- --radius-lg: 0;
141
- --radius-xl: 0;
142
- --radius-2xl: 0;
143
- --radius-3xl: 0;
144
- --radius-full: 0;
145
- }
146
-
147
- .starlight-card, .glass {
148
- border: 2px solid CanvasText !important;
149
- }
150
-
151
- .btn-starlight {
152
- background: ButtonFace !important;
153
- color: ButtonText !important;
154
- border: 2px solid ButtonText !important;
155
- }
156
- }
157
-
158
- /* Dark Mode */
159
- @media (prefers-color-scheme: dark) {
160
- :root {
161
- --color-primary: #60a5fa;
162
- --color-secondary: #94a3b8;
163
- --color-neutral: #9ca3af;
164
- }
165
- }
166
-
167
- /* Base Reset */
168
- *, *::before, *::after {
169
- box-sizing: border-box;
170
- margin: 0;
171
- padding: 0;
172
- }
173
-
174
- html {
175
- line-height: 1.6;
176
- -webkit-text-size-adjust: 100%;
177
- font-family: Inter, system-ui, -apple-system, sans-serif;
178
- font-size: 16px;
179
- -webkit-font-smoothing: antialiased;
180
- -moz-osx-font-smoothing: grayscale;
181
- background-color: var(--color-starlight-deep);
182
- scrollbar-width: thin;
183
- scrollbar-color: var(--color-starlight-blue) transparent;
184
- }
185
-
186
- body {
187
- line-height: inherit;
188
- }
189
-
190
- input, textarea, select, button {
191
- font-family: inherit;
192
- font-size: inherit;
193
- line-height: inherit;
194
- color: inherit;
195
- border: none;
196
- background: transparent;
197
- }
198
-
199
- textarea {
200
- resize: vertical;
201
- min-height: 5rem;
202
- }
203
-
204
- /* Layout Utilities */
205
- .container {
206
- width: 100%;
207
- max-width: 1100px;
208
- margin-left: auto;
209
- margin-right: auto;
210
- padding-left: var(--space-8);
211
- padding-right: var(--space-8);
212
- }
213
-
214
- .grid-3 {
215
- display: grid;
216
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
217
- gap: var(--space-8);
218
- }
219
-
220
- @media (min-width: 640px) {
221
- .container {
222
- max-width: 640px;
223
- }
224
- }
225
-
226
- @media (min-width: 768px) {
227
- .container {
228
- max-width: 768px;
229
- }
230
- }
231
-
232
- @media (min-width: 1024px) {
233
- .container {
234
- max-width: 1024px;
235
- }
236
- }
237
-
238
- @media (min-width: 1280px) {
239
- .container {
240
- max-width: 1280px;
241
- }
242
- }
243
-
244
- /* Display Utilities */
245
- .block { display: block; }
246
- .inline-block { display: inline-block; }
247
- .inline { display: inline; }
248
- .flex { display: flex; }
249
- .inline-flex { display: inline-flex; }
250
- .grid { display: grid; }
251
- .inline-grid { display: inline-grid; }
252
- .hidden { display: none; }
253
-
254
- /* Flexbox Utilities */
255
- .flex-row { flex-direction: row; }
256
- .flex-row-reverse { flex-direction: row-reverse; }
257
- .flex-col { flex-direction: column; }
258
- .flex-col-reverse { flex-direction: column-reverse; }
259
-
260
- .flex-wrap { flex-wrap: wrap; }
261
- .flex-wrap-reverse { flex-wrap: wrap-reverse; }
262
- .flex-nowrap { flex-wrap: nowrap; }
263
-
264
- .items-start { align-items: flex-start; }
265
- .items-end { align-items: flex-end; }
266
- .items-center { align-items: center; }
267
- .items-baseline { align-items: baseline; }
268
- .items-stretch { align-items: stretch; }
269
-
270
- .justify-start { justify-content: flex-start; }
271
- .justify-end { justify-content: flex-end; }
272
- .justify-center { justify-content: center; }
273
- .justify-between { justify-content: space-between; }
274
- .justify-around { justify-content: space-around; }
275
- .justify-evenly { justify-content: space-evenly; }
276
-
277
- .flex-1 { flex: 1 1 0%; }
278
- .flex-auto { flex: 1 1 auto; }
279
- .flex-initial { flex: 0 1 auto; }
280
- .flex-none { flex: none; }
281
-
282
- /* Grid Utilities */
283
- .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
284
- .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
285
- .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
286
- .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
287
- .grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
288
- .grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
289
- .grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
290
-
291
- .gap-0 { gap: var(--space-0); }
292
- .gap-1 { gap: var(--space-1); }
293
- .gap-2 { gap: var(--space-2); }
294
- .gap-3 { gap: var(--space-3); }
295
- .gap-4 { gap: var(--space-4); }
296
- .gap-5 { gap: var(--space-5); }
297
- .gap-6 { gap: var(--space-6); }
298
- .gap-8 { gap: var(--space-8); }
299
- .gap-10 { gap: var(--space-10); }
300
- .gap-12 { gap: var(--space-12); }
301
- .gap-16 { gap: var(--space-16); }
302
- .gap-20 { gap: var(--space-20); }
303
- .gap-24 { gap: var(--space-24); }
304
- .gap-32 { gap: var(--space-32); }
305
-
306
- /* Spacing Utilities - All Sides */
307
- .m-0 { margin: var(--space-0); }
308
- .m-1 { margin: var(--space-1); }
309
- .m-2 { margin: var(--space-2); }
310
- .m-3 { margin: var(--space-3); }
311
- .m-4 { margin: var(--space-4); }
312
- .m-5 { margin: var(--space-5); }
313
- .m-6 { margin: var(--space-6); }
314
- .m-8 { margin: var(--space-8); }
315
- .m-10 { margin: var(--space-10); }
316
- .m-12 { margin: var(--space-12); }
317
- .m-16 { margin: var(--space-16); }
318
- .m-20 { margin: var(--space-20); }
319
- .m-24 { margin: var(--space-24); }
320
- .m-32 { margin: var(--space-32); }
321
- .m-auto { margin: auto; }
322
-
323
- /* Margin - X Axis */
324
- .mx-0 { margin-left: var(--space-0); margin-right: var(--space-0); }
325
- .mx-1 { margin-left: var(--space-1); margin-right: var(--space-1); }
326
- .mx-2 { margin-left: var(--space-2); margin-right: var(--space-2); }
327
- .mx-3 { margin-left: var(--space-3); margin-right: var(--space-3); }
328
- .mx-4 { margin-left: var(--space-4); margin-right: var(--space-4); }
329
- .mx-5 { margin-left: var(--space-5); margin-right: var(--space-5); }
330
- .mx-6 { margin-left: var(--space-6); margin-right: var(--space-6); }
331
- .mx-8 { margin-left: var(--space-8); margin-right: var(--space-8); }
332
- .mx-10 { margin-left: var(--space-10); margin-right: var(--space-10); }
333
- .mx-12 { margin-left: var(--space-12); margin-right: var(--space-12); }
334
- .mx-16 { margin-left: var(--space-16); margin-right: var(--space-16); }
335
- .mx-20 { margin-left: var(--space-20); margin-right: var(--space-20); }
336
- .mx-24 { margin-left: var(--space-24); margin-right: var(--space-24); }
337
- .mx-32 { margin-left: var(--space-32); margin-right: var(--space-32); }
338
- .mx-auto { margin-left: auto; margin-right: auto; }
339
-
340
- /* Margin - Y Axis */
341
- .my-0 { margin-top: var(--space-0); margin-bottom: var(--space-0); }
342
- .my-1 { margin-top: var(--space-1); margin-bottom: var(--space-1); }
343
- .my-2 { margin-top: var(--space-2); margin-bottom: var(--space-2); }
344
- .my-3 { margin-top: var(--space-3); margin-bottom: var(--space-3); }
345
- .my-4 { margin-top: var(--space-4); margin-bottom: var(--space-4); }
346
- .my-5 { margin-top: var(--space-5); margin-bottom: var(--space-5); }
347
- .my-6 { margin-top: var(--space-6); margin-bottom: var(--space-6); }
348
- .my-8 { margin-top: var(--space-8); margin-bottom: var(--space-8); }
349
- .my-10 { margin-top: var(--space-10); margin-bottom: var(--space-10); }
350
- .my-12 { margin-top: var(--space-12); margin-bottom: var(--space-12); }
351
- .my-16 { margin-top: var(--space-16); margin-bottom: var(--space-16); }
352
- .my-20 { margin-top: var(--space-20); margin-bottom: var(--space-20); }
353
- .my-24 { margin-top: var(--space-24); margin-bottom: var(--space-24); }
354
- .my-32 { margin-top: var(--space-32); margin-bottom: var(--space-32); }
355
- .my-auto { margin-top: auto; margin-bottom: auto; }
356
-
357
- /* Margin - Top */
358
- .mt-0 { margin-top: var(--space-0); }
359
- .mt-1 { margin-top: var(--space-1); }
360
- .mt-2 { margin-top: var(--space-2); }
361
- .mt-3 { margin-top: var(--space-3); }
362
- .mt-4 { margin-top: var(--space-4); }
363
- .mt-5 { margin-top: var(--space-5); }
364
- .mt-6 { margin-top: var(--space-6); }
365
- .mt-8 { margin-top: var(--space-8); }
366
- .mt-10 { margin-top: var(--space-10); }
367
- .mt-12 { margin-top: var(--space-12); }
368
- .mt-16 { margin-top: var(--space-16); }
369
- .mt-20 { margin-top: var(--space-20); }
370
- .mt-24 { margin-top: var(--space-24); }
371
- .mt-32 { margin-top: var(--space-32); }
372
-
373
- /* Margin - Right */
374
- .mr-0 { margin-right: var(--space-0); }
375
- .mr-1 { margin-right: var(--space-1); }
376
- .mr-2 { margin-right: var(--space-2); }
377
- .mr-3 { margin-right: var(--space-3); }
378
- .mr-4 { margin-right: var(--space-4); }
379
- .mr-5 { margin-right: var(--space-5); }
380
- .mr-6 { margin-right: var(--space-6); }
381
- .mr-8 { margin-right: var(--space-8); }
382
- .mr-10 { margin-right: var(--space-10); }
383
- .mr-12 { margin-right: var(--space-12); }
384
- .mr-16 { margin-right: var(--space-16); }
385
- .mr-20 { margin-right: var(--space-20); }
386
- .mr-24 { margin-right: var(--space-24); }
387
- .mr-32 { margin-right: var(--space-32); }
388
-
389
- /* Margin - Bottom */
390
- .mb-0 { margin-bottom: var(--space-0); }
391
- .mb-1 { margin-bottom: var(--space-1); }
392
- .mb-2 { margin-bottom: var(--space-2); }
393
- .mb-3 { margin-bottom: var(--space-3); }
394
- .mb-4 { margin-bottom: var(--space-4); }
395
- .mb-5 { margin-bottom: var(--space-5); }
396
- .mb-6 { margin-bottom: var(--space-6); }
397
- .mb-8 { margin-bottom: var(--space-8); }
398
- .mb-10 { margin-bottom: var(--space-10); }
399
- .mb-12 { margin-bottom: var(--space-12); }
400
- .mb-16 { margin-bottom: var(--space-16); }
401
- .mb-20 { margin-bottom: var(--space-20); }
402
- .mb-24 { margin-bottom: var(--space-24); }
403
- .mb-32 { margin-bottom: var(--space-32); }
404
-
405
- /* Margin - Left */
406
- .ml-0 { margin-left: var(--space-0); }
407
- .ml-1 { margin-left: var(--space-1); }
408
- .ml-2 { margin-left: var(--space-2); }
409
- .ml-3 { margin-left: var(--space-3); }
410
- .ml-4 { margin-left: var(--space-4); }
411
- .ml-5 { margin-left: var(--space-5); }
412
- .ml-6 { margin-left: var(--space-6); }
413
- .ml-8 { margin-left: var(--space-8); }
414
- .ml-10 { margin-left: var(--space-10); }
415
- .ml-12 { margin-left: var(--space-12); }
416
- .ml-16 { margin-left: var(--space-16); }
417
- .ml-20 { margin-left: var(--space-20); }
418
- .ml-24 { margin-left: var(--space-24); }
419
- .ml-32 { margin-left: var(--space-32); }
420
-
421
- /* Padding - All Sides */
422
- .p-0 { padding: var(--space-0); }
423
- .p-1 { padding: var(--space-1); }
424
- .p-2 { padding: var(--space-2); }
425
- .p-3 { padding: var(--space-3); }
426
- .p-4 { padding: var(--space-4); }
427
- .p-5 { padding: var(--space-5); }
428
- .p-6 { padding: var(--space-6); }
429
- .p-8 { padding: var(--space-8); }
430
- .p-10 { padding: var(--space-10); }
431
- .p-12 { padding: var(--space-12); }
432
- .p-16 { padding: var(--space-16); }
433
- .p-20 { padding: var(--space-20); }
434
- .p-24 { padding: var(--space-24); }
435
- .p-32 { padding: var(--space-32); }
436
-
437
- /* Padding - X Axis */
438
- .px-0 { padding-left: var(--space-0); padding-right: var(--space-0); }
439
- .px-1 { padding-left: var(--space-1); padding-right: var(--space-1); }
440
- .px-2 { padding-left: var(--space-2); padding-right: var(--space-2); }
441
- .px-3 { padding-left: var(--space-3); padding-right: var(--space-3); }
442
- .px-4 { padding-left: var(--space-4); padding-right: var(--space-4); }
443
- .px-5 { padding-left: var(--space-5); padding-right: var(--space-5); }
444
- .px-6 { padding-left: var(--space-6); padding-right: var(--space-6); }
445
- .px-8 { padding-left: var(--space-8); padding-right: var(--space-8); }
446
- .px-10 { padding-left: var(--space-10); padding-right: var(--space-10); }
447
- .px-12 { padding-left: var(--space-12); padding-right: var(--space-12); }
448
- .px-16 { padding-left: var(--space-16); padding-right: var(--space-16); }
449
- .px-20 { padding-left: var(--space-20); padding-right: var(--space-20); }
450
- .px-24 { padding-left: var(--space-24); padding-right: var(--space-24); }
451
- .px-32 { padding-left: var(--space-32); padding-right: var(--space-32); }
452
-
453
- /* Padding - Y Axis */
454
- .py-0 { padding-top: var(--space-0); padding-bottom: var(--space-0); }
455
- .py-1 { padding-top: var(--space-1); padding-bottom: var(--space-1); }
456
- .py-2 { padding-top: var(--space-2); padding-bottom: var(--space-2); }
457
- .py-3 { padding-top: var(--space-3); padding-bottom: var(--space-3); }
458
- .py-4 { padding-top: var(--space-4); padding-bottom: var(--space-4); }
459
- .py-5 { padding-top: var(--space-5); padding-bottom: var(--space-5); }
460
- .py-6 { padding-top: var(--space-6); padding-bottom: var(--space-6); }
461
- .py-8 { padding-top: var(--space-8); padding-bottom: var(--space-8); }
462
- .py-10 { padding-top: var(--space-10); padding-bottom: var(--space-10); }
463
- .py-12 { padding-top: var(--space-12); padding-bottom: var(--space-12); }
464
- .py-16 { padding-top: var(--space-16); padding-bottom: var(--space-16); }
465
- .py-20 { padding-top: var(--space-20); padding-bottom: var(--space-20); }
466
- .py-24 { padding-top: var(--space-24); padding-bottom: var(--space-24); }
467
- .py-32 { padding-top: var(--space-32); padding-bottom: var(--space-32); }
468
-
469
- /* Padding - Top */
470
- .pt-0 { padding-top: var(--space-0); }
471
- .pt-1 { padding-top: var(--space-1); }
472
- .pt-2 { padding-top: var(--space-2); }
473
- .pt-3 { padding-top: var(--space-3); }
474
- .pt-4 { padding-top: var(--space-4); }
475
- .pt-5 { padding-top: var(--space-5); }
476
- .pt-6 { padding-top: var(--space-6); }
477
- .pt-8 { padding-top: var(--space-8); }
478
- .pt-10 { padding-top: var(--space-10); }
479
- .pt-12 { padding-top: var(--space-12); }
480
- .pt-16 { padding-top: var(--space-16); }
481
- .pt-20 { padding-top: var(--space-20); }
482
- .pt-24 { padding-top: var(--space-24); }
483
- .pt-32 { padding-top: var(--space-32); }
484
-
485
- /* Padding - Right */
486
- .pr-0 { padding-right: var(--space-0); }
487
- .pr-1 { padding-right: var(--space-1); }
488
- .pr-2 { padding-right: var(--space-2); }
489
- .pr-3 { padding-right: var(--space-3); }
490
- .pr-4 { padding-right: var(--space-4); }
491
- .pr-5 { padding-right: var(--space-5); }
492
- .pr-6 { padding-right: var(--space-6); }
493
- .pr-8 { padding-right: var(--space-8); }
494
- .pr-10 { padding-right: var(--space-10); }
495
- .pr-12 { padding-right: var(--space-12); }
496
- .pr-16 { padding-right: var(--space-16); }
497
- .pr-20 { padding-right: var(--space-20); }
498
- .pr-24 { padding-right: var(--space-24); }
499
- .pr-32 { padding-right: var(--space-32); }
500
-
501
- /* Padding - Bottom */
502
- .pb-0 { padding-bottom: var(--space-0); }
503
- .pb-1 { padding-bottom: var(--space-1); }
504
- .pb-2 { padding-bottom: var(--space-2); }
505
- .pb-3 { padding-bottom: var(--space-3); }
506
- .pb-4 { padding-bottom: var(--space-4); }
507
- .pb-5 { padding-bottom: var(--space-5); }
508
- .pb-6 { padding-bottom: var(--space-6); }
509
- .pb-8 { padding-bottom: var(--space-8); }
510
- .pb-10 { padding-bottom: var(--space-10); }
511
- .pb-12 { padding-bottom: var(--space-12); }
512
- .pb-16 { padding-bottom: var(--space-16); }
513
- .pb-20 { padding-bottom: var(--space-20); }
514
- .pb-24 { padding-bottom: var(--space-24); }
515
- .pb-32 { padding-bottom: var(--space-32); }
516
-
517
- /* Padding - Left */
518
- .pl-0 { padding-left: var(--space-0); }
519
- .pl-1 { padding-left: var(--space-1); }
520
- .pl-2 { padding-left: var(--space-2); }
521
- .pl-3 { padding-left: var(--space-3); }
522
- .pl-4 { padding-left: var(--space-4); }
523
- .pl-5 { padding-left: var(--space-5); }
524
- .pl-6 { padding-left: var(--space-6); }
525
- .pl-8 { padding-left: var(--space-8); }
526
- .pl-10 { padding-left: var(--space-10); }
527
- .pl-12 { padding-left: var(--space-12); }
528
- .pl-16 { padding-left: var(--space-16); }
529
- .pl-20 { padding-left: var(--space-20); }
530
- .pl-24 { padding-left: var(--space-24); }
531
- .pl-32 { padding-left: var(--space-32); }
532
-
533
- /* Typography Utilities */
534
- .text-xs { font-size: 0.75rem; line-height: 1rem; }
535
- .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
536
- .text-base { font-size: 1rem; line-height: 1.5rem; }
537
- .text-lg { font-size: 1.125rem; line-height: 1.75rem; }
538
- .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
539
- .text-2xl { font-size: 1.5rem; line-height: 2rem; }
540
- .text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
541
- .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
542
- .text-5xl { font-size: 3rem; line-height: 1.2; }
543
-
544
- .font-light { font-weight: 300; }
545
- .font-normal { font-weight: 400; }
546
- .font-medium { font-weight: 500; }
547
- .font-semibold { font-weight: 600; }
548
- .font-bold { font-weight: 700; }
549
- .font-extrabold { font-weight: 800; }
550
-
551
- .text-left { text-align: left; }
552
- .text-center { text-align: center; }
553
- .text-right { text-align: right; }
554
- .text-justify { text-align: justify; }
555
-
556
- /* Color Utilities */
557
- .text-primary { color: var(--color-primary); }
558
- .text-secondary { color: var(--color-secondary); }
559
- .text-success { color: var(--color-success); }
560
- .text-warning { color: var(--color-warning); }
561
- .text-error { color: var(--color-error); }
562
- .text-neutral { color: var(--color-neutral); }
563
- .text-white { color: #fff; }
564
- .text-black { color: #000; }
565
-
566
- .bg-primary { background-color: var(--color-primary); }
567
- .bg-secondary { background-color: var(--color-secondary); }
568
- .bg-success { background-color: var(--color-success); }
569
- .bg-warning { background-color: var(--color-warning); }
570
- .bg-error { background-color: var(--color-error); }
571
- .bg-neutral { background-color: var(--color-neutral); }
572
- .bg-white { background-color: #fff; color: #0f172a; }
573
- .bg-black { background-color: #000; color: #fff; }
574
-
575
- /* Border Utilities */
576
- .border-0 { border-width: 0; }
577
- .border { border-width: 1px; }
578
- .border-2 { border-width: 2px; }
579
- .border-4 { border-width: 4px; }
580
-
581
- .border-solid { border-style: solid; }
582
- .border-dashed { border-style: dashed; }
583
- .border-dotted { border-style: dotted; }
584
-
585
- .border-neutral { border-color: var(--color-neutral); }
586
-
587
- .rounded-none { border-radius: var(--radius-none); }
588
- .rounded-sm { border-radius: var(--radius-sm); }
589
- .rounded-md { border-radius: var(--radius-md); }
590
- .rounded-lg { border-radius: var(--radius-lg); }
591
- .rounded-xl { border-radius: var(--radius-xl); }
592
- .rounded-2xl { border-radius: var(--radius-2xl); }
593
- .rounded-3xl { border-radius: var(--radius-3xl); }
594
- .rounded-full { border-radius: var(--radius-full); }
595
-
596
- /* Shadow Utilities */
597
- .shadow-none { box-shadow: none; }
598
- .shadow-sm { box-shadow: var(--shadow-sm); }
599
- .shadow-md { box-shadow: var(--shadow-md); }
600
- .shadow-lg { box-shadow: var(--shadow-lg); }
601
- .shadow-xl { box-shadow: var(--shadow-xl); }
602
- .shadow-2xl { box-shadow: var(--shadow-2xl); }
603
-
604
- /* Position Utilities */
605
- .static { position: static; }
606
- .fixed { position: fixed; }
607
- .absolute { position: absolute; }
608
- .relative { position: relative; }
609
- .sticky { position: sticky; }
610
-
611
- .inset-0 { inset: 0; }
612
- .top-0 { top: 0; }
613
- .right-0 { right: 0; }
614
- .bottom-0 { bottom: 0; }
615
- .left-0 { left: 0; }
616
-
617
- /* Size Utilities */
618
- .w-auto { width: auto; }
619
- .w-full { width: 100%; }
620
- .w-screen { width: 100vw; }
621
- .w-fit { width: fit-content; }
622
-
623
- .h-auto { height: auto; }
624
- .h-full { height: 100%; }
625
- .h-screen { height: 100vh; }
626
- .h-fit { height: fit-content; }
627
-
628
- /* Transition Utilities */
629
- .transition-none {
630
- transition-property: none;
631
- }
632
-
633
- .transition-all {
634
- transition-property: all;
635
- transition-timing-function: var(--ease-in-out);
636
- transition-duration: var(--duration-150);
637
- }
638
-
639
- .transition-colors {
640
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
641
- transition-timing-function: var(--ease-in-out);
642
- transition-duration: var(--duration-150);
643
- }
644
-
645
- /* Transform Utilities */
646
- .scale-95 { transform: scale(0.95); }
647
- .scale-100 { transform: scale(1); }
648
- .scale-105 { transform: scale(1.05); }
649
- .scale-110 { transform: scale(1.1); }
650
-
651
- .rotate-0 { transform: rotate(0deg); }
652
- .rotate-45 { transform: rotate(45deg); }
653
- .rotate-90 { transform: rotate(90deg); }
654
- .rotate-180 { transform: rotate(180deg); }
655
-
656
- /* Interactivity */
657
- .cursor-pointer { cursor: pointer; }
658
- .cursor-default { cursor: default; }
659
- .cursor-not-allowed { cursor: not-allowed; }
660
-
661
- .select-none { user-select: none; }
662
- .select-text { user-select: text; }
663
- .select-all { user-select: all; }
664
-
665
- .pointer-events-none { pointer-events: none; }
666
- .pointer-events-auto { pointer-events: auto; }
667
-
668
- /* Accessibility */
669
- .sr-only {
670
- position: absolute;
671
- width: 1px;
672
- height: 1px;
673
- padding: 0;
674
- margin: -1px;
675
- overflow: hidden;
676
- clip: rect(0, 0, 0, 0);
677
- clip-path: inset(50%);
678
- white-space: nowrap;
679
- border-width: 0;
680
- }
681
-
682
- .not-sr-only {
683
- position: static;
684
- width: auto;
685
- height: auto;
686
- padding: 0;
687
- margin: 0;
688
- overflow: visible;
689
- clip: auto;
690
- clip-path: none;
691
- white-space: normal;
692
- }
693
-
694
- /* Z-Index Utilities */
695
- .z-auto { z-index: auto; }
696
- .z-0 { z-index: 0; }
697
- .z-10 { z-index: 10; }
698
- .z-20 { z-index: 20; }
699
- .z-30 { z-index: 30; }
700
- .z-40 { z-index: 40; }
701
- .z-50 { z-index: 50; }
702
- .z-100 { z-index: 100; }
703
- .z-200 { z-index: 200; }
704
- .z-300 { z-index: 300; }
705
- .z-400 { z-index: 400; }
706
- .z-500 { z-index: 500; }
707
- .z-600 { z-index: 600; }
708
- .z-700 { z-index: 700; }
709
- .z-800 { z-index: 800; }
710
- .z-900 { z-index: 900; }
711
- .z-1000 { z-index: 1000; }
712
-
713
- /* ====== QUANTUM CSS ENHANCEMENTS ====== */
714
-
715
- /* Utility for Quick Prototyping */
716
- .prose {
717
- max-width: 65ch;
718
- line-height: 1.75;
719
- }
720
-
721
- .prose h1 {
722
- font-size: 2.25rem;
723
- font-weight: 700;
724
- line-height: 1.25;
725
- margin-bottom: 1rem;
726
- }
727
-
728
- .prose h2 {
729
- font-size: 1.875rem;
730
- font-weight: 600;
731
- line-height: 1.25;
732
- margin-top: 2rem;
733
- margin-bottom: 1rem;
734
- }
735
-
736
- .prose p {
737
- margin-bottom: 1rem;
738
- }
739
-
740
- .prose a {
741
- color: var(--color-primary);
742
- text-decoration: underline;
743
- }
744
-
745
- .prose a:hover {
746
- color: var(--color-primary-600);
747
- }
748
-
749
- /* Reduced Motion Support */
750
- @media (prefers-reduced-motion: reduce) {
751
- *,
752
- *::before,
753
- *::after {
754
- animation-duration: 0.01ms !important;
755
- animation-iteration-count: 1 !important;
756
- transition-duration: 0.01ms !important;
757
- scroll-behavior: auto !important;
758
- }
759
- }
760
-
761
- /* --- Restored Core Styles --- */
762
-
763
-
764
-
765
- /* Nebula Scrollbar */
766
-
767
-
768
-
769
- ::-webkit-scrollbar { width: 8px; }
770
-
771
-
772
-
773
-
774
-
775
-
776
-
777
- ::-webkit-scrollbar-track { background: transparent; }
778
-
779
-
780
-
781
-
782
-
783
-
784
-
785
- ::-webkit-scrollbar-thumb {
786
- background: linear-gradient(135deg, var(--color-starlight-peach) 0%, var(--color-starlight-blue) 100%);
787
- border-radius: 10px;
788
- border: 2px solid var(--color-starlight-deep);
789
-
790
-
791
-
792
- }
793
-
794
-
795
-
796
- html[data-theme="light"],
797
- body.light-mode {
798
- color-scheme: light;
799
-
800
- --bg-primary: var(--light-bg);
801
- --text-primary: var(--light-text);
802
- --text-secondary: var(--light-text-muted);
803
- --text-muted: var(--light-text-muted);
804
-
805
- scrollbar-color: var(--color-starlight-blue) transparent;
806
- }
807
-
808
- html[data-theme="dark"],
809
- body.dark-mode {
810
- color-scheme: dark;
811
-
812
- --bg-primary: var(--color-starlight-deep);
813
- --text-primary: #f1f5f9;
814
- }
815
-
816
- /* Force theme colors on body to override template-specific hardcoded styles */
817
- html[data-theme="light"] body,
818
- body.light-mode {
819
- background: var(--light-bg) !important;
820
- color: var(--light-text);
821
- }
822
-
823
- html[data-theme="dark"] body,
824
- body.dark-mode {
825
- background: var(--color-starlight-deep) !important;
826
- color: #f1f5f9;
827
- }
828
-
829
-
830
-
831
- html[data-theme="light"] ::-webkit-scrollbar-thumb {
832
- background: linear-gradient(135deg, var(--color-starlight-peach) 40%, var(--color-starlight-blue) 100%);
833
- border-color: var(--light-bg);
834
- }
835
-
836
-
837
-
838
- /* Starlight Focus Ring */
839
-
840
-
841
-
842
- :focus, :focus-visible {
843
- outline: none;
844
- box-shadow: 0 0 0 2px var(--color-starlight-deep), 0 0 0 4px var(--color-starlight-blue);
845
- transition: box-shadow var(--transition-fast);
846
-
847
-
848
-
849
- }
850
-
851
-
852
-
853
-
854
-
855
-
856
-
857
- html[data-theme="light"] :focus, html[data-theme="light"] :focus-visible {
858
- box-shadow: 0 0 0 2px var(--light-bg), 0 0 0 4px rgb(59 130 246 / 40%);
859
- }
860
-
861
-
862
-
863
- /* Body defaults */
864
-
865
-
866
-
867
- body {
868
- margin: 0;
869
- min-height: 100vh;
870
- background-color: var(--bg-primary);
871
- color: var(--text-primary);
872
- transition: background-color var(--transition-slow), color var(--transition-slow);
873
-
874
-
875
-
876
- }
877
-
878
-
879
-
880
-
881
-
882
-
883
-
884
- /* Tactile Active State for all interactive elements */
885
- button:active,
886
- input:active,
887
- .active-scale:active {
888
- transform: scale(0.96);
889
- }
890
-
891
- /*!
892
- * QuantumCSS Responsive Design System
893
- * Advanced responsive utilities with container queries and modern breakpoints
894
- */
895
-
896
- /* Modern Responsive Breakpoints */
897
-
898
- /* Using logical properties and container queries */
899
-
900
- @custom-media --sm (min-width: 640px);
901
- @custom-media --md (min-width: 768px);
902
- @custom-media --lg (min-width: 1024px);
903
- @custom-media --xl (min-width: 1280px);
904
- @custom-media --2xl (min-width: 1536px);
905
-
906
- /* Container Query Support */
907
- @container (min-width: 320px) {
908
- .container\:flex { display: flex; }
909
- .container\:grid { display: grid; }
910
- .container\:hidden { display: none; }
911
- }
912
-
913
- @container (min-width: 640px) {
914
- .container\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
915
- .container\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
916
- .container\:p-6 { padding: var(--space-6); }
917
- }
918
-
919
- @container (min-width: 768px) {
920
- .container\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
921
- .container\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
922
- .container\:p-8 { padding: var(--space-8); }
923
- }
924
-
925
- @container (min-width: 1024px) {
926
- .container\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
927
- .container\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
928
- }
929
-
930
- /* Standard Responsive Utilities */
931
- @media (--sm) {
932
- .sm\:block { display: block; }
933
- .sm\:inline-block { display: inline-block; }
934
- .sm\:inline { display: inline; }
935
- .sm\:flex { display: flex; }
936
- .sm\:grid { display: grid; }
937
- .sm\:hidden { display: none; }
938
-
939
- .sm\:flex-row { flex-direction: row; }
940
- .sm\:flex-col { flex-direction: column; }
941
-
942
- .sm\:items-start { align-items: flex-start; }
943
- .sm\:items-center { align-items: center; }
944
- .sm\:items-end { align-items: flex-end; }
945
-
946
- .sm\:justify-start { justify-content: flex-start; }
947
- .sm\:justify-center { justify-content: center; }
948
- .sm\:justify-end { justify-content: flex-end; }
949
- .sm\:justify-between { justify-content: space-between; }
950
-
951
- .sm\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
952
- .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
953
- .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
954
-
955
- .sm\:text-xs { font-size: 0.75rem; line-height: 1rem; }
956
- .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
957
- .sm\:text-base { font-size: 1rem; line-height: 1.5rem; }
958
- .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
959
- .sm\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
960
- .sm\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
961
-
962
- .sm\:m-0 { margin: var(--space-0); }
963
- .sm\:m-1 { margin: var(--space-1); }
964
- .sm\:m-2 { margin: var(--space-2); }
965
- .sm\:m-3 { margin: var(--space-3); }
966
- .sm\:m-4 { margin: var(--space-4); }
967
- .sm\:m-6 { margin: var(--space-6); }
968
- .sm\:m-8 { margin: var(--space-8); }
969
- .sm\:mx-auto { margin-left: auto; margin-right: auto; }
970
-
971
- .sm\:p-0 { padding: var(--space-0); }
972
- .sm\:p-1 { padding: var(--space-1); }
973
- .sm\:p-2 { padding: var(--space-2); }
974
- .sm\:p-3 { padding: var(--space-3); }
975
- .sm\:p-4 { padding: var(--space-4); }
976
- .sm\:p-6 { padding: var(--space-6); }
977
- .sm\:p-8 { padding: var(--space-8); }
978
-
979
- .sm\:w-full { width: 100%; }
980
- .sm\:w-auto { width: auto; }
981
- .sm\:h-full { height: 100%; }
982
- .sm\:h-auto { height: auto; }
983
- }
984
-
985
- @media (--md) {
986
- .md\:block { display: block; }
987
- .md\:inline-block { display: inline-block; }
988
- .md\:inline { display: inline; }
989
- .md\:flex { display: flex; }
990
- .md\:grid { display: grid; }
991
- .md\:hidden { display: none; }
992
-
993
- .md\:flex-row { flex-direction: row; }
994
- .md\:flex-col { flex-direction: column; }
995
-
996
- .md\:items-start { align-items: flex-start; }
997
- .md\:items-center { align-items: center; }
998
- .md\:items-end { align-items: flex-end; }
999
-
1000
- .md\:justify-start { justify-content: flex-start; }
1001
- .md\:justify-center { justify-content: center; }
1002
- .md\:justify-end { justify-content: flex-end; }
1003
- .md\:justify-between { justify-content: space-between; }
1004
-
1005
- .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1006
- .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1007
- .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1008
- .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1009
-
1010
- .md\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1011
- .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1012
- .md\:text-base { font-size: 1rem; line-height: 1.5rem; }
1013
- .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1014
- .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1015
- .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1016
- .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
1017
-
1018
- .md\:m-0 { margin: var(--space-0); }
1019
- .md\:m-1 { margin: var(--space-1); }
1020
- .md\:m-2 { margin: var(--space-2); }
1021
- .md\:m-3 { margin: var(--space-3); }
1022
- .md\:m-4 { margin: var(--space-4); }
1023
- .md\:m-6 { margin: var(--space-6); }
1024
- .md\:m-8 { margin: var(--space-8); }
1025
- .md\:m-12 { margin: var(--space-12); }
1026
- .md\:mx-auto { margin-left: auto; margin-right: auto; }
1027
-
1028
- .md\:p-0 { padding: var(--space-0); }
1029
- .md\:p-1 { padding: var(--space-1); }
1030
- .md\:p-2 { padding: var(--space-2); }
1031
- .md\:p-3 { padding: var(--space-3); }
1032
- .md\:p-4 { padding: var(--space-4); }
1033
- .md\:p-6 { padding: var(--space-6); }
1034
- .md\:p-8 { padding: var(--space-8); }
1035
- .md\:p-12 { padding: var(--space-12); }
1036
-
1037
- .md\:w-full { width: 100%; }
1038
- .md\:w-auto { width: auto; }
1039
- .md\:w-1\/2 { width: 50%; }
1040
- .md\:w-1\/3 { width: 33.333333%; }
1041
- .md\:w-2\/3 { width: 66.666667%; }
1042
- .md\:w-1\/4 { width: 25%; }
1043
- .md\:w-3\/4 { width: 75%; }
1044
-
1045
- .md\:h-full { height: 100%; }
1046
- .md\:h-auto { height: auto; }
1047
- .md\:h-screen { height: 100vh; }
1048
- }
1049
-
1050
- @media (--lg) {
1051
- .lg\:block { display: block; }
1052
- .lg\:inline-block { display: inline-block; }
1053
- .lg\:inline { display: inline; }
1054
- .lg\:flex { display: flex; }
1055
- .lg\:grid { display: grid; }
1056
- .lg\:hidden { display: none; }
1057
-
1058
- .lg\:flex-row { flex-direction: row; }
1059
- .lg\:flex-col { flex-direction: column; }
1060
-
1061
- .lg\:items-start { align-items: flex-start; }
1062
- .lg\:items-center { align-items: center; }
1063
- .lg\:items-end { align-items: flex-end; }
1064
- .lg\:items-stretch { align-items: stretch; }
1065
-
1066
- .lg\:justify-start { justify-content: flex-start; }
1067
- .lg\:justify-center { justify-content: center; }
1068
- .lg\:justify-end { justify-content: flex-end; }
1069
- .lg\:justify-between { justify-content: space-between; }
1070
- .lg\:justify-around { justify-content: space-around; }
1071
-
1072
- .lg\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1073
- .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1074
- .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1075
- .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1076
- .lg\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
1077
- .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
1078
-
1079
- .lg\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1080
- .lg\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1081
- .lg\:text-base { font-size: 1rem; line-height: 1.5rem; }
1082
- .lg\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1083
- .lg\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1084
- .lg\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1085
- .lg\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
1086
- .lg\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
1087
-
1088
- .lg\:m-0 { margin: var(--space-0); }
1089
- .lg\:m-1 { margin: var(--space-1); }
1090
- .lg\:m-2 { margin: var(--space-2); }
1091
- .lg\:m-3 { margin: var(--space-3); }
1092
- .lg\:m-4 { margin: var(--space-4); }
1093
- .lg\:m-6 { margin: var(--space-6); }
1094
- .lg\:m-8 { margin: var(--space-8); }
1095
- .lg\:m-12 { margin: var(--space-12); }
1096
- .lg\:m-16 { margin: var(--space-16); }
1097
- .lg\:mx-auto { margin-left: auto; margin-right: auto; }
1098
-
1099
- .lg\:p-0 { padding: var(--space-0); }
1100
- .lg\:p-1 { padding: var(--space-1); }
1101
- .lg\:p-2 { padding: var(--space-2); }
1102
- .lg\:p-3 { padding: var(--space-3); }
1103
- .lg\:p-4 { padding: var(--space-4); }
1104
- .lg\:p-6 { padding: var(--space-6); }
1105
- .lg\:p-8 { padding: var(--space-8); }
1106
- .lg\:p-12 { padding: var(--space-12); }
1107
- .lg\:p-16 { padding: var(--space-16); }
1108
-
1109
- .lg\:w-full { width: 100%; }
1110
- .lg\:w-auto { width: auto; }
1111
- .lg\:w-1\/2 { width: 50%; }
1112
- .lg\:w-1\/3 { width: 33.333333%; }
1113
- .lg\:w-2\/3 { width: 66.666667%; }
1114
- .lg\:w-1\/4 { width: 25%; }
1115
- .lg\:w-3\/4 { width: 75%; }
1116
- .lg\:w-1\/5 { width: 20%; }
1117
- .lg\:w-2\/5 { width: 40%; }
1118
- .lg\:w-3\/5 { width: 60%; }
1119
- .lg\:w-4\/5 { width: 80%; }
1120
-
1121
- .lg\:h-full { height: 100%; }
1122
- .lg\:h-auto { height: auto; }
1123
- .lg\:h-screen { height: 100vh; }
1124
- }
1125
-
1126
- @media (--xl) {
1127
- .xl\:block { display: block; }
1128
- .xl\:inline-block { display: inline-block; }
1129
- .xl\:inline { display: inline; }
1130
- .xl\:flex { display: flex; }
1131
- .xl\:grid { display: grid; }
1132
- .xl\:hidden { display: none; }
1133
-
1134
- .xl\:flex-row { flex-direction: row; }
1135
- .xl\:flex-col { flex-direction: column; }
1136
-
1137
- .xl\:items-start { align-items: flex-start; }
1138
- .xl\:items-center { align-items: center; }
1139
- .xl\:items-end { align-items: flex-end; }
1140
- .xl\:items-stretch { align-items: stretch; }
1141
-
1142
- .xl\:justify-start { justify-content: flex-start; }
1143
- .xl\:justify-center { justify-content: center; }
1144
- .xl\:justify-end { justify-content: flex-end; }
1145
- .xl\:justify-between { justify-content: space-between; }
1146
- .xl\:justify-around { justify-content: space-around; }
1147
- .xl\:justify-evenly { justify-content: space-evenly; }
1148
-
1149
- .xl\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
1150
- .xl\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
1151
- .xl\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
1152
- .xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
1153
- .xl\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
1154
- .xl\:grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); }
1155
- .xl\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
1156
-
1157
- .xl\:text-xs { font-size: 0.75rem; line-height: 1rem; }
1158
- .xl\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1159
- .xl\:text-base { font-size: 1rem; line-height: 1.5rem; }
1160
- .xl\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
1161
- .xl\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
1162
- .xl\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
1163
- .xl\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
1164
- .xl\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
1165
- .xl\:text-5xl { font-size: 3rem; line-height: 1; }
1166
-
1167
- .xl\:m-0 { margin: var(--space-0); }
1168
- .xl\:m-1 { margin: var(--space-1); }
1169
- .xl\:m-2 { margin: var(--space-2); }
1170
- .xl\:m-3 { margin: var(--space-3); }
1171
- .xl\:m-4 { margin: var(--space-4); }
1172
- .xl\:m-6 { margin: var(--space-6); }
1173
- .xl\:m-8 { margin: var(--space-8); }
1174
- .xl\:m-12 { margin: var(--space-12); }
1175
- .xl\:m-16 { margin: var(--space-16); }
1176
- .xl\:m-20 { margin: var(--space-20); }
1177
- .xl\:mx-auto { margin-left: auto; margin-right: auto; }
1178
-
1179
- .xl\:p-0 { padding: var(--space-0); }
1180
- .xl\:p-1 { padding: var(--space-1); }
1181
- .xl\:p-2 { padding: var(--space-2); }
1182
- .xl\:p-3 { padding: var(--space-3); }
1183
- .xl\:p-4 { padding: var(--space-4); }
1184
- .xl\:p-6 { padding: var(--space-6); }
1185
- .xl\:p-8 { padding: var(--space-8); }
1186
- .xl\:p-12 { padding: var(--space-12); }
1187
- .xl\:p-16 { padding: var(--space-16); }
1188
- .xl\:p-20 { padding: var(--space-20); }
1189
-
1190
- .xl\:w-full { width: 100%; }
1191
- .xl\:w-auto { width: auto; }
1192
- .xl\:w-1\/2 { width: 50%; }
1193
- .xl\:w-1\/3 { width: 33.333333%; }
1194
- .xl\:w-2\/3 { width: 66.666667%; }
1195
- .xl\:w-1\/4 { width: 25%; }
1196
- .xl\:w-3\/4 { width: 75%; }
1197
- .xl\:w-1\/5 { width: 20%; }
1198
- .xl\:w-2\/5 { width: 40%; }
1199
- .xl\:w-3\/5 { width: 60%; }
1200
- .xl\:w-4\/5 { width: 80%; }
1201
-
1202
- .xl\:h-full { height: 100%; }
1203
- .xl\:h-auto { height: auto; }
1204
- .xl\:h-screen { height: 100vh; }
1205
- }
1206
-
1207
- /* Landscape/Portrait Orientation Utilities */
1208
- @media (orientation: landscape) {
1209
- .landscape\:flex-row { flex-direction: row; }
1210
- .landscape\:hidden { display: none; }
1211
- }
1212
-
1213
- @media (orientation: portrait) {
1214
- .portrait\:flex-col { flex-direction: column; }
1215
- .portrait\:hidden { display: none; }
1216
- }
1217
-
1218
- /* High DPI Display Utilities */
1219
- @media (min-resolution: 2dppx), (min-resolution: 192dpi) {
1220
- .retina\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
1221
- .retina\:border { border-width: 0.5px; }
1222
- }
1223
-
1224
- /* Reduced Motion Support */
1225
- @media (prefers-reduced-motion: reduce) {
1226
- .motion-reduce\:transition-none {
1227
- transition-property: none;
1228
- }
1229
- }
1230
-
1231
- /* Dark Mode Utilities */
1232
- @media (prefers-color-scheme: dark) {
1233
- .dark\:text-white { color: #fff; }
1234
- .dark\:text-gray-200 { color: #e5e7eb; }
1235
- .dark\:text-gray-300 { color: #d1d5db; }
1236
- .dark\:bg-gray-900 { background-color: #111827; }
1237
- .dark\:bg-gray-800 { background-color: #1f2937; }
1238
- .dark\:bg-gray-700 { background-color: #374151; }
1239
- .dark\:border-gray-700 { border-color: #374151; }
1240
- .dark\:border-gray-600 { border-color: #4b5563; }
1241
- }
1242
-
1243
- /* Light Mode Utilities */
1244
- @media (prefers-color-scheme: light) {
1245
- .light\:text-black { color: #000; }
1246
- .light\:text-gray-800 { color: #1f2937; }
1247
- .light\:text-gray-700 { color: #374151; }
1248
- .light\:bg-white { background-color: #fff; }
1249
- .light\:bg-gray-50 { background-color: #f9fafb; }
1250
- .light\:bg-gray-100 { background-color: #f3f4f6; }
1251
- .light\:border-gray-300 { border-color: #d1d5db; }
1252
- .light\:border-gray-200 { border-color: #e5e7eb; }
1253
- }
1254
- /*!
1255
- * QuantumCSS Component Utilities & Variants
1256
- * Advanced component patterns, states, and interactive utilities
1257
- */
1258
-
1259
- /* Hover State Utilities */
1260
- .hover\:text-primary:hover { color: var(--color-primary); }
1261
- .hover\:text-secondary:hover { color: var(--color-secondary); }
1262
- .hover\:text-white:hover { color: #fff; }
1263
- .hover\:text-black:hover { color: #000; }
1264
-
1265
- .hover\:bg-primary:hover { background-color: var(--color-primary); }
1266
- .hover\:bg-secondary:hover { background-color: var(--color-secondary); }
1267
- .hover\:bg-gray-100:hover { background-color: #f3f4f6; }
1268
- .hover\:bg-gray-200:hover { background-color: #e5e7eb; }
1269
-
1270
- .hover\:border-primary:hover { border-color: var(--color-primary); }
1271
- .hover\:border-secondary:hover { border-color: var(--color-secondary); }
1272
-
1273
- .hover\:shadow-lg:hover { box-shadow: var(--shadow-lg); }
1274
- .hover\:shadow-xl:hover { box-shadow: var(--shadow-xl); }
1275
-
1276
- .hover\:scale-105:hover { transform: scale(1.05); }
1277
- .hover\:scale-110:hover { transform: scale(1.1); }
1278
- .hover\:scale-95:hover { transform: scale(0.95); }
1279
-
1280
- .hover\:rotate-90:hover { transform: rotate(90deg); }
1281
- .hover\:rotate-180:hover { transform: rotate(180deg); }
1282
-
1283
- .hover\:opacity-75:hover { opacity: 0.75; }
1284
- .hover\:opacity-50:hover { opacity: 0.5; }
1285
- .hover\:opacity-100:hover { opacity: 1; }
1286
-
1287
- /* Focus State Utilities */
1288
- .focus\:outline-none:focus { outline: none; }
1289
- .focus\:outline:focus { outline: 2px solid; outline-offset: 2px; }
1290
- .focus\:outline-primary:focus { outline-color: var(--color-primary); }
1291
- .focus\:outline-secondary:focus { outline-color: var(--color-secondary); }
1292
-
1293
- .focus\:ring:focus { box-shadow: 0 0 0 3px; }
1294
- .focus\:ring-primary:focus { box-shadow: 0 0 0 3px var(--color-primary); }
1295
- .focus\:ring-secondary:focus { box-shadow: 0 0 0 3px var(--color-secondary); }
1296
-
1297
- .focus\:border-primary:focus { border-color: var(--color-primary); }
1298
- .focus\:border-secondary:focus { border-color: var(--color-secondary); }
1299
-
1300
- /* Active State Utilities */
1301
- .active\:scale-95:active { transform: scale(0.95); }
1302
- .active\:scale-90:active { transform: scale(0.9); }
1303
-
1304
- .active\:bg-primary:active { background-color: var(--color-primary); }
1305
- .active\:bg-secondary:active { background-color: var(--color-secondary); }
1306
-
1307
- /* Disabled State Utilities */
1308
- .disabled\:opacity-50:disabled { opacity: 0.5; }
1309
- .disabled\:opacity-75:disabled { opacity: 0.75; }
1310
- .disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
1311
- .disabled\:pointer-events-none:disabled { pointer-events: none; }
1312
-
1313
- /* Group Hover Utilities */
1314
- .group:hover .group-hover\:text-primary { color: var(--color-primary); }
1315
- .group:hover .group-hover\:text-white { color: #fff; }
1316
-
1317
- .group:hover .group-hover\:bg-primary { background-color: var(--color-primary); }
1318
- .group:hover .group-hover\:bg-secondary { background-color: var(--color-secondary); }
1319
-
1320
- .group:hover .group-hover\:opacity-100 { opacity: 1; }
1321
- .group:hover .group-hover\:scale-110 { transform: scale(1.1); }
1322
-
1323
- /* Component-Specific Utilities */
1324
-
1325
- /* Button Variants */
1326
- .btn {
1327
- display: inline-flex;
1328
- align-items: center;
1329
- justify-content: center;
1330
- padding: var(--space-2) var(--space-4);
1331
- border-radius: var(--radius-md);
1332
- font-weight: 500;
1333
- transition: all var(--duration-150) var(--ease-in-out);
1334
- cursor: pointer;
1335
- border: 1px solid transparent;
1336
- text-decoration: none;
1337
- font-family: inherit;
1338
- }
1339
-
1340
- .btn:disabled {
1341
- opacity: 0.5;
1342
- cursor: not-allowed;
1343
- pointer-events: none;
1344
- }
1345
-
1346
- .btn-primary {
1347
- background-color: var(--color-primary);
1348
- color: white;
1349
- border-color: var(--color-primary);
1350
- }
1351
-
1352
- .btn-primary:hover {
1353
- background-color: var(--color-primary-600);
1354
- border-color: var(--color-primary-600);
1355
- }
1356
-
1357
- .btn-secondary {
1358
- background-color: rgb(255 255 255 / 8%);
1359
- color: #ffffff !important;
1360
- border: 1px solid rgb(255 255 255 / 15%);
1361
- backdrop-filter: blur(12px);
1362
- -webkit-backdrop-filter: blur(12px);
1363
- }
1364
-
1365
- .btn-secondary:hover {
1366
- background-color: rgb(255 255 255 / 10%);
1367
- }
1368
-
1369
- body.light-mode .btn-secondary,
1370
- html[data-theme="light"] .btn-secondary {
1371
- background-color: rgb(0 0 0 / 3%);
1372
- color: #1e293b !important;
1373
- border-color: rgb(0 0 0 / 10%);
1374
- }
1375
-
1376
- .btn-outline {
1377
- background-color: transparent;
1378
- color: var(--color-primary);
1379
- border-color: var(--color-primary);
1380
- }
1381
-
1382
- .btn-outline:hover {
1383
- background-color: var(--color-primary);
1384
- color: white;
1385
- }
1386
-
1387
- .btn-ghost {
1388
- background-color: transparent;
1389
- color: var(--color-primary);
1390
- border-color: transparent;
1391
- }
1392
-
1393
- .btn-ghost:hover {
1394
- background-color: var(--color-primary-100);
1395
- }
1396
-
1397
- .btn-sm {
1398
- padding: var(--space-1) var(--space-3);
1399
- font-size: 0.875rem;
1400
- }
1401
-
1402
- .btn-lg {
1403
- padding: var(--space-3) var(--space-6);
1404
- font-size: 1.125rem;
1405
- }
1406
-
1407
- .btn-xl {
1408
- padding: var(--space-4) var(--space-8);
1409
- font-size: 1.25rem;
1410
- }
1411
-
1412
- /* Card Component */
1413
- .card {
1414
- background-color: white;
1415
- color: #1e293b;
1416
- border-radius: var(--radius-lg);
1417
- box-shadow: var(--shadow-md);
1418
- overflow: hidden;
1419
- transition: all var(--duration-200) var(--ease-in-out);
1420
- }
1421
-
1422
- body.light-mode .card {
1423
- background-color: white;
1424
- color: #1e293b;
1425
- }
1426
-
1427
- .card:hover {
1428
- box-shadow: var(--shadow-lg);
1429
- transform: translateY(-2px);
1430
- }
1431
-
1432
- .card-header {
1433
- padding: var(--space-6);
1434
- border-bottom: 1px solid #e5e7eb;
1435
- }
1436
-
1437
- .card-body {
1438
- padding: var(--space-6);
1439
- }
1440
-
1441
- .card-footer {
1442
- padding: var(--space-6);
1443
- border-top: 1px solid #e5e7eb;
1444
- background-color: #f9fafb;
1445
- color: #1e293b;
1446
- }
1447
-
1448
- body.light-mode .card-footer {
1449
- background-color: #f9fafb;
1450
- color: #1e293b;
1451
- }
1452
-
1453
- /* Input Component */
1454
- .input {
1455
- display: block;
1456
- width: 100%;
1457
- padding: var(--space-2) var(--space-3);
1458
- border: 1px solid #d1d5db;
1459
- border-radius: var(--radius-md);
1460
- background-color: white;
1461
- color: #1e293b;
1462
- font-size: 1rem;
1463
- transition: all var(--duration-150) var(--ease-in-out);
1464
- }
1465
-
1466
- body.light-mode .input {
1467
- background-color: white;
1468
- color: #1e293b;
1469
- }
1470
-
1471
- textarea.input {
1472
- min-height: 100px;
1473
- }
1474
-
1475
- .input:focus {
1476
- outline: none;
1477
- border-color: var(--color-primary);
1478
- box-shadow: 0 0 0 3px var(--color-primary);
1479
- }
1480
-
1481
- /* Date & Time Input Specifics */
1482
- input[type="date"].input,
1483
- input[type="datetime-local"].input,
1484
- input[type="time"].input {
1485
- appearance: none;
1486
- -webkit-appearance: none;
1487
- min-height: 2.5rem;
1488
- display: inline-flex;
1489
- align-items: center;
1490
- }
1491
-
1492
- /* Ensure dark-mode calendar picker */
1493
- .glass input[type="date"],
1494
- .starlight-card input[type="date"],
1495
- [class*="dark"] input[type="date"] {
1496
- color-scheme: dark;
1497
- }
1498
-
1499
- /* Fix for alignment in flex containers */
1500
- input[type="date"]::-webkit-calendar-picker-indicator {
1501
- cursor: pointer;
1502
- filter: invert(0.5);
1503
- margin-left: 0.5rem;
1504
- }
1505
-
1506
- .input:disabled {
1507
- background-color: #f3f4f6;
1508
- color: #6b7280;
1509
- cursor: not-allowed;
1510
- }
1511
-
1512
- body.light-mode .input:disabled {
1513
- background-color: #f3f4f6;
1514
- color: #6b7280;
1515
- }
1516
-
1517
- .input-error {
1518
- border-color: var(--color-error);
1519
- }
1520
-
1521
- .input-error:focus {
1522
- border-color: var(--color-error);
1523
- box-shadow: 0 0 0 3px var(--color-error);
1524
- }
1525
-
1526
- /* Badge Component */
1527
- .badge {
1528
- display: inline-flex;
1529
- align-items: center;
1530
- padding: 0.25rem 0.75rem;
1531
- border-radius: 0.375rem;
1532
- font-size: 0.75rem;
1533
- font-weight: 600;
1534
- text-transform: uppercase;
1535
- letter-spacing: 0.05em;
1536
- border: 1px solid;
1537
- backdrop-filter: blur(4px);
1538
- -webkit-backdrop-filter: blur(4px);
1539
- }
1540
-
1541
- .badge-primary {
1542
- background-color: rgb(0 212 255 / 15%);
1543
- color: #00d4ff;
1544
- border-color: rgb(0 212 255 / 30%);
1545
- }
1546
-
1547
- .badge-secondary {
1548
- background-color: rgb(255 255 255 / 5%);
1549
- color: rgb(255 255 255 / 80%);
1550
- border-color: rgb(255 255 255 / 10%);
1551
- }
1552
-
1553
- .badge-success {
1554
- background-color: rgb(16 185 129 / 15%);
1555
- color: #10b981;
1556
- border-color: rgb(16 185 129 / 30%);
1557
- }
1558
-
1559
- .badge-warning {
1560
- background-color: rgb(245 158 11 / 15%);
1561
- color: #f59e0b;
1562
- border-color: rgb(245 158 11 / 30%);
1563
- }
1564
-
1565
- .badge-error {
1566
- background-color: rgb(239 68 68 / 15%);
1567
- color: #ef4444;
1568
- border-color: rgb(239 68 68 / 30%);
1569
- }
1570
-
1571
- /* Light Mode Overrides for Badges */
1572
- html[data-theme="light"] .badge-primary {
1573
- background-color: rgb(59 130 246 / 10%);
1574
- color: #2563eb;
1575
- border-color: rgb(59 130 246 / 20%);
1576
- }
1577
-
1578
- html[data-theme="light"] .badge-secondary {
1579
- background-color: rgb(0 0 0 / 5%);
1580
- color: #475569;
1581
- border-color: rgb(0 0 0 / 10%);
1582
- }
1583
-
1584
- html[data-theme="light"] .badge-success {
1585
- background-color: rgb(16 185 129 / 10%);
1586
- color: #059669;
1587
- border-color: rgb(16 185 129 / 20%);
1588
- }
1589
-
1590
- html[data-theme="light"] .badge-warning {
1591
- background-color: rgb(245 158 11 / 10%);
1592
- color: #d97706;
1593
- border-color: rgb(245 158 11 / 20%);
1594
- }
1595
-
1596
- html[data-theme="light"] .badge-error {
1597
- background-color: rgb(239 68 68 / 10%);
1598
- color: #dc2626;
1599
- border-color: rgb(239 68 68 / 20%);
1600
- }
1601
-
1602
- /* Alert Component */
1603
- .alert {
1604
- padding: var(--space-4);
1605
- border-radius: var(--radius-md);
1606
- border: 1px solid;
1607
- }
1608
-
1609
- .alert-success {
1610
- background-color: #d1fae5;
1611
- border-color: #6ee7b7;
1612
- color: #065f46;
1613
- }
1614
-
1615
- .alert-warning {
1616
- background-color: #fed7aa;
1617
- border-color: #fbbf24;
1618
- color: #92400e;
1619
- }
1620
-
1621
- .alert-error {
1622
- background-color: #fee2e2;
1623
- border-color: #f87171;
1624
- color: #991b1b;
1625
- }
1626
-
1627
- .alert-info {
1628
- background-color: #dbeafe;
1629
- border-color: #60a5fa;
1630
- color: #1e40af;
1631
- }
1632
-
1633
- /* Modal Component */
1634
- .modal-overlay {
1635
- position: fixed;
1636
- inset: 0;
1637
- background-color: rgb(0 0 0 / 50%);
1638
- display: flex;
1639
- align-items: center;
1640
- justify-content: center;
1641
- z-index: 50;
1642
- }
1643
-
1644
- .modal-content {
1645
- background-color: white;
1646
- color: #1e293b;
1647
- border-radius: var(--radius-lg);
1648
- box-shadow: var(--shadow-2xl);
1649
- max-width: 90vw;
1650
- max-height: 90vh;
1651
- overflow-y: auto;
1652
- }
1653
-
1654
- body.light-mode .modal-content {
1655
- background-color: white;
1656
- color: #1e293b;
1657
- }
1658
-
1659
- /* Loading Spinner */
1660
- .spinner {
1661
- display: inline-block;
1662
- width: 1.5rem;
1663
- height: 1.5rem;
1664
- border: 2px solid rgb(255 255 255 / 10%);
1665
- border-top-color: var(--color-primary);
1666
- border-radius: 50%;
1667
- animation: spin 1s linear infinite;
1668
- }
1669
-
1670
- @keyframes spin {
1671
- to { transform: rotate(360deg); }
1672
- }
1673
-
1674
- /* Skeleton Loading */
1675
- .skeleton {
1676
- background: linear-gradient(90deg, rgb(255 255 255 / 5%) 25%, rgb(255 255 255 / 10%) 50%, rgb(255 255 255 / 5%) 75%);
1677
- background-size: 200% 100%;
1678
- animation: shimmer 2s infinite;
1679
- border-radius: var(--radius-md);
1680
- }
1681
-
1682
- @keyframes shimmer {
1683
- 0% { background-position: 200% 0; }
1684
- 100% { background-position: -200% 0; }
1685
- }
1686
-
1687
- body.light-mode .skeleton {
1688
- background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
1689
- background-size: 200% 100%;
1690
- }
1691
-
1692
- /* Tooltip Component */
1693
- .tooltip {
1694
- position: relative;
1695
- }
1696
-
1697
- .tooltip-content {
1698
- position: absolute;
1699
- bottom: 100%;
1700
- left: 50%;
1701
- transform: translateX(-50%);
1702
- background-color: #1f2937;
1703
- color: white;
1704
- padding: var(--space-1) var(--space-2);
1705
- border-radius: var(--radius-md);
1706
- font-size: 0.875rem;
1707
- white-space: nowrap;
1708
- opacity: 0;
1709
- visibility: hidden;
1710
- transition: all var(--duration-150) var(--ease-in-out);
1711
- z-index: 10;
1712
- margin-bottom: var(--space-1);
1713
- }
1714
-
1715
- .tooltip:hover .tooltip-content {
1716
- opacity: 1;
1717
- visibility: visible;
1718
- }
1719
-
1720
- /* Dropdown Component */
1721
- .dropdown {
1722
- position: relative;
1723
- display: inline-block;
1724
- }
1725
-
1726
- .dropdown-content {
1727
- position: absolute;
1728
- top: 100%;
1729
- left: 0;
1730
- background-color: white;
1731
- color: #1e293b;
1732
- border: 1px solid #e5e7eb;
1733
- border-radius: var(--radius-md);
1734
- box-shadow: var(--shadow-lg);
1735
- min-width: 200px;
1736
- z-index: 20;
1737
- opacity: 0;
1738
- visibility: hidden;
1739
- transform: translateY(-10px);
1740
- transition: all var(--duration-150) var(--ease-in-out);
1741
- }
1742
-
1743
- body.light-mode .dropdown-content {
1744
- background-color: white;
1745
- color: #1e293b;
1746
- }
1747
-
1748
- .dropdown.active .dropdown-content {
1749
- opacity: 1;
1750
- visibility: visible;
1751
- transform: translateY(0);
1752
- }
1753
-
1754
- .dropdown-item {
1755
- display: block;
1756
- width: 100%;
1757
- padding: var(--space-2) var(--space-3);
1758
- text-align: left;
1759
- background: none;
1760
- border: none;
1761
- cursor: pointer;
1762
- color: #1e293b;
1763
- transition: background-color var(--duration-150) var(--ease-in-out);
1764
- }
1765
-
1766
- .dropdown-item:hover {
1767
- background-color: #f3f4f6;
1768
- color: #1e293b;
1769
- }
1770
-
1771
- body.light-mode .dropdown-item {
1772
- color: #1e293b;
1773
- }
1774
-
1775
- body.light-mode .dropdown-item:hover {
1776
- background-color: #f3f4f6;
1777
- color: #1e293b;
1778
- }
1779
-
1780
- /* Accordion Component */
1781
- .accordion-item {
1782
- border: 1px solid #e5e7eb;
1783
- border-radius: var(--radius-md);
1784
- margin-bottom: var(--space-2);
1785
- overflow: hidden;
1786
- }
1787
-
1788
- .accordion-header {
1789
- padding: var(--space-4);
1790
- background-color: #f9fafb;
1791
- color: #1e293b;
1792
- cursor: pointer;
1793
- display: flex;
1794
- justify-content: space-between;
1795
- align-items: center;
1796
- transition: background-color var(--duration-150) var(--ease-in-out);
1797
- }
1798
-
1799
- .accordion-header:hover {
1800
- background-color: #f3f4f6;
1801
- color: #1e293b;
1802
- }
1803
-
1804
- .accordion-content {
1805
- padding: var(--space-4);
1806
- background-color: white;
1807
- color: #1e293b;
1808
- max-height: 0;
1809
- overflow: hidden;
1810
- transition: max-height var(--duration-300) var(--ease-in-out);
1811
- }
1812
-
1813
- body.light-mode .accordion-header {
1814
- background-color: #f9fafb;
1815
- color: #1e293b;
1816
- }
1817
-
1818
- body.light-mode .accordion-header:hover {
1819
- background-color: #f3f4f6;
1820
- color: #1e293b;
1821
- }
1822
-
1823
- body.light-mode .accordion-content {
1824
- background-color: white;
1825
- color: #1e293b;
1826
- }
1827
-
1828
- .accordion-item.active .accordion-content {
1829
- max-height: 500px;
1830
- }
1831
-
1832
- .accordion-item.active .accordion-icon {
1833
- transform: rotate(180deg);
1834
- }
1835
-
1836
- .accordion-icon {
1837
- transition: transform var(--duration-300) var(--ease-in-out);
1838
- }
1839
-
1840
- /* Tab Component */
1841
- .tab-list {
1842
- display: flex;
1843
- border-bottom: 1px solid rgb(255 255 255 / 10%);
1844
- }
1845
-
1846
- .tab-button {
1847
- padding: var(--space-3) var(--space-4);
1848
- background: none;
1849
- border: none;
1850
- cursor: pointer;
1851
- border-bottom: 2px solid transparent;
1852
- color: var(--text-secondary);
1853
- font-weight: 500;
1854
- transition: all var(--duration-150) var(--ease-in-out);
1855
- }
1856
-
1857
- .tab-button:hover {
1858
- background-color: rgb(255 255 255 / 5%);
1859
- color: var(--text-primary);
1860
- }
1861
-
1862
- .tab-button.active {
1863
- border-bottom-color: var(--color-starlight-blue);
1864
- color: var(--color-starlight-blue);
1865
- }
1866
-
1867
- body.light-mode .tab-list {
1868
- border-bottom-color: #e2e8f0;
1869
- }
1870
-
1871
- body.light-mode .tab-button {
1872
- color: #64748b;
1873
- }
1874
-
1875
- body.light-mode .tab-button:hover {
1876
- background-color: #f1f5f9;
1877
- color: #0f172a;
1878
- }
1879
-
1880
- body.light-mode .tab-button.active {
1881
- border-bottom-color: var(--color-primary);
1882
- color: var(--color-primary);
1883
- }
1884
-
1885
- .tab-content {
1886
- padding: var(--space-4);
1887
- }
1888
-
1889
- .tab-panel {
1890
- display: none;
1891
- }
1892
-
1893
- .tab-panel.active {
1894
- display: block;
1895
- }
1896
-
1897
- /* Progress Component */
1898
- .progress {
1899
- width: 100%;
1900
- height: 0.5rem;
1901
- background-color: #e5e7eb;
1902
- border-radius: var(--radius-full);
1903
- overflow: hidden;
1904
- }
1905
-
1906
- .progress-bar {
1907
- height: 100%;
1908
- background-color: var(--color-primary);
1909
- transition: width var(--duration-300) var(--ease-in-out);
1910
- }
1911
-
1912
- /* Toggle Switch */
1913
- .toggle {
1914
- position: relative;
1915
- display: inline-block;
1916
- width: 3rem;
1917
- height: 1.5rem;
1918
- }
1919
-
1920
- .toggle-input {
1921
- opacity: 0;
1922
- width: 0;
1923
- height: 0;
1924
- }
1925
-
1926
- .toggle-slider {
1927
- position: absolute;
1928
- cursor: pointer;
1929
- inset: 0;
1930
- background-color: #cbd5e1;
1931
- transition: background-color var(--duration-150) var(--ease-in-out);
1932
- border-radius: var(--radius-full);
1933
- }
1934
-
1935
- .toggle-slider::before {
1936
- position: absolute;
1937
- content: "";
1938
- height: 1.25rem;
1939
- width: 1.25rem;
1940
- left: 0.125rem;
1941
- bottom: 0.125rem;
1942
- background-color: white;
1943
- transition: transform var(--duration-150) var(--ease-in-out);
1944
- border-radius: 50%;
1945
- }
1946
-
1947
- .toggle-input:checked + .toggle-slider {
1948
- background-color: var(--color-primary);
1949
- }
1950
-
1951
- .toggle-input:checked + .toggle-slider::before {
1952
- transform: translateX(1.5rem);
1953
- }
1954
-
1955
- /* Animation Utilities */
1956
- .animate-pulse {
1957
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1958
- }
1959
-
1960
- @keyframes pulse {
1961
- 0%, 100% { opacity: 1; }
1962
- 50% { opacity: 0.5; }
1963
- }
1964
-
1965
- .animate-bounce {
1966
- animation: bounce 1s infinite;
1967
- }
1968
-
1969
- @keyframes bounce {
1970
- 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
1971
- 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
1972
- }
1973
-
1974
- .animate-fade-in {
1975
- animation: fadeIn var(--duration-500) var(--ease-in-out);
1976
- }
1977
-
1978
- @keyframes fadeIn {
1979
- from { opacity: 0; }
1980
- to { opacity: 1; }
1981
- }
1982
-
1983
- .animate-slide-up {
1984
- animation: slideUp var(--duration-300) var(--ease-out);
1985
- }
1986
-
1987
- @keyframes slideUp {
1988
- from { transform: translateY(20px); opacity: 0; }
1989
- to { transform: translateY(0); opacity: 1; }
1990
- }
1991
-
1992
- .animate-slide-down {
1993
- animation: slideDown var(--duration-300) var(--ease-out);
1994
- }
1995
-
1996
- @keyframes slideDown {
1997
- from { transform: translateY(-20px); opacity: 0; }
1998
- to { transform: translateY(0); opacity: 1; }
1999
- }
2000
-
2001
- /* Table Component */
2002
- .table-wrapper {
2003
- width: 100%;
2004
- overflow-x: auto;
2005
- -webkit-overflow-scrolling: touch;
2006
- }
2007
-
2008
- .table-wrapper::-webkit-scrollbar {
2009
- height: 8px;
2010
- }
2011
-
2012
- .table-wrapper::-webkit-scrollbar-track {
2013
- background: rgb(255 255 255 / 5%);
2014
- border-radius: 4px;
2015
- }
2016
-
2017
- .table-wrapper::-webkit-scrollbar-thumb {
2018
- background: var(--color-starlight-blue, #3b82f6);
2019
- border-radius: 4px;
2020
- }
2021
-
2022
- body.light-mode .table-wrapper::-webkit-scrollbar-track {
2023
- background: rgb(0 0 0 / 5%);
2024
- }
2025
-
2026
- .table {
2027
- width: 100%;
2028
- border-collapse: collapse;
2029
- font-size: 0.875rem;
2030
- text-align: left;
2031
- color: var(--text-primary);
2032
- }
2033
-
2034
- .table th {
2035
- padding: var(--space-3) var(--space-4);
2036
- font-weight: 600;
2037
- background-color: rgb(255 255 255 / 5%);
2038
- border-bottom: 2px solid rgb(255 255 255 / 10%);
2039
- color: var(--text-primary);
2040
- }
2041
-
2042
- .table td {
2043
- padding: var(--space-3) var(--space-4);
2044
- border-bottom: 1px solid rgb(255 255 255 / 10%);
2045
- color: var(--text-secondary);
2046
- }
2047
-
2048
- .table tbody tr:hover {
2049
- background-color: rgb(255 255 255 / 3%);
2050
- }
2051
-
2052
- /* Light Mode Table Styles */
2053
- body.light-mode .table th {
2054
- background-color: #f8fafc;
2055
- border-bottom-color: #e2e8f0;
2056
- color: #0f172a;
2057
- }
2058
-
2059
- body.light-mode .table td {
2060
- border-bottom-color: #e2e8f0;
2061
- color: #334155;
2062
- }
2063
-
2064
- body.light-mode .table tbody tr:hover {
2065
- background-color: #f1f5f9;
2066
- }
2067
-
2068
- /* Overflow Utility */
2069
- .overflow-x-auto {
2070
- overflow-x: auto;
2071
- }
2072
-
2073
- .overflow-y-auto {
2074
- overflow-y: auto;
2075
- }
2076
- /* Cosmic Animation Library */
2077
-
2078
- @keyframes nebula-drift {
2079
- 0% { transform: translate(-5%, -5%) scale(1); opacity: 0.4; }
2080
- 50% { transform: translate(5%, 5%) scale(1.2); opacity: 0.7; }
2081
- 100% { transform: translate(-5%, -5%) scale(1); opacity: 0.4; }
2082
- }
2083
-
2084
- @keyframes cosmic-pulse {
2085
- 0%, 100% { box-shadow: 0 0 20px rgb(0 212 255 / 20%), 0 0 40px rgb(0 212 255 / 10%); }
2086
- 50% { box-shadow: 0 0 40px rgb(0 212 255 / 50%), 0 0 80px rgb(0 212 255 / 20%); }
2087
- }
2088
-
2089
- @keyframes star-twinkle {
2090
- 0%, 100% { opacity: 0.3; transform: scale(0.8); }
2091
- 50% { opacity: 1; transform: scale(1.2); }
2092
- }
2093
-
2094
- @keyframes orbit {
2095
- from { transform: rotate(0deg) translateX(20px) rotate(0deg); }
2096
- to { transform: rotate(360deg) translateX(20px) rotate(-360deg); }
2097
- }
2098
-
2099
- @keyframes svg-draw {
2100
- from { stroke-dashoffset: 1000; }
2101
- to { stroke-dashoffset: 0; }
2102
- }
2103
-
2104
- @keyframes float-y {
2105
- 0%, 100% { transform: translateY(0); }
2106
- 50% { transform: translateY(-20px); }
2107
- }
2108
-
2109
- /* Animation Classes */
2110
-
2111
- .ani-nebula {
2112
- animation: nebula-drift 20s ease-in-out infinite;
2113
- will-change: transform, opacity;
2114
- }
2115
-
2116
- .ani-cosmic-pulse {
2117
- animation: cosmic-pulse 4s ease-in-out infinite;
2118
- }
2119
-
2120
- .ani-twinkle {
2121
- animation: star-twinkle var(--twinkle-duration, 3s) ease-in-out infinite;
2122
- }
2123
-
2124
- .ani-orbit {
2125
- animation: orbit var(--orbit-duration, 10s) linear infinite;
2126
- }
2127
-
2128
- .ani-svg-draw {
2129
- stroke-dasharray: 1000;
2130
- stroke-dashoffset: 1000;
2131
- animation: svg-draw 3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
2132
- }
2133
-
2134
- .ani-float {
2135
- animation: float-y 6s ease-in-out infinite;
2136
- }
2137
-
2138
- .ani-fade-in {
2139
- animation: fadeIn 0.3s ease-out forwards;
2140
- }
2141
-
2142
- .ani-slide-up {
2143
- animation: slideUp 0.3s ease-out forwards;
2144
- }
2145
-
2146
- .ani-slide-down {
2147
- animation: slideDown 0.3s ease-out forwards;
2148
- }
2149
-
2150
- .ani-scale-in {
2151
- animation: scaleIn 0.2s ease-out forwards;
2152
- }
2153
-
2154
- .ani-spin {
2155
- animation: spin 1s linear infinite;
2156
- }
2157
-
2158
- /* Staggered Animations */
2159
- .ani-stagger-1 { animation-delay: 0.1s; }
2160
- .ani-stagger-2 { animation-delay: 0.2s; }
2161
- .ani-stagger-3 { animation-delay: 0.3s; }
2162
- .ani-stagger-4 { animation-delay: 0.4s; }
2163
- .ani-stagger-5 { animation-delay: 0.5s; }
2164
-
2165
- /* Speed Modifiers */
2166
- .ani-fast { animation-duration: 0.5s !important; }
2167
- .ani-slow { animation-duration: 8s !important; }
2168
- .ani-slower { animation-duration: 15s !important; }
2169
-
2170
- /* Keyframes */
2171
- @keyframes fadeIn {
2172
- from { opacity: 0; }
2173
- to { opacity: 1; }
2174
- }
2175
-
2176
- @keyframes slideUp {
2177
- from { opacity: 0; transform: translateY(20px); }
2178
- to { opacity: 1; transform: translateY(0); }
2179
- }
2180
-
2181
- @keyframes slideDown {
2182
- from { opacity: 0; transform: translateY(-20px); }
2183
- to { opacity: 1; transform: translateY(0); }
2184
- }
2185
-
2186
- @keyframes scaleIn {
2187
- from { opacity: 0; transform: scale(0.95); }
2188
- to { opacity: 1; transform: scale(1); }
2189
- }
2190
-
2191
- @keyframes spin {
2192
- from { transform: rotate(0deg); }
2193
- to { transform: rotate(360deg); }
2194
- }
2195
-
2196
- @keyframes ping {
2197
- 75%, 100% {
2198
- transform: scale(2);
2199
- opacity: 0;
2200
- }
2201
- }
2202
-
2203
- @keyframes pulse {
2204
- 0%, 100% { opacity: 1; }
2205
- 50% { opacity: 0.5; }
2206
- }
2207
-
2208
- @keyframes bounce {
2209
- 0%, 100% {
2210
- transform: translateY(-25%);
2211
- animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
2212
- }
2213
-
2214
- 50% {
2215
- transform: none;
2216
- animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
2217
- }
2218
- }
2219
-
2220
- /* Starlight UI - Premium Components */
2221
-
2222
- /* Links */
2223
- a {
2224
- color: var(--color-starlight-blue);
2225
- text-decoration: none;
2226
- transition: all var(--transition-base);
2227
- position: relative;
2228
- }
2229
-
2230
- a:hover {
2231
- color: var(--color-starlight-peach);
2232
- text-shadow: 0 0 8px rgb(255 179 138 / 40%);
2233
- }
2234
-
2235
- a:active {
2236
- transform: scale(0.98);
2237
- }
2238
-
2239
- html[data-theme="light"] a {
2240
- color: var(--color-starlight-blue);
2241
- }
2242
-
2243
- html[data-theme="light"] a:hover {
2244
- color: var(--color-starlight-peach);
2245
- }
2246
-
2247
- /* 1. Starlight Card */
2248
- .starlight-card {
2249
- background: var(--glass-bg);
2250
- border: 1px solid var(--glass-border);
2251
- border-radius: var(--radius-2xl);
2252
- padding: var(--space-10);
2253
- backdrop-filter: var(--glass-blur);
2254
- -webkit-backdrop-filter: var(--glass-blur);
2255
- position: relative;
2256
- transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
2257
- }
2258
-
2259
- .starlight-card:hover {
2260
- border-color: rgb(0 212 255 / 40%);
2261
- transform: translateY(-4px);
2262
- box-shadow: 0 12px 40px rgb(0 0 0 / 40%), 0 0 20px rgb(0 212 255 / 10%);
2263
- background-color: rgb(255 255 255 / 4%);
2264
- }
2265
-
2266
- html[data-theme="light"] .starlight-card {
2267
- background: var(--light-card-bg);
2268
- border-color: var(--light-card-border);
2269
- color: #334155;
2270
- box-shadow: 0 4px 20px rgb(0 0 0 / 2%);
2271
- }
2272
-
2273
- /* 2. Checkboxes & Radio Buttons */
2274
- .checkbox-starlight, .radio-starlight {
2275
- appearance: none;
2276
- width: 1.25rem;
2277
- height: 1.25rem;
2278
- background: rgb(255 255 255 / 5%);
2279
- border: 1px solid rgb(255 255 255 / 20%);
2280
- border-radius: 0.375rem;
2281
- cursor: pointer;
2282
- transition: all 0.2s ease;
2283
- display: inline-flex;
2284
- align-items: center;
2285
- justify-content: center;
2286
- position: relative;
2287
- }
2288
-
2289
- .radio-starlight { border-radius: 50%; }
2290
-
2291
- html[data-theme="light"] .checkbox-starlight,
2292
- html[data-theme="light"] .radio-starlight {
2293
- border-color: rgb(0 0 0 / 20%);
2294
- background: rgb(0 0 0 / 5%);
2295
- }
2296
-
2297
- .checkbox-starlight:checked, .radio-starlight:checked {
2298
- background: var(--color-starlight-blue);
2299
- border-color: var(--color-starlight-blue);
2300
- }
2301
-
2302
- .checkbox-starlight:checked::after {
2303
- content: '✓';
2304
- color: black;
2305
- font-size: 0.8rem;
2306
- font-weight: 900;
2307
- }
2308
-
2309
- .radio-starlight:checked::after {
2310
- content: '';
2311
- width: 0.5rem;
2312
- height: 0.5rem;
2313
- background: black;
2314
- border-radius: 50%;
2315
- }
2316
-
2317
- /* 3. Tooltips */
2318
- .has-tooltip {
2319
- position: relative;
2320
- }
2321
-
2322
- .has-tooltip .tooltip {
2323
- position: absolute;
2324
- bottom: 125%;
2325
- left: 50%;
2326
- transform: translateX(-50%) translateY(10px);
2327
- padding: 0.5rem 0.75rem;
2328
- background-color: rgb(10 10 30 / 98%);
2329
- backdrop-filter: blur(12px);
2330
- border: 1px solid rgb(0 212 255 / 30%);
2331
- border-radius: 0.5rem;
2332
- color: #f1f5f9;
2333
- font-size: 0.75rem;
2334
- white-space: nowrap;
2335
- pointer-events: none;
2336
- opacity: 0;
2337
- transition: all 0.2s ease;
2338
- z-index: 800;
2339
- box-shadow: 0 4px 15px rgb(0 0 0 / 40%);
2340
- }
2341
-
2342
- .has-tooltip:hover .tooltip {
2343
- opacity: 1;
2344
- transform: translateX(-50%) translateY(0);
2345
- }
2346
-
2347
- /* 4. Starlight Stars (Atmospheric Background) */
2348
- .starlight-stars {
2349
- position: fixed;
2350
- top: 0; left: 0; width: 100%; height: 100%;
2351
- pointer-events: none;
2352
- z-index: 0;
2353
- overflow: hidden;
2354
- }
2355
-
2356
- .star {
2357
- position: absolute;
2358
- background: white;
2359
- border-radius: 50%;
2360
- opacity: 0.3;
2361
- animation: star-twinkle var(--duration, 3s) infinite ease-in-out;
2362
- }
2363
-
2364
- html[data-theme="light"] .star {
2365
- background: var(--color-starlight-blue);
2366
- opacity: 0.15;
2367
- }
2368
-
2369
- /* 5. Dialog & Overlays */
2370
- .dialog-overlay {
2371
- position: fixed;
2372
- inset: 0;
2373
- background: rgb(0 0 0 / 60%);
2374
- backdrop-filter: blur(12px);
2375
- display: flex;
2376
- align-items: center;
2377
- justify-content: center;
2378
- z-index: 400;
2379
- }
2380
-
2381
- .dialog-content {
2382
- background-color: rgb(10 10 20 / 98%);
2383
- backdrop-filter: blur(20px);
2384
- border: 1px solid rgb(255 255 255 / 10%);
2385
- border-radius: 1.5rem;
2386
- padding: 2.5rem;
2387
- max-width: 90%;
2388
- width: 600px;
2389
- max-height: 85vh;
2390
- overflow-y: auto;
2391
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 50%);
2392
- position: relative;
2393
- }
2394
-
2395
- .starlight-dialog {
2396
- background-color: rgb(10 10 20 / 98%);
2397
- backdrop-filter: blur(24px);
2398
- -webkit-backdrop-filter: blur(24px);
2399
- border: 1px solid rgb(255 255 255 / 10%);
2400
- border-radius: 1.5rem;
2401
- padding: 3rem;
2402
- width: 100%;
2403
- max-width: 600px;
2404
- max-height: 85vh;
2405
- overflow-y: auto;
2406
- margin: auto;
2407
- position: relative;
2408
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 50%);
2409
- }
2410
-
2411
- /* Custom scrollbar for dialogs */
2412
- .dialog-content::-webkit-scrollbar,
2413
- .starlight-dialog::-webkit-scrollbar {
2414
- width: 8px;
2415
- }
2416
-
2417
- .dialog-content::-webkit-scrollbar-track,
2418
- .starlight-dialog::-webkit-scrollbar-track {
2419
- background: rgb(255 255 255 / 5%);
2420
- border-radius: 4px;
2421
- }
2422
-
2423
- .dialog-content::-webkit-scrollbar-thumb,
2424
- .starlight-dialog::-webkit-scrollbar-thumb {
2425
- background: var(--color-starlight-blue, #3b82f6);
2426
- border-radius: 4px;
2427
- }
2428
-
2429
- html[data-theme="light"] .dialog-content::-webkit-scrollbar-track,
2430
- html[data-theme="light"] .starlight-dialog::-webkit-scrollbar-track {
2431
- background: rgb(0 0 0 / 5%);
2432
- }
2433
-
2434
- html[data-theme="light"] .starlight-dialog {
2435
- background-color: rgb(255 255 255 / 98%);
2436
- border-color: rgb(0 0 0 / 10%);
2437
- color: #1e293b;
2438
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 15%);
2439
- }
2440
-
2441
- .dialog-close {
2442
- position: absolute;
2443
- top: 1.5rem;
2444
- right: 1.5rem;
2445
- width: 2rem;
2446
- height: 2rem;
2447
- border-radius: 50%;
2448
- background: rgb(255 255 255 / 5%);
2449
- border: 1px solid rgb(255 255 255 / 10%);
2450
- color: white;
2451
- display: flex;
2452
- align-items: center;
2453
- justify-content: center;
2454
- cursor: pointer;
2455
- transition: all 0.2s;
2456
- padding: 0;
2457
- }
2458
-
2459
- html[data-theme="light"] .dialog-close {
2460
- background: rgb(0 0 0 / 5%);
2461
- border-color: rgb(0 0 0 / 10%);
2462
- color: #1e293b;
2463
- }
2464
-
2465
- .dialog-close:hover {
2466
- background: rgb(255 255 255 / 15%);
2467
- border-color: var(--color-starlight-blue);
2468
- transform: rotate(90deg);
2469
- }
2470
-
2471
- .form-row {
2472
- display: flex;
2473
- justify-content: space-between;
2474
- align-items: center;
2475
- gap: 1rem;
2476
- }
2477
-
2478
- html[data-theme="light"] .dialog-overlay {
2479
- background: rgb(255 255 255 / 40%);
2480
- }
2481
-
2482
- html[data-theme="light"] .dialog-content {
2483
- background-color: rgb(255 255 255 / 98%);
2484
- border-color: rgb(0 0 0 / 10%);
2485
- color: #1e293b;
2486
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 15%);
2487
- }
2488
-
2489
- /* 6. Dropdown Menu */
2490
- .dropdown-menu {
2491
- position: absolute;
2492
- top: 100%;
2493
- left: 0;
2494
- background-color: var(--color-starlight-deep);
2495
- backdrop-filter: blur(20px);
2496
- border: 1px solid rgb(255 255 255 / 10%);
2497
- border-radius: 0.75rem;
2498
- padding: 0.5rem;
2499
- margin-top: 0.5rem;
2500
- min-width: 200px;
2501
- z-index: 600;
2502
- box-shadow: 0 20px 40px rgb(0 0 0 / 40%);
2503
- opacity: 0;
2504
- visibility: hidden;
2505
- transform: translateY(10px);
2506
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2507
- pointer-events: none;
2508
- }
2509
-
2510
- .dropdown:hover .dropdown-menu,
2511
- .dropdown.active .dropdown-menu {
2512
- opacity: 1;
2513
- visibility: visible;
2514
- transform: translateY(0);
2515
- pointer-events: auto;
2516
- }
2517
-
2518
- .dropdown-item {
2519
- display: block;
2520
- width: 100%;
2521
- padding: 0.625rem 1rem;
2522
- border-radius: 0.5rem;
2523
- color: rgb(255 255 255 / 70%);
2524
- transition: all 0.2s ease;
2525
- text-align: left;
2526
- background: transparent;
2527
- border: none;
2528
- cursor: pointer;
2529
- }
2530
-
2531
- .dropdown-item:hover {
2532
- background-color: var(--color-starlight-blue);
2533
- color: black;
2534
- }
2535
-
2536
- html[data-theme="light"] .dropdown-menu {
2537
- background-color: rgb(255 255 255 / 99%);
2538
- border-color: #cbd5e1;
2539
- box-shadow: 0 10px 30px rgb(0 0 0 / 10%);
2540
- }
2541
-
2542
- html[data-theme="light"] .dropdown-item {
2543
- color: #475569;
2544
- }
2545
-
2546
- html[data-theme="light"] .dropdown-item:hover {
2547
- background-color: var(--color-starlight-blue);
2548
- color: black;
2549
- }
2550
-
2551
- /* 7. Input & Glass Fixes */
2552
- .input-starlight, .textarea-starlight {
2553
- height: auto;
2554
- padding: 1rem;
2555
- background-color: rgb(255 255 255 / 4%);
2556
- border: 1px solid rgb(255 255 255 / 15%);
2557
- border-radius: 0.75rem;
2558
- color: inherit;
2559
- width: 100%;
2560
- }
2561
-
2562
- textarea.input-starlight, .textarea-starlight {
2563
- min-height: 120px;
2564
- display: block;
2565
- }
2566
-
2567
- html[data-theme="light"] .input-starlight,
2568
- html[data-theme="light"] .textarea-starlight {
2569
- background-color: #fff;
2570
- border-color: #cbd5e1;
2571
- }
2572
-
2573
- html[data-theme="light"] .glass {
2574
- background-color: rgb(0 0 0 / 2%);
2575
- border-color: rgb(0 0 0 / 5%);
2576
- }
2577
-
2578
- /* 8. Input Focus States */
2579
- .input-starlight:focus, .textarea-starlight:focus {
2580
- outline: none;
2581
- border-color: var(--color-starlight-blue);
2582
- box-shadow: 0 0 0 4px rgb(0 212 255 / 10%), 0 0 20px rgb(0 212 255 / 10%);
2583
- background-color: rgb(255 255 255 / 6%);
2584
- }
2585
-
2586
- html[data-theme="light"] .input-starlight:focus,
2587
- html[data-theme="light"] .textarea-starlight:focus {
2588
- border-color: var(--color-starlight-blue);
2589
- box-shadow: 0 0 0 4px rgb(0 212 255 / 10%), 0 4px 12px rgb(0 0 0 / 5%);
2590
- background-color: #fff;
2591
- }
2592
-
2593
- /* 9. Code Interface Window */
2594
- .code-window {
2595
- background: rgb(0 0 0 / 40%);
2596
- backdrop-filter: blur(20px);
2597
- -webkit-backdrop-filter: blur(20px);
2598
- border: 1px solid rgb(255 255 255 / 10%);
2599
- border-radius: var(--radius-xl);
2600
- overflow: hidden;
2601
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 50%);
2602
- }
2603
-
2604
- .code-window-header {
2605
- background: rgb(255 255 255 / 5%);
2606
- border-bottom: 1px solid rgb(255 255 255 / 5%);
2607
- padding: 1rem 1.5rem;
2608
- display: flex;
2609
- align-items: center;
2610
- justify-content: space-between;
2611
- }
2612
-
2613
- .code-window-controls {
2614
- display: flex;
2615
- gap: 0.5rem;
2616
- }
2617
-
2618
- .code-window-dot {
2619
- width: 0.75rem;
2620
- height: 0.75rem;
2621
- border-radius: 50%;
2622
- opacity: 0.6;
2623
- }
2624
-
2625
- .code-window-title {
2626
- font-size: 0.65rem;
2627
- font-weight: 800;
2628
- text-transform: uppercase;
2629
- letter-spacing: 0.15em;
2630
- color: rgb(255 255 255 / 40%);
2631
- }
2632
-
2633
- html[data-theme="light"] .code-window {
2634
- background: #f8fafc;
2635
- border-color: #e2e8f0;
2636
- box-shadow: 0 10px 30px rgb(0 0 0 / 5%);
2637
- }
2638
-
2639
- html[data-theme="light"] .code-window-header {
2640
- background: #f1f5f9;
2641
- border-color: #e2e8f0;
2642
- }
2643
-
2644
- html[data-theme="light"] .code-window-title {
2645
- color: #94a3b8;
2646
- }
2647
-
2648
- /* 10. Starlight Accordion */
2649
- .accordion-starlight.accordion-item {
2650
- background: rgb(255 255 255 / 2%);
2651
- backdrop-filter: blur(12px);
2652
- -webkit-backdrop-filter: blur(12px);
2653
- border: 1px solid rgb(255 255 255 / 8%);
2654
- border-radius: var(--radius-xl);
2655
- margin-bottom: var(--space-4);
2656
- transition: all var(--transition-base);
2657
- position: relative;
2658
- }
2659
-
2660
- .accordion-starlight.accordion-item:hover {
2661
- border-color: rgb(0 212 255 / 30%);
2662
- background: rgb(255 255 255 / 4%);
2663
- box-shadow: 0 0 20px rgb(0 212 255 / 5%);
2664
- }
2665
-
2666
- .accordion-starlight.accordion-item.active {
2667
- border-color: var(--color-starlight-blue);
2668
- background: rgb(0 212 255 / 3%);
2669
- box-shadow: 0 0 30px rgb(0 212 255 / 10%), inset 0 0 20px rgb(0 212 255 / 5%);
2670
- }
2671
-
2672
- .accordion-starlight .accordion-header {
2673
- background: transparent !important;
2674
- padding: var(--space-6) var(--space-8);
2675
- color: white;
2676
- font-weight: 700;
2677
- letter-spacing: 0.02em;
2678
- font-size: 1.125rem;
2679
- }
2680
-
2681
- .accordion-starlight.active .accordion-header {
2682
- background: linear-gradient(to right, rgb(255 179 138 / 15%), rgb(0 212 255 / 15%)) !important;
2683
- border-bottom: 1px solid rgb(0 212 255 / 20%);
2684
- }
2685
-
2686
- .accordion-starlight .accordion-content {
2687
- background: linear-gradient(to bottom, rgb(0 0 0 / 30%), rgb(0 0 0 / 10%)) !important;
2688
- color: rgb(255 255 255 / 60%) !important;
2689
- font-size: 1rem;
2690
- line-height: 1.8;
2691
- padding: 0;
2692
- }
2693
-
2694
- .accordion-starlight.active .accordion-content {
2695
- padding: var(--space-6) var(--space-8);
2696
- }
2697
-
2698
- .accordion-starlight .accordion-icon {
2699
- color: var(--color-starlight-blue);
2700
- filter: drop-shadow(0 0 5px rgb(0 212 255 / 50%));
2701
- }
2702
-
2703
- html[data-theme="light"] .accordion-starlight.accordion-item {
2704
- background: white;
2705
- border-color: #e2e8f0;
2706
- }
2707
-
2708
- html[data-theme="light"] .accordion-starlight.accordion-item.active {
2709
- border-color: var(--color-starlight-blue);
2710
- background: #f8fafc;
2711
- }
2712
-
2713
- html[data-theme="light"] .accordion-starlight .accordion-header {
2714
- color: #1e293b;
2715
- }
2716
-
2717
- html[data-theme="light"] .accordion-starlight .accordion-content {
2718
- background: #f1f5f9 !important;
2719
- color: #475569 !important;
2720
- }
2721
-
2722
- /* 11. Search Input with Icon */
2723
- .search-container {
2724
- position: relative;
2725
- display: block;
2726
- width: 100%;
2727
- }
2728
-
2729
- .search-input {
2730
- padding-left: 3rem !important;
2731
- width: 100%;
2732
- }
2733
-
2734
- .search-icon {
2735
- position: absolute;
2736
- left: 1.125rem;
2737
- top: 50%;
2738
- transform: translateY(-50%);
2739
- color: var(--text-muted);
2740
- pointer-events: none;
2741
- width: 1.25rem;
2742
- height: 1.25rem;
2743
- z-index: 10;
2744
- }
2745
-
2746
- html[data-theme="light"] .search-icon {
2747
- color: #64748b;
2748
- }
2749
-
2750
- /* 12. Gallery Widget */
2751
- .starlight-gallery {
2752
- display: grid;
2753
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
2754
- gap: var(--space-4);
2755
- }
2756
-
2757
- .gallery-item {
2758
- position: relative;
2759
- aspect-ratio: 1;
2760
- border-radius: var(--radius-xl);
2761
- overflow: hidden;
2762
- background: var(--glass-bg);
2763
- border: 1px solid var(--glass-border);
2764
- cursor: pointer;
2765
- transition: all var(--transition-base);
2766
- }
2767
-
2768
- .gallery-item img {
2769
- width: 100%;
2770
- height: 100%;
2771
- object-fit: cover;
2772
- transition: transform var(--transition-slow);
2773
- }
2774
-
2775
- .gallery-item:hover img {
2776
- transform: scale(1.1);
2777
- }
2778
-
2779
- .gallery-item:hover {
2780
- border-color: var(--color-starlight-blue);
2781
- box-shadow: 0 0 20px var(--color-starlight-glow);
2782
- }
2783
-
2784
- .gallery-overlay {
2785
- position: absolute;
2786
- inset: 0;
2787
- background: linear-gradient(to top, rgb(0 0 0 / 80%), transparent);
2788
- display: flex;
2789
- align-items: flex-end;
2790
- padding: 1rem;
2791
- opacity: 0;
2792
- transition: opacity 0.3s ease;
2793
- }
2794
-
2795
- .gallery-item:hover .gallery-overlay {
2796
- opacity: 1;
2797
- }
2798
-
2799
- /* 13. Dashboard Widget */
2800
- .dashboard-grid {
2801
- display: grid;
2802
- grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2803
- gap: var(--space-6);
2804
- }
2805
-
2806
- .stat-card {
2807
- padding: var(--space-6);
2808
- display: flex;
2809
- flex-direction: column;
2810
- gap: var(--space-2);
2811
- }
2812
-
2813
- .stat-value {
2814
- font-size: 2.5rem;
2815
- font-weight: 800;
2816
- background: linear-gradient(135deg, #fff 0%, var(--color-starlight-blue) 100%);
2817
- -webkit-background-clip: text;
2818
- -webkit-text-fill-color: transparent;
2819
- }
2820
-
2821
- html[data-theme="light"] .stat-value {
2822
- background: linear-gradient(135deg, #1e293b 0%, var(--color-starlight-blue) 100%);
2823
- -webkit-background-clip: text;
2824
- -webkit-text-fill-color: transparent;
2825
- }
2826
-
2827
- .stat-label {
2828
- text-transform: uppercase;
2829
- letter-spacing: 0.1em;
2830
- font-size: 0.75rem;
2831
- color: var(--text-muted);
2832
- }
2833
-
2834
- .stat-trend {
2835
- font-size: 0.875rem;
2836
- display: flex;
2837
- align-items: center;
2838
- gap: 0.25rem;
2839
- }
2840
-
2841
- .stat-trend.up { color: var(--color-success); }
2842
- .stat-trend.down { color: var(--color-error); }
2843
-
2844
- /* 14. Hamburger Menu Glass */
2845
- .nav-glass {
2846
- background: rgb(255 255 255 / 5%);
2847
- backdrop-filter: blur(24px);
2848
- -webkit-backdrop-filter: blur(24px);
2849
- border-bottom: 1px solid rgb(255 255 255 / 10%);
2850
- display: flex;
2851
- flex-direction: column;
2852
- position: sticky;
2853
- top: 0;
2854
- z-index: 1000;
2855
- padding: 0;
2856
- }
2857
-
2858
- html[data-theme="light"] .nav-glass {
2859
- background: rgb(255 255 255 / 95%);
2860
- border-bottom-color: rgb(0 0 0 / 8%);
2861
- box-shadow: 0 4px 12px rgb(0 0 0 / 3%);
2862
- }
2863
-
2864
- .nav-desktop {
2865
- display: none;
2866
- align-items: center;
2867
- }
2868
-
2869
- .nav-list {
2870
- display: flex;
2871
- list-style: none;
2872
- gap: 2rem;
2873
- margin: 0;
2874
- padding: 0;
2875
- }
2876
-
2877
- .nav-list.vertical {
2878
- flex-direction: column;
2879
- gap: 0.5rem;
2880
- }
2881
-
2882
- .nav-link {
2883
- font-size: 0.875rem;
2884
- font-weight: 500;
2885
- color: rgb(255 255 255 / 70%);
2886
- transition: all 0.3s;
2887
- position: relative;
2888
- padding: 0.5rem 0;
2889
- display: inline-flex;
2890
- align-items: center;
2891
- }
2892
-
2893
- .nav-list.vertical .nav-link {
2894
- width: 100%;
2895
- padding: 0.75rem 1rem;
2896
- border-radius: 0.5rem;
2897
- }
2898
-
2899
- .nav-list.vertical .dropdown {
2900
- width: 100%;
2901
- display: block;
2902
- }
2903
-
2904
- .nav-list.vertical .nav-link:hover {
2905
- background: rgb(255 255 255 / 5%);
2906
- color: var(--color-starlight-blue);
2907
- }
2908
-
2909
- .nav-link::after {
2910
- content: '';
2911
- position: absolute;
2912
- bottom: 0;
2913
- left: 50%;
2914
- width: 0;
2915
- height: 2px;
2916
- background: var(--color-starlight-blue);
2917
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2918
- box-shadow: 0 0 10px var(--color-starlight-glow);
2919
- transform: translateX(-50%);
2920
- }
2921
-
2922
- .nav-link:hover::after {
2923
- width: 80%;
2924
- }
2925
-
2926
-
2927
- html[data-theme="light"] .nav-link {
2928
- color: #475569;
2929
- }
2930
-
2931
- html[data-theme="light"] .nav-link:hover {
2932
- color: #1e293b;
2933
- }
2934
-
2935
- .hamburger {
2936
- width: 2.5rem;
2937
- height: 2.5rem;
2938
- display: flex;
2939
- flex-direction: column;
2940
- justify-content: center;
2941
- align-items: center;
2942
- gap: 0.4rem;
2943
- cursor: pointer;
2944
- background: rgb(255 255 255 / 5%);
2945
- border: 1px solid rgb(255 255 255 / 10%);
2946
- border-radius: 0.5rem;
2947
- padding: 0.5rem;
2948
- transition: all 0.3s;
2949
- position: relative;
2950
- }
2951
-
2952
- html[data-theme="light"] .hamburger {
2953
- background: rgb(0 0 0 / 2%);
2954
- border-color: rgb(0 0 0 / 10%);
2955
- }
2956
-
2957
- .hamburger:hover {
2958
- background: rgb(255 255 255 / 10%);
2959
- border-color: var(--color-starlight-blue);
2960
- }
2961
-
2962
- html[data-theme="light"] .hamburger:hover {
2963
- background: rgb(0 0 0 / 10%);
2964
- }
2965
-
2966
- .hamburger span {
2967
- width: 1.5rem;
2968
- height: 2px;
2969
- background: white;
2970
- border-radius: 2px;
2971
- transition: all 0.3s;
2972
- transform-origin: center;
2973
- }
2974
-
2975
- html[data-theme="light"] .hamburger span {
2976
- background: #1e293b;
2977
- }
2978
-
2979
- .hamburger.active span {
2980
- background-color: var(--color-starlight-blue);
2981
- box-shadow: 0 0 10px var(--color-starlight-glow);
2982
- }
2983
-
2984
- .nav-menu-mobile {
2985
- width: 100%;
2986
- background: rgb(0 0 0 / 20%);
2987
- backdrop-filter: blur(10px);
2988
- -webkit-backdrop-filter: blur(10px);
2989
- border-top: 1px solid rgb(255 255 255 / 5%);
2990
- padding: 0;
2991
- max-height: 0;
2992
- overflow: hidden;
2993
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
2994
- opacity: 0;
2995
- }
2996
-
2997
- .nav-menu-mobile.active {
2998
- display: block;
2999
- max-height: 500px;
3000
- padding: 1.5rem 2rem;
3001
- opacity: 1;
3002
- }
3003
-
3004
- html[data-theme="light"] .nav-menu-mobile {
3005
- background: #fff;
3006
- border-top-color: rgb(0 0 0 / 8%);
3007
- box-shadow: 0 15px 30px rgb(0 0 0 / 5%);
3008
- }
3009
-
3010
- /* Vertical Accordion Dropdowns */
3011
- .nav-list.vertical .dropdown-menu {
3012
- position: static;
3013
- opacity: 1;
3014
- visibility: visible;
3015
- transform: none;
3016
- box-shadow: none;
3017
- border: none;
3018
- padding: 0 0 0 1.5rem;
3019
- margin: 0;
3020
- max-height: 0;
3021
- overflow: hidden;
3022
- transition: all 0.3s ease;
3023
- background: transparent;
3024
- pointer-events: none;
3025
- }
3026
-
3027
- .nav-list.vertical .dropdown.active .dropdown-menu {
3028
- max-height: 300px;
3029
- padding-top: 0.5rem;
3030
- padding-bottom: 0.5rem;
3031
- pointer-events: auto;
3032
- }
3033
-
3034
- .nav-list.vertical .dropdown-item {
3035
- padding: 0.5rem 1rem;
3036
- font-size: 0.825rem;
3037
- border-left: 1px solid rgb(255 255 255 / 10%);
3038
- border-radius: 0;
3039
- }
3040
-
3041
- @media (width >= 768px) {
3042
- .nav-desktop {
3043
- display: flex;
3044
- }
3045
-
3046
- .hamburger {
3047
- display: none;
3048
- }
3049
-
3050
- .nav-menu-mobile {
3051
- display: none !important;
3052
- }
3053
- }
3054
-
3055
- @keyframes slideInDown {
3056
- from { opacity: 0; transform: translateY(-10px); }
3057
- to { opacity: 1; transform: translateY(0); }
3058
- }
3059
-
3060
- .starlight-nav.vertical {
3061
- flex-direction: column;
3062
- height: 100%;
3063
- width: 280px !important;
3064
- min-width: 280px !important;
3065
- border-bottom: none;
3066
- border-right: 1px solid rgb(255 255 255 / 10%);
3067
- padding: 2.5rem 1.5rem;
3068
- align-items: flex-start;
3069
- justify-content: flex-start;
3070
- }
3071
-
3072
- html[data-theme="light"] .starlight-nav.vertical {
3073
- background: rgb(255 255 255 / 98%);
3074
- border-right-color: rgb(0 0 0 / 8%);
3075
- }
3076
-
3077
- /* 15. More Form Controls */
3078
- .select-starlight {
3079
- appearance: none;
3080
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
3081
- background-repeat: no-repeat;
3082
- background-position: right 1rem center;
3083
- background-size: 1.25rem;
3084
- padding-right: 3rem !important;
3085
- }
3086
-
3087
- html[data-theme="light"] .select-starlight {
3088
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231e293b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
3089
- }
3090
-
3091
- .range-starlight {
3092
- appearance: none;
3093
- width: 100%;
3094
- height: 6px;
3095
- background: rgb(255 255 255 / 10%);
3096
- border-radius: 3px;
3097
- outline: none;
3098
- }
3099
-
3100
- html[data-theme="light"] .range-starlight {
3101
- background: rgb(0 0 0 / 10%);
3102
- }
3103
-
3104
- .range-starlight::-webkit-slider-thumb {
3105
- appearance: none;
3106
- width: 18px;
3107
- height: 18px;
3108
- background: var(--color-starlight-blue);
3109
- border-radius: 50%;
3110
- cursor: pointer;
3111
- box-shadow: 0 0 10px var(--color-starlight-glow);
3112
- transition: all 0.2s;
3113
- }
3114
-
3115
- .range-starlight::-webkit-slider-thumb:hover {
3116
- transform: scale(1.2);
3117
- box-shadow: 0 0 20px var(--color-starlight-blue);
3118
- }
3119
-
3120
- .toggle-starlight {
3121
- width: 3.5rem;
3122
- height: 1.75rem;
3123
- }
3124
-
3125
- .toggle-starlight .toggle-slider::before {
3126
- height: 1.25rem;
3127
- width: 1.25rem;
3128
- top: 0.25rem;
3129
- left: 0.25rem;
3130
- }
3131
-
3132
- .toggle-starlight input:checked + .toggle-slider::before {
3133
- transform: translateX(1.75rem);
3134
- }
3135
-
3136
- .toggle-starlight .toggle-slider {
3137
- background: rgb(255 255 255 / 10%);
3138
- border: 1px solid rgb(255 255 255 / 10%);
3139
- }
3140
-
3141
- html[data-theme="light"] .toggle-starlight .toggle-slider {
3142
- background: rgb(0 0 0 / 10%);
3143
- border-color: rgb(0 0 0 / 15%);
3144
- }
3145
-
3146
- html[data-theme="light"] .bg-starlight,
3147
- html[data-theme="light"] .bg-starlight:hover,
3148
- html[data-theme="light"] .hover\:bg-starlight:hover,
3149
- html[data-theme="light"] .btn-starlight,
3150
- html[data-theme="light"] .btn-starlight:hover,
3151
- html[data-theme="light"] .hover\:btn-starlight:hover,
3152
- html[data-theme="light"] .btn-primary,
3153
- html[data-theme="light"] .btn-primary:hover {
3154
- background: linear-gradient(135deg, #ffb38a 40%, #00d4ff 100%) !important;
3155
- }
3156
-
3157
- html[data-theme="light"] .text-gradient-starlight {
3158
- background: linear-gradient(135deg, #ffb38a 40%, #00d4ff 100%) !important;
3159
- -webkit-background-clip: text !important;
3160
- -webkit-text-fill-color: transparent !important;
3161
- }
3162
-
3163
- html[data-theme="light"] .text-success { color: #059669; }
3164
- html[data-theme="light"] .text-warning { color: #d97706; }
3165
-
3166
- html[data-theme="light"] .dialog-content .bg-black\/40 {
3167
- background-color: rgb(0 0 0 / 5%);
3168
- border-color: rgb(0 0 0 / 10%);
3169
- }
3170
-
3171
- /* 18. Semantic Typography Utilities */
3172
- .text-glow {
3173
- text-shadow: 0 0 10px rgb(0 212 255 / 50%), 0 0 20px rgb(0 212 255 / 20%);
3174
- }
3175
-
3176
- .text-glass {
3177
- color: rgb(255 255 255 / 60%);
3178
- backdrop-filter: blur(4px);
3179
- -webkit-backdrop-filter: blur(4px);
3180
- }
3181
-
3182
- html[data-theme="light"] .text-glow {
3183
- text-shadow: 0 0 8px rgb(0 212 255 / 30%);
3184
- }
3185
-
3186
- html[data-theme="light"] .text-glass {
3187
- color: rgb(0 0 0 / 50%);
3188
- }
3189
-
3190
- /* 17. Skeleton Loading (Starlight Variant) */
3191
- .starlight-loading {
3192
- background: linear-gradient(
3193
- 90deg,
3194
- rgb(255 255 255 / 3%) 25%,
3195
- rgb(255 255 255 / 8%) 50%,
3196
- rgb(255 255 255 / 3%) 75%
3197
- );
3198
- background-size: 200% 100%;
3199
- animation: starlight-shimmer 2s infinite linear;
3200
- border-radius: var(--radius-md);
3201
- min-height: 1rem;
3202
- }
3203
-
3204
- @keyframes starlight-shimmer {
3205
- 0% { background-position: 200% 0; }
3206
- 100% { background-position: -200% 0; }
3207
- }
3208
-
3209
- html[data-theme="light"] .starlight-loading {
3210
- background: linear-gradient(
3211
- 90deg,
3212
- rgb(0 0 0 / 3%) 25%,
3213
- rgb(0 0 0 / 6%) 50%,
3214
- rgb(0 0 0 / 3%) 75%
3215
- );
3216
- background-size: 200% 100%;
3217
- }
3218
-
3219
- /* 16. Themed Scrollbars */
3220
- ::-webkit-scrollbar {
3221
- width: 10px;
3222
- height: 10px;
3223
- }
3224
-
3225
- ::-webkit-scrollbar-track {
3226
- background: rgb(255 255 255 / 2%);
3227
- backdrop-filter: blur(10px);
3228
- }
3229
-
3230
- ::-webkit-scrollbar-thumb {
3231
- background: rgb(255 255 255 / 10%);
3232
- border: 1px solid rgb(255 255 255 / 5%);
3233
- border-radius: 10px;
3234
- transition: all 0.3s;
3235
- }
3236
-
3237
- ::-webkit-scrollbar-thumb:hover {
3238
- background: rgb(0 212 255 / 30%);
3239
- box-shadow: 0 0 10px rgb(0 212 255 / 20%);
3240
- }
3241
-
3242
- html[data-theme="light"] ::-webkit-scrollbar-track {
3243
- background: rgb(0 0 0 / 3%);
3244
- }
3245
-
3246
- html[data-theme="light"] ::-webkit-scrollbar-thumb {
3247
- background: rgb(0 0 0 / 10%);
3248
- border-color: rgb(0 0 0 / 5%);
3249
- }
3250
-
3251
- html[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
3252
- background: var(--color-starlight-blue);
3253
- }
3254
-
3255
- /* Firefox Support */
3256
- * {
3257
- scrollbar-width: thin;
3258
- scrollbar-color: rgb(255 255 255 / 10%) transparent;
3259
- }
3260
-
3261
- html[data-theme="light"] * {
3262
- scrollbar-color: rgb(0 0 0 / 10%) transparent;
3263
- }
3264
-
3265
- @media (forced-colors: active) {
3266
- button:focus, input:focus, select:focus, textarea:focus {
3267
- outline: 2px solid SelectedItem !important;
3268
- outline-offset: 2px;
3269
- }
3270
-
3271
- .starlight-card:hover, .accordion-starlight.accordion-item:hover {
3272
- border-color: SelectedItem !important;
3273
- }
3274
-
3275
- .text-gradient-starlight, .bg-starlight {
3276
- background: none !important;
3277
- -webkit-text-fill-color: CanvasText !important;
3278
- color: CanvasText !important;
3279
- text-decoration: underline;
3280
- }
3281
-
3282
- .btn-starlight {
3283
- background: linear-gradient(135deg, var(--color-starlight-peach) 0%, var(--color-starlight-blue) 100%);
3284
- color: #000;
3285
- font-weight: 700;
3286
- border: none;
3287
- border-radius: 0.5rem;
3288
- padding: 0 1.5rem;
3289
- height: 3rem;
3290
- display: inline-flex;
3291
- align-items: center;
3292
- justify-content: center;
3293
- cursor: pointer;
3294
- transition: all 0.2s ease;
3295
- box-shadow: 0 0 20px rgb(0 212 255 / 30%);
3296
- text-decoration: none;
3297
- }
3298
-
3299
- .btn-starlight:hover {
3300
- transform: translateY(-2px);
3301
- box-shadow: 0 5px 25px rgb(0 212 255 / 40%);
3302
- filter: brightness(1.1);
3303
- }
3304
-
3305
- .btn-starlight:active {
3306
- transform: translateY(0) scale(0.95);
3307
- box-shadow: 0 2px 10px rgb(0 212 255 / 20%);
3308
- filter: brightness(0.9);
3309
- }
3310
-
3311
- .btn-starlight:focus-visible {
3312
- outline: 2px solid white;
3313
- outline-offset: 2px;
3314
- box-shadow: 0 0 0 4px rgb(0 212 255 / 30%);
3315
- }
3316
-
3317
- html[data-theme="light"] .btn-starlight:focus-visible {
3318
- outline-color: var(--color-starlight-blue);
3319
- }}
3320
-
3321
-
3322
- /* JIT Generated Utilities */
3323
- /* Quantum CSS JIT Output */
3324
- .p-12 {
3325
- padding: 3rem;
3326
- }
3327
-
3328
- .max-w-4xl {
3329
- max-width: 56rem;
3330
- }
3331
-
3332
- .mx-auto {
3333
- margin-left: auto;
3334
- margin-right: auto;
3335
- }
3336
-
3337
- .space-y-12 > * + * {
3338
- margin-top: 3rem;
3339
- }
3340
-
3341
- .text-4xl {
3342
- font-size: 2.5rem;
3343
- line-height: 1.2;
3344
- }
3345
-
3346
- .space-y-4 > * + * {
3347
- margin-top: 1rem;
3348
- }
3349
-
3350
- .text-xl {
3351
- font-size: 1.25rem;
3352
- line-height: 1.2;
3353
- }
3354
-
3355
- .flex {
3356
- display: flex;
3357
- }
3358
-
3359
- .gap-4 {
3360
- gap: 1rem;
3361
- }
3362
-
3363
- .btn-primary {
3364
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3365
- color: #000;
3366
- border: none;
3367
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
3368
- font-weight: 700;
3369
- transition: all 0.2s ease;
3370
- height: 3rem;
3371
- padding: 0 1.5rem;
3372
- display: inline-flex;
3373
- align-items: center;
3374
- justify-content: center;
3375
- border-radius: 0.5rem;
3376
- cursor: pointer;
3377
- padding-left: 1.5rem;
3378
- padding-right: 1.5rem;
3379
- padding-top: 0.5rem;
3380
- padding-bottom: 0.5rem;
3381
- border-radius: 0.5rem;
3382
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
3383
- }
3384
-
3385
- .btn-primary:hover {
3386
- transform: scale(1.05);
3387
- }
3388
-
3389
- .btn-secondary {
3390
- background-color: rgba(255, 255, 255, 0.03);
3391
- backdrop-filter: blur(16px);
3392
- -webkit-backdrop-filter: blur(16px);
3393
- border-width: 1px;
3394
- border-color: rgba(255, 255, 255, 0.1);
3395
- color: #64748b;
3396
- padding-left: 1.5rem;
3397
- padding-right: 1.5rem;
3398
- padding-top: 0.5rem;
3399
- padding-bottom: 0.5rem;
3400
- border-radius: 0.5rem;
3401
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
3402
- }
3403
-
3404
- .btn-secondary:hover {
3405
- background-color: rgba(255, 255, 255, 0.1);
3406
- }
3407
-
3408
- .card-premium {
3409
- background-color: rgba(255, 255, 255, 0.95);
3410
- backdrop-filter: blur(4px);
3411
- -webkit-backdrop-filter: blur(4px);
3412
- padding: 2rem;
3413
- border-radius: 1rem;
3414
- box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
3415
- border-color: #f1f5f9;
3416
- }
3417
-
3418
- .card-premium:hover {
3419
- transform: scale(1.05);
3420
- }
3421
-
3422
- .max-w-sm {
3423
- max-width: 24rem;
3424
- }
3425
-
3426
- .text-2xl {
3427
- font-size: 1.5rem;
3428
- line-height: 1.2;
3429
- }
3430
-
3431
- .mb-4 {
3432
- margin-bottom: 1rem;
3433
- }
3434
-
3435
- .p-10 {
3436
- padding: 2.5rem;
3437
- }
3438
-
3439
- .space-y-8 > * + * {
3440
- margin-top: 2rem;
3441
- }
3442
-
3443
- .bg-black {
3444
- background-color: #000000;
3445
- }
3446
-
3447
- .text-white {
3448
- color: #ffffff;
3449
- }
3450
-
3451
- .top-0 {
3452
- top: 0px;
3453
- }
3454
-
3455
- .z-50 {
3456
- z-index: 50;
3457
- }
3458
-
3459
- .glass {
3460
- background-color: rgba(255, 255, 255, 0.03);
3461
- backdrop-filter: blur(16px);
3462
- -webkit-backdrop-filter: blur(16px);
3463
- border-width: 1px;
3464
- border-color: rgba(255, 255, 255, 0.1);
3465
- }
3466
-
3467
- .p-4 {
3468
- padding: 1rem;
3469
- }
3470
-
3471
- .mb-8 {
3472
- margin-bottom: 2rem;
3473
- }
3474
-
3475
- .ml-4 {
3476
- margin-left: 1rem;
3477
- }
3478
-
3479
- .mt-8 {
3480
- margin-top: 2rem;
3481
- }
3482
-
3483
- .grid {
3484
- display: grid;
3485
- }
3486
-
3487
- .grid-cols-1 {
3488
- grid-template-columns: repeat(1, minmax(0, 1fr));
3489
- }
3490
-
3491
- .bg-blue-500 {
3492
- background-color: #3b82f6;
3493
- }
3494
-
3495
- .bg-red-500 {
3496
- background-color: #ef4444;
3497
- }
3498
-
3499
- .input-starlight {
3500
- background-color: rgba(255, 255, 255, 0.04);
3501
- border: 1px solid rgba(255, 255, 255, 0.15);
3502
- color: inherit;
3503
- border-radius: 0.75rem;
3504
- padding: 0 1rem;
3505
- appearance: none;
3506
- transition: all 0.2s ease;
3507
- height: 3rem;
3508
- }
3509
-
3510
- .textarea-starlight {
3511
- background-color: rgba(255, 255, 255, 0.04);
3512
- border: 1px solid rgba(255, 255, 255, 0.15);
3513
- color: inherit;
3514
- border-radius: 0.75rem;
3515
- padding: 1rem;
3516
- appearance: none;
3517
- transition: all 0.2s ease;
3518
- min-height: 8rem;
3519
- width: 100%;
3520
- display: block;
3521
- }
3522
-
3523
- .bg-green-500 {
3524
- background-color: #10b981;
3525
- }
3526
-
3527
- .mt-4 {
3528
- margin-top: 1rem;
3529
- }
3530
-
3531
- .btn-starlight {
3532
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3533
- color: #000;
3534
- border: none;
3535
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
3536
- font-weight: 700;
3537
- transition: all 0.2s ease;
3538
- height: 3rem;
3539
- padding: 0 1.5rem;
3540
- display: inline-flex;
3541
- align-items: center;
3542
- justify-content: center;
3543
- border-radius: 0.5rem;
3544
- cursor: pointer;
3545
- }
3546
-
3547
- .p-8 {
3548
- padding: 2rem;
3549
- }
3550
-
3551
- .min-h-screen {
3552
- min-height: screen;
3553
- }
3554
-
3555
- .w-6 {
3556
- width: 1.5rem;
3557
- }
3558
-
3559
- .h-6 {
3560
- height: 1.5rem;
3561
- }
3562
-
3563
- .hidden {
3564
- display: none;
3565
- }
3566
-
3567
- .max-w-144 {
3568
- max-width: 36rem;
3569
- }
3570
-
3571
- .mb-20 {
3572
- margin-bottom: 5rem;
3573
- }
3574
-
3575
- .pt-16 {
3576
- padding-top: 4rem;
3577
- }
3578
-
3579
- .text-6xl {
3580
- font-size: 4rem;
3581
- line-height: 1.2;
3582
- }
3583
-
3584
- .mb-6 {
3585
- margin-bottom: 1.5rem;
3586
- }
3587
-
3588
- .text-gradient-starlight {
3589
- background: linear-gradient(to right, #ffb38a, #00d4ff);
3590
- -webkit-background-clip: text;
3591
- -webkit-text-fill-color: transparent;
3592
- display: inline-block;
3593
- }
3594
-
3595
- .max-w-prose {
3596
- max-width: 65ch;
3597
- }
3598
-
3599
- .mb-10 {
3600
- margin-bottom: 2.5rem;
3601
- }
3602
-
3603
- .justify-center {
3604
- justify-content: center;
3605
- }
3606
-
3607
- .gap-6 {
3608
- gap: 1.5rem;
3609
- }
3610
-
3611
- .bg-starlight {
3612
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3613
- }
3614
-
3615
- .text-black {
3616
- color: #000000;
3617
- }
3618
-
3619
- .px-10 {
3620
- padding-left: 2.5rem;
3621
- padding-right: 2.5rem;
3622
- }
3623
-
3624
- .py-4 {
3625
- padding-top: 1rem;
3626
- padding-bottom: 1rem;
3627
- }
3628
-
3629
- .rounded-full {
3630
- border-radius: 9999px;
3631
- }
3632
-
3633
- .glow-blue {
3634
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
3635
- }
3636
-
3637
- .scale-105 {
3638
- transform: scale(1.05);
3639
- }
3640
-
3641
- .hover\:bg-white:hover {
3642
- background-color: #ffffff;
3643
- }
3644
-
3645
- .border-none {
3646
- border-width: 0;
3647
- }
3648
-
3649
- .px-12 {
3650
- padding-left: 3rem;
3651
- padding-right: 3rem;
3652
- }
3653
-
3654
- .border-2 {
3655
- border-width: 2px;
3656
- }
3657
-
3658
- .border-white {
3659
- border-color: #ffffff;
3660
- }
3661
-
3662
- .text-sm {
3663
- font-size: 0.875rem;
3664
- line-height: 1.5;
3665
- }
3666
-
3667
- .text-starlight {
3668
- color: #00d4ff;
3669
- }
3670
-
3671
- .gap-10 {
3672
- gap: 2.5rem;
3673
- }
3674
-
3675
- .rounded-2xl {
3676
- border-radius: 1rem;
3677
- }
3678
-
3679
- .rounded-xl {
3680
- border-radius: 0.75rem;
3681
- }
3682
-
3683
- .w-full {
3684
- width: 100%;
3685
- }
3686
-
3687
- .py-3 {
3688
- padding-top: 0.75rem;
3689
- padding-bottom: 0.75rem;
3690
- }
3691
-
3692
- .bg-starlight-deep {
3693
- background-color: #08081a;
3694
- }
3695
-
3696
- .rounded-3xl {
3697
- border-radius: 1.5rem;
3698
- }
3699
-
3700
- .text-lg {
3701
- font-size: 1.125rem;
3702
- line-height: 1.5;
3703
- }
3704
-
3705
- .flex-col {
3706
- flex-direction: column;
3707
- }
3708
-
3709
- .px-6 {
3710
- padding-left: 1.5rem;
3711
- padding-right: 1.5rem;
3712
- }
3713
-
3714
- .focus\:border-starlight:focus {
3715
- border-color: #00d4ff;
3716
- }
3717
-
3718
- .hover\:scale-105:hover {
3719
- transform: scale(1.05);
3720
- }
3721
-
3722
- .mt-32 {
3723
- margin-top: 8rem;
3724
- }
3725
-
3726
- .pt-10 {
3727
- padding-top: 2.5rem;
3728
- }
3729
-
3730
- .border-t {
3731
- border-top-width: undefinedpx;
3732
- }
3733
-
3734
- .border-b {
3735
- border-bottom-width: undefinedpx;
3736
- }
3737
-
3738
- .border-slate-100 {
3739
- border-color: #f1f5f9;
3740
- }
3741
-
3742
- .py-2 {
3743
- padding-top: 0.5rem;
3744
- padding-bottom: 0.5rem;
3745
- }
3746
-
3747
- .bg-slate-50 {
3748
- background-color: #f8fafc;
3749
- }
3750
-
3751
- .justify-between {
3752
- justify-content: space-between;
3753
- }
3754
-
3755
- .items-center {
3756
- align-items: center;
3757
- }
3758
-
3759
- .text-slate-500 {
3760
- color: #64748b;
3761
- }
3762
-
3763
- .hover\:text-slate-900:hover {
3764
- color: #0f172a;
3765
- }
3766
-
3767
- .border-slate-900 {
3768
- border-color: #0f172a;
3769
- }
3770
-
3771
- .border-b-4 {
3772
- border-bottom-width: 4px;
3773
- }
3774
-
3775
- .bg-white {
3776
- background-color: #ffffff;
3777
- }
3778
-
3779
- .py-6 {
3780
- padding-top: 1.5rem;
3781
- padding-bottom: 1.5rem;
3782
- }
3783
-
3784
- .text-primary {
3785
- color: #3b82f6;
3786
- }
3787
-
3788
- .text-blue-600 {
3789
- color: #2563eb;
3790
- }
3791
-
3792
- .gap-8 {
3793
- gap: 2rem;
3794
- }
3795
-
3796
- .text-xs {
3797
- font-size: 0.75rem;
3798
- line-height: 1.5;
3799
- }
3800
-
3801
- .border-b-2 {
3802
- border-bottom-width: 2px;
3803
- }
3804
-
3805
- .border-transparent {
3806
- border-color: transparent;
3807
- }
3808
-
3809
- .hover\:border-blue-600:hover {
3810
- border-color: #2563eb;
3811
- }
3812
-
3813
- .transition-colors {
3814
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
3815
- }
3816
-
3817
- .w-10 {
3818
- width: 2.5rem;
3819
- }
3820
-
3821
- .h-10 {
3822
- height: 2.5rem;
3823
- }
3824
-
3825
- .bg-slate-900 {
3826
- background-color: #0f172a;
3827
- }
3828
-
3829
- .rounded {
3830
- border-radius: 0.375rem;
3831
- }
3832
-
3833
- .bg-blue-600 {
3834
- background-color: #2563eb;
3835
- }
3836
-
3837
- .overflow-hidden {
3838
- overflow: hidden;
3839
- }
3840
-
3841
- .inline-block {
3842
- display: inline-block;
3843
- }
3844
-
3845
- .py-12 {
3846
- padding-top: 3rem;
3847
- padding-bottom: 3rem;
3848
- }
3849
-
3850
- .px-3 {
3851
- padding-left: 0.75rem;
3852
- padding-right: 0.75rem;
3853
- }
3854
-
3855
- .py-1 {
3856
- padding-top: 0.25rem;
3857
- padding-bottom: 0.25rem;
3858
- }
3859
-
3860
- .text-5xl {
3861
- font-size: 3rem;
3862
- line-height: 1.2;
3863
- }
3864
-
3865
- .text-slate-300 {
3866
- color: #cbd5e1;
3867
- }
3868
-
3869
- .max-w-2xl {
3870
- max-width: 42rem;
3871
- }
3872
-
3873
- .gap-12 {
3874
- gap: 3rem;
3875
- }
3876
-
3877
- .aspect-video {
3878
- aspect-ratio: 16 / 9;
3879
- width: 100%;
3880
- height: auto;
3881
- }
3882
-
3883
- .bg-slate-100 {
3884
- background-color: #f1f5f9;
3885
- }
3886
-
3887
- .rounded-lg {
3888
- border-radius: 0.5rem;
3889
- }
3890
-
3891
- .h-full {
3892
- height: 100%;
3893
- }
3894
-
3895
- .group:hover .group-hover\:scale-105 {
3896
- transform: scale(1.05);
3897
- }
3898
-
3899
- .transition-transform {
3900
- transition-property: transform;
3901
- }
3902
-
3903
- .pb-2 {
3904
- padding-bottom: 0.5rem;
3905
- }
3906
-
3907
- .space-y-6 > * + * {
3908
- margin-top: 1.5rem;
3909
- }
3910
-
3911
- .items-start {
3912
- align-items: flex-start;
3913
- }
3914
-
3915
- .text-slate-100 {
3916
- color: #f1f5f9;
3917
- }
3918
-
3919
- .group:hover .group-hover\:text-blue-100 {
3920
- color: #dbeafe;
3921
- }
3922
-
3923
- .group:hover .group-hover\:text-blue-600 {
3924
- color: #2563eb;
3925
- }
3926
-
3927
- .text-slate-400 {
3928
- color: #94a3b8;
3929
- }
3930
-
3931
- .mt-1 {
3932
- margin-top: 0.25rem;
3933
- }
3934
-
3935
- .p-6 {
3936
- padding: 1.5rem;
3937
- }
3938
-
3939
- .border-slate-200 {
3940
- border-color: #e2e8f0;
3941
- }
3942
-
3943
- .p-3 {
3944
- padding: 0.75rem;
3945
- }
3946
-
3947
- .focus\:border-blue-600:focus {
3948
- border-color: #2563eb;
3949
- }
3950
-
3951
- .py-20 {
3952
- padding-top: 5rem;
3953
- padding-bottom: 5rem;
3954
- }
3955
-
3956
- .mt-24 {
3957
- margin-top: 6rem;
3958
- }
3959
-
3960
- .border-slate-800 {
3961
- border-color: #1e293b;
3962
- }
3963
-
3964
- .pb-16 {
3965
- padding-bottom: 4rem;
3966
- }
3967
-
3968
- .col-span-1 {
3969
- grid-column: span 1 / span 1;
3970
- }
3971
-
3972
- .text-3xl {
3973
- font-size: 2rem;
3974
- line-height: 1.2;
3975
- }
3976
-
3977
- .max-w-md {
3978
- max-width: 28rem;
3979
- }
3980
-
3981
- .space-y-3 > * + * {
3982
- margin-top: 0.75rem;
3983
- }
3984
-
3985
- .p-0 {
3986
- padding: 0px;
3987
- }
3988
-
3989
- .hover\:text-blue-600:hover {
3990
- color: #2563eb;
3991
- }
3992
-
3993
- .pt-12 {
3994
- padding-top: 3rem;
3995
- }
3996
-
3997
- .text-slate-600 {
3998
- color: #475569;
3999
- }
4000
-
4001
- .max-w-6xl {
4002
- max-width: 72rem;
4003
- }
4004
-
4005
- .mb-12 {
4006
- margin-bottom: 3rem;
4007
- }
4008
-
4009
- .mb-2 {
4010
- margin-bottom: 0.5rem;
4011
- }
4012
-
4013
- .w-24 {
4014
- width: 6rem;
4015
- }
4016
-
4017
- .text-base {
4018
- font-size: 1rem;
4019
- line-height: 1.5;
4020
- }
4021
-
4022
- .w-20 {
4023
- width: 5rem;
4024
- }
4025
-
4026
- .h-20 {
4027
- height: 5rem;
4028
- }
4029
-
4030
- .bg-blue-100 {
4031
- background-color: #dbeafe;
4032
- }
4033
-
4034
- .border-blue-200 {
4035
- border-color: #bfdbfe;
4036
- }
4037
-
4038
- .w-32 {
4039
- width: 8rem;
4040
- }
4041
-
4042
- .h-32 {
4043
- height: 8rem;
4044
- }
4045
-
4046
- .w-16 {
4047
- width: 4rem;
4048
- }
4049
-
4050
- .h-16 {
4051
- height: 4rem;
4052
- }
4053
-
4054
- .bg-orange-500 {
4055
- background-color: #f97316;
4056
- }
4057
-
4058
- .relative {
4059
- position: relative;
4060
- }
4061
-
4062
- .h-48 {
4063
- height: 12rem;
4064
- }
4065
-
4066
- .absolute {
4067
- position: absolute;
4068
- }
4069
-
4070
- .w-4 {
4071
- width: 1rem;
4072
- }
4073
-
4074
- .h-4 {
4075
- height: 1rem;
4076
- }
4077
-
4078
- .bg-slate-500\/10 {
4079
- background-color: rgba(100, 116, 139, 0.1);
4080
- }
4081
-
4082
- .bg-black\/20 {
4083
- background-color: rgba(0, 0, 0, 0.2);
4084
- }
4085
-
4086
- .border-white\/20 {
4087
- border-color: rgba(255, 255, 255, 0.2);
4088
- }
4089
-
4090
- .border-white\/5 {
4091
- border-color: rgba(255, 255, 255, 0.05);
4092
- }
4093
-
4094
- .bg-white\/5 {
4095
- background-color: rgba(255, 255, 255, 0.05);
4096
- }
4097
-
4098
- .starlight-nav {
4099
- background: rgba(255, 255, 255, 0.05);
4100
- backdrop-filter: blur(24px);
4101
- -webkit-backdrop-filter: blur(24px);
4102
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
4103
- width: 100%;
4104
- display: flex;
4105
- flex-direction: column;
4106
- padding: 0;
4107
- position: sticky;
4108
- top: 0;
4109
- z-index: 1000;
4110
- width: 100%;
4111
- top: 0px;
4112
- z-index: 1000;
4113
- }
4114
-
4115
- body.light-mode .light\:bg-slate-300 {
4116
- background-color: #cbd5e1;
4117
- }
4118
-
4119
- .h-\[400px\] {
4120
- height: 400px;
4121
- }
4122
-
4123
- .border-r {
4124
- border-right-width: undefinedpx;
4125
- }
4126
-
4127
- .border-white\/10 {
4128
- border-color: rgba(255, 255, 255, 0.1);
4129
- }
4130
-
4131
- .block {
4132
- display: block;
4133
- }
4134
-
4135
- .flex-1 {
4136
- flex: 1 1 0%;
4137
- }
4138
-
4139
- .starlight-search {
4140
- position: relative;
4141
- display: block;
4142
- width: 100%;
4143
- position: relative;
4144
- width: 100%;
4145
- max-width: 36rem;
4146
- }
4147
-
4148
- .search-icon {
4149
- position: absolute;
4150
- left: 1rem;
4151
- top: 50%;
4152
- pointer-events: none;
4153
- z-index: 10;
4154
- width: 1.25rem;
4155
- height: 1.25rem;
4156
- }
4157
-
4158
- .search-input {
4159
- padding-left: 3rem;
4160
- width: 100%;
4161
- }
4162
-
4163
- .text-muted {
4164
- color: var(--text-muted);
4165
- }
4166
-
4167
- .starlight-dashboard {
4168
- display: grid;
4169
- grid-template-columns: repeat(1, minmax(0, 1fr));
4170
- gap: 2rem;
4171
- }
4172
-
4173
- body.light-mode .light\:shadow-lg {
4174
- box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4175
- }
4176
-
4177
- .w-2 {
4178
- width: 0.5rem;
4179
- }
4180
-
4181
- .h-2 {
4182
- height: 0.5rem;
4183
- }
4184
-
4185
- .bg-success {
4186
- background-color: #10b981;
4187
- }
4188
-
4189
- .mr-1 {
4190
- margin-right: 0.25rem;
4191
- }
4192
-
4193
- .starlight-gallery {
4194
- display: grid;
4195
- grid-template-columns: repeat(1, minmax(0, 1fr));
4196
- gap: 1rem;
4197
- }
4198
-
4199
- .starlight-form {
4200
- display: grid;
4201
- grid-template-columns: repeat(1, minmax(0, 1fr));
4202
- gap: 2rem;
4203
- }
4204
-
4205
- .form-row {
4206
- display: flex;
4207
- justify-content: space-between;
4208
- align-items: center;
4209
- gap: 1rem;
4210
- }
4211
-
4212
- .mt-auto {
4213
- margin-top: auto;
4214
- }
4215
-
4216
- .pt-4 {
4217
- padding-top: 1rem;
4218
- }
4219
-
4220
- .w-5 {
4221
- width: 1.25rem;
4222
- }
4223
-
4224
- .h-5 {
4225
- height: 1.25rem;
4226
- }
4227
-
4228
- .pl-5 {
4229
- padding-left: 1.25rem;
4230
- }
4231
-
4232
- .mt-20 {
4233
- margin-top: 5rem;
4234
- }
4235
-
4236
- .pt-8 {
4237
- padding-top: 2rem;
4238
- }
4239
-
4240
- .dialog-close {
4241
- position: absolute;
4242
- top: 1.5rem;
4243
- right: 1.5rem;
4244
- width: 2rem;
4245
- height: 2rem;
4246
- border-radius: 50%;
4247
- display: flex;
4248
- align-items: center;
4249
- justify-content: center;
4250
- cursor: pointer;
4251
- }
4252
-
4253
- .text-success {
4254
- color: #10b981;
4255
- }
4256
-
4257
- .h-14 {
4258
- height: 3.5rem;
4259
- }
4260
-
4261
- .pb-12 {
4262
- padding-bottom: 3rem;
4263
- }
4264
-
4265
- .max-w-3xl {
4266
- max-width: 48rem;
4267
- }
4268
-
4269
- .gap-3 {
4270
- gap: 0.75rem;
4271
- }
4272
-
4273
- .checkbox-starlight {
4274
- appearance: none;
4275
- width: 1.25rem;
4276
- height: 1.25rem;
4277
- background: rgba(255, 255, 255, 0.05);
4278
- border: 1px solid rgba(255, 255, 255, 0.2);
4279
- border-radius: 0.375rem;
4280
- cursor: pointer;
4281
- transition: all 0.2s ease;
4282
- position: relative;
4283
- display: inline-flex;
4284
- align-items: center;
4285
- justify-content: center;
4286
- }
4287
-
4288
- .mt-6 {
4289
- margin-top: 1.5rem;
4290
- }
4291
-
4292
- .w-3\/4 {
4293
- width: 75.00%;
4294
- }
4295
-
4296
- .h-12 {
4297
- height: 3rem;
4298
- }
4299
-
4300
- .w-1\/2 {
4301
- width: 50.00%;
4302
- }
4303
-
4304
- .mr-8 {
4305
- margin-right: 2rem;
4306
- }
4307
-
4308
- .px-8 {
4309
- padding-left: 2rem;
4310
- padding-right: 2rem;
4311
- }
4312
-
4313
- .py-2\.5 {
4314
- padding-top: 0.625rem;
4315
- padding-bottom: 0.625rem;
4316
- }
4317
-
4318
- .max-w-\[1200px\] {
4319
- max-width: 1200px;
4320
- }
4321
-
4322
- .hover\:bg-starlight:hover {
4323
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
4324
- }
4325
-
4326
- .shadow-lg {
4327
- box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4328
- }
4329
-
4330
- .py-24 {
4331
- padding-top: 6rem;
4332
- padding-bottom: 6rem;
4333
- }
4334
-
4335
- .items-end {
4336
- align-items: flex-end;
4337
- }
4338
-
4339
- .border-starlight {
4340
- border-color: #00d4ff;
4341
- }
4342
-
4343
- .pb-1 {
4344
- padding-bottom: 0.25rem;
4345
- }
4346
-
4347
- .hover\:text-white:hover {
4348
- color: #ffffff;
4349
- }
4350
-
4351
- .hover\:border-white:hover {
4352
- border-color: #ffffff;
4353
- }
4354
-
4355
- .duration-500 {
4356
- transition-duration: 500ms;
4357
- }
4358
-
4359
- .gap-2 {
4360
- gap: 0.5rem;
4361
- }
4362
-
4363
- .mb-32 {
4364
- margin-bottom: 8rem;
4365
- }
4366
-
4367
- .p-16 {
4368
- padding: 4rem;
4369
- }
4370
-
4371
- .grid-cols-2 {
4372
- grid-template-columns: repeat(2, minmax(0, 1fr));
4373
- }
4374
-
4375
- .mb-16 {
4376
- margin-bottom: 4rem;
4377
- }
4378
-
4379
- .col-span-2 {
4380
- grid-column: span 2 / span 2;
4381
- }
4382
-
4383
- .hover\:text-starlight:hover {
4384
- color: #00d4ff;
4385
- }
4386
-
4387
- .left-0 {
4388
- left: 0px;
4389
- }
4390
-
4391
- .z-0 {
4392
- z-index: 0;
4393
- }
4394
-
4395
- .pointer-events-none {
4396
- pointer-events: none;
4397
- }
4398
-
4399
- .h-24 {
4400
- height: 6rem;
4401
- }
4402
-
4403
- .w-8 {
4404
- width: 2rem;
4405
- }
4406
-
4407
- .h-8 {
4408
- height: 2rem;
4409
- }
4410
-
4411
- .hover\:text-primary:hover {
4412
- color: #3b82f6;
4413
- }
4414
-
4415
- .gap-16 {
4416
- gap: 4rem;
4417
- }
4418
-
4419
- .space-y-16 > * + * {
4420
- margin-top: 4rem;
4421
- }
4422
-
4423
- .text-secondary {
4424
- color: #64748b;
4425
- }
4426
-
4427
- .w-12 {
4428
- width: 3rem;
4429
- }
4430
-
4431
- .border-primary\/30 {
4432
- border-color: rgba(59, 130, 246, 0.3);
4433
- }
4434
-
4435
- .p-1 {
4436
- padding: 0.25rem;
4437
- }
4438
-
4439
- .bg-black\/40 {
4440
- background-color: rgba(0, 0, 0, 0.4);
4441
- }
4442
-
4443
- .max-w-none {
4444
- max-width: none;
4445
- }
4446
-
4447
- .space-y-10 > * + * {
4448
- margin-top: 2.5rem;
4449
- }
4450
-
4451
- .border-l-4 {
4452
- border-left-width: 4px;
4453
- }
4454
-
4455
- .border-primary {
4456
- border-color: #3b82f6;
4457
- }
4458
-
4459
- .bg-primary\/5 {
4460
- background-color: rgba(59, 130, 246, 0.05);
4461
- }
4462
-
4463
- .mt-12 {
4464
- margin-top: 3rem;
4465
- }
4466
-
4467
- .mr-2 {
4468
- margin-right: 0.5rem;
4469
- }
4470
-
4471
- .hover\:bg-white\/10:hover {
4472
- background-color: rgba(255, 255, 255, 0.1);
4473
- }
4474
-
4475
- .hover\:bg-white\/5:hover {
4476
- background-color: rgba(255, 255, 255, 0.05);
4477
- }
4478
-
4479
- .group:hover .group-hover\:text-primary {
4480
- color: #3b82f6;
4481
- }
4482
-
4483
- .backdrop-blur-md {
4484
- backdrop-filter: blur(12px);
4485
- -webkit-backdrop-filter: blur(12px);
4486
- }
4487
-
4488
- .space-x-12 > * + * {
4489
- margin-left: 3rem;
4490
- }
4491
-
4492
- .py-16 {
4493
- padding-top: 4rem;
4494
- padding-bottom: 4rem;
4495
- }
4496
-
4497
- .px-4 {
4498
- padding-left: 1rem;
4499
- padding-right: 1rem;
4500
- }
4501
-
4502
- .py-1\.5 {
4503
- padding-top: 0.375rem;
4504
- padding-bottom: 0.375rem;
4505
- }
4506
-
4507
- .rounded-\[2\.5rem\] {
4508
- border-radius: 2.5rem;
4509
- }
4510
-
4511
- .max-w-5xl {
4512
- max-width: 64rem;
4513
- }
4514
-
4515
- .shadow-2xl {
4516
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4517
- }
4518
-
4519
- .mb-3 {
4520
- margin-bottom: 0.75rem;
4521
- }
4522
-
4523
- .bg-transparent {
4524
- background-color: transparent;
4525
- }
4526
-
4527
- .placeholder\:text-white\/10:placeholder {
4528
- color: rgba(255, 255, 255, 0.1);
4529
- }
4530
-
4531
- .border-l {
4532
- border-left-width: undefinedpx;
4533
- }
4534
-
4535
- .px-16 {
4536
- padding-left: 4rem;
4537
- padding-right: 4rem;
4538
- }
4539
-
4540
- .h-auto {
4541
- height: auto;
4542
- }
4543
-
4544
- .hover\:glow-blue:hover {
4545
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
4546
- }
4547
-
4548
- .text-orange-600 {
4549
- color: #ea580c;
4550
- }
4551
-
4552
- .transition-all {
4553
- transition-property: all;
4554
- }
4555
-
4556
- .h-80 {
4557
- height: 20rem;
4558
- }
4559
-
4560
- .group:hover .group-hover\:scale-110 {
4561
- transform: scale(1.1);
4562
- }
4563
-
4564
- .duration-700 {
4565
- transition-duration: 700ms;
4566
- }
4567
-
4568
- .z-10 {
4569
- z-index: 10;
4570
- }
4571
-
4572
- .bottom-8 {
4573
- bottom: 2rem;
4574
- }
4575
-
4576
- .left-8 {
4577
- left: 2rem;
4578
- }
4579
-
4580
- .z-20 {
4581
- z-index: 20;
4582
- }
4583
-
4584
- .bg-blue-600\/20 {
4585
- background-color: rgba(37, 99, 235, 0.2);
4586
- }
4587
-
4588
- .ml-2 {
4589
- margin-left: 0.5rem;
4590
- }
4591
-
4592
- .hover\:text-black:hover {
4593
- color: #000000;
4594
- }
4595
-
4596
- .bg-orange-600\/20 {
4597
- background-color: rgba(234, 88, 12, 0.2);
4598
- }
4599
-
4600
- .rounded-\[3rem\] {
4601
- border-radius: 3rem;
4602
- }
4603
-
4604
- .max-w-xl {
4605
- max-width: 36rem;
4606
- }
4607
-
4608
- .placeholder\:text-white\/20:placeholder {
4609
- color: rgba(255, 255, 255, 0.2);
4610
- }
4611
-
4612
- .space-x-6 > * + * {
4613
- margin-left: 1.5rem;
4614
- }
4615
-
4616
- .bg-white\/80 {
4617
- background-color: rgba(255, 255, 255, 0.8);
4618
- }
4619
-
4620
- .max-w-\[1440px\] {
4621
- max-width: 1440px;
4622
- }
4623
-
4624
- .text-slate-900 {
4625
- color: #0f172a;
4626
- }
4627
-
4628
- .hover\:text-orange-600:hover {
4629
- color: #ea580c;
4630
- }
4631
-
4632
- .hover\:bg-slate-200:hover {
4633
- background-color: #e2e8f0;
4634
- }
4635
-
4636
- .-top-1 {
4637
- top: 0.25rem;
4638
- }
4639
-
4640
- .-right-1 {
4641
- right: -0.25rem;
4642
- }
4643
-
4644
- .bg-orange-600 {
4645
- background-color: #ea580c;
4646
- }
4647
-
4648
- .min-w-56 {
4649
- min-width: 14rem;
4650
- }
4651
-
4652
- .flex-shrink-0 {
4653
- flex-shrink: 0;
4654
- }
4655
-
4656
- .space-x-4 > * + * {
4657
- margin-left: 1rem;
4658
- }
4659
-
4660
- .group:hover .group-hover\:text-slate-900 {
4661
- color: #0f172a;
4662
- }
4663
-
4664
- .min-w-0 {
4665
- min-width: 0;
4666
- }
4667
-
4668
- .gap-x-8 {
4669
- column-gap: 2rem;
4670
- }
4671
-
4672
- .gap-y-16 {
4673
- row-gap: 4rem;
4674
- }
4675
-
4676
- .aspect-\[3\/4\] {
4677
- aspect-ratio: 3 / 4;
4678
- width: 100%;
4679
- height: auto;
4680
- }
4681
-
4682
- .top-4 {
4683
- top: 1rem;
4684
- }
4685
-
4686
- .left-4 {
4687
- left: 1rem;
4688
- }
4689
-
4690
- .space-y-2 > * + * {
4691
- margin-top: 0.5rem;
4692
- }
4693
-
4694
- .bottom-4 {
4695
- bottom: 1rem;
4696
- }
4697
-
4698
- .duration-300 {
4699
- transition-duration: 300ms;
4700
- }
4701
-
4702
- .px-1 {
4703
- padding-left: 0.25rem;
4704
- padding-right: 0.25rem;
4705
- }
4706
-
4707
- .bg-slate-900\/80 {
4708
- background-color: rgba(15, 23, 42, 0.8);
4709
- }
4710
-
4711
- .shadow-sm {
4712
- box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4713
- }
4714
-
4715
- .border-blue-600\/50 {
4716
- border-color: rgba(37, 99, 235, 0.5);
4717
- }
4718
-
4719
- .text-slate-200 {
4720
- color: #e2e8f0;
4721
- }
4722
-
4723
- .bg-slate-950 {
4724
- background-color: #020617;
4725
- }
4726
-
4727
- .placeholder\:text-slate-600:placeholder {
4728
- color: #475569;
4729
- }
4730
-
4731
- @media (min-width: 640px) {
4732
- .starlight-gallery {
4733
- grid-template-columns: repeat(2, minmax(0, 1fr));
4734
- }
4735
-
4736
- .sm\:flex-row {
4737
- flex-direction: row;
4738
- }
4739
- }
4740
-
4741
- @media (min-width: 768px) {
4742
- .md\:btn-primary {
4743
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
4744
- color: #000;
4745
- border: none;
4746
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
4747
- font-weight: 700;
4748
- transition: all 0.2s ease;
4749
- height: 3rem;
4750
- padding: 0 1.5rem;
4751
- display: inline-flex;
4752
- align-items: center;
4753
- justify-content: center;
4754
- border-radius: 0.5rem;
4755
- cursor: pointer;
4756
- padding-left: 1.5rem;
4757
- padding-right: 1.5rem;
4758
- padding-top: 0.5rem;
4759
- padding-bottom: 0.5rem;
4760
- border-radius: 0.5rem;
4761
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4762
- }
4763
-
4764
- .md\:btn-primary:hover {
4765
- transform: scale(1.05);
4766
- }
4767
-
4768
- .md\:grid-cols-2 {
4769
- grid-template-columns: repeat(2, minmax(0, 1fr));
4770
- }
4771
-
4772
- .md\:flex-row {
4773
- flex-direction: row;
4774
- }
4775
-
4776
- .md\:w-80 {
4777
- width: 20rem;
4778
- }
4779
-
4780
- .md\:grid-cols-4 {
4781
- grid-template-columns: repeat(4, minmax(0, 1fr));
4782
- }
4783
-
4784
- .md\:col-span-2 {
4785
- grid-column: span 2 / span 2;
4786
- }
4787
-
4788
- .md\:grid-cols-3 {
4789
- grid-template-columns: repeat(3, minmax(0, 1fr));
4790
- }
4791
-
4792
- .md\:px-8 {
4793
- padding-left: 2rem;
4794
- padding-right: 2rem;
4795
- }
4796
-
4797
- .starlight-dashboard {
4798
- grid-template-columns: repeat(2, minmax(0, 1fr));
4799
- }
4800
-
4801
- .starlight-form {
4802
- grid-template-columns: repeat(2, minmax(0, 1fr));
4803
- }
4804
-
4805
- .md\:hidden {
4806
- display: none;
4807
- }
4808
-
4809
- .md\:w-96 {
4810
- width: 24rem;
4811
- }
4812
-
4813
- .md\:col-span-1 {
4814
- grid-column: span 1 / span 1;
4815
- }
4816
-
4817
- .md\:flex {
4818
- display: flex;
4819
- }
4820
-
4821
- .md\:block {
4822
- display: block;
4823
- }
4824
-
4825
- .md\:h-full {
4826
- height: 100%;
4827
- }
4828
- }
4829
-
4830
- @media (min-width: 1024px) {
4831
- .lg\:grid-cols-12 {
4832
- grid-template-columns: repeat(12, minmax(0, 1fr));
4833
- }
4834
-
4835
- .lg\:col-span-8 {
4836
- grid-column: span 8 / span 8;
4837
- }
4838
-
4839
- .lg\:col-span-4 {
4840
- grid-column: span 4 / span 4;
4841
- }
4842
-
4843
- .starlight-dashboard {
4844
- grid-template-columns: repeat(3, minmax(0, 1fr));
4845
- }
4846
-
4847
- .starlight-gallery {
4848
- grid-template-columns: repeat(4, minmax(0, 1fr));
4849
- }
4850
-
4851
- .lg\:grid-cols-3 {
4852
- grid-template-columns: repeat(3, minmax(0, 1fr));
4853
- }
4854
-
4855
- .lg\:flex {
4856
- display: flex;
4857
- }
4858
-
4859
- .lg\:flex-row {
4860
- flex-direction: row;
4861
- }
4862
-
4863
- .lg\:w-64 {
4864
- width: 16rem;
4865
- }
4866
-
4867
- .lg\:col-span-2 {
4868
- grid-column: span 2 / span 2;
4869
- }
4870
- }
4871
-
4872
- @media (min-width: 1280px) {
4873
- .xl\:grid-cols-4 {
4874
- grid-template-columns: repeat(4, minmax(0, 1fr));
4875
- }
4876
- }
4877
-
4878
- @media (prefers-color-scheme: dark) {
4879
- .card-premium {
4880
- background-color: rgba(255, 255, 255, 0.05);
4881
- border-color: rgba(255, 255, 255, 0.1);
4882
- backdrop-filter: blur(12px);
4883
- -webkit-backdrop-filter: blur(12px);
4884
- }
4885
- }
1
+ @import 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap';:root{color-scheme:dark;--color-primary:#3b82f6;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-secondary:#64748b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-neutral:#6b7280;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:Georgia,Cambria,serif;--font-mono:'SF Mono',Monaco,'Cascadia Code',monospace;--space-0:0px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-none:0px;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 5%);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 10%),0 2px 4px -2px rgb(0 0 0 / 10%);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 10%),0 4px 6px -4px rgb(0 0 0 / 10%);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 10%),0 8px 10px -6px rgb(0 0 0 / 10%);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 25%);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--duration-1000:1000ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--color-starlight-blue:#00d4ff;--color-starlight-peach:#ffb38a;--color-starlight-orange:#ff7e5f;--color-starlight-deep:#08081a;--color-starlight-glow:rgb(0 212 255 / 35%);--bg-primary:var(--color-starlight-deep);--text-primary:#f1f5f9;--text-secondary:rgb(241 245 249 / 70%);--text-muted:rgb(241 245 249 / 45%);--light-bg:#f1f5f9;--light-text:#1e293b;--light-text-muted:#64748b;--light-card-bg:#fff;--light-card-border:rgb(0 0 0 / 6%);--glass-bg:rgb(255 255 255 / 3%);--glass-border:rgb(255 255 255 / 10%);--glass-blur:blur(16px);--transition-fast:150ms ease-in-out;--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms ease-in-out;}@media (prefers-contrast:more){:root{--color-starlight-blue:#08c;--color-starlight-orange:#d14d33;--glass-bg:rgb(255 255 255 / 10%);--glass-border:rgb(255 255 255 / 40%);--text-muted:rgb(241 245 249 / 80%);}}@media (forced-colors:active){:root{--radius-none:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-2xl:0;--radius-3xl:0;--radius-full:0;}.starlight-card,.glass{border:2px solid CanvasText !important;}.btn-starlight{background:ButtonFace !important;color:ButtonText !important;border:2px solid ButtonText !important;}}@media (prefers-color-scheme:dark){:root{--color-primary:#60a5fa;--color-secondary:#94a3b8;--color-neutral:#9ca3af;}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{line-height:1.6;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-starlight-deep);scrollbar-width:thin;scrollbar-color:var(--color-starlight-blue) transparent;}body{line-height:inherit;}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;border:none;background:transparent;}textarea{resize:vertical;min-height:5rem;}.container{width:100%;max-width:1100px;margin-left:auto;margin-right:auto;padding-left:var(--space-8);padding-right:var(--space-8);}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);}@media (min-width:640px){.container{max-width:640px;}}@media (min-width:768px){.container{max-width:768px;}}@media (min-width:1024px){.container{max-width:1024px;}}@media (min-width:1280px){.container{max-width:1280px;}}.block{display:block;}.inline-block{display:inline-block;}.inline{display:inline;}.flex{display:flex;}.inline-flex{display:inline-flex;}.grid{display:grid;}.inline-grid{display:inline-grid;}.hidden{display:none;}.flex-row{flex-direction:row;}.flex-row-reverse{flex-direction:row-reverse;}.flex-col{flex-direction:column;}.flex-col-reverse{flex-direction:column-reverse;}.flex-wrap{flex-wrap:wrap;}.flex-wrap-reverse{flex-wrap:wrap-reverse;}.flex-nowrap{flex-wrap:nowrap;}.items-start{align-items:flex-start;}.items-end{align-items:flex-end;}.items-center{align-items:center;}.items-baseline{align-items:baseline;}.items-stretch{align-items:stretch;}.justify-start{justify-content:flex-start;}.justify-end{justify-content:flex-end;}.justify-center{justify-content:center;}.justify-between{justify-content:space-between;}.justify-around{justify-content:space-around;}.justify-evenly{justify-content:space-evenly;}.flex-1{flex:1 1 0%;}.flex-auto{flex:1 1 auto;}.flex-initial{flex:0 1 auto;}.flex-none{flex:none;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.gap-0{gap:var(--space-0);}.gap-1{gap:var(--space-1);}.gap-2{gap:var(--space-2);}.gap-3{gap:var(--space-3);}.gap-4{gap:var(--space-4);}.gap-5{gap:var(--space-5);}.gap-6{gap:var(--space-6);}.gap-8{gap:var(--space-8);}.gap-10{gap:var(--space-10);}.gap-12{gap:var(--space-12);}.gap-16{gap:var(--space-16);}.gap-20{gap:var(--space-20);}.gap-24{gap:var(--space-24);}.gap-32{gap:var(--space-32);}.m-0{margin:var(--space-0);}.m-1{margin:var(--space-1);}.m-2{margin:var(--space-2);}.m-3{margin:var(--space-3);}.m-4{margin:var(--space-4);}.m-5{margin:var(--space-5);}.m-6{margin:var(--space-6);}.m-8{margin:var(--space-8);}.m-10{margin:var(--space-10);}.m-12{margin:var(--space-12);}.m-16{margin:var(--space-16);}.m-20{margin:var(--space-20);}.m-24{margin:var(--space-24);}.m-32{margin:var(--space-32);}.m-auto{margin:auto;}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0);}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1);}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2);}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3);}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4);}.mx-5{margin-left:var(--space-5);margin-right:var(--space-5);}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6);}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8);}.mx-10{margin-left:var(--space-10);margin-right:var(--space-10);}.mx-12{margin-left:var(--space-12);margin-right:var(--space-12);}.mx-16{margin-left:var(--space-16);margin-right:var(--space-16);}.mx-20{margin-left:var(--space-20);margin-right:var(--space-20);}.mx-24{margin-left:var(--space-24);margin-right:var(--space-24);}.mx-32{margin-left:var(--space-32);margin-right:var(--space-32);}.mx-auto{margin-left:auto;margin-right:auto;}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0);}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1);}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2);}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3);}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4);}.my-5{margin-top:var(--space-5);margin-bottom:var(--space-5);}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6);}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8);}.my-10{margin-top:var(--space-10);margin-bottom:var(--space-10);}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12);}.my-16{margin-top:var(--space-16);margin-bottom:var(--space-16);}.my-20{margin-top:var(--space-20);margin-bottom:var(--space-20);}.my-24{margin-top:var(--space-24);margin-bottom:var(--space-24);}.my-32{margin-top:var(--space-32);margin-bottom:var(--space-32);}.my-auto{margin-top:auto;margin-bottom:auto;}.mt-0{margin-top:var(--space-0);}.mt-1{margin-top:var(--space-1);}.mt-2{margin-top:var(--space-2);}.mt-3{margin-top:var(--space-3);}.mt-4{margin-top:var(--space-4);}.mt-5{margin-top:var(--space-5);}.mt-6{margin-top:var(--space-6);}.mt-8{margin-top:var(--space-8);}.mt-10{margin-top:var(--space-10);}.mt-12{margin-top:var(--space-12);}.mt-16{margin-top:var(--space-16);}.mt-20{margin-top:var(--space-20);}.mt-24{margin-top:var(--space-24);}.mt-32{margin-top:var(--space-32);}.mr-0{margin-right:var(--space-0);}.mr-1{margin-right:var(--space-1);}.mr-2{margin-right:var(--space-2);}.mr-3{margin-right:var(--space-3);}.mr-4{margin-right:var(--space-4);}.mr-5{margin-right:var(--space-5);}.mr-6{margin-right:var(--space-6);}.mr-8{margin-right:var(--space-8);}.mr-10{margin-right:var(--space-10);}.mr-12{margin-right:var(--space-12);}.mr-16{margin-right:var(--space-16);}.mr-20{margin-right:var(--space-20);}.mr-24{margin-right:var(--space-24);}.mr-32{margin-right:var(--space-32);}.mb-0{margin-bottom:var(--space-0);}.mb-1{margin-bottom:var(--space-1);}.mb-2{margin-bottom:var(--space-2);}.mb-3{margin-bottom:var(--space-3);}.mb-4{margin-bottom:var(--space-4);}.mb-5{margin-bottom:var(--space-5);}.mb-6{margin-bottom:var(--space-6);}.mb-8{margin-bottom:var(--space-8);}.mb-10{margin-bottom:var(--space-10);}.mb-12{margin-bottom:var(--space-12);}.mb-16{margin-bottom:var(--space-16);}.mb-20{margin-bottom:var(--space-20);}.mb-24{margin-bottom:var(--space-24);}.mb-32{margin-bottom:var(--space-32);}.ml-0{margin-left:var(--space-0);}.ml-1{margin-left:var(--space-1);}.ml-2{margin-left:var(--space-2);}.ml-3{margin-left:var(--space-3);}.ml-4{margin-left:var(--space-4);}.ml-5{margin-left:var(--space-5);}.ml-6{margin-left:var(--space-6);}.ml-8{margin-left:var(--space-8);}.ml-10{margin-left:var(--space-10);}.ml-12{margin-left:var(--space-12);}.ml-16{margin-left:var(--space-16);}.ml-20{margin-left:var(--space-20);}.ml-24{margin-left:var(--space-24);}.ml-32{margin-left:var(--space-32);}.p-0{padding:var(--space-0);}.p-1{padding:var(--space-1);}.p-2{padding:var(--space-2);}.p-3{padding:var(--space-3);}.p-4{padding:var(--space-4);}.p-5{padding:var(--space-5);}.p-6{padding:var(--space-6);}.p-8{padding:var(--space-8);}.p-10{padding:var(--space-10);}.p-12{padding:var(--space-12);}.p-16{padding:var(--space-16);}.p-20{padding:var(--space-20);}.p-24{padding:var(--space-24);}.p-32{padding:var(--space-32);}.px-0{padding-left:var(--space-0);padding-right:var(--space-0);}.px-1{padding-left:var(--space-1);padding-right:var(--space-1);}.px-2{padding-left:var(--space-2);padding-right:var(--space-2);}.px-3{padding-left:var(--space-3);padding-right:var(--space-3);}.px-4{padding-left:var(--space-4);padding-right:var(--space-4);}.px-5{padding-left:var(--space-5);padding-right:var(--space-5);}.px-6{padding-left:var(--space-6);padding-right:var(--space-6);}.px-8{padding-left:var(--space-8);padding-right:var(--space-8);}.px-10{padding-left:var(--space-10);padding-right:var(--space-10);}.px-12{padding-left:var(--space-12);padding-right:var(--space-12);}.px-16{padding-left:var(--space-16);padding-right:var(--space-16);}.px-20{padding-left:var(--space-20);padding-right:var(--space-20);}.px-24{padding-left:var(--space-24);padding-right:var(--space-24);}.px-32{padding-left:var(--space-32);padding-right:var(--space-32);}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0);}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1);}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2);}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3);}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4);}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5);}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6);}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8);}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10);}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12);}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16);}.py-20{padding-top:var(--space-20);padding-bottom:var(--space-20);}.py-24{padding-top:var(--space-24);padding-bottom:var(--space-24);}.py-32{padding-top:var(--space-32);padding-bottom:var(--space-32);}.pt-0{padding-top:var(--space-0);}.pt-1{padding-top:var(--space-1);}.pt-2{padding-top:var(--space-2);}.pt-3{padding-top:var(--space-3);}.pt-4{padding-top:var(--space-4);}.pt-5{padding-top:var(--space-5);}.pt-6{padding-top:var(--space-6);}.pt-8{padding-top:var(--space-8);}.pt-10{padding-top:var(--space-10);}.pt-12{padding-top:var(--space-12);}.pt-16{padding-top:var(--space-16);}.pt-20{padding-top:var(--space-20);}.pt-24{padding-top:var(--space-24);}.pt-32{padding-top:var(--space-32);}.pr-0{padding-right:var(--space-0);}.pr-1{padding-right:var(--space-1);}.pr-2{padding-right:var(--space-2);}.pr-3{padding-right:var(--space-3);}.pr-4{padding-right:var(--space-4);}.pr-5{padding-right:var(--space-5);}.pr-6{padding-right:var(--space-6);}.pr-8{padding-right:var(--space-8);}.pr-10{padding-right:var(--space-10);}.pr-12{padding-right:var(--space-12);}.pr-16{padding-right:var(--space-16);}.pr-20{padding-right:var(--space-20);}.pr-24{padding-right:var(--space-24);}.pr-32{padding-right:var(--space-32);}.pb-0{padding-bottom:var(--space-0);}.pb-1{padding-bottom:var(--space-1);}.pb-2{padding-bottom:var(--space-2);}.pb-3{padding-bottom:var(--space-3);}.pb-4{padding-bottom:var(--space-4);}.pb-5{padding-bottom:var(--space-5);}.pb-6{padding-bottom:var(--space-6);}.pb-8{padding-bottom:var(--space-8);}.pb-10{padding-bottom:var(--space-10);}.pb-12{padding-bottom:var(--space-12);}.pb-16{padding-bottom:var(--space-16);}.pb-20{padding-bottom:var(--space-20);}.pb-24{padding-bottom:var(--space-24);}.pb-32{padding-bottom:var(--space-32);}.pl-0{padding-left:var(--space-0);}.pl-1{padding-left:var(--space-1);}.pl-2{padding-left:var(--space-2);}.pl-3{padding-left:var(--space-3);}.pl-4{padding-left:var(--space-4);}.pl-5{padding-left:var(--space-5);}.pl-6{padding-left:var(--space-6);}.pl-8{padding-left:var(--space-8);}.pl-10{padding-left:var(--space-10);}.pl-12{padding-left:var(--space-12);}.pl-16{padding-left:var(--space-16);}.pl-20{padding-left:var(--space-20);}.pl-24{padding-left:var(--space-24);}.pl-32{padding-left:var(--space-32);}.text-xs{font-size:0.75rem;line-height:1rem;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-base{font-size:1rem;line-height:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.text-2xl{font-size:1.5rem;line-height:2rem;}.text-3xl{font-size:1.875rem;line-height:2.25rem;}.text-4xl{font-size:2.25rem;line-height:2.5rem;}.text-5xl{font-size:3rem;line-height:1.2;}.font-light{font-weight:300;}.font-normal{font-weight:400;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.font-bold{font-weight:700;}.font-extrabold{font-weight:800;}.text-left{text-align:left;}.text-center{text-align:center;}.text-right{text-align:right;}.text-justify{text-align:justify;}.text-primary{color:var(--color-primary);}.text-secondary{color:var(--color-secondary);}.text-success{color:var(--color-success);}.text-warning{color:var(--color-warning);}.text-error{color:var(--color-error);}.text-neutral{color:var(--color-neutral);}.text-white{color:#fff;}.text-black{color:#000;}.bg-primary{background-color:var(--color-primary);}.bg-secondary{background-color:var(--color-secondary);}.bg-success{background-color:var(--color-success);}.bg-warning{background-color:var(--color-warning);}.bg-error{background-color:var(--color-error);}.bg-neutral{background-color:var(--color-neutral);}.bg-white{background-color:#fff;color:#0f172a;}.bg-black{background-color:#000;color:#fff;}.border-0{border-width:0;}.border{border-width:1px;}.border-2{border-width:2px;}.border-4{border-width:4px;}.border-solid{border-style:solid;}.border-dashed{border-style:dashed;}.border-dotted{border-style:dotted;}.border-neutral{border-color:var(--color-neutral);}.rounded-none{border-radius:var(--radius-none);}.rounded-sm{border-radius:var(--radius-sm);}.rounded-md{border-radius:var(--radius-md);}.rounded-lg{border-radius:var(--radius-lg);}.rounded-xl{border-radius:var(--radius-xl);}.rounded-2xl{border-radius:var(--radius-2xl);}.rounded-3xl{border-radius:var(--radius-3xl);}.rounded-full{border-radius:var(--radius-full);}.shadow-none{box-shadow:none;}.shadow-sm{box-shadow:var(--shadow-sm);}.shadow-md{box-shadow:var(--shadow-md);}.shadow-lg{box-shadow:var(--shadow-lg);}.shadow-xl{box-shadow:var(--shadow-xl);}.shadow-2xl{box-shadow:var(--shadow-2xl);}.static{position:static;}.fixed{position:fixed;}.absolute{position:absolute;}.relative{position:relative;}.sticky{position:sticky;}.inset-0{inset:0;}.top-0{top:0;}.right-0{right:0;}.bottom-0{bottom:0;}.left-0{left:0;}.w-auto{width:auto;}.w-full{width:100%;}.w-screen{width:100vw;}.w-fit{width:fit-content;}.h-auto{height:auto;}.h-full{height:100%;}.h-screen{height:100vh;}.h-fit{height:fit-content;}.transition-none{transition-property:none;}.transition-all{transition-property:all;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.scale-95{transform:scale(0.95);}.scale-100{transform:scale(1);}.scale-105{transform:scale(1.05);}.scale-110{transform:scale(1.1);}.rotate-0{transform:rotate(0deg);}.rotate-45{transform:rotate(45deg);}.rotate-90{transform:rotate(90deg);}.rotate-180{transform:rotate(180deg);}.cursor-pointer{cursor:pointer;}.cursor-default{cursor:default;}.cursor-not-allowed{cursor:not-allowed;}.select-none{user-select:none;}.select-text{user-select:text;}.select-all{user-select:all;}.pointer-events-none{pointer-events:none;}.pointer-events-auto{pointer-events:auto;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border-width:0;}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;}.z-auto{z-index:auto;}.z-0{z-index:0;}.z-10{z-index:10;}.z-20{z-index:20;}.z-30{z-index:30;}.z-40{z-index:40;}.z-50{z-index:50;}.z-100{z-index:100;}.z-200{z-index:200;}.z-300{z-index:300;}.z-400{z-index:400;}.z-500{z-index:500;}.z-600{z-index:600;}.z-700{z-index:700;}.z-800{z-index:800;}.z-900{z-index:900;}.z-1000{z-index:1000;}.prose{max-width:65ch;line-height:1.75;}.prose h1{font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem;}.prose h2{font-size:1.875rem;font-weight:600;line-height:1.25;margin-top:2rem;margin-bottom:1rem;}.prose p{margin-bottom:1rem;}.prose a{color:var(--color-primary);text-decoration:underline;}.prose a:hover{color:var(--color-primary-600);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-starlight-peach) 0%,var(--color-starlight-blue) 100%);border-radius:10px;border:2px solid var(--color-starlight-deep);}html[data-theme="light"],body.light-mode{color-scheme:light;--bg-primary:var(--light-bg);--text-primary:var(--light-text);--text-secondary:var(--light-text-muted);--text-muted:var(--light-text-muted);scrollbar-color:var(--color-starlight-blue) transparent;}html[data-theme="dark"],body.dark-mode{color-scheme:dark;--bg-primary:var(--color-starlight-deep);--text-primary:#f1f5f9;}html[data-theme="light"] body,body.light-mode{background:var(--light-bg) !important;color:var(--light-text);}html[data-theme="dark"] body,body.dark-mode{background:var(--color-starlight-deep) !important;color:#f1f5f9;}html[data-theme="light"]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-starlight-peach) 40%,var(--color-starlight-blue) 100%);border-color:var(--light-bg);}:focus,:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-starlight-deep),0 0 0 4px var(--color-starlight-blue);transition:box-shadow var(--transition-fast);}html[data-theme="light"]:focus,html[data-theme="light"]:focus-visible{box-shadow:0 0 0 2px var(--light-bg),0 0 0 4px rgb(59 130 246 / 40%);}body{margin:0;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-slow),color var(--transition-slow);}button:active,input:active,.active-scale:active{transform:scale(0.96);}@custom-media --sm (min-width:640px);@custom-media --md (min-width:768px);@custom-media --lg (min-width:1024px);@custom-media --xl (min-width:1280px);@custom-media --2xl (min-width:1536px);@container (min-width:320px){.container\:flex{display:flex;}.container\:grid{display:grid;}.container\:hidden{display:none;}}@container (min-width:640px){.container\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.container\:text-lg{font-size:1.125rem;line-height:1.75rem;}.container\:p-6{padding:var(--space-6);}}@container (min-width:768px){.container\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.container\:text-xl{font-size:1.25rem;line-height:1.75rem;}.container\:p-8{padding:var(--space-8);}}@container (min-width:1024px){.container\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.container\:text-2xl{font-size:1.5rem;line-height:2rem;}}@media (--sm){.sm\:block{display:block;}.sm\:inline-block{display:inline-block;}.sm\:inline{display:inline;}.sm\:flex{display:flex;}.sm\:grid{display:grid;}.sm\:hidden{display:none;}.sm\:flex-row{flex-direction:row;}.sm\:flex-col{flex-direction:column;}.sm\:items-start{align-items:flex-start;}.sm\:items-center{align-items:center;}.sm\:items-end{align-items:flex-end;}.sm\:justify-start{justify-content:flex-start;}.sm\:justify-center{justify-content:center;}.sm\:justify-end{justify-content:flex-end;}.sm\:justify-between{justify-content:space-between;}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.sm\:text-xs{font-size:0.75rem;line-height:1rem;}.sm\:text-sm{font-size:0.875rem;line-height:1.25rem;}.sm\:text-base{font-size:1rem;line-height:1.5rem;}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem;}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem;}.sm\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\:m-0{margin:var(--space-0);}.sm\:m-1{margin:var(--space-1);}.sm\:m-2{margin:var(--space-2);}.sm\:m-3{margin:var(--space-3);}.sm\:m-4{margin:var(--space-4);}.sm\:m-6{margin:var(--space-6);}.sm\:m-8{margin:var(--space-8);}.sm\:mx-auto{margin-left:auto;margin-right:auto;}.sm\:p-0{padding:var(--space-0);}.sm\:p-1{padding:var(--space-1);}.sm\:p-2{padding:var(--space-2);}.sm\:p-3{padding:var(--space-3);}.sm\:p-4{padding:var(--space-4);}.sm\:p-6{padding:var(--space-6);}.sm\:p-8{padding:var(--space-8);}.sm\:w-full{width:100%;}.sm\:w-auto{width:auto;}.sm\:h-full{height:100%;}.sm\:h-auto{height:auto;}}@media (--md){.md\:block{display:block;}.md\:inline-block{display:inline-block;}.md\:inline{display:inline;}.md\:flex{display:flex;}.md\:grid{display:grid;}.md\:hidden{display:none;}.md\:flex-row{flex-direction:row;}.md\:flex-col{flex-direction:column;}.md\:items-start{align-items:flex-start;}.md\:items-center{align-items:center;}.md\:items-end{align-items:flex-end;}.md\:justify-start{justify-content:flex-start;}.md\:justify-center{justify-content:center;}.md\:justify-end{justify-content:flex-end;}.md\:justify-between{justify-content:space-between;}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:text-xs{font-size:0.75rem;line-height:1rem;}.md\:text-sm{font-size:0.875rem;line-height:1.25rem;}.md\:text-base{font-size:1rem;line-height:1.5rem;}.md\:text-lg{font-size:1.125rem;line-height:1.75rem;}.md\:text-xl{font-size:1.25rem;line-height:1.75rem;}.md\:text-2xl{font-size:1.5rem;line-height:2rem;}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.md\:m-0{margin:var(--space-0);}.md\:m-1{margin:var(--space-1);}.md\:m-2{margin:var(--space-2);}.md\:m-3{margin:var(--space-3);}.md\:m-4{margin:var(--space-4);}.md\:m-6{margin:var(--space-6);}.md\:m-8{margin:var(--space-8);}.md\:m-12{margin:var(--space-12);}.md\:mx-auto{margin-left:auto;margin-right:auto;}.md\:p-0{padding:var(--space-0);}.md\:p-1{padding:var(--space-1);}.md\:p-2{padding:var(--space-2);}.md\:p-3{padding:var(--space-3);}.md\:p-4{padding:var(--space-4);}.md\:p-6{padding:var(--space-6);}.md\:p-8{padding:var(--space-8);}.md\:p-12{padding:var(--space-12);}.md\:w-full{width:100%;}.md\:w-auto{width:auto;}.md\:w-1\/2{width:50%;}.md\:w-1\/3{width:33.333333%;}.md\:w-2\/3{width:66.666667%;}.md\:w-1\/4{width:25%;}.md\:w-3\/4{width:75%;}.md\:h-full{height:100%;}.md\:h-auto{height:auto;}.md\:h-screen{height:100vh;}}@media (--lg){.lg\:block{display:block;}.lg\:inline-block{display:inline-block;}.lg\:inline{display:inline;}.lg\:flex{display:flex;}.lg\:grid{display:grid;}.lg\:hidden{display:none;}.lg\:flex-row{flex-direction:row;}.lg\:flex-col{flex-direction:column;}.lg\:items-start{align-items:flex-start;}.lg\:items-center{align-items:center;}.lg\:items-end{align-items:flex-end;}.lg\:items-stretch{align-items:stretch;}.lg\:justify-start{justify-content:flex-start;}.lg\:justify-center{justify-content:center;}.lg\:justify-end{justify-content:flex-end;}.lg\:justify-between{justify-content:space-between;}.lg\:justify-around{justify-content:space-around;}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:text-xs{font-size:0.75rem;line-height:1rem;}.lg\:text-sm{font-size:0.875rem;line-height:1.25rem;}.lg\:text-base{font-size:1rem;line-height:1.5rem;}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem;}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem;}.lg\:text-2xl{font-size:1.5rem;line-height:2rem;}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.lg\:m-0{margin:var(--space-0);}.lg\:m-1{margin:var(--space-1);}.lg\:m-2{margin:var(--space-2);}.lg\:m-3{margin:var(--space-3);}.lg\:m-4{margin:var(--space-4);}.lg\:m-6{margin:var(--space-6);}.lg\:m-8{margin:var(--space-8);}.lg\:m-12{margin:var(--space-12);}.lg\:m-16{margin:var(--space-16);}.lg\:mx-auto{margin-left:auto;margin-right:auto;}.lg\:p-0{padding:var(--space-0);}.lg\:p-1{padding:var(--space-1);}.lg\:p-2{padding:var(--space-2);}.lg\:p-3{padding:var(--space-3);}.lg\:p-4{padding:var(--space-4);}.lg\:p-6{padding:var(--space-6);}.lg\:p-8{padding:var(--space-8);}.lg\:p-12{padding:var(--space-12);}.lg\:p-16{padding:var(--space-16);}.lg\:w-full{width:100%;}.lg\:w-auto{width:auto;}.lg\:w-1\/2{width:50%;}.lg\:w-1\/3{width:33.333333%;}.lg\:w-2\/3{width:66.666667%;}.lg\:w-1\/4{width:25%;}.lg\:w-3\/4{width:75%;}.lg\:w-1\/5{width:20%;}.lg\:w-2\/5{width:40%;}.lg\:w-3\/5{width:60%;}.lg\:w-4\/5{width:80%;}.lg\:h-full{height:100%;}.lg\:h-auto{height:auto;}.lg\:h-screen{height:100vh;}}@media (--xl){.xl\:block{display:block;}.xl\:inline-block{display:inline-block;}.xl\:inline{display:inline;}.xl\:flex{display:flex;}.xl\:grid{display:grid;}.xl\:hidden{display:none;}.xl\:flex-row{flex-direction:row;}.xl\:flex-col{flex-direction:column;}.xl\:items-start{align-items:flex-start;}.xl\:items-center{align-items:center;}.xl\:items-end{align-items:flex-end;}.xl\:items-stretch{align-items:stretch;}.xl\:justify-start{justify-content:flex-start;}.xl\:justify-center{justify-content:center;}.xl\:justify-end{justify-content:flex-end;}.xl\:justify-between{justify-content:space-between;}.xl\:justify-around{justify-content:space-around;}.xl\:justify-evenly{justify-content:space-evenly;}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr));}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.xl\:text-xs{font-size:0.75rem;line-height:1rem;}.xl\:text-sm{font-size:0.875rem;line-height:1.25rem;}.xl\:text-base{font-size:1rem;line-height:1.5rem;}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem;}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem;}.xl\:text-2xl{font-size:1.5rem;line-height:2rem;}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.xl\:text-5xl{font-size:3rem;line-height:1;}.xl\:m-0{margin:var(--space-0);}.xl\:m-1{margin:var(--space-1);}.xl\:m-2{margin:var(--space-2);}.xl\:m-3{margin:var(--space-3);}.xl\:m-4{margin:var(--space-4);}.xl\:m-6{margin:var(--space-6);}.xl\:m-8{margin:var(--space-8);}.xl\:m-12{margin:var(--space-12);}.xl\:m-16{margin:var(--space-16);}.xl\:m-20{margin:var(--space-20);}.xl\:mx-auto{margin-left:auto;margin-right:auto;}.xl\:p-0{padding:var(--space-0);}.xl\:p-1{padding:var(--space-1);}.xl\:p-2{padding:var(--space-2);}.xl\:p-3{padding:var(--space-3);}.xl\:p-4{padding:var(--space-4);}.xl\:p-6{padding:var(--space-6);}.xl\:p-8{padding:var(--space-8);}.xl\:p-12{padding:var(--space-12);}.xl\:p-16{padding:var(--space-16);}.xl\:p-20{padding:var(--space-20);}.xl\:w-full{width:100%;}.xl\:w-auto{width:auto;}.xl\:w-1\/2{width:50%;}.xl\:w-1\/3{width:33.333333%;}.xl\:w-2\/3{width:66.666667%;}.xl\:w-1\/4{width:25%;}.xl\:w-3\/4{width:75%;}.xl\:w-1\/5{width:20%;}.xl\:w-2\/5{width:40%;}.xl\:w-3\/5{width:60%;}.xl\:w-4\/5{width:80%;}.xl\:h-full{height:100%;}.xl\:h-auto{height:auto;}.xl\:h-screen{height:100vh;}}@media (orientation:landscape){.landscape\:flex-row{flex-direction:row;}.landscape\:hidden{display:none;}}@media (orientation:portrait){.portrait\:flex-col{flex-direction:column;}.portrait\:hidden{display:none;}}@media (min-resolution:2dppx),(min-resolution:192dpi){.retina\:text-sm{font-size:0.875rem;line-height:1.25rem;}.retina\:border{border-width:0.5px;}}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none;}}@media (prefers-color-scheme:dark){.dark\:text-white{color:#fff;}.dark\:text-gray-200{color:#e5e7eb;}.dark\:text-gray-300{color:#d1d5db;}.dark\:bg-gray-900{background-color:#111827;}.dark\:bg-gray-800{background-color:#1f2937;}.dark\:bg-gray-700{background-color:#374151;}.dark\:border-gray-700{border-color:#374151;}.dark\:border-gray-600{border-color:#4b5563;}}@media (prefers-color-scheme:light){.light\:text-black{color:#000;}.light\:text-gray-800{color:#1f2937;}.light\:text-gray-700{color:#374151;}.light\:bg-white{background-color:#fff;}.light\:bg-gray-50{background-color:#f9fafb;}.light\:bg-gray-100{background-color:#f3f4f6;}.light\:border-gray-300{border-color:#d1d5db;}.light\:border-gray-200{border-color:#e5e7eb;}}.hover\:text-primary:hover{color:var(--color-primary);}.hover\:text-secondary:hover{color:var(--color-secondary);}.hover\:text-white:hover{color:#fff;}.hover\:text-black:hover{color:#000;}.hover\:bg-primary:hover{background-color:var(--color-primary);}.hover\:bg-secondary:hover{background-color:var(--color-secondary);}.hover\:bg-gray-100:hover{background-color:#f3f4f6;}.hover\:bg-gray-200:hover{background-color:#e5e7eb;}.hover\:border-primary:hover{border-color:var(--color-primary);}.hover\:border-secondary:hover{border-color:var(--color-secondary);}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg);}.hover\:shadow-xl:hover{box-shadow:var(--shadow-xl);}.hover\:scale-105:hover{transform:scale(1.05);}.hover\:scale-110:hover{transform:scale(1.1);}.hover\:scale-95:hover{transform:scale(0.95);}.hover\:rotate-90:hover{transform:rotate(90deg);}.hover\:rotate-180:hover{transform:rotate(180deg);}.hover\:opacity-75:hover{opacity:0.75;}.hover\:opacity-50:hover{opacity:0.5;}.hover\:opacity-100:hover{opacity:1;}.focus\:outline-none:focus{outline:none;}.focus\:outline:focus{outline:2px solid;outline-offset:2px;}.focus\:outline-primary:focus{outline-color:var(--color-primary);}.focus\:outline-secondary:focus{outline-color:var(--color-secondary);}.focus\:ring:focus{box-shadow:0 0 0 3px;}.focus\:ring-primary:focus{box-shadow:0 0 0 3px var(--color-primary);}.focus\:ring-secondary:focus{box-shadow:0 0 0 3px var(--color-secondary);}.focus\:border-primary:focus{border-color:var(--color-primary);}.focus\:border-secondary:focus{border-color:var(--color-secondary);}.active\:scale-95:active{transform:scale(0.95);}.active\:scale-90:active{transform:scale(0.9);}.active\:bg-primary:active{background-color:var(--color-primary);}.active\:bg-secondary:active{background-color:var(--color-secondary);}.disabled\:opacity-50:disabled{opacity:0.5;}.disabled\:opacity-75:disabled{opacity:0.75;}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed;}.disabled\:pointer-events-none:disabled{pointer-events:none;}.group:hover .group-hover\:text-primary{color:var(--color-primary);}.group:hover .group-hover\:text-white{color:#fff;}.group:hover .group-hover\:bg-primary{background-color:var(--color-primary);}.group:hover .group-hover\:bg-secondary{background-color:var(--color-secondary);}.group:hover .group-hover\:opacity-100{opacity:1;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;transition:all var(--duration-150) var(--ease-in-out);cursor:pointer;border:1px solid transparent;text-decoration:none;font-family:inherit;}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.btn-primary{background-color:var(--color-primary);color:white;border-color:var(--color-primary);}.btn-primary:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600);}.btn-secondary{background-color:rgb(255 255 255 / 8%);color:#ffffff !important;border:1px solid rgb(255 255 255 / 15%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.btn-secondary:hover{background-color:rgb(255 255 255 / 10%);}body.light-mode .btn-secondary,html[data-theme="light"] .btn-secondary{background-color:rgb(0 0 0 / 3%);color:#1e293b !important;border-color:rgb(0 0 0 / 10%);}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary);}.btn-outline:hover{background-color:var(--color-primary);color:white;}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent;}.btn-ghost:hover{background-color:var(--color-primary-100);}.btn-sm{padding:var(--space-1) var(--space-3);font-size:0.875rem;}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1.125rem;}.btn-xl{padding:var(--space-4) var(--space-8);font-size:1.25rem;}.card{background-color:white;color:#1e293b;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--duration-200) var(--ease-in-out);}body.light-mode .card{background-color:white;color:#1e293b;}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}.card-header{padding:var(--space-6);border-bottom:1px solid #e5e7eb;}.card-body{padding:var(--space-6);}.card-footer{padding:var(--space-6);border-top:1px solid #e5e7eb;background-color:#f9fafb;color:#1e293b;}body.light-mode .card-footer{background-color:#f9fafb;color:#1e293b;}.input{display:block;width:100%;padding:var(--space-2) var(--space-3);border:1px solid #d1d5db;border-radius:var(--radius-md);background-color:white;color:#1e293b;font-size:1rem;transition:all var(--duration-150) var(--ease-in-out);}body.light-mode .input{background-color:white;color:#1e293b;}textarea.input{min-height:100px;}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary);}input[type="date"].input,input[type="datetime-local"].input,input[type="time"].input{appearance:none;-webkit-appearance:none;min-height:2.5rem;display:inline-flex;align-items:center;}.glass input[type="date"],.starlight-card input[type="date"],[class*="dark"] input[type="date"]{color-scheme:dark;}input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(0.5);margin-left:0.5rem;}.input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed;}body.light-mode .input:disabled{background-color:#f3f4f6;color:#6b7280;}.input-error{border-color:var(--color-error);}.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error);}.badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:0.375rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border:1px solid;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}.badge-primary{background-color:rgb(0 212 255 / 15%);color:#00d4ff;border-color:rgb(0 212 255 / 30%);}.badge-secondary{background-color:rgb(255 255 255 / 5%);color:rgb(255 255 255 / 80%);border-color:rgb(255 255 255 / 10%);}.badge-success{background-color:rgb(16 185 129 / 15%);color:#10b981;border-color:rgb(16 185 129 / 30%);}.badge-warning{background-color:rgb(245 158 11 / 15%);color:#f59e0b;border-color:rgb(245 158 11 / 30%);}.badge-error{background-color:rgb(239 68 68 / 15%);color:#ef4444;border-color:rgb(239 68 68 / 30%);}html[data-theme="light"] .badge-primary{background-color:rgb(59 130 246 / 10%);color:#2563eb;border-color:rgb(59 130 246 / 20%);}html[data-theme="light"] .badge-secondary{background-color:rgb(0 0 0 / 5%);color:#475569;border-color:rgb(0 0 0 / 10%);}html[data-theme="light"] .badge-success{background-color:rgb(16 185 129 / 10%);color:#059669;border-color:rgb(16 185 129 / 20%);}html[data-theme="light"] .badge-warning{background-color:rgb(245 158 11 / 10%);color:#d97706;border-color:rgb(245 158 11 / 20%);}html[data-theme="light"] .badge-error{background-color:rgb(239 68 68 / 10%);color:#dc2626;border-color:rgb(239 68 68 / 20%);}.alert{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;}.alert-success{background-color:#d1fae5;border-color:#6ee7b7;color:#065f46;}.alert-warning{background-color:#fed7aa;border-color:#fbbf24;color:#92400e;}.alert-error{background-color:#fee2e2;border-color:#f87171;color:#991b1b;}.alert-info{background-color:#dbeafe;border-color:#60a5fa;color:#1e40af;}.modal-overlay{position:fixed;inset:0;background-color:rgb(0 0 0 / 50%);display:flex;align-items:center;justify-content:center;z-index:50;}.modal-content{background-color:white;color:#1e293b;border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow-y:auto;}body.light-mode .modal-content{background-color:white;color:#1e293b;}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid rgb(255 255 255 / 10%);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.skeleton{background:linear-gradient(90deg,rgb(255 255 255 / 5%) 25%,rgb(255 255 255 / 10%) 50%,rgb(255 255 255 / 5%) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md);}@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}body.light-mode .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;}.tooltip{position:relative;}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:#1f2937;color:white;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:0.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--duration-150) var(--ease-in-out);z-index:10;margin-bottom:var(--space-1);}.tooltip:hover .tooltip-content{opacity:1;visibility:visible;}.dropdown{position:relative;display:inline-block;}.dropdown-content{position:absolute;top:100%;left:0;background-color:white;color:#1e293b;border:1px solid #e5e7eb;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:20;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--duration-150) var(--ease-in-out);}body.light-mode .dropdown-content{background-color:white;color:#1e293b;}.dropdown.active .dropdown-content{opacity:1;visibility:visible;transform:translateY(0);}.dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:none;border:none;cursor:pointer;color:#1e293b;transition:background-color var(--duration-150) var(--ease-in-out);}.dropdown-item:hover{background-color:#f3f4f6;color:#1e293b;}body.light-mode .dropdown-item{color:#1e293b;}body.light-mode .dropdown-item:hover{background-color:#f3f4f6;color:#1e293b;}.accordion-item{border:1px solid #e5e7eb;border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden;}.accordion-header{padding:var(--space-4);background-color:#f9fafb;color:#1e293b;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--duration-150) var(--ease-in-out);}.accordion-header:hover{background-color:#f3f4f6;color:#1e293b;}.accordion-content{padding:var(--space-4);background-color:white;color:#1e293b;max-height:0;overflow:hidden;transition:max-height var(--duration-300) var(--ease-in-out);}body.light-mode .accordion-header{background-color:#f9fafb;color:#1e293b;}body.light-mode .accordion-header:hover{background-color:#f3f4f6;color:#1e293b;}body.light-mode .accordion-content{background-color:white;color:#1e293b;}.accordion-item.active .accordion-content{max-height:500px;}.accordion-item.active .accordion-icon{transform:rotate(180deg);}.accordion-icon{transition:transform var(--duration-300) var(--ease-in-out);}.tab-list{display:flex;border-bottom:1px solid rgb(255 255 255 / 10%);}.tab-button{padding:var(--space-3) var(--space-4);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:500;transition:all var(--duration-150) var(--ease-in-out);}.tab-button:hover{background-color:rgb(255 255 255 / 5%);color:var(--text-primary);}.tab-button.active{border-bottom-color:var(--color-starlight-blue);color:var(--color-starlight-blue);}body.light-mode .tab-list{border-bottom-color:#e2e8f0;}body.light-mode .tab-button{color:#64748b;}body.light-mode .tab-button:hover{background-color:#f1f5f9;color:#0f172a;}body.light-mode .tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);}.tab-content{padding:var(--space-4);}.tab-panel{display:none;}.tab-panel.active{display:block;}.progress{width:100%;height:0.5rem;background-color:#e5e7eb;border-radius:var(--radius-full);overflow:hidden;}.progress-bar{height:100%;background-color:var(--color-primary);transition:width var(--duration-300) var(--ease-in-out);}.toggle{position:relative;display:inline-block;width:3rem;height:1.5rem;}.toggle-input{opacity:0;width:0;height:0;}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:background-color var(--duration-150) var(--ease-in-out);border-radius:var(--radius-full);}.toggle-slider::before{position:absolute;content:"";height:1.25rem;width:1.25rem;left:0.125rem;bottom:0.125rem;background-color:white;transition:transform var(--duration-150) var(--ease-in-out);border-radius:50%;}.toggle-input:checked + .toggle-slider{background-color:var(--color-primary);}.toggle-input:checked + .toggle-slider::before{transform:translateX(1.5rem);}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.animate-bounce{animation:bounce 1s infinite;}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}.animate-fade-in{animation:fadeIn var(--duration-500) var(--ease-in-out);}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.animate-slide-up{animation:slideUp var(--duration-300) var(--ease-out);}@keyframes slideUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.animate-slide-down{animation:slideDown var(--duration-300) var(--ease-out);}@keyframes slideDown{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}.table-wrapper::-webkit-scrollbar{height:8px;}.table-wrapper::-webkit-scrollbar-track{background:rgb(255 255 255 / 5%);border-radius:4px;}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-starlight-blue,#3b82f6);border-radius:4px;}body.light-mode .table-wrapper::-webkit-scrollbar-track{background:rgb(0 0 0 / 5%);}.table{width:100%;border-collapse:collapse;font-size:0.875rem;text-align:left;color:var(--text-primary);}.table th{padding:var(--space-3) var(--space-4);font-weight:600;background-color:rgb(255 255 255 / 5%);border-bottom:2px solid rgb(255 255 255 / 10%);color:var(--text-primary);}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid rgb(255 255 255 / 10%);color:var(--text-secondary);}.table tbody tr:hover{background-color:rgb(255 255 255 / 3%);}body.light-mode .table th{background-color:#f8fafc;border-bottom-color:#e2e8f0;color:#0f172a;}body.light-mode .table td{border-bottom-color:#e2e8f0;color:#334155;}body.light-mode .table tbody tr:hover{background-color:#f1f5f9;}.overflow-x-auto{overflow-x:auto;}.overflow-y-auto{overflow-y:auto;}.app-layout{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;background:var(--bg-primary,#08081a);overflow:hidden;max-width:100vw;}.app-layout-narrow{grid-template-columns:80px minmax(0,1fr);}.app-layout-wide{grid-template-columns:320px minmax(0,1fr);}.sidebar{background:linear-gradient(180deg,rgba(15,23,42,0.98) 0%,rgba(8,8,26,0.98) 100%);border-right:1px solid rgba(255,255,255,0.08);padding:1.5rem;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;}.main-content{padding:1.5rem 2rem;overflow-y:auto;overflow-x:hidden;}.top-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:1rem;}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;}body.light-mode .sidebar{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-right-color:#e2e8f0;}body.light-mode .top-nav{background:#ffffff;border-color:#e2e8f0;}@media (max-width:1024px){.app-layout{grid-template-columns:80px 1fr;}.sidebar{padding:1rem;}}@media (max-width:768px){.app-layout{grid-template-columns:1fr;}.sidebar{display:none;}.main-content{padding:1rem;}.page-header{flex-direction:column;align-items:flex-start;gap:1rem;}}.nav-section{margin-bottom:1.5rem;}.nav-section-title{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--text-muted,#64748b);margin-bottom:0.75rem;padding-left:0.75rem;}.nav-item{display:flex;align-items:center;gap:0.875rem;padding:0.75rem;border-radius:0.625rem;color:var(--text-secondary,#94a3b8);font-size:0.875rem;cursor:pointer;transition:all 0.2s ease;margin-bottom:0.25rem;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;}.nav-item:hover{background:rgba(255,255,255,0.05);color:var(--text-primary,#f1f5f9);}.nav-item.active{background:rgba(0,212,255,0.12);color:var(--color-starlight,#00d4ff);}.nav-item svg{width:1.125rem;height:1.125rem;max-width:1.125rem;max-height:1.125rem;flex-shrink:0;}.sidebar::-webkit-scrollbar{width:4px;}.sidebar::-webkit-scrollbar-track{background:transparent;}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:2px;}body.light-mode .sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;}.nav-badge{margin-left:auto;font-size:0.7rem;font-weight:600;padding:0.125rem 0.5rem;border-radius:9999px;background:rgba(239,68,68,0.2);color:#f87171;}body.light-mode .nav-item:hover{background:#f1f5f9;color:#0f172a;}body.light-mode .nav-section-title{color:#64748b;}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;}.stat-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:1rem;padding:1.5rem;transition:all 0.3s ease;}.stat-card:hover{background:rgba(255,255,255,0.05);transform:translateY(-2px);}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;}.stat-icon-blue{background:rgba(59,130,246,0.15);color:#60a5fa;}.stat-icon-green{background:rgba(16,185,129,0.15);color:#34d399;}.stat-icon-orange{background:rgba(249,115,22,0.15);color:#fb923c;}.stat-icon-purple{background:rgba(139,92,246,0.15);color:#a78bfa;}.stat-icon-red{background:rgba(239,68,68,0.15);color:#f87171;}.stat-value{font-size:1.875rem;font-weight:700;color:var(--text-primary,#f1f5f9);margin-bottom:0.25rem;}.stat-label{font-size:0.875rem;color:var(--text-muted,#64748b);}.stat-trend{display:flex;align-items:center;gap:0.25rem;font-size:0.75rem;font-weight:600;padding:0.25rem 0.5rem;border-radius:0.375rem;}.stat-trend-up{background:rgba(16,185,129,0.15);color:#34d399;}.stat-trend-down{background:rgba(239,68,68,0.15);color:#f87171;}body.light-mode .stat-card{background:#ffffff;border-color:#e2e8f0;}body.light-mode .stat-card:hover{background:#f8fafc;}body.light-mode .stat-icon-blue{background:rgba(59,130,246,0.1);}body.light-mode .stat-icon-green{background:rgba(16,185,129,0.1);}body.light-mode .stat-icon-orange{background:rgba(249,115,22,0.1);}body.light-mode .stat-icon-purple{background:rgba(139,92,246,0.1);}body.light-mode .stat-icon-red{background:rgba(239,68,68,0.1);}@media (max-width:1280px){.stats-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr;}}.icon-btn{width:40px;height:40px;border-radius:0.625rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--text-secondary,#94a3b8);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;position:relative;}.icon-btn:hover{background:rgba(255,255,255,0.08);color:var(--text-primary,#f1f5f9);}.icon-btn-circle{border-radius:50%;}.icon-btn-sm{width:32px;height:32px;border-radius:0.5rem;}.icon-btn-lg{width:48px;height:48px;border-radius:0.75rem;}.action-buttons{display:flex;gap:0.5rem;}.action-btn{width:32px;height:32px;border-radius:0.5rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--text-muted,#64748b);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;}.action-btn:hover{background:rgba(255,255,255,0.08);color:var(--text-primary,#f1f5f9);}.action-btn-delete:hover{background:rgba(239,68,68,0.15);color:#f87171;border-color:rgba(239,68,68,0.3);}body.light-mode .icon-btn,body.light-mode .action-btn{background:#f1f5f9;border-color:#e2e8f0;color:#64748b;}body.light-mode .icon-btn:hover,body.light-mode .action-btn:hover{background:#e2e8f0;color:#0f172a;}.theme-toggle-wrapper{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.08);}.theme-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:0.625rem;color:var(--text-secondary,#94a3b8);font-size:0.875rem;cursor:pointer;transition:all 0.2s ease;}.theme-btn:hover{background:rgba(255,255,255,0.08);color:var(--text-primary,#f1f5f9);}.sun-icon{display:none;}body.light-mode .sun-icon{display:inline;}body.light-mode .moon-icon{display:none;}body.light-mode .theme-btn{background:#f1f5f9;border-color:#e2e8f0;color:#475569;}body.light-mode .theme-toggle-wrapper{border-top-color:#e2e8f0;}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,var(--color-starlight,#00d4ff));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:0.875rem;color:white;position:relative;flex-shrink:0;overflow:hidden;}.avatar img{width:100%;height:100%;object-fit:cover;}.avatar-sm{width:32px;height:32px;font-size:0.75rem;}.avatar-md{width:36px;height:36px;font-size:0.8125rem;}.avatar-lg{width:48px;height:48px;font-size:1rem;}.avatar-xl{width:56px;height:56px;font-size:1.25rem;}.user-cell{display:flex;align-items:center;gap:0.875rem;}.user-info{display:flex;flex-direction:column;}.user-name{font-weight:600;color:var(--text-primary,#f1f5f9);margin-bottom:0.125rem;}.user-email{font-size:0.75rem;color:var(--text-muted,#64748b);}body.light-mode .user-name{color:#0f172a;}body.light-mode .user-email{color:#64748b;}.status-badge{display:inline-flex;align-items:center;gap:0.375rem;padding:0.375rem 0.875rem;border-radius:9999px;font-size:0.75rem;font-weight:500;}.status-badge::before{content:'';width:6px;height:6px;border-radius:50%;}.status-active{background:rgba(16,185,129,0.15);color:#34d399;}.status-active::before{background:#34d399;}.status-pending{background:rgba(245,158,11,0.15);color:#fbbf24;}.status-pending::before{background:#fbbf24;}.status-inactive{background:rgba(239,68,68,0.15);color:#f87171;}.status-inactive::before{background:#f87171;}.role-badge{display:inline-flex;padding:0.25rem 0.75rem;border-radius:0.375rem;font-size:0.75rem;font-weight:500;background:rgba(255,255,255,0.05);color:var(--text-secondary,#94a3b8);}.role-admin{background:rgba(0,212,255,0.15);color:var(--color-starlight,#00d4ff);}.role-moderator{background:rgba(139,92,246,0.15);color:#a78bfa;}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,var(--color-starlight,#00d4ff),#3b82f6);border-radius:10px;font-size:0.6875rem;font-weight:700;color:white;}.label{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:9999px;font-size:0.75rem;font-weight:500;margin-right:0.5rem;}.label-work{background:rgba(59,130,246,0.2);color:#60a5fa;}.label-personal{background:rgba(16,185,129,0.2);color:#34d399;}.label-important{background:rgba(239,68,68,0.2);color:#f87171;}body.light-mode .status-active{background:rgba(16,185,129,0.1);color:#059669;}body.light-mode .status-pending{background:rgba(245,158,11,0.1);color:#d97706;}body.light-mode .status-inactive{background:rgba(239,68,68,0.1);color:#dc2626;}body.light-mode .role-badge{background:#f1f5f9;color:#475569;}body.light-mode .role-admin{background:rgba(0,212,255,0.1);color:#0284c7;}body.light-mode .label-work{background:rgba(59,130,246,0.1);color:#2563eb;}body.light-mode .label-personal{background:rgba(16,185,129,0.1);color:#059669;}body.light-mode .label-important{background:rgba(239,68,68,0.1);color:#dc2626;}.search-box{position:relative;}.search-input{width:280px;padding:0.625rem 1rem 0.625rem 2.5rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:0.625rem;color:var(--text-primary,#f1f5f9);font-size:0.875rem;transition:all 0.2s ease;}.search-input:focus{outline:none;border-color:rgba(0,212,255,0.5);background:rgba(255,255,255,0.08);}.search-input::placeholder{color:var(--text-muted,#64748b);}.search-icon{position:absolute;left:0.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted,#64748b);pointer-events:none;}.search-input-full{width:100%;}.filter-select{padding:0.5rem 2rem 0.5rem 0.75rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:0.5rem;color:var(--text-secondary,#94a3b8);font-size:0.875rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.25rem;}.filter-select:focus{outline:none;border-color:rgba(0,212,255,0.5);}body.light-mode .search-input,body.light-mode .filter-select{background:#f1f5f9;border-color:#e2e8f0;color:#0f172a;}body.light-mode .search-input:focus{border-color:#3b82f6;background:#ffffff;}body.light-mode .search-input::placeholder{color:#94a3b8;}.online-indicator{position:absolute;bottom:2px;right:2px;width:10px;height:10px;background:#10b981;border-radius:50%;border:2px solid var(--bg-primary,#08081a);}.away-indicator{background:#f59e0b;}.busy-indicator{background:#ef4444;}.offline-indicator{background:#64748b;}.notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid var(--bg-primary,#08081a);}.notification-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;border-radius:9px;font-size:0.6875rem;font-weight:700;color:white;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary,#08081a);}body.light-mode .online-indicator,body.light-mode .notification-dot,body.light-mode .notification-badge{border-color:#ffffff;}.pagination{display:flex;gap:0.375rem;}.page-btn{min-width:36px;height:36px;padding:0 0.75rem;border-radius:0.5rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--text-secondary,#94a3b8);font-size:0.875rem;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;}.page-btn:hover{background:rgba(255,255,255,0.08);color:var(--text-primary,#f1f5f9);}.page-btn.active{background:rgba(0,212,255,0.15);border-color:rgba(0,212,255,0.3);color:var(--color-starlight,#00d4ff);}.page-btn:disabled{opacity:0.5;cursor:not-allowed;}body.light-mode .page-btn{background:#f1f5f9;border-color:#e2e8f0;color:#64748b;}body.light-mode .page-btn:hover{background:#e2e8f0;color:#0f172a;}body.light-mode .page-btn.active{background:rgba(59,130,246,0.1);border-color:rgba(59,130,246,0.3);color:#2563eb;}@keyframes nebula-drift{0%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}50%{transform:translate(5%,5%) scale(1.2);opacity:0.7;}100%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}}@keyframes cosmic-pulse{0%,100%{box-shadow:0 0 20px rgb(0 212 255 / 20%),0 0 40px rgb(0 212 255 / 10%);}50%{box-shadow:0 0 40px rgb(0 212 255 / 50%),0 0 80px rgb(0 212 255 / 20%);}}@keyframes star-twinkle{0%,100%{opacity:0.3;transform:scale(0.8);}50%{opacity:1;transform:scale(1.2);}}@keyframes orbit{from{transform:rotate(0deg) translateX(20px) rotate(0deg);}to{transform:rotate(360deg) translateX(20px) rotate(-360deg);}}@keyframes svg-draw{from{stroke-dashoffset:1000;}to{stroke-dashoffset:0;}}@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-20px);}}.ani-nebula{animation:nebula-drift 20s ease-in-out infinite;will-change:transform,opacity;}.ani-cosmic-pulse{animation:cosmic-pulse 4s ease-in-out infinite;}.ani-twinkle{animation:star-twinkle var(--twinkle-duration,3s) ease-in-out infinite;}.ani-orbit{animation:orbit var(--orbit-duration,10s) linear infinite;}.ani-svg-draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:svg-draw 3s cubic-bezier(0.4,0,0.2,1) forwards;}.ani-float{animation:float-y 6s ease-in-out infinite;}.ani-fade-in{animation:fadeIn 0.3s ease-out forwards;}.ani-slide-up{animation:slideUp 0.3s ease-out forwards;}.ani-slide-down{animation:slideDown 0.3s ease-out forwards;}.ani-scale-in{animation:scaleIn 0.2s ease-out forwards;}.ani-spin{animation:spin 1s linear infinite;}.ani-stagger-1{animation-delay:0.1s;}.ani-stagger-2{animation-delay:0.2s;}.ani-stagger-3{animation-delay:0.3s;}.ani-stagger-4{animation-delay:0.4s;}.ani-stagger-5{animation-delay:0.5s;}.ani-fast{animation-duration:0.5s !important;}.ani-slow{animation-duration:8s !important;}.ani-slower{animation-duration:15s !important;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes ping{75%,100%{transform:scale(2);opacity:0;}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}a{color:var(--color-starlight-blue);text-decoration:none;transition:all var(--transition-base);position:relative;}a:hover{color:var(--color-starlight-peach);text-shadow:0 0 8px rgb(255 179 138 / 40%);}a:active{transform:scale(0.98);}html[data-theme="light"] a{color:var(--color-starlight-blue);}html[data-theme="light"] a:hover{color:var(--color-starlight-peach);}.starlight-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-10);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;transition:border-color var(--transition-base),transform var(--transition-base),background-color var(--transition-base);}.starlight-card:hover{border-color:rgb(0 212 255 / 40%);transform:translateY(-4px);box-shadow:0 12px 40px rgb(0 0 0 / 40%),0 0 20px rgb(0 212 255 / 10%);background-color:rgb(255 255 255 / 4%);}html[data-theme="light"] .starlight-card{background:var(--light-card-bg);border-color:var(--light-card-border);color:#334155;box-shadow:0 4px 20px rgb(0 0 0 / 2%);}.checkbox-starlight,.radio-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgb(255 255 255 / 5%);border:1px solid rgb(255 255 255 / 20%);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;position:relative;}.radio-starlight{border-radius:50%;}html[data-theme="light"] .checkbox-starlight,html[data-theme="light"] .radio-starlight{border-color:rgb(0 0 0 / 20%);background:rgb(0 0 0 / 5%);}.checkbox-starlight:checked,.radio-starlight:checked{background:var(--color-starlight-blue);border-color:var(--color-starlight-blue);}.checkbox-starlight:checked::after{content:'✓';color:black;font-size:0.8rem;font-weight:900;}.radio-starlight:checked::after{content:'';width:0.5rem;height:0.5rem;background:black;border-radius:50%;}.has-tooltip{position:relative;}.has-tooltip .tooltip{position:absolute;bottom:125%;left:50%;transform:translateX(-50%) translateY(10px);padding:0.5rem 0.75rem;background-color:rgb(10 10 30 / 98%);backdrop-filter:blur(12px);border:1px solid rgb(0 212 255 / 30%);border-radius:0.5rem;color:#f1f5f9;font-size:0.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:all 0.2s ease;z-index:800;box-shadow:0 4px 15px rgb(0 0 0 / 40%);}.has-tooltip:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(0);}.starlight-stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden;}.star{position:absolute;background:white;border-radius:50%;opacity:0.3;animation:star-twinkle var(--duration,3s) infinite ease-in-out;}html[data-theme="light"] .star{background:var(--color-starlight-blue);opacity:0.15;}.dialog-overlay{position:fixed;inset:0;background:rgb(0 0 0 / 60%);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:400;}.dialog-content{background-color:rgb(10 10 20 / 98%);backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / 10%);border-radius:1.5rem;padding:2.5rem;max-width:90%;width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px -12px rgb(0 0 0 / 50%);position:relative;}.starlight-dialog{background-color:rgb(10 10 20 / 98%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgb(255 255 255 / 10%);border-radius:1.5rem;padding:3rem;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;margin:auto;position:relative;box-shadow:0 25px 50px -12px rgb(0 0 0 / 50%);}.dialog-content::-webkit-scrollbar,.starlight-dialog::-webkit-scrollbar{width:8px;}.dialog-content::-webkit-scrollbar-track,.starlight-dialog::-webkit-scrollbar-track{background:rgb(255 255 255 / 5%);border-radius:4px;}.dialog-content::-webkit-scrollbar-thumb,.starlight-dialog::-webkit-scrollbar-thumb{background:var(--color-starlight-blue,#3b82f6);border-radius:4px;}html[data-theme="light"] .dialog-content::-webkit-scrollbar-track,html[data-theme="light"] .starlight-dialog::-webkit-scrollbar-track{background:rgb(0 0 0 / 5%);}html[data-theme="light"] .starlight-dialog{background-color:rgb(255 255 255 / 98%);border-color:rgb(0 0 0 / 10%);color:#1e293b;box-shadow:0 25px 50px -12px rgb(0 0 0 / 15%);}.dialog-close{position:absolute;top:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;background:rgb(255 255 255 / 5%);border:1px solid rgb(255 255 255 / 10%);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;padding:0;}html[data-theme="light"] .dialog-close{background:rgb(0 0 0 / 5%);border-color:rgb(0 0 0 / 10%);color:#1e293b;}.dialog-close:hover{background:rgb(255 255 255 / 15%);border-color:var(--color-starlight-blue);transform:rotate(90deg);}.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}html[data-theme="light"] .dialog-overlay{background:rgb(255 255 255 / 40%);}html[data-theme="light"] .dialog-content{background-color:rgb(255 255 255 / 98%);border-color:rgb(0 0 0 / 10%);color:#1e293b;box-shadow:0 25px 50px -12px rgb(0 0 0 / 15%);}.dropdown-menu{position:absolute;top:100%;left:0;background-color:var(--color-starlight-deep);backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / 10%);border-radius:0.75rem;padding:0.5rem;margin-top:0.5rem;min-width:200px;z-index:600;box-shadow:0 20px 40px rgb(0 0 0 / 40%);opacity:0;visibility:hidden;transform:translateY(10px);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);pointer-events:none;}.dropdown:hover .dropdown-menu,.dropdown.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}.dropdown-item{display:block;width:100%;padding:0.625rem 1rem;border-radius:0.5rem;color:rgb(255 255 255 / 70%);transition:all 0.2s ease;text-align:left;background:transparent;border:none;cursor:pointer;}.dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}html[data-theme="light"] .dropdown-menu{background-color:rgb(255 255 255 / 99%);border-color:#cbd5e1;box-shadow:0 10px 30px rgb(0 0 0 / 10%);}html[data-theme="light"] .dropdown-item{color:#475569;}html[data-theme="light"] .dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}.input-starlight,.textarea-starlight{height:auto;padding:1rem;background-color:rgb(255 255 255 / 4%);border:1px solid rgb(255 255 255 / 15%);border-radius:0.75rem;color:inherit;width:100%;}textarea.input-starlight,.textarea-starlight{min-height:120px;display:block;}html[data-theme="light"] .input-starlight,html[data-theme="light"] .textarea-starlight{background-color:#fff;border-color:#cbd5e1;}html[data-theme="light"] .glass{background-color:rgb(0 0 0 / 2%);border-color:rgb(0 0 0 / 5%);}.input-starlight:focus,.textarea-starlight:focus{outline:none;border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgb(0 212 255 / 10%),0 0 20px rgb(0 212 255 / 10%);background-color:rgb(255 255 255 / 6%);}html[data-theme="light"] .input-starlight:focus,html[data-theme="light"] .textarea-starlight:focus{border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgb(0 212 255 / 10%),0 4px 12px rgb(0 0 0 / 5%);background-color:#fff;}.code-window{background:rgb(0 0 0 / 40%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / 10%);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 25px 50px -12px rgb(0 0 0 / 50%);}.code-window-header{background:rgb(255 255 255 / 5%);border-bottom:1px solid rgb(255 255 255 / 5%);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}.code-window-controls{display:flex;gap:0.5rem;}.code-window-dot{width:0.75rem;height:0.75rem;border-radius:50%;opacity:0.6;}.code-window-title{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.15em;color:rgb(255 255 255 / 40%);}html[data-theme="light"] .code-window{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 10px 30px rgb(0 0 0 / 5%);}html[data-theme="light"] .code-window-header{background:#f1f5f9;border-color:#e2e8f0;}html[data-theme="light"] .code-window-title{color:#94a3b8;}.accordion-starlight.accordion-item{background:rgb(255 255 255 / 2%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgb(255 255 255 / 8%);border-radius:var(--radius-xl);margin-bottom:var(--space-4);transition:all var(--transition-base);position:relative;}.accordion-starlight.accordion-item:hover{border-color:rgb(0 212 255 / 30%);background:rgb(255 255 255 / 4%);box-shadow:0 0 20px rgb(0 212 255 / 5%);}.accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:rgb(0 212 255 / 3%);box-shadow:0 0 30px rgb(0 212 255 / 10%),inset 0 0 20px rgb(0 212 255 / 5%);}.accordion-starlight .accordion-header{background:transparent !important;padding:var(--space-6) var(--space-8);color:white;font-weight:700;letter-spacing:0.02em;font-size:1.125rem;}.accordion-starlight.active .accordion-header{background:linear-gradient(to right,rgb(255 179 138 / 15%),rgb(0 212 255 / 15%)) !important;border-bottom:1px solid rgb(0 212 255 / 20%);}.accordion-starlight .accordion-content{background:linear-gradient(to bottom,rgb(0 0 0 / 30%),rgb(0 0 0 / 10%)) !important;color:rgb(255 255 255 / 60%) !important;font-size:1rem;line-height:1.8;padding:0;}.accordion-starlight.active .accordion-content{padding:var(--space-6) var(--space-8);}.accordion-starlight .accordion-icon{color:var(--color-starlight-blue);filter:drop-shadow(0 0 5px rgb(0 212 255 / 50%));}html[data-theme="light"] .accordion-starlight.accordion-item{background:white;border-color:#e2e8f0;}html[data-theme="light"] .accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:#f8fafc;}html[data-theme="light"] .accordion-starlight .accordion-header{color:#1e293b;}html[data-theme="light"] .accordion-starlight .accordion-content{background:#f1f5f9 !important;color:#475569 !important;}.search-container{position:relative;display:block;width:100%;}.search-input{padding-left:3rem !important;width:100%;}.search-icon{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;width:1.25rem;height:1.25rem;z-index:10;}html[data-theme="light"] .search-icon{color:#64748b;}.starlight-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-base);}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);}.gallery-item:hover img{transform:scale(1.1);}.gallery-item:hover{border-color:var(--color-starlight-blue);box-shadow:0 0 20px var(--color-starlight-glow);}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0 / 80%),transparent);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity 0.3s ease;}.gallery-item:hover .gallery-overlay{opacity:1;}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);}.stat-card{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);}.stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}html[data-theme="light"] .stat-value{background:linear-gradient(135deg,#1e293b 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}.stat-label{text-transform:uppercase;letter-spacing:0.1em;font-size:0.75rem;color:var(--text-muted);}.stat-trend{font-size:0.875rem;display:flex;align-items:center;gap:0.25rem;}.stat-trend.up{color:var(--color-success);}.stat-trend.down{color:var(--color-error);}.nav-glass{background:rgb(255 255 255 / 5%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgb(255 255 255 / 10%);display:flex;flex-direction:column;position:sticky;top:0;z-index:1000;padding:0;}html[data-theme="light"] .nav-glass{background:rgb(255 255 255 / 95%);border-bottom-color:rgb(0 0 0 / 8%);box-shadow:0 4px 12px rgb(0 0 0 / 3%);}.nav-desktop{display:none;align-items:center;}.nav-list{display:flex;list-style:none;gap:2rem;margin:0;padding:0;}.nav-list.vertical{flex-direction:column;gap:0.5rem;}.nav-link{font-size:0.875rem;font-weight:500;color:rgb(255 255 255 / 70%);transition:all 0.3s;position:relative;padding:0.5rem 0;display:inline-flex;align-items:center;}.nav-list.vertical .nav-link{width:100%;padding:0.75rem 1rem;border-radius:0.5rem;}.nav-list.vertical .dropdown{width:100%;display:block;}.nav-list.vertical .nav-link:hover{background:rgb(255 255 255 / 5%);color:var(--color-starlight-blue);}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-starlight-blue);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 0 10px var(--color-starlight-glow);transform:translateX(-50%);}.nav-link:hover::after{width:80%;}html[data-theme="light"] .nav-link{color:#475569;}html[data-theme="light"] .nav-link:hover{color:#1e293b;}.hamburger{width:2.5rem;height:2.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0.4rem;cursor:pointer;background:rgb(255 255 255 / 5%);border:1px solid rgb(255 255 255 / 10%);border-radius:0.5rem;padding:0.5rem;transition:all 0.3s;position:relative;}html[data-theme="light"] .hamburger{background:rgb(0 0 0 / 2%);border-color:rgb(0 0 0 / 10%);}.hamburger:hover{background:rgb(255 255 255 / 10%);border-color:var(--color-starlight-blue);}html[data-theme="light"] .hamburger:hover{background:rgb(0 0 0 / 10%);}.hamburger span{width:1.5rem;height:2px;background:white;border-radius:2px;transition:all 0.3s;transform-origin:center;}html[data-theme="light"] .hamburger span{background:#1e293b;}.hamburger.active span{background-color:var(--color-starlight-blue);box-shadow:0 0 10px var(--color-starlight-glow);}.nav-menu-mobile{width:100%;background:rgb(0 0 0 / 20%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgb(255 255 255 / 5%);padding:0;max-height:0;overflow:hidden;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);opacity:0;}.nav-menu-mobile.active{display:block;max-height:500px;padding:1.5rem 2rem;opacity:1;}html[data-theme="light"] .nav-menu-mobile{background:#fff;border-top-color:rgb(0 0 0 / 8%);box-shadow:0 15px 30px rgb(0 0 0 / 5%);}.nav-list.vertical .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 1.5rem;margin:0;max-height:0;overflow:hidden;transition:all 0.3s ease;background:transparent;pointer-events:none;}.nav-list.vertical .dropdown.active .dropdown-menu{max-height:300px;padding-top:0.5rem;padding-bottom:0.5rem;pointer-events:auto;}.nav-list.vertical .dropdown-item{padding:0.5rem 1rem;font-size:0.825rem;border-left:1px solid rgb(255 255 255 / 10%);border-radius:0;}@media (width >= 768px){.nav-desktop{display:flex;}.hamburger{display:none;}.nav-menu-mobile{display:none !important;}}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.starlight-nav.vertical{flex-direction:column;height:100%;width:280px !important;min-width:280px !important;border-bottom:none;border-right:1px solid rgb(255 255 255 / 10%);padding:2.5rem 1.5rem;align-items:flex-start;justify-content:flex-start;}html[data-theme="light"] .starlight-nav.vertical{background:rgb(255 255 255 / 98%);border-right-color:rgb(0 0 0 / 8%);}.select-starlight{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem !important;}html[data-theme="light"] .select-starlight{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231e293b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");}.range-starlight{appearance:none;width:100%;height:6px;background:rgb(255 255 255 / 10%);border-radius:3px;outline:none;}html[data-theme="light"] .range-starlight{background:rgb(0 0 0 / 10%);}.range-starlight::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--color-starlight-blue);border-radius:50%;cursor:pointer;box-shadow:0 0 10px var(--color-starlight-glow);transition:all 0.2s;}.range-starlight::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px var(--color-starlight-blue);}.toggle-starlight{width:3.5rem;height:1.75rem;}.toggle-starlight .toggle-slider::before{height:1.25rem;width:1.25rem;top:0.25rem;left:0.25rem;}.toggle-starlight input:checked + .toggle-slider::before{transform:translateX(1.75rem);}.toggle-starlight .toggle-slider{background:rgb(255 255 255 / 10%);border:1px solid rgb(255 255 255 / 10%);}html[data-theme="light"] .toggle-starlight .toggle-slider{background:rgb(0 0 0 / 10%);border-color:rgb(0 0 0 / 15%);}html[data-theme="light"] .bg-starlight,html[data-theme="light"] .bg-starlight:hover,html[data-theme="light"] .hover\:bg-starlight:hover,html[data-theme="light"] .btn-starlight,html[data-theme="light"] .btn-starlight:hover,html[data-theme="light"] .hover\:btn-starlight:hover,html[data-theme="light"] .btn-primary,html[data-theme="light"] .btn-primary:hover{background:linear-gradient(135deg,#ffb38a 40%,#00d4ff 100%) !important;}html[data-theme="light"] .text-gradient-starlight{background:linear-gradient(135deg,#ffb38a 40%,#00d4ff 100%) !important;-webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;}html[data-theme="light"] .text-success{color:#059669;}html[data-theme="light"] .text-warning{color:#d97706;}html[data-theme="light"] .dialog-content .bg-black\/40{background-color:rgb(0 0 0 / 5%);border-color:rgb(0 0 0 / 10%);}.text-glow{text-shadow:0 0 10px rgb(0 212 255 / 50%),0 0 20px rgb(0 212 255 / 20%);}.text-glass{color:rgb(255 255 255 / 60%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}html[data-theme="light"] .text-glow{text-shadow:0 0 8px rgb(0 212 255 / 30%);}html[data-theme="light"] .text-glass{color:rgb(0 0 0 / 50%);}.starlight-loading{background:linear-gradient( 90deg,rgb(255 255 255 / 3%) 25%,rgb(255 255 255 / 8%) 50%,rgb(255 255 255 / 3%) 75% );background-size:200% 100%;animation:starlight-shimmer 2s infinite linear;border-radius:var(--radius-md);min-height:1rem;}@keyframes starlight-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}html[data-theme="light"] .starlight-loading{background:linear-gradient( 90deg,rgb(0 0 0 / 3%) 25%,rgb(0 0 0 / 6%) 50%,rgb(0 0 0 / 3%) 75% );background-size:200% 100%;}::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-track{background:rgb(255 255 255 / 2%);backdrop-filter:blur(10px);}::-webkit-scrollbar-thumb{background:rgb(255 255 255 / 10%);border:1px solid rgb(255 255 255 / 5%);border-radius:10px;transition:all 0.3s;}::-webkit-scrollbar-thumb:hover{background:rgb(0 212 255 / 30%);box-shadow:0 0 10px rgb(0 212 255 / 20%);}html[data-theme="light"]::-webkit-scrollbar-track{background:rgb(0 0 0 / 3%);}html[data-theme="light"]::-webkit-scrollbar-thumb{background:rgb(0 0 0 / 10%);border-color:rgb(0 0 0 / 5%);}html[data-theme="light"]::-webkit-scrollbar-thumb:hover{background:var(--color-starlight-blue);}*{scrollbar-width:thin;scrollbar-color:rgb(255 255 255 / 10%) transparent;}html[data-theme="light"] *{scrollbar-color:rgb(0 0 0 / 10%) transparent;}@media (forced-colors:active){button:focus,input:focus,select:focus,textarea:focus{outline:2px solid SelectedItem !important;outline-offset:2px;}.starlight-card:hover,.accordion-starlight.accordion-item:hover{border-color:SelectedItem !important;}.text-gradient-starlight,.bg-starlight{background:none !important;-webkit-text-fill-color:CanvasText !important;color:CanvasText !important;text-decoration:underline;}.btn-starlight{background:linear-gradient(135deg,var(--color-starlight-peach) 0%,var(--color-starlight-blue) 100%);color:#000;font-weight:700;border:none;border-radius:0.5rem;padding:0 1.5rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;box-shadow:0 0 20px rgb(0 212 255 / 30%);text-decoration:none;}.btn-starlight:hover{transform:translateY(-2px);box-shadow:0 5px 25px rgb(0 212 255 / 40%);filter:brightness(1.1);}.btn-starlight:active{transform:translateY(0) scale(0.95);box-shadow:0 2px 10px rgb(0 212 255 / 20%);filter:brightness(0.9);}.btn-starlight:focus-visible{outline:2px solid white;outline-offset:2px;box-shadow:0 0 0 4px rgb(0 212 255 / 30%);}html[data-theme="light"] .btn-starlight:focus-visible{outline-color:var(--color-starlight-blue);}}.search-input{padding-left:3rem;width:100%;}.p-12{padding:3rem;}.max-w-4xl{max-width:56rem;}.mx-auto{margin-left:auto;margin-right:auto;}.space-y-12 > * + *{margin-top:3rem;}.text-4xl{font-size:2.5rem;line-height:1.2;}.space-y-4 > * + *{margin-top:1rem;}.text-xl{font-size:1.25rem;line-height:1.2;}.flex{display:flex;}.gap-4{gap:1rem;}.btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.btn-primary:hover{transform:scale(1.05);}.btn-secondary{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);color:#64748b;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.btn-secondary:hover{background-color:rgba(255,255,255,0.1);}.card-premium{background-color:rgba(255,255,255,0.95);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:2rem;border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);border-color:#f1f5f9;}.card-premium:hover{transform:scale(1.05);}.max-w-sm{max-width:24rem;}.text-2xl{font-size:1.5rem;line-height:1.2;}.mb-4{margin-bottom:1rem;}.p-10{padding:2.5rem;}.space-y-8 > * + *{margin-top:2rem;}.bg-black{background-color:#000000;}.text-white{color:#ffffff;}.top-0{top:0px;}.z-50{z-index:50;}.glass{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);}.p-4{padding:1rem;}.mb-8{margin-bottom:2rem;}.ml-4{margin-left:1rem;}.mt-8{margin-top:2rem;}.grid{display:grid;}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.bg-blue-500{background-color:#3b82f6;}.bg-red-500{background-color:#ef4444;}.input-starlight{background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:inherit;border-radius:0.75rem;padding:0 1rem;appearance:none;transition:all 0.2s ease;height:3rem;}.textarea-starlight{background-color:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.15);color:inherit;border-radius:0.75rem;padding:1rem;appearance:none;transition:all 0.2s ease;min-height:8rem;width:100%;display:block;}.bg-green-500{background-color:#10b981;}.mt-4{margin-top:1rem;}.btn-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;}.p-8{padding:2rem;}.min-h-screen{min-height:screen;}.w-6{width:1.5rem;}.h-6{height:1.5rem;}.hidden{display:none;}.max-w-144{max-width:36rem;}.mb-20{margin-bottom:5rem;}.pt-16{padding-top:4rem;}.text-6xl{font-size:4rem;line-height:1.2;}.mb-6{margin-bottom:1.5rem;}.text-gradient-starlight{background:linear-gradient(to right,#ffb38a,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;}.max-w-prose{max-width:65ch;}.mb-10{margin-bottom:2.5rem;}.justify-center{justify-content:center;}.gap-6{gap:1.5rem;}.bg-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.text-black{color:#000000;}.px-10{padding-left:2.5rem;padding-right:2.5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.rounded-full{border-radius:9999px;}.glow-blue{box-shadow:0 0 30px rgba(0,212,255,0.25);}.scale-105{transform:scale(1.05);}.hover\:bg-white:hover{background-color:#ffffff;}.border-none{border-width:0;}.px-12{padding-left:3rem;padding-right:3rem;}.border-2{border-width:2px;}.border-white{border-color:#ffffff;}.text-sm{font-size:0.875rem;line-height:1.5;}.text-starlight{color:#00d4ff;}.gap-10{gap:2.5rem;}.rounded-2xl{border-radius:1rem;}.rounded-xl{border-radius:0.75rem;}.w-full{width:100%;}.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}.bg-starlight-deep{background-color:#08081a;}.rounded-3xl{border-radius:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.5;}.flex-col{flex-direction:column;}.px-6{padding-left:1.5rem;padding-right:1.5rem;}.focus\:border-starlight:focus{border-color:#00d4ff;}.hover\:scale-105:hover{transform:scale(1.05);}.mt-32{margin-top:8rem;}.pt-10{padding-top:2.5rem;}.border-t{border-top-width:undefinedpx;}.border-b{border-bottom-width:undefinedpx;}.border-slate-100{border-color:#f1f5f9;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.bg-slate-50{background-color:#f8fafc;}.justify-between{justify-content:space-between;}.items-center{align-items:center;}.text-slate-500{color:#64748b;}.hover\:text-slate-900:hover{color:#0f172a;}.border-slate-900{border-color:#0f172a;}.border-b-4{border-bottom-width:4px;}.bg-white{background-color:#ffffff;}.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}.text-primary{color:#3b82f6;}.text-blue-600{color:#2563eb;}.gap-8{gap:2rem;}.text-xs{font-size:0.75rem;line-height:1.5;}.border-b-2{border-bottom-width:2px;}.border-transparent{border-color:transparent;}.hover\:border-blue-600:hover{border-color:#2563eb;}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;}.w-10{width:2.5rem;}.h-10{height:2.5rem;}.bg-slate-900{background-color:#0f172a;}.rounded{border-radius:0.375rem;}.bg-blue-600{background-color:#2563eb;}.overflow-hidden{overflow:hidden;}.inline-block{display:inline-block;}.py-12{padding-top:3rem;padding-bottom:3rem;}.px-3{padding-left:0.75rem;padding-right:0.75rem;}.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}.text-5xl{font-size:3rem;line-height:1.2;}.text-slate-300{color:#cbd5e1;}.max-w-2xl{max-width:42rem;}.gap-12{gap:3rem;}.aspect-video{aspect-ratio:16 / 9;width:100%;height:auto;}.bg-slate-100{background-color:#f1f5f9;}.rounded-lg{border-radius:0.5rem;}.h-full{height:100%;}.group:hover .group-hover\:scale-105{transform:scale(1.05);}.transition-transform{transition-property:transform;}.pb-2{padding-bottom:0.5rem;}.space-y-6 > * + *{margin-top:1.5rem;}.items-start{align-items:flex-start;}.text-slate-100{color:#f1f5f9;}.group:hover .group-hover\:text-blue-100{color:#dbeafe;}.group:hover .group-hover\:text-blue-600{color:#2563eb;}.text-slate-400{color:#94a3b8;}.mt-1{margin-top:0.25rem;}.p-6{padding:1.5rem;}.border-slate-200{border-color:#e2e8f0;}.p-3{padding:0.75rem;}.focus\:border-blue-600:focus{border-color:#2563eb;}.py-20{padding-top:5rem;padding-bottom:5rem;}.mt-24{margin-top:6rem;}.border-slate-800{border-color:#1e293b;}.pb-16{padding-bottom:4rem;}.col-span-1{grid-column:span 1 / span 1;}.text-3xl{font-size:2rem;line-height:1.2;}.max-w-md{max-width:28rem;}.space-y-3 > * + *{margin-top:0.75rem;}.p-0{padding:0px;}.hover\:text-blue-600:hover{color:#2563eb;}.pt-12{padding-top:3rem;}.text-slate-600{color:#475569;}.w-5{width:1.25rem;}.h-5{height:1.25rem;}.w-8{width:2rem;}.h-8{height:2rem;}.w-7{width:1.75rem;}.h-7{height:1.75rem;}.max-w-6xl{max-width:72rem;}.mb-12{margin-bottom:3rem;}.mb-2{margin-bottom:0.5rem;}.w-24{width:6rem;}.text-base{font-size:1rem;line-height:1.5;}.w-20{width:5rem;}.h-20{height:5rem;}.bg-blue-100{background-color:#dbeafe;}.border-blue-200{border-color:#bfdbfe;}.w-32{width:8rem;}.h-32{height:8rem;}.w-16{width:4rem;}.h-16{height:4rem;}.bg-orange-500{background-color:#f97316;}.relative{position:relative;}.h-48{height:12rem;}.absolute{position:absolute;}.w-4{width:1rem;}.h-4{height:1rem;}.bg-slate-500\/10{background-color:rgba(100,116,139,0.1);}.bg-black\/20{background-color:rgba(0,0,0,0.2);}.border-white\/20{border-color:rgba(255,255,255,0.2);}.border-white\/5{border-color:rgba(255,255,255,0.05);}.bg-white\/5{background-color:rgba(255,255,255,0.05);}.starlight-nav{background:rgba(255,255,255,0.05);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,0.1);width:100%;display:flex;flex-direction:column;padding:0;position:sticky;top:0;z-index:1000;width:100%;top:0px;z-index:1000;}body.light-mode .light\:bg-slate-300{background-color:#cbd5e1;}.h-\[400px\]{height:400px;}.border-r{border-right-width:undefinedpx;}.border-white\/10{border-color:rgba(255,255,255,0.1);}.block{display:block;}.flex-1{flex:1 1 0%;}.starlight-search{position:relative;display:block;width:100%;position:relative;width:100%;max-width:36rem;}.search-icon{position:absolute;left:1rem;top:50%;pointer-events:none;z-index:10;width:1.25rem;height:1.25rem;}.text-muted{color:var(--text-muted);}.starlight-dashboard{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;}body.light-mode .light\:shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);}.w-2{width:0.5rem;}.h-2{height:0.5rem;}.bg-success{background-color:#10b981;}.mr-1{margin-right:0.25rem;}.starlight-gallery{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;}.starlight-form{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;}.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}.mt-auto{margin-top:auto;}.pt-4{padding-top:1rem;}.pl-5{padding-left:1.25rem;}.mt-20{margin-top:5rem;}.pt-8{padding-top:2rem;}.dialog-close{position:absolute;top:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;}.text-success{color:#10b981;}.h-14{height:3.5rem;}.pb-12{padding-bottom:3rem;}.max-w-3xl{max-width:48rem;}.h-40{height:10rem;}.gap-3{gap:0.75rem;}.checkbox-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;position:relative;display:inline-flex;align-items:center;justify-content:center;}.mt-6{margin-top:1.5rem;}.w-3\/4{width:75.00%;}.h-12{height:3rem;}.w-1\/2{width:50.00%;}.mr-8{margin-right:2rem;}.px-8{padding-left:2rem;padding-right:2rem;}.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}.max-w-\[1200px\]{max-width:1200px;}.hover\:bg-starlight:hover{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);}.py-24{padding-top:6rem;padding-bottom:6rem;}.items-end{align-items:flex-end;}.border-starlight{border-color:#00d4ff;}.pb-1{padding-bottom:0.25rem;}.hover\:text-white:hover{color:#ffffff;}.hover\:border-white:hover{border-color:#ffffff;}.duration-500{transition-duration:500ms;}.gap-2{gap:0.5rem;}.mb-32{margin-bottom:8rem;}.p-16{padding:4rem;}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.mb-16{margin-bottom:4rem;}.col-span-2{grid-column:span 2 / span 2;}.hover\:text-starlight:hover{color:#00d4ff;}.space-y-1 > * + *{margin-top:0.25rem;}.pt-6{padding-top:1.5rem;}.w-3{width:0.75rem;}.h-3{height:0.75rem;}.top-bar{top:bar;}.px-4{padding-left:1rem;padding-right:1rem;}.mb-1{margin-bottom:0.25rem;}.mt-2{margin-top:0.5rem;}.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,0.1);}.bg-red-500\/20{background-color:rgba(239,68,68,0.2);}.bg-green-500\/20{background-color:rgba(16,185,129,0.2);}.left-0{left:0px;}.z-0{z-index:0;}.pointer-events-none{pointer-events:none;}.h-24{height:6rem;}.hover\:text-primary:hover{color:#3b82f6;}.gap-16{gap:4rem;}.space-y-16 > * + *{margin-top:4rem;}.text-secondary{color:#64748b;}.w-12{width:3rem;}.border-primary\/30{border-color:rgba(59,130,246,0.3);}.p-1{padding:0.25rem;}.bg-black\/40{background-color:rgba(0,0,0,0.4);}.max-w-none{max-width:none;}.space-y-10 > * + *{margin-top:2.5rem;}.border-l-4{border-left-width:4px;}.border-primary{border-color:#3b82f6;}.bg-primary\/5{background-color:rgba(59,130,246,0.05);}.mt-12{margin-top:3rem;}.mr-2{margin-right:0.5rem;}.hover\:bg-white\/5:hover{background-color:rgba(255,255,255,0.05);}.group:hover .group-hover\:text-primary{color:#3b82f6;}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.bottom-section{bottom:section;}.top-nav{top:nav;}.top-nav-actions{top:nav-actions;}.space-x-12 > * + *{margin-left:3rem;}.py-16{padding-top:4rem;padding-bottom:4rem;}.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem;}.rounded-\[2\.5rem\]{border-radius:2.5rem;}.max-w-5xl{max-width:64rem;}.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);}.mb-3{margin-bottom:0.75rem;}.bg-transparent{background-color:transparent;}.placeholder\:text-white\/10:placeholder{color:rgba(255,255,255,0.1);}.border-l{border-left-width:undefinedpx;}.px-16{padding-left:4rem;padding-right:4rem;}.h-auto{height:auto;}.hover\:glow-blue:hover{box-shadow:0 0 30px rgba(0,212,255,0.25);}.text-orange-600{color:#ea580c;}.transition-all{transition-property:all;}.h-80{height:20rem;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.duration-700{transition-duration:700ms;}.z-10{z-index:10;}.bottom-8{bottom:2rem;}.left-8{left:2rem;}.z-20{z-index:20;}.bg-blue-600\/20{background-color:rgba(37,99,235,0.2);}.ml-2{margin-left:0.5rem;}.hover\:text-black:hover{color:#000000;}.bg-orange-600\/20{background-color:rgba(234,88,12,0.2);}.rounded-\[3rem\]{border-radius:3rem;}.max-w-xl{max-width:36rem;}.placeholder\:text-white\/20:placeholder{color:rgba(255,255,255,0.2);}.space-x-6 > * + *{margin-left:1.5rem;}.bg-white\/80{background-color:rgba(255,255,255,0.8);}.max-w-\[1440px\]{max-width:1440px;}.text-slate-900{color:#0f172a;}.hover\:text-orange-600:hover{color:#ea580c;}.hover\:bg-slate-200:hover{background-color:#e2e8f0;}.-top-1{top:0.25rem;}.-right-1{right:-0.25rem;}.bg-orange-600{background-color:#ea580c;}.min-w-56{min-width:14rem;}.flex-shrink-0{flex-shrink:0;}.space-x-4 > * + *{margin-left:1rem;}.group:hover .group-hover\:text-slate-900{color:#0f172a;}.min-w-0{min-width:0;}.gap-x-8{column-gap:2rem;}.gap-y-16{row-gap:4rem;}.aspect-\[3\/4\]{aspect-ratio:3 / 4;width:100%;height:auto;}.top-4{top:1rem;}.left-4{left:1rem;}.space-y-2 > * + *{margin-top:0.5rem;}.bottom-4{bottom:1rem;}.duration-300{transition-duration:300ms;}.px-1{padding-left:0.25rem;padding-right:0.25rem;}.bg-slate-900\/80{background-color:rgba(15,23,42,0.8);}.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);}.border-blue-600\/50{border-color:rgba(37,99,235,0.5);}.text-slate-200{color:#e2e8f0;}.bg-slate-950{background-color:#020617;}.placeholder\:text-slate-600:placeholder{color:#475569;}@media (min-width:640px){.starlight-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.sm\:flex-row{flex-direction:row;}}@media (min-width:768px){.md\:btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.md\:btn-primary:hover{transform:scale(1.05);}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:flex-row{flex-direction:row;}.md\:w-80{width:20rem;}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:col-span-2{grid-column:span 2 / span 2;}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.md\:px-8{padding-left:2rem;padding-right:2rem;}.starlight-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));}.starlight-form{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:hidden{display:none;}.md\:w-96{width:24rem;}.md\:col-span-1{grid-column:span 1 / span 1;}.md\:flex{display:flex;}.md\:block{display:block;}.md\:h-full{height:100%;}}@media (min-width:1024px){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:col-span-8{grid-column:span 8 / span 8;}.lg\:col-span-4{grid-column:span 4 / span 4;}.starlight-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));}.starlight-gallery{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:flex{display:flex;}.lg\:flex-row{flex-direction:row;}.lg\:w-64{width:16rem;}.lg\:col-span-2{grid-column:span 2 / span 2;}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (prefers-color-scheme:dark){.card-premium{background-color:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}}