@howssatoshi/quantumcss 1.4.0 → 1.4.1

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