@howssatoshi/quantumcss 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4678 +1 @@
1
- /*!
2
- * QuantumCSS + Starlight UI v1.4.2 - Advanced Utility-First CSS Framework
3
- * https://github.com/macroadster/quantumcss
4
- * Copyright (c) 2026 Eric Yang
5
- * License: MIT
6
- */
7
-
8
- /*!
9
- * QuantumCSS + Starlight UI
10
- * Advanced utility-first framework with ethereal cosmic aesthetics
11
- * Version: 1.4.2
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; color: #0f172a; }
361
- .bg-black { background-color: #000000; color: #ffffff; }
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
- color: #1e293b;
1210
- border-radius: var(--radius-lg);
1211
- box-shadow: var(--shadow-md);
1212
- overflow: hidden;
1213
- transition: all var(--duration-200) var(--ease-in-out);
1214
- }
1215
-
1216
- body.light-mode .card {
1217
- background-color: white;
1218
- color: #1e293b;
1219
- }
1220
-
1221
- .card:hover {
1222
- box-shadow: var(--shadow-lg);
1223
- transform: translateY(-2px);
1224
- }
1225
-
1226
- .card-header {
1227
- padding: var(--space-6);
1228
- border-bottom: 1px solid #e5e7eb;
1229
- }
1230
-
1231
- .card-body {
1232
- padding: var(--space-6);
1233
- }
1234
-
1235
- .card-footer {
1236
- padding: var(--space-6);
1237
- border-top: 1px solid #e5e7eb;
1238
- background-color: #f9fafb;
1239
- color: #1e293b;
1240
- }
1241
-
1242
- body.light-mode .card-footer {
1243
- background-color: #f9fafb;
1244
- color: #1e293b;
1245
- }
1246
-
1247
- /* Input Component */
1248
- .input {
1249
- display: block;
1250
- width: 100%;
1251
- padding: var(--space-2) var(--space-3);
1252
- border: 1px solid #d1d5db;
1253
- border-radius: var(--radius-md);
1254
- background-color: white;
1255
- color: #1e293b;
1256
- font-size: 1rem;
1257
- transition: all var(--duration-150) var(--ease-in-out);
1258
- }
1259
-
1260
- body.light-mode .input {
1261
- background-color: white;
1262
- color: #1e293b;
1263
- }
1264
-
1265
- textarea.input {
1266
- min-height: 100px;
1267
- }
1268
-
1269
- .input:focus {
1270
- outline: none;
1271
- border-color: var(--color-primary);
1272
- box-shadow: 0 0 0 3px var(--color-primary);
1273
- }
1274
-
1275
- /* Date & Time Input Specifics */
1276
- input[type="date"].input,
1277
- input[type="datetime-local"].input,
1278
- input[type="time"].input {
1279
- appearance: none;
1280
- -webkit-appearance: none;
1281
- min-height: 2.5rem;
1282
- display: inline-flex;
1283
- align-items: center;
1284
- }
1285
-
1286
- /* Ensure dark-mode calendar picker */
1287
- .glass input[type="date"],
1288
- .starlight-card input[type="date"],
1289
- [class*="dark"] input[type="date"] {
1290
- color-scheme: dark;
1291
- }
1292
-
1293
- /* Fix for alignment in flex containers */
1294
- input[type="date"]::-webkit-calendar-picker-indicator {
1295
- cursor: pointer;
1296
- filter: invert(0.5);
1297
- margin-left: 0.5rem;
1298
- }
1299
-
1300
- .input:disabled {
1301
- background-color: #f3f4f6;
1302
- color: #6b7280;
1303
- cursor: not-allowed;
1304
- }
1305
-
1306
- body.light-mode .input:disabled {
1307
- background-color: #f3f4f6;
1308
- color: #6b7280;
1309
- }
1310
-
1311
- .input-error {
1312
- border-color: var(--color-error);
1313
- }
1314
-
1315
- .input-error:focus {
1316
- border-color: var(--color-error);
1317
- box-shadow: 0 0 0 3px var(--color-error);
1318
- }
1319
-
1320
- /* Badge Component */
1321
- .badge {
1322
- display: inline-flex;
1323
- align-items: center;
1324
- padding: 0.25rem 0.75rem;
1325
- border-radius: 0.375rem;
1326
- font-size: 0.75rem;
1327
- font-weight: 600;
1328
- text-transform: uppercase;
1329
- letter-spacing: 0.05em;
1330
- border: 1px solid;
1331
- backdrop-filter: blur(4px);
1332
- -webkit-backdrop-filter: blur(4px);
1333
- }
1334
-
1335
- .badge-primary {
1336
- background-color: rgba(0, 212, 255, 0.15);
1337
- color: #00d4ff;
1338
- border-color: rgba(0, 212, 255, 0.3);
1339
- }
1340
-
1341
- .badge-secondary {
1342
- background-color: rgba(255, 255, 255, 0.05);
1343
- color: rgba(255, 255, 255, 0.8);
1344
- border-color: rgba(255, 255, 255, 0.1);
1345
- }
1346
-
1347
- .badge-success {
1348
- background-color: rgba(16, 185, 129, 0.15);
1349
- color: #10b981;
1350
- border-color: rgba(16, 185, 129, 0.3);
1351
- }
1352
-
1353
- .badge-warning {
1354
- background-color: rgba(245, 158, 11, 0.15);
1355
- color: #f59e0b;
1356
- border-color: rgba(245, 158, 11, 0.3);
1357
- }
1358
-
1359
- .badge-error {
1360
- background-color: rgba(239, 68, 68, 0.15);
1361
- color: #ef4444;
1362
- border-color: rgba(239, 68, 68, 0.3);
1363
- }
1364
-
1365
- /* Light Mode Overrides for Badges */
1366
- body.light-mode .badge-primary {
1367
- background-color: rgba(59, 130, 246, 0.1);
1368
- color: #2563eb;
1369
- border-color: rgba(59, 130, 246, 0.2);
1370
- }
1371
-
1372
- body.light-mode .badge-secondary {
1373
- background-color: rgba(0, 0, 0, 0.05);
1374
- color: #475569;
1375
- border-color: rgba(0, 0, 0, 0.1);
1376
- }
1377
-
1378
- body.light-mode .badge-success {
1379
- background-color: rgba(16, 185, 129, 0.1);
1380
- color: #059669;
1381
- border-color: rgba(16, 185, 129, 0.2);
1382
- }
1383
-
1384
- body.light-mode .badge-warning {
1385
- background-color: rgba(245, 158, 11, 0.1);
1386
- color: #d97706;
1387
- border-color: rgba(245, 158, 11, 0.2);
1388
- }
1389
-
1390
- body.light-mode .badge-error {
1391
- background-color: rgba(239, 68, 68, 0.1);
1392
- color: #dc2626;
1393
- border-color: rgba(239, 68, 68, 0.2);
1394
- }
1395
-
1396
- /* Alert Component */
1397
- .alert {
1398
- padding: var(--space-4);
1399
- border-radius: var(--radius-md);
1400
- border: 1px solid;
1401
- }
1402
-
1403
- .alert-success {
1404
- background-color: #d1fae5;
1405
- border-color: #6ee7b7;
1406
- color: #065f46;
1407
- }
1408
-
1409
- .alert-warning {
1410
- background-color: #fed7aa;
1411
- border-color: #fbbf24;
1412
- color: #92400e;
1413
- }
1414
-
1415
- .alert-error {
1416
- background-color: #fee2e2;
1417
- border-color: #f87171;
1418
- color: #991b1b;
1419
- }
1420
-
1421
- .alert-info {
1422
- background-color: #dbeafe;
1423
- border-color: #60a5fa;
1424
- color: #1e40af;
1425
- }
1426
-
1427
- /* Modal Component */
1428
- .modal-overlay {
1429
- position: fixed;
1430
- inset: 0;
1431
- background-color: rgba(0, 0, 0, 0.5);
1432
- display: flex;
1433
- align-items: center;
1434
- justify-content: center;
1435
- z-index: 50;
1436
- }
1437
-
1438
- .modal-content {
1439
- background-color: white;
1440
- color: #1e293b;
1441
- border-radius: var(--radius-lg);
1442
- box-shadow: var(--shadow-2xl);
1443
- max-width: 90vw;
1444
- max-height: 90vh;
1445
- overflow-y: auto;
1446
- }
1447
-
1448
- body.light-mode .modal-content {
1449
- background-color: white;
1450
- color: #1e293b;
1451
- }
1452
-
1453
- /* Loading Spinner */
1454
- .spinner {
1455
- display: inline-block;
1456
- width: 1.5rem;
1457
- height: 1.5rem;
1458
- border: 2px solid rgba(255, 255, 255, 0.1);
1459
- border-top-color: var(--color-primary);
1460
- border-radius: 50%;
1461
- animation: spin 1s linear infinite;
1462
- }
1463
-
1464
- @keyframes spin {
1465
- to { transform: rotate(360deg); }
1466
- }
1467
-
1468
- /* Skeleton Loading */
1469
- .skeleton {
1470
- 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%);
1471
- background-size: 200% 100%;
1472
- animation: shimmer 2s infinite;
1473
- border-radius: var(--radius-md);
1474
- }
1475
-
1476
- @keyframes shimmer {
1477
- 0% { background-position: 200% 0; }
1478
- 100% { background-position: -200% 0; }
1479
- }
1480
-
1481
- body.light-mode .skeleton {
1482
- background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
1483
- background-size: 200% 100%;
1484
- }
1485
-
1486
- /* Tooltip Component */
1487
- .tooltip {
1488
- position: relative;
1489
- }
1490
-
1491
- .tooltip-content {
1492
- position: absolute;
1493
- bottom: 100%;
1494
- left: 50%;
1495
- transform: translateX(-50%);
1496
- background-color: #1f2937;
1497
- color: white;
1498
- padding: var(--space-1) var(--space-2);
1499
- border-radius: var(--radius-md);
1500
- font-size: 0.875rem;
1501
- white-space: nowrap;
1502
- opacity: 0;
1503
- visibility: hidden;
1504
- transition: all var(--duration-150) var(--ease-in-out);
1505
- z-index: 10;
1506
- margin-bottom: var(--space-1);
1507
- }
1508
-
1509
- .tooltip:hover .tooltip-content {
1510
- opacity: 1;
1511
- visibility: visible;
1512
- }
1513
-
1514
- /* Dropdown Component */
1515
- .dropdown {
1516
- position: relative;
1517
- display: inline-block;
1518
- }
1519
-
1520
- .dropdown-content {
1521
- position: absolute;
1522
- top: 100%;
1523
- left: 0;
1524
- background-color: white;
1525
- color: #1e293b;
1526
- border: 1px solid #e5e7eb;
1527
- border-radius: var(--radius-md);
1528
- box-shadow: var(--shadow-lg);
1529
- min-width: 200px;
1530
- z-index: 20;
1531
- opacity: 0;
1532
- visibility: hidden;
1533
- transform: translateY(-10px);
1534
- transition: all var(--duration-150) var(--ease-in-out);
1535
- }
1536
-
1537
- body.light-mode .dropdown-content {
1538
- background-color: white;
1539
- color: #1e293b;
1540
- }
1541
-
1542
- .dropdown.active .dropdown-content {
1543
- opacity: 1;
1544
- visibility: visible;
1545
- transform: translateY(0);
1546
- }
1547
-
1548
- .dropdown-item {
1549
- display: block;
1550
- width: 100%;
1551
- padding: var(--space-2) var(--space-3);
1552
- text-align: left;
1553
- background: none;
1554
- border: none;
1555
- cursor: pointer;
1556
- color: #1e293b;
1557
- transition: background-color var(--duration-150) var(--ease-in-out);
1558
- }
1559
-
1560
- .dropdown-item:hover {
1561
- background-color: #f3f4f6;
1562
- color: #1e293b;
1563
- }
1564
-
1565
- body.light-mode .dropdown-item {
1566
- color: #1e293b;
1567
- }
1568
-
1569
- body.light-mode .dropdown-item:hover {
1570
- background-color: #f3f4f6;
1571
- color: #1e293b;
1572
- }
1573
-
1574
- /* Accordion Component */
1575
- .accordion-item {
1576
- border: 1px solid #e5e7eb;
1577
- border-radius: var(--radius-md);
1578
- margin-bottom: var(--space-2);
1579
- overflow: hidden;
1580
- }
1581
-
1582
- .accordion-header {
1583
- padding: var(--space-4);
1584
- background-color: #f9fafb;
1585
- color: #1e293b;
1586
- cursor: pointer;
1587
- display: flex;
1588
- justify-content: space-between;
1589
- align-items: center;
1590
- transition: background-color var(--duration-150) var(--ease-in-out);
1591
- }
1592
-
1593
- .accordion-header:hover {
1594
- background-color: #f3f4f6;
1595
- color: #1e293b;
1596
- }
1597
-
1598
- .accordion-content {
1599
- padding: var(--space-4);
1600
- background-color: white;
1601
- color: #1e293b;
1602
- max-height: 0;
1603
- overflow: hidden;
1604
- transition: max-height var(--duration-300) var(--ease-in-out);
1605
- }
1606
-
1607
- body.light-mode .accordion-header {
1608
- background-color: #f9fafb;
1609
- color: #1e293b;
1610
- }
1611
-
1612
- body.light-mode .accordion-header:hover {
1613
- background-color: #f3f4f6;
1614
- color: #1e293b;
1615
- }
1616
-
1617
- body.light-mode .accordion-content {
1618
- background-color: white;
1619
- color: #1e293b;
1620
- }
1621
-
1622
- .accordion-item.active .accordion-content {
1623
- max-height: 500px;
1624
- }
1625
-
1626
- .accordion-item.active .accordion-icon {
1627
- transform: rotate(180deg);
1628
- }
1629
-
1630
- .accordion-icon {
1631
- transition: transform var(--duration-300) var(--ease-in-out);
1632
- }
1633
-
1634
- /* Tab Component */
1635
- .tab-list {
1636
- display: flex;
1637
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1638
- }
1639
-
1640
- .tab-button {
1641
- padding: var(--space-3) var(--space-4);
1642
- background: none;
1643
- border: none;
1644
- cursor: pointer;
1645
- border-bottom: 2px solid transparent;
1646
- color: var(--text-secondary);
1647
- font-weight: 500;
1648
- transition: all var(--duration-150) var(--ease-in-out);
1649
- }
1650
-
1651
- .tab-button:hover {
1652
- background-color: rgba(255, 255, 255, 0.05);
1653
- color: var(--text-primary);
1654
- }
1655
-
1656
- .tab-button.active {
1657
- border-bottom-color: var(--color-starlight-blue);
1658
- color: var(--color-starlight-blue);
1659
- }
1660
-
1661
- body.light-mode .tab-list {
1662
- border-bottom-color: #e2e8f0;
1663
- }
1664
-
1665
- body.light-mode .tab-button {
1666
- color: #64748b;
1667
- }
1668
-
1669
- body.light-mode .tab-button:hover {
1670
- background-color: #f1f5f9;
1671
- color: #0f172a;
1672
- }
1673
-
1674
- body.light-mode .tab-button.active {
1675
- border-bottom-color: var(--color-primary);
1676
- color: var(--color-primary);
1677
- }
1678
-
1679
- .tab-content {
1680
- padding: var(--space-4);
1681
- }
1682
-
1683
- .tab-panel {
1684
- display: none;
1685
- }
1686
-
1687
- .tab-panel.active {
1688
- display: block;
1689
- }
1690
-
1691
- /* Progress Component */
1692
- .progress {
1693
- width: 100%;
1694
- height: 0.5rem;
1695
- background-color: #e5e7eb;
1696
- border-radius: var(--radius-full);
1697
- overflow: hidden;
1698
- }
1699
-
1700
- .progress-bar {
1701
- height: 100%;
1702
- background-color: var(--color-primary);
1703
- transition: width var(--duration-300) var(--ease-in-out);
1704
- }
1705
-
1706
- /* Toggle Switch */
1707
- .toggle {
1708
- position: relative;
1709
- display: inline-block;
1710
- width: 3rem;
1711
- height: 1.5rem;
1712
- }
1713
-
1714
- .toggle-input {
1715
- opacity: 0;
1716
- width: 0;
1717
- height: 0;
1718
- }
1719
-
1720
- .toggle-slider {
1721
- position: absolute;
1722
- cursor: pointer;
1723
- inset: 0;
1724
- background-color: #cbd5e1;
1725
- transition: background-color var(--duration-150) var(--ease-in-out);
1726
- border-radius: var(--radius-full);
1727
- }
1728
-
1729
- .toggle-slider:before {
1730
- position: absolute;
1731
- content: "";
1732
- height: 1.25rem;
1733
- width: 1.25rem;
1734
- left: 0.125rem;
1735
- bottom: 0.125rem;
1736
- background-color: white;
1737
- transition: transform var(--duration-150) var(--ease-in-out);
1738
- border-radius: 50%;
1739
- }
1740
-
1741
- .toggle-input:checked + .toggle-slider {
1742
- background-color: var(--color-primary);
1743
- }
1744
-
1745
- .toggle-input:checked + .toggle-slider:before {
1746
- transform: translateX(1.5rem);
1747
- }
1748
-
1749
- /* Animation Utilities */
1750
- .animate-pulse {
1751
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1752
- }
1753
-
1754
- @keyframes pulse {
1755
- 0%, 100% { opacity: 1; }
1756
- 50% { opacity: 0.5; }
1757
- }
1758
-
1759
- .animate-bounce {
1760
- animation: bounce 1s infinite;
1761
- }
1762
-
1763
- @keyframes bounce {
1764
- 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
1765
- 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
1766
- }
1767
-
1768
- .animate-fade-in {
1769
- animation: fadeIn var(--duration-500) var(--ease-in-out);
1770
- }
1771
-
1772
- @keyframes fadeIn {
1773
- from { opacity: 0; }
1774
- to { opacity: 1; }
1775
- }
1776
-
1777
- .animate-slide-up {
1778
- animation: slideUp var(--duration-300) var(--ease-out);
1779
- }
1780
-
1781
- @keyframes slideUp {
1782
- from { transform: translateY(20px); opacity: 0; }
1783
- to { transform: translateY(0); opacity: 1; }
1784
- }
1785
-
1786
- .animate-slide-down {
1787
- animation: slideDown var(--duration-300) var(--ease-out);
1788
- }
1789
-
1790
- @keyframes slideDown {
1791
- from { transform: translateY(-20px); opacity: 0; }
1792
- to { transform: translateY(0); opacity: 1; }
1793
- }
1794
-
1795
- /* Table Component */
1796
- .table-wrapper {
1797
- width: 100%;
1798
- overflow-x: auto;
1799
- -webkit-overflow-scrolling: touch;
1800
- }
1801
-
1802
- .table-wrapper::-webkit-scrollbar {
1803
- height: 8px;
1804
- }
1805
-
1806
- .table-wrapper::-webkit-scrollbar-track {
1807
- background: rgba(255, 255, 255, 0.05);
1808
- border-radius: 4px;
1809
- }
1810
-
1811
- .table-wrapper::-webkit-scrollbar-thumb {
1812
- background: var(--color-starlight-blue, #3b82f6);
1813
- border-radius: 4px;
1814
- }
1815
-
1816
- body.light-mode .table-wrapper::-webkit-scrollbar-track {
1817
- background: rgba(0, 0, 0, 0.05);
1818
- }
1819
-
1820
- .table {
1821
- width: 100%;
1822
- border-collapse: collapse;
1823
- font-size: 0.875rem;
1824
- text-align: left;
1825
- color: var(--text-primary);
1826
- }
1827
-
1828
- .table th {
1829
- padding: var(--space-3) var(--space-4);
1830
- font-weight: 600;
1831
- background-color: rgba(255, 255, 255, 0.05);
1832
- border-bottom: 2px solid rgba(255, 255, 255, 0.1);
1833
- color: var(--text-primary);
1834
- }
1835
-
1836
- .table td {
1837
- padding: var(--space-3) var(--space-4);
1838
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1839
- color: var(--text-secondary);
1840
- }
1841
-
1842
- .table tbody tr:hover {
1843
- background-color: rgba(255, 255, 255, 0.03);
1844
- }
1845
-
1846
- /* Light Mode Table Styles */
1847
- body.light-mode .table th {
1848
- background-color: #f8fafc;
1849
- border-bottom-color: #e2e8f0;
1850
- color: #0f172a;
1851
- }
1852
-
1853
- body.light-mode .table td {
1854
- border-bottom-color: #e2e8f0;
1855
- color: #334155;
1856
- }
1857
-
1858
- body.light-mode .table tbody tr:hover {
1859
- background-color: #f1f5f9;
1860
- }
1861
-
1862
- /* Overflow Utility */
1863
- .overflow-x-auto {
1864
- overflow-x: auto;
1865
- }
1866
-
1867
- .overflow-y-auto {
1868
- overflow-y: auto;
1869
- }
1870
- /* Cosmic Animation Library */
1871
-
1872
- @keyframes nebula-drift {
1873
- 0% { transform: translate(-5%, -5%) scale(1); opacity: 0.4; }
1874
- 50% { transform: translate(5%, 5%) scale(1.2); opacity: 0.7; }
1875
- 100% { transform: translate(-5%, -5%) scale(1); opacity: 0.4; }
1876
- }
1877
-
1878
- @keyframes cosmic-pulse {
1879
- 0%, 100% { box-shadow: 0 0 20px rgba(0, 212, 255, 0.2), 0 0 40px rgba(0, 212, 255, 0.1); }
1880
- 50% { box-shadow: 0 0 40px rgba(0, 212, 255, 0.5), 0 0 80px rgba(0, 212, 255, 0.2); }
1881
- }
1882
-
1883
- @keyframes star-twinkle {
1884
- 0%, 100% { opacity: 0.3; transform: scale(0.8); }
1885
- 50% { opacity: 1; transform: scale(1.2); }
1886
- }
1887
-
1888
- @keyframes orbit {
1889
- from { transform: rotate(0deg) translateX(20px) rotate(0deg); }
1890
- to { transform: rotate(360deg) translateX(20px) rotate(-360deg); }
1891
- }
1892
-
1893
- @keyframes svg-draw {
1894
- from { stroke-dashoffset: 1000; }
1895
- to { stroke-dashoffset: 0; }
1896
- }
1897
-
1898
- @keyframes float-y {
1899
- 0%, 100% { transform: translateY(0); }
1900
- 50% { transform: translateY(-20px); }
1901
- }
1902
-
1903
- /* Animation Classes */
1904
-
1905
- .ani-nebula {
1906
- animation: nebula-drift 20s ease-in-out infinite;
1907
- will-change: transform, opacity;
1908
- }
1909
-
1910
- .ani-cosmic-pulse {
1911
- animation: cosmic-pulse 4s ease-in-out infinite;
1912
- }
1913
-
1914
- .ani-twinkle {
1915
- animation: star-twinkle var(--twinkle-duration, 3s) ease-in-out infinite;
1916
- }
1917
-
1918
- .ani-orbit {
1919
- animation: orbit var(--orbit-duration, 10s) linear infinite;
1920
- }
1921
-
1922
- .ani-svg-draw {
1923
- stroke-dasharray: 1000;
1924
- stroke-dashoffset: 1000;
1925
- animation: svg-draw 3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
1926
- }
1927
-
1928
- .ani-float {
1929
- animation: float-y 6s ease-in-out infinite;
1930
- }
1931
-
1932
- .ani-fade-in {
1933
- animation: fadeIn 0.3s ease-out forwards;
1934
- }
1935
-
1936
- .ani-slide-up {
1937
- animation: slideUp 0.3s ease-out forwards;
1938
- }
1939
-
1940
- .ani-slide-down {
1941
- animation: slideDown 0.3s ease-out forwards;
1942
- }
1943
-
1944
- .ani-scale-in {
1945
- animation: scaleIn 0.2s ease-out forwards;
1946
- }
1947
-
1948
- .ani-spin {
1949
- animation: spin 1s linear infinite;
1950
- }
1951
-
1952
- /* Staggered Animations */
1953
- .ani-stagger-1 { animation-delay: 0.1s; }
1954
- .ani-stagger-2 { animation-delay: 0.2s; }
1955
- .ani-stagger-3 { animation-delay: 0.3s; }
1956
- .ani-stagger-4 { animation-delay: 0.4s; }
1957
- .ani-stagger-5 { animation-delay: 0.5s; }
1958
-
1959
- /* Speed Modifiers */
1960
- .ani-fast { animation-duration: 0.5s !important; }
1961
- .ani-slow { animation-duration: 8s !important; }
1962
- .ani-slower { animation-duration: 15s !important; }
1963
-
1964
- /* Keyframes */
1965
- @keyframes fadeIn {
1966
- from { opacity: 0; }
1967
- to { opacity: 1; }
1968
- }
1969
-
1970
- @keyframes slideUp {
1971
- from { opacity: 0; transform: translateY(20px); }
1972
- to { opacity: 1; transform: translateY(0); }
1973
- }
1974
-
1975
- @keyframes slideDown {
1976
- from { opacity: 0; transform: translateY(-20px); }
1977
- to { opacity: 1; transform: translateY(0); }
1978
- }
1979
-
1980
- @keyframes scaleIn {
1981
- from { opacity: 0; transform: scale(0.95); }
1982
- to { opacity: 1; transform: scale(1); }
1983
- }
1984
-
1985
- @keyframes spin {
1986
- from { transform: rotate(0deg); }
1987
- to { transform: rotate(360deg); }
1988
- }
1989
-
1990
- @keyframes ping {
1991
- 75%, 100% {
1992
- transform: scale(2);
1993
- opacity: 0;
1994
- }
1995
- }
1996
-
1997
- @keyframes pulse {
1998
- 0%, 100% { opacity: 1; }
1999
- 50% { opacity: 0.5; }
2000
- }
2001
-
2002
- @keyframes bounce {
2003
- 0%, 100% {
2004
- transform: translateY(-25%);
2005
- animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
2006
- }
2007
- 50% {
2008
- transform: none;
2009
- animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
2010
- }
2011
- }
2012
-
2013
- /* Starlight UI - Premium Components */
2014
-
2015
- /* Links */
2016
- a {
2017
- color: var(--color-starlight-blue);
2018
- text-decoration: none;
2019
- transition: all var(--transition-base);
2020
- position: relative;
2021
- }
2022
-
2023
- a:hover {
2024
- color: var(--color-starlight-peach);
2025
- text-shadow: 0 0 8px rgba(255, 179, 138, 0.4);
2026
- }
2027
-
2028
- a:active {
2029
- transform: scale(0.98);
2030
- }
2031
-
2032
- body.light-mode a {
2033
- color: var(--color-starlight-blue);
2034
- }
2035
-
2036
- body.light-mode a:hover {
2037
- color: var(--color-starlight-peach);
2038
- }
2039
-
2040
- /* 1. Starlight Card */
2041
- .starlight-card {
2042
- background: var(--glass-bg);
2043
- border: 1px solid var(--glass-border);
2044
- border-radius: var(--radius-2xl);
2045
- padding: var(--space-10);
2046
- backdrop-filter: var(--glass-blur);
2047
- -webkit-backdrop-filter: var(--glass-blur);
2048
- position: relative;
2049
- transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
2050
- }
2051
-
2052
- .starlight-card:hover {
2053
- border-color: rgba(0, 212, 255, 0.4);
2054
- transform: translateY(-4px);
2055
- box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 212, 255, 0.1);
2056
- background-color: rgba(255, 255, 255, 0.04);
2057
- }
2058
-
2059
- body.light-mode .starlight-card {
2060
- background: var(--light-card-bg);
2061
- border-color: var(--light-card-border);
2062
- color: #334155;
2063
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
2064
- }
2065
-
2066
- /* 2. Checkboxes & Radio Buttons */
2067
- .checkbox-starlight, .radio-starlight {
2068
- appearance: none;
2069
- width: 1.25rem;
2070
- height: 1.25rem;
2071
- background: rgba(255, 255, 255, 0.05);
2072
- border: 1px solid rgba(255, 255, 255, 0.2);
2073
- border-radius: 0.375rem;
2074
- cursor: pointer;
2075
- transition: all 0.2s ease;
2076
- display: inline-flex;
2077
- align-items: center;
2078
- justify-content: center;
2079
- position: relative;
2080
- }
2081
-
2082
- .radio-starlight { border-radius: 50%; }
2083
-
2084
- body.light-mode .checkbox-starlight,
2085
- body.light-mode .radio-starlight {
2086
- border-color: rgba(0, 0, 0, 0.2);
2087
- background: rgba(0, 0, 0, 0.05);
2088
- }
2089
-
2090
- .checkbox-starlight:checked, .radio-starlight:checked {
2091
- background: var(--color-starlight-blue);
2092
- border-color: var(--color-starlight-blue);
2093
- }
2094
-
2095
- .checkbox-starlight:checked::after {
2096
- content: '✓';
2097
- color: black;
2098
- font-size: 0.8rem;
2099
- font-weight: 900;
2100
- }
2101
-
2102
- .radio-starlight:checked::after {
2103
- content: '';
2104
- width: 0.5rem;
2105
- height: 0.5rem;
2106
- background: black;
2107
- border-radius: 50%;
2108
- }
2109
-
2110
- /* 3. Tooltips */
2111
- .has-tooltip {
2112
- position: relative;
2113
- }
2114
-
2115
- .has-tooltip .tooltip {
2116
- position: absolute;
2117
- bottom: 125%;
2118
- left: 50%;
2119
- transform: translateX(-50%) translateY(10px);
2120
- padding: 0.5rem 0.75rem;
2121
- background-color: rgba(10, 10, 30, 0.98);
2122
- backdrop-filter: blur(12px);
2123
- border: 1px solid rgba(0, 212, 255, 0.3);
2124
- border-radius: 0.5rem;
2125
- color: #f1f5f9;
2126
- font-size: 0.75rem;
2127
- white-space: nowrap;
2128
- pointer-events: none;
2129
- opacity: 0;
2130
- transition: all 0.2s ease;
2131
- z-index: 800;
2132
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
2133
- }
2134
-
2135
- .has-tooltip:hover .tooltip {
2136
- opacity: 1;
2137
- transform: translateX(-50%) translateY(0);
2138
- }
2139
-
2140
- /* 4. Starlight Stars (Atmospheric Background) */
2141
- .starlight-stars {
2142
- position: fixed;
2143
- top: 0; left: 0; width: 100%; height: 100%;
2144
- pointer-events: none;
2145
- z-index: 0;
2146
- overflow: hidden;
2147
- }
2148
-
2149
- .star {
2150
- position: absolute;
2151
- background: white;
2152
- border-radius: 50%;
2153
- opacity: 0.3;
2154
- animation: star-twinkle var(--duration, 3s) infinite ease-in-out;
2155
- }
2156
-
2157
- body.light-mode .star {
2158
- background: var(--color-starlight-blue);
2159
- opacity: 0.15;
2160
- }
2161
-
2162
- /* 5. Dialog & Overlays */
2163
- .dialog-overlay {
2164
- position: fixed;
2165
- inset: 0;
2166
- background: rgba(0, 0, 0, 0.6);
2167
- backdrop-filter: blur(12px);
2168
- display: flex;
2169
- align-items: center;
2170
- justify-content: center;
2171
- z-index: 400;
2172
- }
2173
-
2174
- .dialog-content {
2175
- background-color: rgba(10, 10, 20, 0.98);
2176
- backdrop-filter: blur(20px);
2177
- border: 1px solid rgba(255, 255, 255, 0.1);
2178
- border-radius: 1.5rem;
2179
- padding: 2.5rem;
2180
- max-width: 90%;
2181
- width: 600px;
2182
- max-height: 85vh;
2183
- overflow-y: auto;
2184
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2185
- position: relative;
2186
- }
2187
-
2188
- .starlight-dialog {
2189
- background-color: rgba(10, 10, 20, 0.98);
2190
- backdrop-filter: blur(24px);
2191
- -webkit-backdrop-filter: blur(24px);
2192
- border: 1px solid rgba(255, 255, 255, 0.1);
2193
- border-radius: 1.5rem;
2194
- padding: 3rem;
2195
- width: 100%;
2196
- max-width: 600px;
2197
- max-height: 85vh;
2198
- overflow-y: auto;
2199
- margin: auto;
2200
- position: relative;
2201
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2202
- }
2203
-
2204
- /* Custom scrollbar for dialogs */
2205
- .dialog-content::-webkit-scrollbar,
2206
- .starlight-dialog::-webkit-scrollbar {
2207
- width: 8px;
2208
- }
2209
-
2210
- .dialog-content::-webkit-scrollbar-track,
2211
- .starlight-dialog::-webkit-scrollbar-track {
2212
- background: rgba(255, 255, 255, 0.05);
2213
- border-radius: 4px;
2214
- }
2215
-
2216
- .dialog-content::-webkit-scrollbar-thumb,
2217
- .starlight-dialog::-webkit-scrollbar-thumb {
2218
- background: var(--color-starlight-blue, #3b82f6);
2219
- border-radius: 4px;
2220
- }
2221
-
2222
- body.light-mode .dialog-content::-webkit-scrollbar-track,
2223
- body.light-mode .starlight-dialog::-webkit-scrollbar-track {
2224
- background: rgba(0, 0, 0, 0.05);
2225
- }
2226
-
2227
- body.light-mode .starlight-dialog {
2228
- background-color: rgba(255, 255, 255, 0.98);
2229
- border-color: rgba(0, 0, 0, 0.1);
2230
- color: #1e293b;
2231
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
2232
- }
2233
-
2234
- .dialog-close {
2235
- position: absolute;
2236
- top: 1.5rem;
2237
- right: 1.5rem;
2238
- width: 2rem;
2239
- height: 2rem;
2240
- border-radius: 50%;
2241
- background: rgba(255, 255, 255, 0.05);
2242
- border: 1px solid rgba(255, 255, 255, 0.1);
2243
- color: white;
2244
- display: flex;
2245
- align-items: center;
2246
- justify-content: center;
2247
- cursor: pointer;
2248
- transition: all 0.2s;
2249
- padding: 0;
2250
- }
2251
-
2252
- body.light-mode .dialog-close {
2253
- background: rgba(0, 0, 0, 0.05);
2254
- border-color: rgba(0, 0, 0, 0.1);
2255
- color: #1e293b;
2256
- }
2257
-
2258
- .dialog-close:hover {
2259
- background: rgba(255, 255, 255, 0.15);
2260
- border-color: var(--color-starlight-blue);
2261
- transform: rotate(90deg);
2262
- }
2263
-
2264
- .form-row {
2265
- display: flex;
2266
- justify-content: space-between;
2267
- align-items: center;
2268
- gap: 1rem;
2269
- }
2270
-
2271
- body.light-mode .dialog-overlay {
2272
- background: rgba(255, 255, 255, 0.4);
2273
- }
2274
-
2275
- body.light-mode .dialog-content {
2276
- background-color: rgba(255, 255, 255, 0.98);
2277
- border-color: rgba(0, 0, 0, 0.1);
2278
- color: #1e293b;
2279
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
2280
- }
2281
-
2282
- /* 6. Dropdown Menu */
2283
- .dropdown-menu {
2284
- position: absolute;
2285
- top: 100%;
2286
- left: 0;
2287
- background-color: var(--color-starlight-deep);
2288
- backdrop-filter: blur(20px);
2289
- border: 1px solid rgba(255, 255, 255, 0.1);
2290
- border-radius: 0.75rem;
2291
- padding: 0.5rem;
2292
- margin-top: 0.5rem;
2293
- min-width: 200px;
2294
- z-index: 600;
2295
- box-shadow: 0 20px 40px rgba(0,0,0,0.4);
2296
- opacity: 0;
2297
- visibility: hidden;
2298
- transform: translateY(10px);
2299
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2300
- pointer-events: none;
2301
- }
2302
-
2303
- .dropdown:hover .dropdown-menu,
2304
- .dropdown.active .dropdown-menu {
2305
- opacity: 1;
2306
- visibility: visible;
2307
- transform: translateY(0);
2308
- pointer-events: auto;
2309
- }
2310
-
2311
- .dropdown-item {
2312
- display: block;
2313
- width: 100%;
2314
- padding: 0.625rem 1rem;
2315
- border-radius: 0.5rem;
2316
- color: rgba(255, 255, 255, 0.7);
2317
- transition: all 0.2s ease;
2318
- text-align: left;
2319
- background: transparent;
2320
- border: none;
2321
- cursor: pointer;
2322
- }
2323
-
2324
- .dropdown-item:hover {
2325
- background-color: var(--color-starlight-blue);
2326
- color: black;
2327
- }
2328
-
2329
- body.light-mode .dropdown-menu {
2330
- background-color: rgba(255, 255, 255, 0.99);
2331
- border-color: #cbd5e1;
2332
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
2333
- }
2334
-
2335
- body.light-mode .dropdown-item {
2336
- color: #475569;
2337
- }
2338
-
2339
- body.light-mode .dropdown-item:hover {
2340
- background-color: var(--color-starlight-blue);
2341
- color: black;
2342
- }
2343
-
2344
- /* 7. Input & Glass Fixes */
2345
- .input-starlight, .textarea-starlight {
2346
- height: auto;
2347
- padding: 1rem;
2348
- background-color: rgba(255, 255, 255, 0.04);
2349
- border: 1px solid rgba(255, 255, 255, 0.15);
2350
- border-radius: 0.75rem;
2351
- color: inherit;
2352
- width: 100%;
2353
- }
2354
-
2355
- textarea.input-starlight, .textarea-starlight {
2356
- min-height: 120px;
2357
- display: block;
2358
- }
2359
-
2360
- body.light-mode .input-starlight,
2361
- body.light-mode .textarea-starlight {
2362
- background-color: #ffffff;
2363
- border-color: #cbd5e1;
2364
- }
2365
-
2366
- body.light-mode .glass {
2367
- background-color: rgba(0, 0, 0, 0.02);
2368
- border-color: rgba(0, 0, 0, 0.05);
2369
- }
2370
-
2371
- /* 8. Input Focus States */
2372
- .input-starlight:focus, .textarea-starlight:focus {
2373
- outline: none;
2374
- border-color: var(--color-starlight-blue);
2375
- box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1), 0 0 20px rgba(0, 212, 255, 0.1);
2376
- background-color: rgba(255, 255, 255, 0.06);
2377
- }
2378
-
2379
- body.light-mode .input-starlight:focus,
2380
- body.light-mode .textarea-starlight:focus {
2381
- border-color: var(--color-starlight-blue);
2382
- box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.1), 0 4px 12px rgba(0, 0, 0, 0.05);
2383
- background-color: #ffffff;
2384
- }
2385
-
2386
- /* 9. Code Interface Window */
2387
- .code-window {
2388
- background: rgba(0, 0, 0, 0.4);
2389
- backdrop-filter: blur(20px);
2390
- -webkit-backdrop-filter: blur(20px);
2391
- border: 1px solid rgba(255, 255, 255, 0.1);
2392
- border-radius: var(--radius-xl);
2393
- overflow: hidden;
2394
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
2395
- }
2396
-
2397
- .code-window-header {
2398
- background: rgba(255, 255, 255, 0.05);
2399
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
2400
- padding: 1rem 1.5rem;
2401
- display: flex;
2402
- align-items: center;
2403
- justify-content: space-between;
2404
- }
2405
-
2406
- .code-window-controls {
2407
- display: flex;
2408
- gap: 0.5rem;
2409
- }
2410
-
2411
- .code-window-dot {
2412
- width: 0.75rem;
2413
- height: 0.75rem;
2414
- border-radius: 50%;
2415
- opacity: 0.6;
2416
- }
2417
-
2418
- .code-window-title {
2419
- font-size: 0.65rem;
2420
- font-weight: 800;
2421
- text-transform: uppercase;
2422
- letter-spacing: 0.15em;
2423
- color: rgba(255, 255, 255, 0.4);
2424
- }
2425
-
2426
- body.light-mode .code-window {
2427
- background: #f8fafc;
2428
- border-color: #e2e8f0;
2429
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
2430
- }
2431
-
2432
- body.light-mode .code-window-header {
2433
- background: #f1f5f9;
2434
- border-color: #e2e8f0;
2435
- }
2436
-
2437
- body.light-mode .code-window-title {
2438
- color: #94a3b8;
2439
- }
2440
-
2441
- /* 10. Starlight Accordion */
2442
- .accordion-starlight.accordion-item {
2443
- background: rgba(255, 255, 255, 0.02);
2444
- backdrop-filter: blur(12px);
2445
- -webkit-backdrop-filter: blur(12px);
2446
- border: 1px solid rgba(255, 255, 255, 0.08);
2447
- border-radius: var(--radius-xl);
2448
- margin-bottom: var(--space-4);
2449
- transition: all var(--transition-base);
2450
- position: relative;
2451
- }
2452
-
2453
- .accordion-starlight.accordion-item:hover {
2454
- border-color: rgba(0, 212, 255, 0.3);
2455
- background: rgba(255, 255, 255, 0.04);
2456
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.05);
2457
- }
2458
-
2459
- .accordion-starlight.accordion-item.active {
2460
- border-color: var(--color-starlight-blue);
2461
- background: rgba(0, 212, 255, 0.03);
2462
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.1), inset 0 0 20px rgba(0, 212, 255, 0.05);
2463
- }
2464
-
2465
- .accordion-starlight .accordion-header {
2466
- background: transparent !important;
2467
- padding: var(--space-6) var(--space-8);
2468
- color: white;
2469
- font-weight: 700;
2470
- letter-spacing: 0.02em;
2471
- font-size: 1.125rem;
2472
- }
2473
-
2474
- .accordion-starlight.active .accordion-header {
2475
- background: linear-gradient(to right, rgba(255, 179, 138, 0.15), rgba(0, 212, 255, 0.15)) !important;
2476
- border-bottom: 1px solid rgba(0, 212, 255, 0.2);
2477
- }
2478
-
2479
- .accordion-starlight .accordion-content {
2480
- background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1)) !important;
2481
- color: rgba(255, 255, 255, 0.6) !important;
2482
- font-size: 1rem;
2483
- line-height: 1.8;
2484
- padding: 0;
2485
- }
2486
-
2487
- .accordion-starlight.active .accordion-content {
2488
- padding: var(--space-6) var(--space-8);
2489
- }
2490
-
2491
- .accordion-starlight .accordion-icon {
2492
- color: var(--color-starlight-blue);
2493
- filter: drop-shadow(0 0 5px rgba(0, 212, 255, 0.5));
2494
- }
2495
-
2496
- body.light-mode .accordion-starlight.accordion-item {
2497
- background: white;
2498
- border-color: #e2e8f0;
2499
- }
2500
-
2501
- body.light-mode .accordion-starlight.accordion-item.active {
2502
- border-color: var(--color-starlight-blue);
2503
- background: #f8fafc;
2504
- }
2505
-
2506
- body.light-mode .accordion-starlight .accordion-header {
2507
- color: #1e293b;
2508
- }
2509
-
2510
- body.light-mode .accordion-starlight .accordion-content {
2511
- background: #f1f5f9 !important;
2512
- color: #475569 !important;
2513
- }
2514
-
2515
- /* 11. Search Input with Icon */
2516
- .search-container {
2517
- position: relative;
2518
- display: block;
2519
- width: 100%;
2520
- }
2521
-
2522
- .search-input {
2523
- padding-left: 3rem !important;
2524
- width: 100%;
2525
- }
2526
-
2527
- .search-icon {
2528
- position: absolute;
2529
- left: 1.125rem;
2530
- top: 50%;
2531
- transform: translateY(-50%);
2532
- color: var(--text-muted);
2533
- pointer-events: none;
2534
- width: 1.25rem;
2535
- height: 1.25rem;
2536
- z-index: 10;
2537
- }
2538
-
2539
- body.light-mode .search-icon {
2540
- color: #64748b;
2541
- }
2542
-
2543
- /* 12. Gallery Widget */
2544
- .starlight-gallery {
2545
- display: grid;
2546
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
2547
- gap: var(--space-4);
2548
- }
2549
-
2550
- .gallery-item {
2551
- position: relative;
2552
- aspect-ratio: 1;
2553
- border-radius: var(--radius-xl);
2554
- overflow: hidden;
2555
- background: var(--glass-bg);
2556
- border: 1px solid var(--glass-border);
2557
- cursor: pointer;
2558
- transition: all var(--transition-base);
2559
- }
2560
-
2561
- .gallery-item img {
2562
- width: 100%;
2563
- height: 100%;
2564
- object-fit: cover;
2565
- transition: transform var(--transition-slow);
2566
- }
2567
-
2568
- .gallery-item:hover img {
2569
- transform: scale(1.1);
2570
- }
2571
-
2572
- .gallery-item:hover {
2573
- border-color: var(--color-starlight-blue);
2574
- box-shadow: 0 0 20px var(--color-starlight-glow);
2575
- }
2576
-
2577
- .gallery-overlay {
2578
- position: absolute;
2579
- inset: 0;
2580
- background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
2581
- display: flex;
2582
- align-items: flex-end;
2583
- padding: 1rem;
2584
- opacity: 0;
2585
- transition: opacity 0.3s ease;
2586
- }
2587
-
2588
- .gallery-item:hover .gallery-overlay {
2589
- opacity: 1;
2590
- }
2591
-
2592
- /* 13. Dashboard Widget */
2593
- .dashboard-grid {
2594
- display: grid;
2595
- grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
2596
- gap: var(--space-6);
2597
- }
2598
-
2599
- .stat-card {
2600
- padding: var(--space-6);
2601
- display: flex;
2602
- flex-direction: column;
2603
- gap: var(--space-2);
2604
- }
2605
-
2606
- .stat-value {
2607
- font-size: 2.5rem;
2608
- font-weight: 800;
2609
- background: linear-gradient(135deg, #fff 0%, var(--color-starlight-blue) 100%);
2610
- -webkit-background-clip: text;
2611
- -webkit-text-fill-color: transparent;
2612
- }
2613
-
2614
- body.light-mode .stat-value {
2615
- background: linear-gradient(135deg, #1e293b 0%, var(--color-starlight-blue) 100%);
2616
- -webkit-background-clip: text;
2617
- -webkit-text-fill-color: transparent;
2618
- }
2619
-
2620
- .stat-label {
2621
- text-transform: uppercase;
2622
- letter-spacing: 0.1em;
2623
- font-size: 0.75rem;
2624
- color: var(--text-muted);
2625
- }
2626
-
2627
- .stat-trend {
2628
- font-size: 0.875rem;
2629
- display: flex;
2630
- align-items: center;
2631
- gap: 0.25rem;
2632
- }
2633
-
2634
- .stat-trend.up { color: var(--color-success); }
2635
- .stat-trend.down { color: var(--color-error); }
2636
-
2637
- /* 14. Hamburger Menu Glass */
2638
- .nav-glass {
2639
- background: rgba(255, 255, 255, 0.05);
2640
- backdrop-filter: blur(24px);
2641
- -webkit-backdrop-filter: blur(24px);
2642
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
2643
- display: flex;
2644
- flex-direction: column;
2645
- position: sticky;
2646
- top: 0;
2647
- z-index: 1000;
2648
- padding: 0;
2649
- }
2650
-
2651
- body.light-mode .nav-glass {
2652
- background: rgba(255, 255, 255, 0.95);
2653
- border-bottom-color: rgba(0, 0, 0, 0.08);
2654
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
2655
- }
2656
-
2657
- .nav-desktop {
2658
- display: none;
2659
- align-items: center;
2660
- }
2661
-
2662
- .nav-list {
2663
- display: flex;
2664
- list-style: none;
2665
- gap: 2rem;
2666
- margin: 0;
2667
- padding: 0;
2668
- }
2669
-
2670
- .nav-list.vertical {
2671
- flex-direction: column;
2672
- gap: 0.5rem;
2673
- }
2674
-
2675
- .nav-link {
2676
- font-size: 0.875rem;
2677
- font-weight: 500;
2678
- color: rgba(255, 255, 255, 0.7);
2679
- transition: all 0.3s;
2680
- position: relative;
2681
- padding: 0.5rem 0;
2682
- display: inline-flex;
2683
- align-items: center;
2684
- }
2685
-
2686
- .nav-list.vertical .nav-link {
2687
- width: 100%;
2688
- padding: 0.75rem 1rem;
2689
- border-radius: 0.5rem;
2690
- }
2691
-
2692
- .nav-list.vertical .dropdown {
2693
- width: 100%;
2694
- display: block;
2695
- }
2696
-
2697
- .nav-list.vertical .nav-link:hover {
2698
- background: rgba(255, 255, 255, 0.05);
2699
- color: var(--color-starlight-blue);
2700
- }
2701
-
2702
- .nav-link::after {
2703
- content: '';
2704
- position: absolute;
2705
- bottom: 0;
2706
- left: 50%;
2707
- width: 0;
2708
- height: 2px;
2709
- background: var(--color-starlight-blue);
2710
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2711
- box-shadow: 0 0 10px var(--color-starlight-glow);
2712
- transform: translateX(-50%);
2713
- }
2714
-
2715
- .nav-link:hover::after {
2716
- width: 80%;
2717
- }
2718
-
2719
-
2720
- body.light-mode .nav-link {
2721
- color: #475569;
2722
- }
2723
-
2724
- body.light-mode .nav-link:hover {
2725
- color: #1e293b;
2726
- }
2727
-
2728
- .hamburger {
2729
- width: 2.5rem;
2730
- height: 2.5rem;
2731
- display: flex;
2732
- flex-direction: column;
2733
- justify-content: center;
2734
- align-items: center;
2735
- gap: 0.4rem;
2736
- cursor: pointer;
2737
- background: rgba(255,255,255,0.05);
2738
- border: 1px solid rgba(255,255,255,0.1);
2739
- border-radius: 0.5rem;
2740
- padding: 0.5rem;
2741
- transition: all 0.3s;
2742
- position: relative;
2743
- }
2744
-
2745
- body.light-mode .hamburger {
2746
- background: rgba(0,0,0,0.02);
2747
- border-color: rgba(0,0,0,0.1);
2748
- }
2749
-
2750
- .hamburger:hover {
2751
- background: rgba(255,255,255,0.1);
2752
- border-color: var(--color-starlight-blue);
2753
- }
2754
-
2755
- body.light-mode .hamburger:hover {
2756
- background: rgba(0,0,0,0.1);
2757
- }
2758
-
2759
- .hamburger span {
2760
- width: 1.5rem;
2761
- height: 2px;
2762
- background: white;
2763
- border-radius: 2px;
2764
- transition: all 0.3s;
2765
- transform-origin: center;
2766
- }
2767
-
2768
- body.light-mode .hamburger span {
2769
- background: #1e293b;
2770
- }
2771
-
2772
- .hamburger.active span {
2773
- background-color: var(--color-starlight-blue);
2774
- box-shadow: 0 0 10px var(--color-starlight-glow);
2775
- }
2776
-
2777
- .nav-menu-mobile {
2778
- width: 100%;
2779
- background: rgba(0, 0, 0, 0.2);
2780
- backdrop-filter: blur(10px);
2781
- -webkit-backdrop-filter: blur(10px);
2782
- border-top: 1px solid rgba(255, 255, 255, 0.05);
2783
- padding: 0;
2784
- max-height: 0;
2785
- overflow: hidden;
2786
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
2787
- opacity: 0;
2788
- }
2789
-
2790
- .nav-menu-mobile.active {
2791
- display: block;
2792
- max-height: 500px;
2793
- padding: 1.5rem 2rem;
2794
- opacity: 1;
2795
- }
2796
-
2797
- body.light-mode .nav-menu-mobile {
2798
- background: #ffffff;
2799
- border-top-color: rgba(0, 0, 0, 0.08);
2800
- box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
2801
- }
2802
-
2803
- /* Vertical Accordion Dropdowns */
2804
- .nav-list.vertical .dropdown-menu {
2805
- position: static;
2806
- opacity: 1;
2807
- visibility: visible;
2808
- transform: none;
2809
- box-shadow: none;
2810
- border: none;
2811
- padding: 0 0 0 1.5rem;
2812
- margin: 0;
2813
- max-height: 0;
2814
- overflow: hidden;
2815
- transition: all 0.3s ease;
2816
- background: transparent;
2817
- pointer-events: none;
2818
- }
2819
-
2820
- .nav-list.vertical .dropdown.active .dropdown-menu {
2821
- max-height: 300px;
2822
- padding-top: 0.5rem;
2823
- padding-bottom: 0.5rem;
2824
- pointer-events: auto;
2825
- }
2826
-
2827
- .nav-list.vertical .dropdown-item {
2828
- padding: 0.5rem 1rem;
2829
- font-size: 0.825rem;
2830
- border-left: 1px solid rgba(255, 255, 255, 0.1);
2831
- border-radius: 0;
2832
- }
2833
-
2834
- @media (min-width: 768px) {
2835
- .nav-desktop {
2836
- display: flex;
2837
- }
2838
-
2839
- .hamburger {
2840
- display: none;
2841
- }
2842
-
2843
- .nav-menu-mobile {
2844
- display: none !important;
2845
- }
2846
- }
2847
-
2848
- @keyframes slideInDown {
2849
- from { opacity: 0; transform: translateY(-10px); }
2850
- to { opacity: 1; transform: translateY(0); }
2851
- }
2852
-
2853
- .starlight-nav.vertical {
2854
- flex-direction: column;
2855
- height: 100%;
2856
- width: 280px !important;
2857
- min-width: 280px !important;
2858
- border-bottom: none;
2859
- border-right: 1px solid rgba(255, 255, 255, 0.1);
2860
- padding: 2.5rem 1.5rem;
2861
- align-items: flex-start;
2862
- justify-content: flex-start;
2863
- }
2864
-
2865
- body.light-mode .starlight-nav.vertical {
2866
- background: rgba(255, 255, 255, 0.98);
2867
- border-right-color: rgba(0, 0, 0, 0.08);
2868
- }
2869
-
2870
- /* 15. More Form Controls */
2871
- .select-starlight {
2872
- appearance: none;
2873
- 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");
2874
- background-repeat: no-repeat;
2875
- background-position: right 1rem center;
2876
- background-size: 1.25rem;
2877
- padding-right: 3rem !important;
2878
- }
2879
-
2880
- body.light-mode .select-starlight {
2881
- 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");
2882
- }
2883
-
2884
- .range-starlight {
2885
- appearance: none;
2886
- width: 100%;
2887
- height: 6px;
2888
- background: rgba(255,255,255,0.1);
2889
- border-radius: 3px;
2890
- outline: none;
2891
- }
2892
-
2893
- body.light-mode .range-starlight {
2894
- background: rgba(0,0,0,0.1);
2895
- }
2896
-
2897
- .range-starlight::-webkit-slider-thumb {
2898
- appearance: none;
2899
- width: 18px;
2900
- height: 18px;
2901
- background: var(--color-starlight-blue);
2902
- border-radius: 50%;
2903
- cursor: pointer;
2904
- box-shadow: 0 0 10px var(--color-starlight-glow);
2905
- transition: all 0.2s;
2906
- }
2907
-
2908
- .range-starlight::-webkit-slider-thumb:hover {
2909
- transform: scale(1.2);
2910
- box-shadow: 0 0 20px var(--color-starlight-blue);
2911
- }
2912
-
2913
- .toggle-starlight {
2914
- width: 3.5rem;
2915
- height: 1.75rem;
2916
- }
2917
-
2918
- .toggle-starlight .toggle-slider:before {
2919
- height: 1.25rem;
2920
- width: 1.25rem;
2921
- top: 0.25rem;
2922
- left: 0.25rem;
2923
- }
2924
-
2925
- .toggle-starlight input:checked + .toggle-slider:before {
2926
- transform: translateX(1.75rem);
2927
- }
2928
-
2929
- .toggle-starlight .toggle-slider {
2930
- background: rgba(255,255,255,0.1);
2931
- border: 1px solid rgba(255,255,255,0.1);
2932
- }
2933
-
2934
- body.light-mode .toggle-starlight .toggle-slider {
2935
- background: rgba(0,0,0,0.1);
2936
- border-color: rgba(0,0,0,0.15);
2937
- }
2938
-
2939
- body.light-mode .bg-starlight,
2940
- body.light-mode .bg-starlight:hover,
2941
- body.light-mode .hover\:bg-starlight:hover,
2942
- body.light-mode .btn-starlight,
2943
- body.light-mode .btn-starlight:hover,
2944
- body.light-mode .hover\:btn-starlight:hover,
2945
- body.light-mode .btn-primary,
2946
- body.light-mode .btn-primary:hover {
2947
- background: linear-gradient(135deg, #ffb38a 40%, #00d4ff 100%) !important;
2948
- }
2949
-
2950
- body.light-mode .text-gradient-starlight {
2951
- background: linear-gradient(135deg, #ffb38a 40%, #00d4ff 100%) !important;
2952
- -webkit-background-clip: text !important;
2953
- -webkit-text-fill-color: transparent !important;
2954
- }
2955
-
2956
- body.light-mode .text-success { color: #059669; }
2957
- body.light-mode .text-warning { color: #d97706; }
2958
-
2959
- body.light-mode .dialog-content .bg-black\/40 {
2960
- background-color: rgba(0, 0, 0, 0.05);
2961
- border-color: rgba(0, 0, 0, 0.1);
2962
- }
2963
-
2964
- /* 18. Semantic Typography Utilities */
2965
- .text-glow {
2966
- text-shadow: 0 0 10px rgba(0, 212, 255, 0.5), 0 0 20px rgba(0, 212, 255, 0.2);
2967
- }
2968
-
2969
- .text-glass {
2970
- color: rgba(255, 255, 255, 0.6);
2971
- backdrop-filter: blur(4px);
2972
- -webkit-backdrop-filter: blur(4px);
2973
- }
2974
-
2975
- body.light-mode .text-glow {
2976
- text-shadow: 0 0 8px rgba(0, 212, 255, 0.3);
2977
- }
2978
-
2979
- body.light-mode .text-glass {
2980
- color: rgba(0, 0, 0, 0.5);
2981
- }
2982
-
2983
- /* 17. Skeleton Loading (Starlight Variant) */
2984
- .starlight-loading {
2985
- background: linear-gradient(
2986
- 90deg,
2987
- rgba(255, 255, 255, 0.03) 25%,
2988
- rgba(255, 255, 255, 0.08) 50%,
2989
- rgba(255, 255, 255, 0.03) 75%
2990
- );
2991
- background-size: 200% 100%;
2992
- animation: starlight-shimmer 2s infinite linear;
2993
- border-radius: var(--radius-md);
2994
- min-height: 1rem;
2995
- }
2996
-
2997
- @keyframes starlight-shimmer {
2998
- 0% { background-position: 200% 0; }
2999
- 100% { background-position: -200% 0; }
3000
- }
3001
-
3002
- body.light-mode .starlight-loading {
3003
- background: linear-gradient(
3004
- 90deg,
3005
- rgba(0, 0, 0, 0.03) 25%,
3006
- rgba(0, 0, 0, 0.06) 50%,
3007
- rgba(0, 0, 0, 0.03) 75%
3008
- );
3009
- background-size: 200% 100%;
3010
- }
3011
-
3012
- /* 16. Themed Scrollbars */
3013
- ::-webkit-scrollbar {
3014
- width: 10px;
3015
- height: 10px;
3016
- }
3017
-
3018
- ::-webkit-scrollbar-track {
3019
- background: rgba(255, 255, 255, 0.02);
3020
- backdrop-filter: blur(10px);
3021
- }
3022
-
3023
- ::-webkit-scrollbar-thumb {
3024
- background: rgba(255, 255, 255, 0.1);
3025
- border: 1px solid rgba(255, 255, 255, 0.05);
3026
- border-radius: 10px;
3027
- transition: all 0.3s;
3028
- }
3029
-
3030
- ::-webkit-scrollbar-thumb:hover {
3031
- background: rgba(0, 212, 255, 0.3);
3032
- box-shadow: 0 0 10px rgba(0, 212, 255, 0.2);
3033
- }
3034
-
3035
- body.light-mode ::-webkit-scrollbar-track {
3036
- background: rgba(0, 0, 0, 0.03);
3037
- }
3038
-
3039
- body.light-mode ::-webkit-scrollbar-thumb {
3040
- background: rgba(0, 0, 0, 0.1);
3041
- border-color: rgba(0, 0, 0, 0.05);
3042
- }
3043
-
3044
- body.light-mode ::-webkit-scrollbar-thumb:hover {
3045
- background: var(--color-starlight-blue);
3046
- }
3047
-
3048
- /* Firefox Support */
3049
- * {
3050
- scrollbar-width: thin;
3051
- scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
3052
- }
3053
-
3054
- body.light-mode * {
3055
- scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
3056
- }
3057
-
3058
- @media (forced-colors: active) {
3059
- button:focus, input:focus, select:focus, textarea:focus {
3060
- outline: 2px solid SelectedItem !important;
3061
- outline-offset: 2px;
3062
- }
3063
-
3064
- .starlight-card:hover, .accordion-starlight.accordion-item:hover {
3065
- border-color: SelectedItem !important;
3066
- }
3067
-
3068
- .text-gradient-starlight, .bg-starlight {
3069
- background: none !important;
3070
- -webkit-text-fill-color: CanvasText !important;
3071
- color: CanvasText !important;
3072
- text-decoration: underline;
3073
- }
3074
-
3075
- .btn-starlight {
3076
- background: linear-gradient(135deg, var(--color-starlight-peach) 0%, var(--color-starlight-blue) 100%);
3077
- color: #000;
3078
- font-weight: 700;
3079
- border: none;
3080
- border-radius: 0.5rem;
3081
- padding: 0 1.5rem;
3082
- height: 3rem;
3083
- display: inline-flex;
3084
- align-items: center;
3085
- justify-content: center;
3086
- cursor: pointer;
3087
- transition: all 0.2s ease;
3088
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
3089
- text-decoration: none;
3090
- }
3091
-
3092
- .btn-starlight:hover {
3093
- transform: translateY(-2px);
3094
- box-shadow: 0 5px 25px rgba(0, 212, 255, 0.4);
3095
- filter: brightness(1.1);
3096
- }
3097
-
3098
- .btn-starlight:active {
3099
- transform: translateY(0) scale(0.95);
3100
- box-shadow: 0 2px 10px rgba(0, 212, 255, 0.2);
3101
- filter: brightness(0.9);
3102
- }
3103
-
3104
- .btn-starlight:focus-visible {
3105
- outline: 2px solid white;
3106
- outline-offset: 2px;
3107
- box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.3);
3108
- }
3109
-
3110
- body.light-mode .btn-starlight:focus-visible {
3111
- outline-color: var(--color-starlight-blue);
3112
- }}
3113
-
3114
-
3115
- /* JIT Generated Utilities */
3116
- /* Quantum CSS JIT Output */
3117
- .p-12 {
3118
- padding: 3rem;
3119
- }
3120
-
3121
- .max-w-4xl {
3122
- max-width: 4xl;
3123
- }
3124
-
3125
- .mx-auto {
3126
- margin-left: auto;
3127
- margin-right: auto;
3128
- }
3129
-
3130
- .space-y-12 > * + * {
3131
- margin-top: 3rem;
3132
- }
3133
-
3134
- .text-4xl {
3135
- font-size: 2.5rem;
3136
- line-height: 1.2;
3137
- }
3138
-
3139
- .space-y-4 > * + * {
3140
- margin-top: 1rem;
3141
- }
3142
-
3143
- .text-xl {
3144
- font-size: 1.25rem;
3145
- line-height: 1.2;
3146
- }
3147
-
3148
- .flex {
3149
- display: flex;
3150
- }
3151
-
3152
- .gap-4 {
3153
- gap: 1rem;
3154
- }
3155
-
3156
- .btn-primary {
3157
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3158
- color: #000;
3159
- border: none;
3160
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
3161
- font-weight: 700;
3162
- transition: all 0.2s ease;
3163
- height: 3rem;
3164
- padding: 0 1.5rem;
3165
- display: inline-flex;
3166
- align-items: center;
3167
- justify-content: center;
3168
- border-radius: 0.5rem;
3169
- cursor: pointer;
3170
- padding-left: 1.5rem;
3171
- padding-right: 1.5rem;
3172
- padding-top: 0.5rem;
3173
- padding-bottom: 0.5rem;
3174
- border-radius: 0.5rem;
3175
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
3176
- }
3177
-
3178
- .btn-primary:hover {
3179
- transform: scale(1.05);
3180
- }
3181
-
3182
- .btn-secondary {
3183
- background-color: rgba(255, 255, 255, 0.03);
3184
- backdrop-filter: blur(16px);
3185
- -webkit-backdrop-filter: blur(16px);
3186
- border-width: 1px;
3187
- border-color: rgba(255, 255, 255, 0.1);
3188
- color: #64748b;
3189
- padding-left: 1.5rem;
3190
- padding-right: 1.5rem;
3191
- padding-top: 0.5rem;
3192
- padding-bottom: 0.5rem;
3193
- border-radius: 0.5rem;
3194
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
3195
- }
3196
-
3197
- .btn-secondary:hover {
3198
- background-color: rgba(255, 255, 255, 0.1);
3199
- }
3200
-
3201
- .card-premium {
3202
- background-color: rgba(255, 255, 255, 0.95);
3203
- backdrop-filter: blur(4px);
3204
- -webkit-backdrop-filter: blur(4px);
3205
- padding: 2rem;
3206
- border-radius: 1rem;
3207
- box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
3208
- border-color: #f1f5f9;
3209
- }
3210
-
3211
- .card-premium:hover {
3212
- transform: scale(1.05);
3213
- }
3214
-
3215
- .max-w-sm {
3216
- max-width: sm;
3217
- }
3218
-
3219
- .text-2xl {
3220
- font-size: 1.5rem;
3221
- line-height: 1.2;
3222
- }
3223
-
3224
- .mb-4 {
3225
- margin-bottom: 1rem;
3226
- }
3227
-
3228
- .p-10 {
3229
- padding: 2.5rem;
3230
- }
3231
-
3232
- .space-y-8 > * + * {
3233
- margin-top: 2rem;
3234
- }
3235
-
3236
- .bg-black {
3237
- background-color: #000000;
3238
- }
3239
-
3240
- .text-white {
3241
- color: #ffffff;
3242
- }
3243
-
3244
- .top-0 {
3245
- top: 0px;
3246
- }
3247
-
3248
- .z-50 {
3249
- z-index: 50;
3250
- }
3251
-
3252
- .glass {
3253
- background-color: rgba(255, 255, 255, 0.03);
3254
- backdrop-filter: blur(16px);
3255
- -webkit-backdrop-filter: blur(16px);
3256
- border-width: 1px;
3257
- border-color: rgba(255, 255, 255, 0.1);
3258
- }
3259
-
3260
- .p-4 {
3261
- padding: 1rem;
3262
- }
3263
-
3264
- .mb-8 {
3265
- margin-bottom: 2rem;
3266
- }
3267
-
3268
- .ml-4 {
3269
- margin-left: 1rem;
3270
- }
3271
-
3272
- .mt-8 {
3273
- margin-top: 2rem;
3274
- }
3275
-
3276
- .grid {
3277
- display: grid;
3278
- }
3279
-
3280
- .grid-cols-1 {
3281
- grid-template-columns: repeat(1, minmax(0, 1fr));
3282
- }
3283
-
3284
- .bg-blue-500 {
3285
- background-color: #3b82f6;
3286
- }
3287
-
3288
- .bg-red-500 {
3289
- background-color: #ef4444;
3290
- }
3291
-
3292
- .input-starlight {
3293
- background-color: rgba(255, 255, 255, 0.04);
3294
- border: 1px solid rgba(255, 255, 255, 0.15);
3295
- color: inherit;
3296
- border-radius: 0.75rem;
3297
- padding: 0 1rem;
3298
- appearance: none;
3299
- transition: all 0.2s ease;
3300
- height: 3rem;
3301
- }
3302
-
3303
- .textarea-starlight {
3304
- background-color: rgba(255, 255, 255, 0.04);
3305
- border: 1px solid rgba(255, 255, 255, 0.15);
3306
- color: inherit;
3307
- border-radius: 0.75rem;
3308
- padding: 1rem;
3309
- appearance: none;
3310
- transition: all 0.2s ease;
3311
- min-height: 8rem;
3312
- width: 100%;
3313
- display: block;
3314
- }
3315
-
3316
- .bg-green-500 {
3317
- background-color: #10b981;
3318
- }
3319
-
3320
- .mt-4 {
3321
- margin-top: 1rem;
3322
- }
3323
-
3324
- .p-8 {
3325
- padding: 2rem;
3326
- }
3327
-
3328
- .min-h-screen {
3329
- min-height: screen;
3330
- }
3331
-
3332
- .w-6 {
3333
- width: 1.5rem;
3334
- }
3335
-
3336
- .h-6 {
3337
- height: 1.5rem;
3338
- }
3339
-
3340
- .hidden {
3341
- display: none;
3342
- }
3343
-
3344
- .max-w-144 {
3345
- max-width: 36rem;
3346
- }
3347
-
3348
- .mb-20 {
3349
- margin-bottom: 5rem;
3350
- }
3351
-
3352
- .pt-16 {
3353
- padding-top: 4rem;
3354
- }
3355
-
3356
- .text-6xl {
3357
- font-size: 4rem;
3358
- line-height: 1.2;
3359
- }
3360
-
3361
- .mb-6 {
3362
- margin-bottom: 1.5rem;
3363
- }
3364
-
3365
- .text-gradient-starlight {
3366
- background: linear-gradient(to right, #ffb38a, #00d4ff);
3367
- -webkit-background-clip: text;
3368
- -webkit-text-fill-color: transparent;
3369
- display: inline-block;
3370
- }
3371
-
3372
- .max-w-prose {
3373
- max-width: prose;
3374
- }
3375
-
3376
- .mb-10 {
3377
- margin-bottom: 2.5rem;
3378
- }
3379
-
3380
- .justify-center {
3381
- justify-content: center;
3382
- }
3383
-
3384
- .gap-6 {
3385
- gap: 1.5rem;
3386
- }
3387
-
3388
- .bg-starlight {
3389
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3390
- }
3391
-
3392
- .text-black {
3393
- color: #000000;
3394
- }
3395
-
3396
- .px-10 {
3397
- padding-left: 2.5rem;
3398
- padding-right: 2.5rem;
3399
- }
3400
-
3401
- .py-4 {
3402
- padding-top: 1rem;
3403
- padding-bottom: 1rem;
3404
- }
3405
-
3406
- .rounded-full {
3407
- border-radius: 9999px;
3408
- }
3409
-
3410
- .glow-blue {
3411
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
3412
- }
3413
-
3414
- .scale-105 {
3415
- transform: scale(1.05);
3416
- }
3417
-
3418
- .hover\:bg-white:hover {
3419
- background-color: #ffffff;
3420
- }
3421
-
3422
- .border-none {
3423
- border-width: 0;
3424
- }
3425
-
3426
- .px-12 {
3427
- padding-left: 3rem;
3428
- padding-right: 3rem;
3429
- }
3430
-
3431
- .border-2 {
3432
- border-width: 2px;
3433
- }
3434
-
3435
- .border-white {
3436
- border-color: #ffffff;
3437
- }
3438
-
3439
- .text-sm {
3440
- font-size: 0.875rem;
3441
- line-height: 1.5;
3442
- }
3443
-
3444
- .text-starlight {
3445
- color: #00d4ff;
3446
- }
3447
-
3448
- .gap-10 {
3449
- gap: 2.5rem;
3450
- }
3451
-
3452
- .rounded-2xl {
3453
- border-radius: 1rem;
3454
- }
3455
-
3456
- .rounded-xl {
3457
- border-radius: 0.75rem;
3458
- }
3459
-
3460
- .w-full {
3461
- width: 100%;
3462
- }
3463
-
3464
- .py-3 {
3465
- padding-top: 0.75rem;
3466
- padding-bottom: 0.75rem;
3467
- }
3468
-
3469
- .bg-starlight-deep {
3470
- background-color: #08081a;
3471
- }
3472
-
3473
- .rounded-3xl {
3474
- border-radius: 1.5rem;
3475
- }
3476
-
3477
- .text-lg {
3478
- font-size: 1.125rem;
3479
- line-height: 1.5;
3480
- }
3481
-
3482
- .flex-col {
3483
- flex-direction: column;
3484
- }
3485
-
3486
- .px-6 {
3487
- padding-left: 1.5rem;
3488
- padding-right: 1.5rem;
3489
- }
3490
-
3491
- .focus\:border-starlight:focus {
3492
- border-color: #00d4ff;
3493
- }
3494
-
3495
- .hover\:scale-105:hover {
3496
- transform: scale(1.05);
3497
- }
3498
-
3499
- .mt-32 {
3500
- margin-top: 8rem;
3501
- }
3502
-
3503
- .pt-10 {
3504
- padding-top: 2.5rem;
3505
- }
3506
-
3507
- .border-t {
3508
- border-top-width: undefinedpx;
3509
- }
3510
-
3511
- .border-b {
3512
- border-bottom-width: undefinedpx;
3513
- }
3514
-
3515
- .border-slate-100 {
3516
- border-color: #f1f5f9;
3517
- }
3518
-
3519
- .py-2 {
3520
- padding-top: 0.5rem;
3521
- padding-bottom: 0.5rem;
3522
- }
3523
-
3524
- .bg-slate-50 {
3525
- background-color: #f8fafc;
3526
- }
3527
-
3528
- .justify-between {
3529
- justify-content: space-between;
3530
- }
3531
-
3532
- .items-center {
3533
- align-items: center;
3534
- }
3535
-
3536
- .text-slate-500 {
3537
- color: #64748b;
3538
- }
3539
-
3540
- .hover\:text-slate-900:hover {
3541
- color: #0f172a;
3542
- }
3543
-
3544
- .border-slate-900 {
3545
- border-color: #0f172a;
3546
- }
3547
-
3548
- .border-b-4 {
3549
- border-bottom-width: 4px;
3550
- }
3551
-
3552
- .bg-white {
3553
- background-color: #ffffff;
3554
- }
3555
-
3556
- .py-6 {
3557
- padding-top: 1.5rem;
3558
- padding-bottom: 1.5rem;
3559
- }
3560
-
3561
- .text-blue-600 {
3562
- color: #2563eb;
3563
- }
3564
-
3565
- .gap-8 {
3566
- gap: 2rem;
3567
- }
3568
-
3569
- .text-xs {
3570
- font-size: 0.75rem;
3571
- line-height: 1.5;
3572
- }
3573
-
3574
- .border-b-2 {
3575
- border-bottom-width: 2px;
3576
- }
3577
-
3578
- .border-transparent {
3579
- border-color: transparent;
3580
- }
3581
-
3582
- .hover\:border-blue-600:hover {
3583
- border-color: #2563eb;
3584
- }
3585
-
3586
- .transition-colors {
3587
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
3588
- }
3589
-
3590
- .w-10 {
3591
- width: 2.5rem;
3592
- }
3593
-
3594
- .h-10 {
3595
- height: 2.5rem;
3596
- }
3597
-
3598
- .bg-slate-900 {
3599
- background-color: #0f172a;
3600
- }
3601
-
3602
- .rounded {
3603
- border-radius: 0.375rem;
3604
- }
3605
-
3606
- .bg-blue-600 {
3607
- background-color: #2563eb;
3608
- }
3609
-
3610
- .overflow-hidden {
3611
- overflow: hidden;
3612
- }
3613
-
3614
- .inline-block {
3615
- display: inline-block;
3616
- }
3617
-
3618
- .py-12 {
3619
- padding-top: 3rem;
3620
- padding-bottom: 3rem;
3621
- }
3622
-
3623
- .px-3 {
3624
- padding-left: 0.75rem;
3625
- padding-right: 0.75rem;
3626
- }
3627
-
3628
- .py-1 {
3629
- padding-top: 0.25rem;
3630
- padding-bottom: 0.25rem;
3631
- }
3632
-
3633
- .text-5xl {
3634
- font-size: 3rem;
3635
- line-height: 1.2;
3636
- }
3637
-
3638
- .text-slate-300 {
3639
- color: #cbd5e1;
3640
- }
3641
-
3642
- .max-w-2xl {
3643
- max-width: 2xl;
3644
- }
3645
-
3646
- .gap-12 {
3647
- gap: 3rem;
3648
- }
3649
-
3650
- .aspect-video {
3651
- aspect-ratio: 16 / 9;
3652
- width: 100%;
3653
- height: auto;
3654
- }
3655
-
3656
- .bg-slate-100 {
3657
- background-color: #f1f5f9;
3658
- }
3659
-
3660
- .rounded-lg {
3661
- border-radius: 0.5rem;
3662
- }
3663
-
3664
- .h-full {
3665
- height: 100%;
3666
- }
3667
-
3668
- .group:hover .group-hover\:scale-105 {
3669
- transform: scale(1.05);
3670
- }
3671
-
3672
- .transition-transform {
3673
- transition-property: transform;
3674
- }
3675
-
3676
- .pb-2 {
3677
- padding-bottom: 0.5rem;
3678
- }
3679
-
3680
- .space-y-6 > * + * {
3681
- margin-top: 1.5rem;
3682
- }
3683
-
3684
- .items-start {
3685
- align-items: flex-start;
3686
- }
3687
-
3688
- .text-slate-100 {
3689
- color: #f1f5f9;
3690
- }
3691
-
3692
- .group:hover .group-hover\:text-blue-100 {
3693
- color: #dbeafe;
3694
- }
3695
-
3696
- .group:hover .group-hover\:text-blue-600 {
3697
- color: #2563eb;
3698
- }
3699
-
3700
- .text-slate-400 {
3701
- color: #94a3b8;
3702
- }
3703
-
3704
- .mt-1 {
3705
- margin-top: 0.25rem;
3706
- }
3707
-
3708
- .p-6 {
3709
- padding: 1.5rem;
3710
- }
3711
-
3712
- .border-slate-200 {
3713
- border-color: #e2e8f0;
3714
- }
3715
-
3716
- .p-3 {
3717
- padding: 0.75rem;
3718
- }
3719
-
3720
- .focus\:border-blue-600:focus {
3721
- border-color: #2563eb;
3722
- }
3723
-
3724
- .py-20 {
3725
- padding-top: 5rem;
3726
- padding-bottom: 5rem;
3727
- }
3728
-
3729
- .mt-24 {
3730
- margin-top: 6rem;
3731
- }
3732
-
3733
- .border-slate-800 {
3734
- border-color: #1e293b;
3735
- }
3736
-
3737
- .pb-16 {
3738
- padding-bottom: 4rem;
3739
- }
3740
-
3741
- .col-span-1 {
3742
- grid-column: span 1 / span 1;
3743
- }
3744
-
3745
- .text-3xl {
3746
- font-size: 2rem;
3747
- line-height: 1.2;
3748
- }
3749
-
3750
- .max-w-md {
3751
- max-width: md;
3752
- }
3753
-
3754
- .space-y-3 > * + * {
3755
- margin-top: 0.75rem;
3756
- }
3757
-
3758
- .p-0 {
3759
- padding: 0px;
3760
- }
3761
-
3762
- .hover\:text-blue-600:hover {
3763
- color: #2563eb;
3764
- }
3765
-
3766
- .pt-12 {
3767
- padding-top: 3rem;
3768
- }
3769
-
3770
- .text-slate-600 {
3771
- color: #475569;
3772
- }
3773
-
3774
- .max-w-6xl {
3775
- max-width: 6xl;
3776
- }
3777
-
3778
- .mb-12 {
3779
- margin-bottom: 3rem;
3780
- }
3781
-
3782
- .mb-2 {
3783
- margin-bottom: 0.5rem;
3784
- }
3785
-
3786
- .w-24 {
3787
- width: 6rem;
3788
- }
3789
-
3790
- .text-base {
3791
- font-size: 1rem;
3792
- line-height: 1.5;
3793
- }
3794
-
3795
- .w-20 {
3796
- width: 5rem;
3797
- }
3798
-
3799
- .h-20 {
3800
- height: 5rem;
3801
- }
3802
-
3803
- .bg-blue-100 {
3804
- background-color: #dbeafe;
3805
- }
3806
-
3807
- .border-blue-200 {
3808
- border-color: #bfdbfe;
3809
- }
3810
-
3811
- .w-32 {
3812
- width: 8rem;
3813
- }
3814
-
3815
- .h-32 {
3816
- height: 8rem;
3817
- }
3818
-
3819
- .w-16 {
3820
- width: 4rem;
3821
- }
3822
-
3823
- .h-16 {
3824
- height: 4rem;
3825
- }
3826
-
3827
- .bg-orange-500 {
3828
- background-color: #f97316;
3829
- }
3830
-
3831
- .relative {
3832
- position: relative;
3833
- }
3834
-
3835
- .h-48 {
3836
- height: 12rem;
3837
- }
3838
-
3839
- .absolute {
3840
- position: absolute;
3841
- }
3842
-
3843
- .w-4 {
3844
- width: 1rem;
3845
- }
3846
-
3847
- .h-4 {
3848
- height: 1rem;
3849
- }
3850
-
3851
- .bg-slate-500\/10 {
3852
- background-color: rgba(100, 116, 139, 0.1);
3853
- }
3854
-
3855
- .bg-black\/20 {
3856
- background-color: rgba(0, 0, 0, 0.2);
3857
- }
3858
-
3859
- .border-white\/20 {
3860
- border-color: rgba(255, 255, 255, 0.2);
3861
- }
3862
-
3863
- .btn-starlight {
3864
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
3865
- color: #000;
3866
- border: none;
3867
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
3868
- font-weight: 700;
3869
- transition: all 0.2s ease;
3870
- height: 3rem;
3871
- padding: 0 1.5rem;
3872
- display: inline-flex;
3873
- align-items: center;
3874
- justify-content: center;
3875
- border-radius: 0.5rem;
3876
- cursor: pointer;
3877
- }
3878
-
3879
- .border-white\/5 {
3880
- border-color: rgba(255, 255, 255, 0.05);
3881
- }
3882
-
3883
- .bg-white\/5 {
3884
- background-color: rgba(255, 255, 255, 0.05);
3885
- }
3886
-
3887
- .starlight-nav {
3888
- background: rgba(255, 255, 255, 0.05);
3889
- backdrop-filter: blur(24px);
3890
- -webkit-backdrop-filter: blur(24px);
3891
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
3892
- width: 100%;
3893
- display: flex;
3894
- flex-direction: column;
3895
- padding: 0;
3896
- position: sticky;
3897
- top: 0;
3898
- z-index: 1000;
3899
- width: 100%;
3900
- top: 0px;
3901
- z-index: 1000;
3902
- }
3903
-
3904
- body.light-mode .light\:bg-slate-300 {
3905
- background-color: #cbd5e1;
3906
- }
3907
-
3908
- .h-\[400px] {
3909
- height: 400px;
3910
- }
3911
-
3912
- .border-r {
3913
- border-right-width: undefinedpx;
3914
- }
3915
-
3916
- .border-white\/10 {
3917
- border-color: rgba(255, 255, 255, 0.1);
3918
- }
3919
-
3920
- .block {
3921
- display: block;
3922
- }
3923
-
3924
- .flex-1 {
3925
- flex: 1 1 0%;
3926
- }
3927
-
3928
- .starlight-search {
3929
- position: relative;
3930
- display: block;
3931
- width: 100%;
3932
- position: relative;
3933
- width: 100%;
3934
- max-width: 36rem;
3935
- }
3936
-
3937
- .search-icon {
3938
- position: absolute;
3939
- left: 1rem;
3940
- top: 50%;
3941
- pointer-events: none;
3942
- z-index: 10;
3943
- width: 1.25rem;
3944
- height: 1.25rem;
3945
- }
3946
-
3947
- .search-input {
3948
- padding-left: 3rem;
3949
- width: 100%;
3950
- }
3951
-
3952
- .text-muted {
3953
- color: var(--text-muted);
3954
- }
3955
-
3956
- .starlight-dashboard {
3957
- display: grid;
3958
- grid-template-columns: repeat(1, minmax(0, 1fr));
3959
- gap: 2rem;
3960
- }
3961
-
3962
- body.light-mode .light\:shadow-lg {
3963
- box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
3964
- }
3965
-
3966
- .w-2 {
3967
- width: 0.5rem;
3968
- }
3969
-
3970
- .h-2 {
3971
- height: 0.5rem;
3972
- }
3973
-
3974
- .bg-success {
3975
- background-color: #10b981;
3976
- }
3977
-
3978
- .mr-1 {
3979
- margin-right: 0.25rem;
3980
- }
3981
-
3982
- .starlight-gallery {
3983
- display: grid;
3984
- grid-template-columns: repeat(1, minmax(0, 1fr));
3985
- gap: 1rem;
3986
- }
3987
-
3988
- .starlight-form {
3989
- display: grid;
3990
- grid-template-columns: repeat(1, minmax(0, 1fr));
3991
- gap: 2rem;
3992
- }
3993
-
3994
- .form-row {
3995
- display: flex;
3996
- justify-content: space-between;
3997
- align-items: center;
3998
- gap: 1rem;
3999
- }
4000
-
4001
- .mt-auto {
4002
- margin-top: auto;
4003
- }
4004
-
4005
- .pt-4 {
4006
- padding-top: 1rem;
4007
- }
4008
-
4009
- .w-5 {
4010
- width: 1.25rem;
4011
- }
4012
-
4013
- .h-5 {
4014
- height: 1.25rem;
4015
- }
4016
-
4017
- .pl-5 {
4018
- padding-left: 1.25rem;
4019
- }
4020
-
4021
- .mt-20 {
4022
- margin-top: 5rem;
4023
- }
4024
-
4025
- .pt-8 {
4026
- padding-top: 2rem;
4027
- }
4028
-
4029
- .dialog-close {
4030
- position: absolute;
4031
- top: 1.5rem;
4032
- right: 1.5rem;
4033
- width: 2rem;
4034
- height: 2rem;
4035
- border-radius: 50%;
4036
- display: flex;
4037
- align-items: center;
4038
- justify-content: center;
4039
- cursor: pointer;
4040
- }
4041
-
4042
- .text-success {
4043
- color: #10b981;
4044
- }
4045
-
4046
- .h-14 {
4047
- height: 3.5rem;
4048
- }
4049
-
4050
- .pb-12 {
4051
- padding-bottom: 3rem;
4052
- }
4053
-
4054
- .max-w-3xl {
4055
- max-width: 3xl;
4056
- }
4057
-
4058
- .gap-3 {
4059
- gap: 0.75rem;
4060
- }
4061
-
4062
- .checkbox-starlight {
4063
- appearance: none;
4064
- width: 1.25rem;
4065
- height: 1.25rem;
4066
- background: rgba(255, 255, 255, 0.05);
4067
- border: 1px solid rgba(255, 255, 255, 0.2);
4068
- border-radius: 0.375rem;
4069
- cursor: pointer;
4070
- transition: all 0.2s ease;
4071
- position: relative;
4072
- display: inline-flex;
4073
- align-items: center;
4074
- justify-content: center;
4075
- }
4076
-
4077
- .mt-6 {
4078
- margin-top: 1.5rem;
4079
- }
4080
-
4081
- .w-3\/4 {
4082
- width: 75.00%;
4083
- }
4084
-
4085
- .h-12 {
4086
- height: 3rem;
4087
- }
4088
-
4089
- .w-1\/2 {
4090
- width: 50.00%;
4091
- }
4092
-
4093
- .mr-8 {
4094
- margin-right: 2rem;
4095
- }
4096
-
4097
- .px-8 {
4098
- padding-left: 2rem;
4099
- padding-right: 2rem;
4100
- }
4101
-
4102
- .py-2.5 {
4103
- padding-top: 2.5;
4104
- padding-bottom: 2.5;
4105
- }
4106
-
4107
- .max-w-\[1200px] {
4108
- max-width: 1200px;
4109
- }
4110
-
4111
- .hover\:bg-starlight:hover {
4112
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
4113
- }
4114
-
4115
- .shadow-lg {
4116
- box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4117
- }
4118
-
4119
- .py-24 {
4120
- padding-top: 6rem;
4121
- padding-bottom: 6rem;
4122
- }
4123
-
4124
- .items-end {
4125
- align-items: flex-end;
4126
- }
4127
-
4128
- .border-starlight {
4129
- border-color: #00d4ff;
4130
- }
4131
-
4132
- .pb-1 {
4133
- padding-bottom: 0.25rem;
4134
- }
4135
-
4136
- .hover\:text-white:hover {
4137
- color: #ffffff;
4138
- }
4139
-
4140
- .hover\:border-white:hover {
4141
- border-color: #ffffff;
4142
- }
4143
-
4144
- .duration-500 {
4145
- transition-duration: 500ms;
4146
- }
4147
-
4148
- .gap-2 {
4149
- gap: 0.5rem;
4150
- }
4151
-
4152
- .mb-32 {
4153
- margin-bottom: 8rem;
4154
- }
4155
-
4156
- .p-16 {
4157
- padding: 4rem;
4158
- }
4159
-
4160
- .grid-cols-2 {
4161
- grid-template-columns: repeat(2, minmax(0, 1fr));
4162
- }
4163
-
4164
- .mb-16 {
4165
- margin-bottom: 4rem;
4166
- }
4167
-
4168
- .col-span-2 {
4169
- grid-column: span 2 / span 2;
4170
- }
4171
-
4172
- .hover\:text-starlight:hover {
4173
- color: #00d4ff;
4174
- }
4175
-
4176
- .text-primary {
4177
- color: #3b82f6;
4178
- }
4179
-
4180
- .left-0 {
4181
- left: 0px;
4182
- }
4183
-
4184
- .z-0 {
4185
- z-index: 0;
4186
- }
4187
-
4188
- .pointer-events-none {
4189
- pointer-events: none;
4190
- }
4191
-
4192
- .h-24 {
4193
- height: 6rem;
4194
- }
4195
-
4196
- .w-8 {
4197
- width: 2rem;
4198
- }
4199
-
4200
- .h-8 {
4201
- height: 2rem;
4202
- }
4203
-
4204
- .hover\:text-primary:hover {
4205
- color: #3b82f6;
4206
- }
4207
-
4208
- .gap-16 {
4209
- gap: 4rem;
4210
- }
4211
-
4212
- .space-y-16 > * + * {
4213
- margin-top: 4rem;
4214
- }
4215
-
4216
- .text-secondary {
4217
- color: #64748b;
4218
- }
4219
-
4220
- .w-12 {
4221
- width: 3rem;
4222
- }
4223
-
4224
- .border-primary\/30 {
4225
- border-color: rgba(59, 130, 246, 0.3);
4226
- }
4227
-
4228
- .p-1 {
4229
- padding: 0.25rem;
4230
- }
4231
-
4232
- .bg-black\/40 {
4233
- background-color: rgba(0, 0, 0, 0.4);
4234
- }
4235
-
4236
- .max-w-none {
4237
- max-width: none;
4238
- }
4239
-
4240
- .space-y-10 > * + * {
4241
- margin-top: 2.5rem;
4242
- }
4243
-
4244
- .border-l-4 {
4245
- border-left-width: 4px;
4246
- }
4247
-
4248
- .border-primary {
4249
- border-color: #3b82f6;
4250
- }
4251
-
4252
- .bg-primary\/5 {
4253
- background-color: rgba(59, 130, 246, 0.05);
4254
- }
4255
-
4256
- .mt-12 {
4257
- margin-top: 3rem;
4258
- }
4259
-
4260
- .mr-2 {
4261
- margin-right: 0.5rem;
4262
- }
4263
-
4264
- .hover\:bg-white\/10:hover {
4265
- background-color: rgba(255, 255, 255, 0.1);
4266
- }
4267
-
4268
- .hover\:bg-white\/5:hover {
4269
- background-color: rgba(255, 255, 255, 0.05);
4270
- }
4271
-
4272
- .group:hover .group-hover\:text-primary {
4273
- color: #3b82f6;
4274
- }
4275
-
4276
- .backdrop-blur-md {
4277
- backdrop-filter: blur(12px);
4278
- -webkit-backdrop-filter: blur(12px);
4279
- }
4280
-
4281
- .space-x-12 > * + * {
4282
- margin-left: 3rem;
4283
- }
4284
-
4285
- .py-16 {
4286
- padding-top: 4rem;
4287
- padding-bottom: 4rem;
4288
- }
4289
-
4290
- .px-4 {
4291
- padding-left: 1rem;
4292
- padding-right: 1rem;
4293
- }
4294
-
4295
- .py-1.5 {
4296
- padding-top: 1.5;
4297
- padding-bottom: 1.5;
4298
- }
4299
-
4300
- .rounded-\[2.5rem] {
4301
- border-radius: 2.5rem;
4302
- }
4303
-
4304
- .max-w-5xl {
4305
- max-width: 5xl;
4306
- }
4307
-
4308
- .shadow-2xl {
4309
- box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4310
- }
4311
-
4312
- .mb-3 {
4313
- margin-bottom: 0.75rem;
4314
- }
4315
-
4316
- .bg-transparent {
4317
- background-color: transparent;
4318
- }
4319
-
4320
- .placeholder\:text-white\/10:placeholder {
4321
- color: rgba(255, 255, 255, 0.1);
4322
- }
4323
-
4324
- .border-l {
4325
- border-left-width: undefinedpx;
4326
- }
4327
-
4328
- .px-16 {
4329
- padding-left: 4rem;
4330
- padding-right: 4rem;
4331
- }
4332
-
4333
- .h-auto {
4334
- height: auto;
4335
- }
4336
-
4337
- .hover\:glow-blue:hover {
4338
- box-shadow: 0 0 30px rgba(0, 212, 255, 0.25);
4339
- }
4340
-
4341
- .text-orange-600 {
4342
- color: #ea580c;
4343
- }
4344
-
4345
- .transition-all {
4346
- transition-property: all;
4347
- }
4348
-
4349
- .h-80 {
4350
- height: 80;
4351
- }
4352
-
4353
- .group:hover .group-hover\:scale-110 {
4354
- transform: scale(1.1);
4355
- }
4356
-
4357
- .duration-700 {
4358
- transition-duration: 700ms;
4359
- }
4360
-
4361
- .z-10 {
4362
- z-index: 10;
4363
- }
4364
-
4365
- .bottom-8 {
4366
- bottom: 2rem;
4367
- }
4368
-
4369
- .left-8 {
4370
- left: 2rem;
4371
- }
4372
-
4373
- .z-20 {
4374
- z-index: 20;
4375
- }
4376
-
4377
- .bg-blue-600\/20 {
4378
- background-color: rgba(37, 99, 235, 0.2);
4379
- }
4380
-
4381
- .ml-2 {
4382
- margin-left: 0.5rem;
4383
- }
4384
-
4385
- .hover\:text-black:hover {
4386
- color: #000000;
4387
- }
4388
-
4389
- .bg-orange-600\/20 {
4390
- background-color: rgba(234, 88, 12, 0.2);
4391
- }
4392
-
4393
- .rounded-\[3rem] {
4394
- border-radius: 3rem;
4395
- }
4396
-
4397
- .max-w-xl {
4398
- max-width: xl;
4399
- }
4400
-
4401
- .placeholder\:text-white\/20:placeholder {
4402
- color: rgba(255, 255, 255, 0.2);
4403
- }
4404
-
4405
- .space-x-6 > * + * {
4406
- margin-left: 1.5rem;
4407
- }
4408
-
4409
- .bg-white\/80 {
4410
- background-color: rgba(255, 255, 255, 0.8);
4411
- }
4412
-
4413
- .max-w-\[1440px] {
4414
- max-width: 1440px;
4415
- }
4416
-
4417
- .text-slate-900 {
4418
- color: #0f172a;
4419
- }
4420
-
4421
- .hover\:text-orange-600:hover {
4422
- color: #ea580c;
4423
- }
4424
-
4425
- .hover\:bg-slate-200:hover {
4426
- background-color: #e2e8f0;
4427
- }
4428
-
4429
- .-top-1 {
4430
- top: 0.25rem;
4431
- }
4432
-
4433
- .-right-1 {
4434
- right: -0.25rem;
4435
- }
4436
-
4437
- .bg-orange-600 {
4438
- background-color: #ea580c;
4439
- }
4440
-
4441
- .min-w-56 {
4442
- min-width: 56;
4443
- }
4444
-
4445
- .flex-shrink-0 {
4446
- flex-shrink: 0;
4447
- }
4448
-
4449
- .space-x-4 > * + * {
4450
- margin-left: 1rem;
4451
- }
4452
-
4453
- .group:hover .group-hover\:text-slate-900 {
4454
- color: #0f172a;
4455
- }
4456
-
4457
- .min-w-0 {
4458
- min-width: 0;
4459
- }
4460
-
4461
- .gap-x-8 {
4462
- column-gap: 2rem;
4463
- }
4464
-
4465
- .gap-y-16 {
4466
- row-gap: 4rem;
4467
- }
4468
-
4469
- .aspect-\[3\/4] {
4470
- aspect-ratio: 3 / 4;
4471
- width: 100%;
4472
- height: auto;
4473
- }
4474
-
4475
- .top-4 {
4476
- top: 1rem;
4477
- }
4478
-
4479
- .left-4 {
4480
- left: 1rem;
4481
- }
4482
-
4483
- .space-y-2 > * + * {
4484
- margin-top: 0.5rem;
4485
- }
4486
-
4487
- .bottom-4 {
4488
- bottom: 1rem;
4489
- }
4490
-
4491
- .duration-300 {
4492
- transition-duration: 300ms;
4493
- }
4494
-
4495
- .px-1 {
4496
- padding-left: 0.25rem;
4497
- padding-right: 0.25rem;
4498
- }
4499
-
4500
- .bg-slate-900\/80 {
4501
- background-color: rgba(15, 23, 42, 0.8);
4502
- }
4503
-
4504
- .shadow-sm {
4505
- box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4506
- }
4507
-
4508
- .border-blue-600\/50 {
4509
- border-color: rgba(37, 99, 235, 0.5);
4510
- }
4511
-
4512
- .text-slate-200 {
4513
- color: #e2e8f0;
4514
- }
4515
-
4516
- .bg-slate-950 {
4517
- background-color: #020617;
4518
- }
4519
-
4520
- .placeholder\:text-slate-600:placeholder {
4521
- color: #475569;
4522
- }
4523
-
4524
- @media (min-width: 640px) {
4525
- .starlight-gallery {
4526
- grid-template-columns: repeat(2, minmax(0, 1fr));
4527
- }
4528
-
4529
- .sm\:flex-row {
4530
- flex-direction: row;
4531
- }
4532
- }
4533
-
4534
- @media (min-width: 768px) {
4535
- .md\:btn-primary {
4536
- background: linear-gradient(135deg, #ffb38a 0%, #00d4ff 100%);
4537
- color: #000;
4538
- border: none;
4539
- box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
4540
- font-weight: 700;
4541
- transition: all 0.2s ease;
4542
- height: 3rem;
4543
- padding: 0 1.5rem;
4544
- display: inline-flex;
4545
- align-items: center;
4546
- justify-content: center;
4547
- border-radius: 0.5rem;
4548
- cursor: pointer;
4549
- padding-left: 1.5rem;
4550
- padding-right: 1.5rem;
4551
- padding-top: 0.5rem;
4552
- padding-bottom: 0.5rem;
4553
- border-radius: 0.5rem;
4554
- box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4555
- }
4556
-
4557
- .md\:btn-primary:hover {
4558
- transform: scale(1.05);
4559
- }
4560
-
4561
- .md\:grid-cols-2 {
4562
- grid-template-columns: repeat(2, minmax(0, 1fr));
4563
- }
4564
-
4565
- .md\:flex-row {
4566
- flex-direction: row;
4567
- }
4568
-
4569
- .md\:w-80 {
4570
- width: 80;
4571
- }
4572
-
4573
- .md\:grid-cols-4 {
4574
- grid-template-columns: repeat(4, minmax(0, 1fr));
4575
- }
4576
-
4577
- .md\:col-span-2 {
4578
- grid-column: span 2 / span 2;
4579
- }
4580
-
4581
- .md\:grid-cols-3 {
4582
- grid-template-columns: repeat(3, minmax(0, 1fr));
4583
- }
4584
-
4585
- .md\:px-8 {
4586
- padding-left: 2rem;
4587
- padding-right: 2rem;
4588
- }
4589
-
4590
- .starlight-dashboard {
4591
- grid-template-columns: repeat(2, minmax(0, 1fr));
4592
- }
4593
-
4594
- .starlight-form {
4595
- grid-template-columns: repeat(2, minmax(0, 1fr));
4596
- }
4597
-
4598
- .md\:hidden {
4599
- display: none;
4600
- }
4601
-
4602
- .md\:w-96 {
4603
- width: 96;
4604
- }
4605
-
4606
- .md\:col-span-1 {
4607
- grid-column: span 1 / span 1;
4608
- }
4609
-
4610
- .md\:flex {
4611
- display: flex;
4612
- }
4613
-
4614
- .md\:block {
4615
- display: block;
4616
- }
4617
-
4618
- .md\:h-full {
4619
- height: 100%;
4620
- }
4621
- }
4622
-
4623
- @media (min-width: 1024px) {
4624
- .lg\:grid-cols-12 {
4625
- grid-template-columns: repeat(12, minmax(0, 1fr));
4626
- }
4627
-
4628
- .lg\:col-span-8 {
4629
- grid-column: span 8 / span 8;
4630
- }
4631
-
4632
- .lg\:col-span-4 {
4633
- grid-column: span 4 / span 4;
4634
- }
4635
-
4636
- .starlight-dashboard {
4637
- grid-template-columns: repeat(3, minmax(0, 1fr));
4638
- }
4639
-
4640
- .starlight-gallery {
4641
- grid-template-columns: repeat(4, minmax(0, 1fr));
4642
- }
4643
-
4644
- .lg\:grid-cols-3 {
4645
- grid-template-columns: repeat(3, minmax(0, 1fr));
4646
- }
4647
-
4648
- .lg\:flex {
4649
- display: flex;
4650
- }
4651
-
4652
- .lg\:flex-row {
4653
- flex-direction: row;
4654
- }
4655
-
4656
- .lg\:w-64 {
4657
- width: 16rem;
4658
- }
4659
-
4660
- .lg\:col-span-2 {
4661
- grid-column: span 2 / span 2;
4662
- }
4663
- }
4664
-
4665
- @media (min-width: 1280px) {
4666
- .xl\:grid-cols-4 {
4667
- grid-template-columns: repeat(4, minmax(0, 1fr));
4668
- }
4669
- }
4670
-
4671
- @media (prefers-color-scheme: dark) {
4672
- .card-premium {
4673
- background-color: rgba(255, 255, 255, 0.05);
4674
- border-color: rgba(255, 255, 255, 0.1);
4675
- backdrop-filter: blur(12px);
4676
- -webkit-backdrop-filter: blur(12px);
4677
- }
4678
- }
1
+ @import 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap';:root{color-scheme:dark;--color-primary:#3b82f6;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-secondary:#64748b;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-neutral:#6b7280;--font-sans:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:Georgia,Cambria,serif;--font-mono:'SF Mono',Monaco,'Cascadia Code',monospace;--space-0:0px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-none:0px;--radius-sm:0.125rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 5%);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 10%),0 2px 4px -2px rgb(0 0 0 / 10%);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 10%),0 4px 6px -4px rgb(0 0 0 / 10%);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 10%),0 8px 10px -6px rgb(0 0 0 / 10%);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 25%);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--duration-1000:1000ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--color-starlight-blue:#00d4ff;--color-starlight-peach:#ffb38a;--color-starlight-orange:#ff7e5f;--color-starlight-deep:#08081a;--color-starlight-glow:rgb(0 212 255 / 35%);--bg-primary:var(--color-starlight-deep);--text-primary:#f1f5f9;--text-secondary:rgb(241 245 249 / 70%);--text-muted:rgb(241 245 249 / 45%);--light-bg:#f1f5f9;--light-text:#1e293b;--light-text-muted:#64748b;--light-card-bg:#fff;--light-card-border:rgb(0 0 0 / 6%);--glass-bg:rgb(255 255 255 / 3%);--glass-border:rgb(255 255 255 / 10%);--glass-blur:blur(16px);--transition-fast:150ms ease-in-out;--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms ease-in-out;}@media (prefers-contrast:more){:root{--color-starlight-blue:#08c;--color-starlight-orange:#d14d33;--glass-bg:rgb(255 255 255 / 10%);--glass-border:rgb(255 255 255 / 40%);--text-muted:rgb(241 245 249 / 80%);}}@media (forced-colors:active){:root{--radius-none:0;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0;--radius-2xl:0;--radius-3xl:0;--radius-full:0;}.starlight-card,.glass{border:2px solid CanvasText !important;}.btn-starlight{background:ButtonFace !important;color:ButtonText !important;border:2px solid ButtonText !important;}}@media (prefers-color-scheme:dark){:root{--color-primary:#60a5fa;--color-secondary:#94a3b8;--color-neutral:#9ca3af;}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{line-height:1.6;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-starlight-deep);scrollbar-width:thin;scrollbar-color:var(--color-starlight-blue) transparent;}body{line-height:inherit;}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;border:none;background:transparent;}textarea{resize:vertical;min-height:5rem;}.container{width:100%;max-width:1100px;margin-left:auto;margin-right:auto;padding-left:var(--space-8);padding-right:var(--space-8);}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);}@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);}.gap-10{gap:var(--space-10);}.gap-12{gap:var(--space-12);}.gap-16{gap:var(--space-16);}.gap-20{gap:var(--space-20);}.gap-24{gap:var(--space-24);}.gap-32{gap:var(--space-32);}.m-0{margin:var(--space-0);}.m-1{margin:var(--space-1);}.m-2{margin:var(--space-2);}.m-3{margin:var(--space-3);}.m-4{margin:var(--space-4);}.m-5{margin:var(--space-5);}.m-6{margin:var(--space-6);}.m-8{margin:var(--space-8);}.m-10{margin:var(--space-10);}.m-12{margin:var(--space-12);}.m-16{margin:var(--space-16);}.m-20{margin:var(--space-20);}.m-24{margin:var(--space-24);}.m-32{margin:var(--space-32);}.m-auto{margin:auto;}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0);}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1);}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2);}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3);}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4);}.mx-5{margin-left:var(--space-5);margin-right:var(--space-5);}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6);}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8);}.mx-10{margin-left:var(--space-10);margin-right:var(--space-10);}.mx-12{margin-left:var(--space-12);margin-right:var(--space-12);}.mx-16{margin-left:var(--space-16);margin-right:var(--space-16);}.mx-20{margin-left:var(--space-20);margin-right:var(--space-20);}.mx-24{margin-left:var(--space-24);margin-right:var(--space-24);}.mx-32{margin-left:var(--space-32);margin-right:var(--space-32);}.mx-auto{margin-left:auto;margin-right:auto;}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0);}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1);}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2);}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3);}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4);}.my-5{margin-top:var(--space-5);margin-bottom:var(--space-5);}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6);}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8);}.my-10{margin-top:var(--space-10);margin-bottom:var(--space-10);}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12);}.my-16{margin-top:var(--space-16);margin-bottom:var(--space-16);}.my-20{margin-top:var(--space-20);margin-bottom:var(--space-20);}.my-24{margin-top:var(--space-24);margin-bottom:var(--space-24);}.my-32{margin-top:var(--space-32);margin-bottom:var(--space-32);}.my-auto{margin-top:auto;margin-bottom:auto;}.mt-0{margin-top:var(--space-0);}.mt-1{margin-top:var(--space-1);}.mt-2{margin-top:var(--space-2);}.mt-3{margin-top:var(--space-3);}.mt-4{margin-top:var(--space-4);}.mt-5{margin-top:var(--space-5);}.mt-6{margin-top:var(--space-6);}.mt-8{margin-top:var(--space-8);}.mt-10{margin-top:var(--space-10);}.mt-12{margin-top:var(--space-12);}.mt-16{margin-top:var(--space-16);}.mt-20{margin-top:var(--space-20);}.mt-24{margin-top:var(--space-24);}.mt-32{margin-top:var(--space-32);}.mr-0{margin-right:var(--space-0);}.mr-1{margin-right:var(--space-1);}.mr-2{margin-right:var(--space-2);}.mr-3{margin-right:var(--space-3);}.mr-4{margin-right:var(--space-4);}.mr-5{margin-right:var(--space-5);}.mr-6{margin-right:var(--space-6);}.mr-8{margin-right:var(--space-8);}.mr-10{margin-right:var(--space-10);}.mr-12{margin-right:var(--space-12);}.mr-16{margin-right:var(--space-16);}.mr-20{margin-right:var(--space-20);}.mr-24{margin-right:var(--space-24);}.mr-32{margin-right:var(--space-32);}.mb-0{margin-bottom:var(--space-0);}.mb-1{margin-bottom:var(--space-1);}.mb-2{margin-bottom:var(--space-2);}.mb-3{margin-bottom:var(--space-3);}.mb-4{margin-bottom:var(--space-4);}.mb-5{margin-bottom:var(--space-5);}.mb-6{margin-bottom:var(--space-6);}.mb-8{margin-bottom:var(--space-8);}.mb-10{margin-bottom:var(--space-10);}.mb-12{margin-bottom:var(--space-12);}.mb-16{margin-bottom:var(--space-16);}.mb-20{margin-bottom:var(--space-20);}.mb-24{margin-bottom:var(--space-24);}.mb-32{margin-bottom:var(--space-32);}.ml-0{margin-left:var(--space-0);}.ml-1{margin-left:var(--space-1);}.ml-2{margin-left:var(--space-2);}.ml-3{margin-left:var(--space-3);}.ml-4{margin-left:var(--space-4);}.ml-5{margin-left:var(--space-5);}.ml-6{margin-left:var(--space-6);}.ml-8{margin-left:var(--space-8);}.ml-10{margin-left:var(--space-10);}.ml-12{margin-left:var(--space-12);}.ml-16{margin-left:var(--space-16);}.ml-20{margin-left:var(--space-20);}.ml-24{margin-left:var(--space-24);}.ml-32{margin-left:var(--space-32);}.p-0{padding:var(--space-0);}.p-1{padding:var(--space-1);}.p-2{padding:var(--space-2);}.p-3{padding:var(--space-3);}.p-4{padding:var(--space-4);}.p-5{padding:var(--space-5);}.p-6{padding:var(--space-6);}.p-8{padding:var(--space-8);}.p-10{padding:var(--space-10);}.p-12{padding:var(--space-12);}.p-16{padding:var(--space-16);}.p-20{padding:var(--space-20);}.p-24{padding:var(--space-24);}.p-32{padding:var(--space-32);}.px-0{padding-left:var(--space-0);padding-right:var(--space-0);}.px-1{padding-left:var(--space-1);padding-right:var(--space-1);}.px-2{padding-left:var(--space-2);padding-right:var(--space-2);}.px-3{padding-left:var(--space-3);padding-right:var(--space-3);}.px-4{padding-left:var(--space-4);padding-right:var(--space-4);}.px-5{padding-left:var(--space-5);padding-right:var(--space-5);}.px-6{padding-left:var(--space-6);padding-right:var(--space-6);}.px-8{padding-left:var(--space-8);padding-right:var(--space-8);}.px-10{padding-left:var(--space-10);padding-right:var(--space-10);}.px-12{padding-left:var(--space-12);padding-right:var(--space-12);}.px-16{padding-left:var(--space-16);padding-right:var(--space-16);}.px-20{padding-left:var(--space-20);padding-right:var(--space-20);}.px-24{padding-left:var(--space-24);padding-right:var(--space-24);}.px-32{padding-left:var(--space-32);padding-right:var(--space-32);}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0);}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1);}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2);}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3);}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4);}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5);}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6);}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8);}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10);}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12);}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16);}.py-20{padding-top:var(--space-20);padding-bottom:var(--space-20);}.py-24{padding-top:var(--space-24);padding-bottom:var(--space-24);}.py-32{padding-top:var(--space-32);padding-bottom:var(--space-32);}.pt-0{padding-top:var(--space-0);}.pt-1{padding-top:var(--space-1);}.pt-2{padding-top:var(--space-2);}.pt-3{padding-top:var(--space-3);}.pt-4{padding-top:var(--space-4);}.pt-5{padding-top:var(--space-5);}.pt-6{padding-top:var(--space-6);}.pt-8{padding-top:var(--space-8);}.pt-10{padding-top:var(--space-10);}.pt-12{padding-top:var(--space-12);}.pt-16{padding-top:var(--space-16);}.pt-20{padding-top:var(--space-20);}.pt-24{padding-top:var(--space-24);}.pt-32{padding-top:var(--space-32);}.pr-0{padding-right:var(--space-0);}.pr-1{padding-right:var(--space-1);}.pr-2{padding-right:var(--space-2);}.pr-3{padding-right:var(--space-3);}.pr-4{padding-right:var(--space-4);}.pr-5{padding-right:var(--space-5);}.pr-6{padding-right:var(--space-6);}.pr-8{padding-right:var(--space-8);}.pr-10{padding-right:var(--space-10);}.pr-12{padding-right:var(--space-12);}.pr-16{padding-right:var(--space-16);}.pr-20{padding-right:var(--space-20);}.pr-24{padding-right:var(--space-24);}.pr-32{padding-right:var(--space-32);}.pb-0{padding-bottom:var(--space-0);}.pb-1{padding-bottom:var(--space-1);}.pb-2{padding-bottom:var(--space-2);}.pb-3{padding-bottom:var(--space-3);}.pb-4{padding-bottom:var(--space-4);}.pb-5{padding-bottom:var(--space-5);}.pb-6{padding-bottom:var(--space-6);}.pb-8{padding-bottom:var(--space-8);}.pb-10{padding-bottom:var(--space-10);}.pb-12{padding-bottom:var(--space-12);}.pb-16{padding-bottom:var(--space-16);}.pb-20{padding-bottom:var(--space-20);}.pb-24{padding-bottom:var(--space-24);}.pb-32{padding-bottom:var(--space-32);}.pl-0{padding-left:var(--space-0);}.pl-1{padding-left:var(--space-1);}.pl-2{padding-left:var(--space-2);}.pl-3{padding-left:var(--space-3);}.pl-4{padding-left:var(--space-4);}.pl-5{padding-left:var(--space-5);}.pl-6{padding-left:var(--space-6);}.pl-8{padding-left:var(--space-8);}.pl-10{padding-left:var(--space-10);}.pl-12{padding-left:var(--space-12);}.pl-16{padding-left:var(--space-16);}.pl-20{padding-left:var(--space-20);}.pl-24{padding-left:var(--space-24);}.pl-32{padding-left:var(--space-32);}.text-xs{font-size:0.75rem;line-height:1rem;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-base{font-size:1rem;line-height:1.5rem;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.text-2xl{font-size:1.5rem;line-height:2rem;}.text-3xl{font-size:1.875rem;line-height:2.25rem;}.text-4xl{font-size:2.25rem;line-height:2.5rem;}.text-5xl{font-size:3rem;line-height:1.2;}.font-light{font-weight:300;}.font-normal{font-weight:400;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.font-bold{font-weight:700;}.font-extrabold{font-weight:800;}.text-left{text-align:left;}.text-center{text-align:center;}.text-right{text-align:right;}.text-justify{text-align:justify;}.text-primary{color:var(--color-primary);}.text-secondary{color:var(--color-secondary);}.text-success{color:var(--color-success);}.text-warning{color:var(--color-warning);}.text-error{color:var(--color-error);}.text-neutral{color:var(--color-neutral);}.text-white{color:#fff;}.text-black{color:#000;}.bg-primary{background-color:var(--color-primary);}.bg-secondary{background-color:var(--color-secondary);}.bg-success{background-color:var(--color-success);}.bg-warning{background-color:var(--color-warning);}.bg-error{background-color:var(--color-error);}.bg-neutral{background-color:var(--color-neutral);}.bg-white{background-color:#fff;color:#0f172a;}.bg-black{background-color:#000;color:#fff;}.border-0{border-width:0;}.border{border-width:1px;}.border-2{border-width:2px;}.border-4{border-width:4px;}.border-solid{border-style:solid;}.border-dashed{border-style:dashed;}.border-dotted{border-style:dotted;}.border-neutral{border-color:var(--color-neutral);}.rounded-none{border-radius:var(--radius-none);}.rounded-sm{border-radius:var(--radius-sm);}.rounded-md{border-radius:var(--radius-md);}.rounded-lg{border-radius:var(--radius-lg);}.rounded-xl{border-radius:var(--radius-xl);}.rounded-2xl{border-radius:var(--radius-2xl);}.rounded-3xl{border-radius:var(--radius-3xl);}.rounded-full{border-radius:var(--radius-full);}.shadow-none{box-shadow:none;}.shadow-sm{box-shadow:var(--shadow-sm);}.shadow-md{box-shadow:var(--shadow-md);}.shadow-lg{box-shadow:var(--shadow-lg);}.shadow-xl{box-shadow:var(--shadow-xl);}.shadow-2xl{box-shadow:var(--shadow-2xl);}.static{position:static;}.fixed{position:fixed;}.absolute{position:absolute;}.relative{position:relative;}.sticky{position:sticky;}.inset-0{inset:0;}.top-0{top:0;}.right-0{right:0;}.bottom-0{bottom:0;}.left-0{left:0;}.w-auto{width:auto;}.w-full{width:100%;}.w-screen{width:100vw;}.w-fit{width:fit-content;}.h-auto{height:auto;}.h-full{height:100%;}.h-screen{height:100vh;}.h-fit{height:fit-content;}.transition-none{transition-property:none;}.transition-all{transition-property:all;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:var(--ease-in-out);transition-duration:var(--duration-150);}.scale-95{transform:scale(0.95);}.scale-100{transform:scale(1);}.scale-105{transform:scale(1.05);}.scale-110{transform:scale(1.1);}.rotate-0{transform:rotate(0deg);}.rotate-45{transform:rotate(45deg);}.rotate-90{transform:rotate(90deg);}.rotate-180{transform:rotate(180deg);}.cursor-pointer{cursor:pointer;}.cursor-default{cursor:default;}.cursor-not-allowed{cursor:not-allowed;}.select-none{user-select:none;}.select-text{user-select:text;}.select-all{user-select:all;}.pointer-events-none{pointer-events:none;}.pointer-events-auto{pointer-events:auto;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border-width:0;}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;}.z-auto{z-index:auto;}.z-0{z-index:0;}.z-10{z-index:10;}.z-20{z-index:20;}.z-30{z-index:30;}.z-40{z-index:40;}.z-50{z-index:50;}.z-100{z-index:100;}.z-200{z-index:200;}.z-300{z-index:300;}.z-400{z-index:400;}.z-500{z-index:500;}.z-600{z-index:600;}.z-700{z-index:700;}.z-800{z-index:800;}.z-900{z-index:900;}.z-1000{z-index:1000;}.prose{max-width:65ch;line-height:1.75;}.prose h1{font-size:2.25rem;font-weight:700;line-height:1.25;margin-bottom:1rem;}.prose h2{font-size:1.875rem;font-weight:600;line-height:1.25;margin-top:2rem;margin-bottom:1rem;}.prose p{margin-bottom:1rem;}.prose a{color:var(--color-primary);text-decoration:underline;}.prose a:hover{color:var(--color-primary-600);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}}::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-starlight-peach) 0%,var(--color-starlight-blue) 100%);border-radius:10px;border:2px solid var(--color-starlight-deep);}html[data-theme="light"],body.light-mode{color-scheme:light;--bg-primary:var(--light-bg);--text-primary:var(--light-text);--text-secondary:var(--light-text-muted);--text-muted:var(--light-text-muted);scrollbar-color:var(--color-starlight-blue) transparent;}html[data-theme="dark"],body.dark-mode{color-scheme:dark;--bg-primary:var(--color-starlight-deep);--text-primary:#f1f5f9;}html[data-theme="light"] body,body.light-mode{background:var(--light-bg) !important;color:var(--light-text) !important;}html[data-theme="dark"] body,body.dark-mode{background:var(--color-starlight-deep) !important;color:#f1f5f9 !important;}html[data-theme="light"]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--color-starlight-peach) 40%,var(--color-starlight-blue) 100%);border-color:var(--light-bg);}:focus,:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-starlight-deep),0 0 0 4px var(--color-starlight-blue);transition:box-shadow var(--transition-fast);}html[data-theme="light"]:focus,html[data-theme="light"]:focus-visible{box-shadow:0 0 0 2px var(--light-bg),0 0 0 4px rgb(59 130 246 / 40%);}body{margin:0;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-slow),color var(--transition-slow);}button:active,input:active,.active-scale:active{transform:scale(0.96);}@custom-media --sm (min-width:640px);@custom-media --md (min-width:768px);@custom-media --lg (min-width:1024px);@custom-media --xl (min-width:1280px);@custom-media --2xl (min-width:1536px);@container (min-width:320px){.container\:flex{display:flex;}.container\:grid{display:grid;}.container\:hidden{display:none;}}@container (min-width:640px){.container\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.container\:text-lg{font-size:1.125rem;line-height:1.75rem;}.container\:p-6{padding:var(--space-6);}}@container (min-width:768px){.container\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.container\:text-xl{font-size:1.25rem;line-height:1.75rem;}.container\:p-8{padding:var(--space-8);}}@container (min-width:1024px){.container\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.container\:text-2xl{font-size:1.5rem;line-height:2rem;}}@media (--sm){.sm\:block{display:block;}.sm\:inline-block{display:inline-block;}.sm\:inline{display:inline;}.sm\:flex{display:flex;}.sm\:grid{display:grid;}.sm\:hidden{display:none;}.sm\:flex-row{flex-direction:row;}.sm\:flex-col{flex-direction:column;}.sm\:items-start{align-items:flex-start;}.sm\:items-center{align-items:center;}.sm\:items-end{align-items:flex-end;}.sm\:justify-start{justify-content:flex-start;}.sm\:justify-center{justify-content:center;}.sm\:justify-end{justify-content:flex-end;}.sm\:justify-between{justify-content:space-between;}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.sm\:text-xs{font-size:0.75rem;line-height:1rem;}.sm\:text-sm{font-size:0.875rem;line-height:1.25rem;}.sm\:text-base{font-size:1rem;line-height:1.5rem;}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem;}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem;}.sm\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\:m-0{margin:var(--space-0);}.sm\:m-1{margin:var(--space-1);}.sm\:m-2{margin:var(--space-2);}.sm\:m-3{margin:var(--space-3);}.sm\:m-4{margin:var(--space-4);}.sm\:m-6{margin:var(--space-6);}.sm\:m-8{margin:var(--space-8);}.sm\:mx-auto{margin-left:auto;margin-right:auto;}.sm\:p-0{padding:var(--space-0);}.sm\:p-1{padding:var(--space-1);}.sm\:p-2{padding:var(--space-2);}.sm\:p-3{padding:var(--space-3);}.sm\:p-4{padding:var(--space-4);}.sm\:p-6{padding:var(--space-6);}.sm\:p-8{padding:var(--space-8);}.sm\:w-full{width:100%;}.sm\:w-auto{width:auto;}.sm\:h-full{height:100%;}.sm\:h-auto{height:auto;}}@media (--md){.md\:block{display:block;}.md\:inline-block{display:inline-block;}.md\:inline{display:inline;}.md\:flex{display:flex;}.md\:grid{display:grid;}.md\:hidden{display:none;}.md\:flex-row{flex-direction:row;}.md\:flex-col{flex-direction:column;}.md\:items-start{align-items:flex-start;}.md\:items-center{align-items:center;}.md\:items-end{align-items:flex-end;}.md\:justify-start{justify-content:flex-start;}.md\:justify-center{justify-content:center;}.md\:justify-end{justify-content:flex-end;}.md\:justify-between{justify-content:space-between;}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:text-xs{font-size:0.75rem;line-height:1rem;}.md\:text-sm{font-size:0.875rem;line-height:1.25rem;}.md\:text-base{font-size:1rem;line-height:1.5rem;}.md\:text-lg{font-size:1.125rem;line-height:1.75rem;}.md\:text-xl{font-size:1.25rem;line-height:1.75rem;}.md\:text-2xl{font-size:1.5rem;line-height:2rem;}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.md\:m-0{margin:var(--space-0);}.md\:m-1{margin:var(--space-1);}.md\:m-2{margin:var(--space-2);}.md\:m-3{margin:var(--space-3);}.md\:m-4{margin:var(--space-4);}.md\:m-6{margin:var(--space-6);}.md\:m-8{margin:var(--space-8);}.md\:m-12{margin:var(--space-12);}.md\:mx-auto{margin-left:auto;margin-right:auto;}.md\:p-0{padding:var(--space-0);}.md\:p-1{padding:var(--space-1);}.md\:p-2{padding:var(--space-2);}.md\:p-3{padding:var(--space-3);}.md\:p-4{padding:var(--space-4);}.md\:p-6{padding:var(--space-6);}.md\:p-8{padding:var(--space-8);}.md\:p-12{padding:var(--space-12);}.md\:w-full{width:100%;}.md\:w-auto{width:auto;}.md\:w-1\/2{width:50%;}.md\:w-1\/3{width:33.333333%;}.md\:w-2\/3{width:66.666667%;}.md\:w-1\/4{width:25%;}.md\:w-3\/4{width:75%;}.md\:h-full{height:100%;}.md\:h-auto{height:auto;}.md\:h-screen{height:100vh;}}@media (--lg){.lg\:block{display:block;}.lg\:inline-block{display:inline-block;}.lg\:inline{display:inline;}.lg\:flex{display:flex;}.lg\:grid{display:grid;}.lg\:hidden{display:none;}.lg\:flex-row{flex-direction:row;}.lg\:flex-col{flex-direction:column;}.lg\:items-start{align-items:flex-start;}.lg\:items-center{align-items:center;}.lg\:items-end{align-items:flex-end;}.lg\:items-stretch{align-items:stretch;}.lg\:justify-start{justify-content:flex-start;}.lg\:justify-center{justify-content:center;}.lg\:justify-end{justify-content:flex-end;}.lg\:justify-between{justify-content:space-between;}.lg\:justify-around{justify-content:space-around;}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:text-xs{font-size:0.75rem;line-height:1rem;}.lg\:text-sm{font-size:0.875rem;line-height:1.25rem;}.lg\:text-base{font-size:1rem;line-height:1.5rem;}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem;}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem;}.lg\:text-2xl{font-size:1.5rem;line-height:2rem;}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.lg\:m-0{margin:var(--space-0);}.lg\:m-1{margin:var(--space-1);}.lg\:m-2{margin:var(--space-2);}.lg\:m-3{margin:var(--space-3);}.lg\:m-4{margin:var(--space-4);}.lg\:m-6{margin:var(--space-6);}.lg\:m-8{margin:var(--space-8);}.lg\:m-12{margin:var(--space-12);}.lg\:m-16{margin:var(--space-16);}.lg\:mx-auto{margin-left:auto;margin-right:auto;}.lg\:p-0{padding:var(--space-0);}.lg\:p-1{padding:var(--space-1);}.lg\:p-2{padding:var(--space-2);}.lg\:p-3{padding:var(--space-3);}.lg\:p-4{padding:var(--space-4);}.lg\:p-6{padding:var(--space-6);}.lg\:p-8{padding:var(--space-8);}.lg\:p-12{padding:var(--space-12);}.lg\:p-16{padding:var(--space-16);}.lg\:w-full{width:100%;}.lg\:w-auto{width:auto;}.lg\:w-1\/2{width:50%;}.lg\:w-1\/3{width:33.333333%;}.lg\:w-2\/3{width:66.666667%;}.lg\:w-1\/4{width:25%;}.lg\:w-3\/4{width:75%;}.lg\:w-1\/5{width:20%;}.lg\:w-2\/5{width:40%;}.lg\:w-3\/5{width:60%;}.lg\:w-4\/5{width:80%;}.lg\:h-full{height:100%;}.lg\:h-auto{height:auto;}.lg\:h-screen{height:100vh;}}@media (--xl){.xl\:block{display:block;}.xl\:inline-block{display:inline-block;}.xl\:inline{display:inline;}.xl\:flex{display:flex;}.xl\:grid{display:grid;}.xl\:hidden{display:none;}.xl\:flex-row{flex-direction:row;}.xl\:flex-col{flex-direction:column;}.xl\:items-start{align-items:flex-start;}.xl\:items-center{align-items:center;}.xl\:items-end{align-items:flex-end;}.xl\:items-stretch{align-items:stretch;}.xl\:justify-start{justify-content:flex-start;}.xl\:justify-center{justify-content:center;}.xl\:justify-end{justify-content:flex-end;}.xl\:justify-between{justify-content:space-between;}.xl\:justify-around{justify-content:space-around;}.xl\:justify-evenly{justify-content:space-evenly;}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr));}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.xl\:text-xs{font-size:0.75rem;line-height:1rem;}.xl\:text-sm{font-size:0.875rem;line-height:1.25rem;}.xl\:text-base{font-size:1rem;line-height:1.5rem;}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem;}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem;}.xl\:text-2xl{font-size:1.5rem;line-height:2rem;}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.xl\:text-5xl{font-size:3rem;line-height:1;}.xl\:m-0{margin:var(--space-0);}.xl\:m-1{margin:var(--space-1);}.xl\:m-2{margin:var(--space-2);}.xl\:m-3{margin:var(--space-3);}.xl\:m-4{margin:var(--space-4);}.xl\:m-6{margin:var(--space-6);}.xl\:m-8{margin:var(--space-8);}.xl\:m-12{margin:var(--space-12);}.xl\:m-16{margin:var(--space-16);}.xl\:m-20{margin:var(--space-20);}.xl\:mx-auto{margin-left:auto;margin-right:auto;}.xl\:p-0{padding:var(--space-0);}.xl\:p-1{padding:var(--space-1);}.xl\:p-2{padding:var(--space-2);}.xl\:p-3{padding:var(--space-3);}.xl\:p-4{padding:var(--space-4);}.xl\:p-6{padding:var(--space-6);}.xl\:p-8{padding:var(--space-8);}.xl\:p-12{padding:var(--space-12);}.xl\:p-16{padding:var(--space-16);}.xl\:p-20{padding:var(--space-20);}.xl\:w-full{width:100%;}.xl\:w-auto{width:auto;}.xl\:w-1\/2{width:50%;}.xl\:w-1\/3{width:33.333333%;}.xl\:w-2\/3{width:66.666667%;}.xl\:w-1\/4{width:25%;}.xl\:w-3\/4{width:75%;}.xl\:w-1\/5{width:20%;}.xl\:w-2\/5{width:40%;}.xl\:w-3\/5{width:60%;}.xl\:w-4\/5{width:80%;}.xl\:h-full{height:100%;}.xl\:h-auto{height:auto;}.xl\:h-screen{height:100vh;}}@media (orientation:landscape){.landscape\:flex-row{flex-direction:row;}.landscape\:hidden{display:none;}}@media (orientation:portrait){.portrait\:flex-col{flex-direction:column;}.portrait\:hidden{display:none;}}@media (min-resolution:2dppx),(min-resolution:192dpi){.retina\:text-sm{font-size:0.875rem;line-height:1.25rem;}.retina\:border{border-width:0.5px;}}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none;}}@media (prefers-color-scheme:dark){.dark\:text-white{color:#fff;}.dark\:text-gray-200{color:#e5e7eb;}.dark\:text-gray-300{color:#d1d5db;}.dark\:bg-gray-900{background-color:#111827;}.dark\:bg-gray-800{background-color:#1f2937;}.dark\:bg-gray-700{background-color:#374151;}.dark\:border-gray-700{border-color:#374151;}.dark\:border-gray-600{border-color:#4b5563;}}@media (prefers-color-scheme:light){.light\:text-black{color:#000;}.light\:text-gray-800{color:#1f2937;}.light\:text-gray-700{color:#374151;}.light\:bg-white{background-color:#fff;}.light\:bg-gray-50{background-color:#f9fafb;}.light\:bg-gray-100{background-color:#f3f4f6;}.light\:border-gray-300{border-color:#d1d5db;}.light\:border-gray-200{border-color:#e5e7eb;}}.hover\:text-primary:hover{color:var(--color-primary);}.hover\:text-secondary:hover{color:var(--color-secondary);}.hover\:text-white:hover{color:#fff;}.hover\:text-black:hover{color:#000;}.hover\:bg-primary:hover{background-color:var(--color-primary);}.hover\:bg-secondary:hover{background-color:var(--color-secondary);}.hover\:bg-gray-100:hover{background-color:#f3f4f6;}.hover\:bg-gray-200:hover{background-color:#e5e7eb;}.hover\:border-primary:hover{border-color:var(--color-primary);}.hover\:border-secondary:hover{border-color:var(--color-secondary);}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg);}.hover\:shadow-xl:hover{box-shadow:var(--shadow-xl);}.hover\:scale-105:hover{transform:scale(1.05);}.hover\:scale-110:hover{transform:scale(1.1);}.hover\:scale-95:hover{transform:scale(0.95);}.hover\:rotate-90:hover{transform:rotate(90deg);}.hover\:rotate-180:hover{transform:rotate(180deg);}.hover\:opacity-75:hover{opacity:0.75;}.hover\:opacity-50:hover{opacity:0.5;}.hover\:opacity-100:hover{opacity:1;}.focus\:outline-none:focus{outline:none;}.focus\:outline:focus{outline:2px solid;outline-offset:2px;}.focus\:outline-primary:focus{outline-color:var(--color-primary);}.focus\:outline-secondary:focus{outline-color:var(--color-secondary);}.focus\:ring:focus{box-shadow:0 0 0 3px;}.focus\:ring-primary:focus{box-shadow:0 0 0 3px var(--color-primary);}.focus\:ring-secondary:focus{box-shadow:0 0 0 3px var(--color-secondary);}.focus\:border-primary:focus{border-color:var(--color-primary);}.focus\:border-secondary:focus{border-color:var(--color-secondary);}.active\:scale-95:active{transform:scale(0.95);}.active\:scale-90:active{transform:scale(0.9);}.active\:bg-primary:active{background-color:var(--color-primary);}.active\:bg-secondary:active{background-color:var(--color-secondary);}.disabled\:opacity-50:disabled{opacity:0.5;}.disabled\:opacity-75:disabled{opacity:0.75;}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed;}.disabled\:pointer-events-none:disabled{pointer-events:none;}.group:hover .group-hover\:text-primary{color:var(--color-primary);}.group:hover .group-hover\:text-white{color:#fff;}.group:hover .group-hover\:bg-primary{background-color:var(--color-primary);}.group:hover .group-hover\:bg-secondary{background-color:var(--color-secondary);}.group:hover .group-hover\:opacity-100{opacity:1;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;transition:all var(--duration-150) var(--ease-in-out);cursor:pointer;border:1px solid transparent;text-decoration:none;font-family:inherit;}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.btn-primary{background-color:var(--color-primary);color:white;border-color:var(--color-primary);}.btn-primary:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600);}.btn-secondary{background-color:rgb(255 255 255 / 5%);color:white;border:1px solid rgb(255 255 255 / 10%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.btn-secondary:hover{background-color:rgb(255 255 255 / 10%);}body.light-mode .btn-secondary{background-color:rgb(0 0 0 / 3%);color:#1e293b;border-color:rgb(0 0 0 / 10%);}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary);}.btn-outline:hover{background-color:var(--color-primary);color:white;}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent;}.btn-ghost:hover{background-color:var(--color-primary-100);}.btn-sm{padding:var(--space-1) var(--space-3);font-size:0.875rem;}.btn-lg{padding:var(--space-3) var(--space-6);font-size:1.125rem;}.btn-xl{padding:var(--space-4) var(--space-8);font-size:1.25rem;}.card{background-color:white;color:#1e293b;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--duration-200) var(--ease-in-out);}body.light-mode .card{background-color:white;color:#1e293b;}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}.card-header{padding:var(--space-6);border-bottom:1px solid #e5e7eb;}.card-body{padding:var(--space-6);}.card-footer{padding:var(--space-6);border-top:1px solid #e5e7eb;background-color:#f9fafb;color:#1e293b;}body.light-mode .card-footer{background-color:#f9fafb;color:#1e293b;}.input{display:block;width:100%;padding:var(--space-2) var(--space-3);border:1px solid #d1d5db;border-radius:var(--radius-md);background-color:white;color:#1e293b;font-size:1rem;transition:all var(--duration-150) var(--ease-in-out);}body.light-mode .input{background-color:white;color:#1e293b;}textarea.input{min-height:100px;}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary);}input[type="date"].input,input[type="datetime-local"].input,input[type="time"].input{appearance:none;-webkit-appearance:none;min-height:2.5rem;display:inline-flex;align-items:center;}.glass input[type="date"],.starlight-card input[type="date"],[class*="dark"] input[type="date"]{color-scheme:dark;}input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(0.5);margin-left:0.5rem;}.input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed;}body.light-mode .input:disabled{background-color:#f3f4f6;color:#6b7280;}.input-error{border-color:var(--color-error);}.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error);}.badge{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border-radius:0.375rem;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border:1px solid;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}.badge-primary{background-color:rgb(0 212 255 / 15%);color:#00d4ff;border-color:rgb(0 212 255 / 30%);}.badge-secondary{background-color:rgb(255 255 255 / 5%);color:rgb(255 255 255 / 80%);border-color:rgb(255 255 255 / 10%);}.badge-success{background-color:rgb(16 185 129 / 15%);color:#10b981;border-color:rgb(16 185 129 / 30%);}.badge-warning{background-color:rgb(245 158 11 / 15%);color:#f59e0b;border-color:rgb(245 158 11 / 30%);}.badge-error{background-color:rgb(239 68 68 / 15%);color:#ef4444;border-color:rgb(239 68 68 / 30%);}html[data-theme="light"] .badge-primary{background-color:rgb(59 130 246 / 10%);color:#2563eb;border-color:rgb(59 130 246 / 20%);}html[data-theme="light"] .badge-secondary{background-color:rgb(0 0 0 / 5%);color:#475569;border-color:rgb(0 0 0 / 10%);}html[data-theme="light"] .badge-success{background-color:rgb(16 185 129 / 10%);color:#059669;border-color:rgb(16 185 129 / 20%);}html[data-theme="light"] .badge-warning{background-color:rgb(245 158 11 / 10%);color:#d97706;border-color:rgb(245 158 11 / 20%);}html[data-theme="light"] .badge-error{background-color:rgb(239 68 68 / 10%);color:#dc2626;border-color:rgb(239 68 68 / 20%);}.alert{padding:var(--space-4);border-radius:var(--radius-md);border:1px solid;}.alert-success{background-color:#d1fae5;border-color:#6ee7b7;color:#065f46;}.alert-warning{background-color:#fed7aa;border-color:#fbbf24;color:#92400e;}.alert-error{background-color:#fee2e2;border-color:#f87171;color:#991b1b;}.alert-info{background-color:#dbeafe;border-color:#60a5fa;color:#1e40af;}.modal-overlay{position:fixed;inset:0;background-color:rgb(0 0 0 / 50%);display:flex;align-items:center;justify-content:center;z-index:50;}.modal-content{background-color:white;color:#1e293b;border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow-y:auto;}body.light-mode .modal-content{background-color:white;color:#1e293b;}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid rgb(255 255 255 / 10%);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.skeleton{background:linear-gradient(90deg,rgb(255 255 255 / 5%) 25%,rgb(255 255 255 / 10%) 50%,rgb(255 255 255 / 5%) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md);}@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}body.light-mode .skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;}.tooltip{position:relative;}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background-color:#1f2937;color:white;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:0.875rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--duration-150) var(--ease-in-out);z-index:10;margin-bottom:var(--space-1);}.tooltip:hover .tooltip-content{opacity:1;visibility:visible;}.dropdown{position:relative;display:inline-block;}.dropdown-content{position:absolute;top:100%;left:0;background-color:white;color:#1e293b;border:1px solid #e5e7eb;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;z-index:20;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--duration-150) var(--ease-in-out);}body.light-mode .dropdown-content{background-color:white;color:#1e293b;}.dropdown.active .dropdown-content{opacity:1;visibility:visible;transform:translateY(0);}.dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:none;border:none;cursor:pointer;color:#1e293b;transition:background-color var(--duration-150) var(--ease-in-out);}.dropdown-item:hover{background-color:#f3f4f6;color:#1e293b;}body.light-mode .dropdown-item{color:#1e293b;}body.light-mode .dropdown-item:hover{background-color:#f3f4f6;color:#1e293b;}.accordion-item{border:1px solid #e5e7eb;border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden;}.accordion-header{padding:var(--space-4);background-color:#f9fafb;color:#1e293b;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color var(--duration-150) var(--ease-in-out);}.accordion-header:hover{background-color:#f3f4f6;color:#1e293b;}.accordion-content{padding:var(--space-4);background-color:white;color:#1e293b;max-height:0;overflow:hidden;transition:max-height var(--duration-300) var(--ease-in-out);}body.light-mode .accordion-header{background-color:#f9fafb;color:#1e293b;}body.light-mode .accordion-header:hover{background-color:#f3f4f6;color:#1e293b;}body.light-mode .accordion-content{background-color:white;color:#1e293b;}.accordion-item.active .accordion-content{max-height:500px;}.accordion-item.active .accordion-icon{transform:rotate(180deg);}.accordion-icon{transition:transform var(--duration-300) var(--ease-in-out);}.tab-list{display:flex;border-bottom:1px solid rgb(255 255 255 / 10%);}.tab-button{padding:var(--space-3) var(--space-4);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:500;transition:all var(--duration-150) var(--ease-in-out);}.tab-button:hover{background-color:rgb(255 255 255 / 5%);color:var(--text-primary);}.tab-button.active{border-bottom-color:var(--color-starlight-blue);color:var(--color-starlight-blue);}body.light-mode .tab-list{border-bottom-color:#e2e8f0;}body.light-mode .tab-button{color:#64748b;}body.light-mode .tab-button:hover{background-color:#f1f5f9;color:#0f172a;}body.light-mode .tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);}.tab-content{padding:var(--space-4);}.tab-panel{display:none;}.tab-panel.active{display:block;}.progress{width:100%;height:0.5rem;background-color:#e5e7eb;border-radius:var(--radius-full);overflow:hidden;}.progress-bar{height:100%;background-color:var(--color-primary);transition:width var(--duration-300) var(--ease-in-out);}.toggle{position:relative;display:inline-block;width:3rem;height:1.5rem;}.toggle-input{opacity:0;width:0;height:0;}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:background-color var(--duration-150) var(--ease-in-out);border-radius:var(--radius-full);}.toggle-slider::before{position:absolute;content:"";height:1.25rem;width:1.25rem;left:0.125rem;bottom:0.125rem;background-color:white;transition:transform var(--duration-150) var(--ease-in-out);border-radius:50%;}.toggle-input:checked + .toggle-slider{background-color:var(--color-primary);}.toggle-input:checked + .toggle-slider::before{transform:translateX(1.5rem);}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.animate-bounce{animation:bounce 1s infinite;}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}.animate-fade-in{animation:fadeIn var(--duration-500) var(--ease-in-out);}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.animate-slide-up{animation:slideUp var(--duration-300) var(--ease-out);}@keyframes slideUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.animate-slide-down{animation:slideDown var(--duration-300) var(--ease-out);}@keyframes slideDown{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}.table-wrapper::-webkit-scrollbar{height:8px;}.table-wrapper::-webkit-scrollbar-track{background:rgb(255 255 255 / 5%);border-radius:4px;}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-starlight-blue,#3b82f6);border-radius:4px;}body.light-mode .table-wrapper::-webkit-scrollbar-track{background:rgb(0 0 0 / 5%);}.table{width:100%;border-collapse:collapse;font-size:0.875rem;text-align:left;color:var(--text-primary);}.table th{padding:var(--space-3) var(--space-4);font-weight:600;background-color:rgb(255 255 255 / 5%);border-bottom:2px solid rgb(255 255 255 / 10%);color:var(--text-primary);}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid rgb(255 255 255 / 10%);color:var(--text-secondary);}.table tbody tr:hover{background-color:rgb(255 255 255 / 3%);}body.light-mode .table th{background-color:#f8fafc;border-bottom-color:#e2e8f0;color:#0f172a;}body.light-mode .table td{border-bottom-color:#e2e8f0;color:#334155;}body.light-mode .table tbody tr:hover{background-color:#f1f5f9;}.overflow-x-auto{overflow-x:auto;}.overflow-y-auto{overflow-y:auto;}@keyframes nebula-drift{0%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}50%{transform:translate(5%,5%) scale(1.2);opacity:0.7;}100%{transform:translate(-5%,-5%) scale(1);opacity:0.4;}}@keyframes cosmic-pulse{0%,100%{box-shadow:0 0 20px rgb(0 212 255 / 20%),0 0 40px rgb(0 212 255 / 10%);}50%{box-shadow:0 0 40px rgb(0 212 255 / 50%),0 0 80px rgb(0 212 255 / 20%);}}@keyframes star-twinkle{0%,100%{opacity:0.3;transform:scale(0.8);}50%{opacity:1;transform:scale(1.2);}}@keyframes orbit{from{transform:rotate(0deg) translateX(20px) rotate(0deg);}to{transform:rotate(360deg) translateX(20px) rotate(-360deg);}}@keyframes svg-draw{from{stroke-dashoffset:1000;}to{stroke-dashoffset:0;}}@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-20px);}}.ani-nebula{animation:nebula-drift 20s ease-in-out infinite;will-change:transform,opacity;}.ani-cosmic-pulse{animation:cosmic-pulse 4s ease-in-out infinite;}.ani-twinkle{animation:star-twinkle var(--twinkle-duration,3s) ease-in-out infinite;}.ani-orbit{animation:orbit var(--orbit-duration,10s) linear infinite;}.ani-svg-draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:svg-draw 3s cubic-bezier(0.4,0,0.2,1) forwards;}.ani-float{animation:float-y 6s ease-in-out infinite;}.ani-fade-in{animation:fadeIn 0.3s ease-out forwards;}.ani-slide-up{animation:slideUp 0.3s ease-out forwards;}.ani-slide-down{animation:slideDown 0.3s ease-out forwards;}.ani-scale-in{animation:scaleIn 0.2s ease-out forwards;}.ani-spin{animation:spin 1s linear infinite;}.ani-stagger-1{animation-delay:0.1s;}.ani-stagger-2{animation-delay:0.2s;}.ani-stagger-3{animation-delay:0.3s;}.ani-stagger-4{animation-delay:0.4s;}.ani-stagger-5{animation-delay:0.5s;}.ani-fast{animation-duration:0.5s !important;}.ani-slow{animation-duration:8s !important;}.ani-slower{animation-duration:15s !important;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes slideDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes ping{75%,100%{transform:scale(2);opacity:0;}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1);}}a{color:var(--color-starlight-blue);text-decoration:none;transition:all var(--transition-base);position:relative;}a:hover{color:var(--color-starlight-peach);text-shadow:0 0 8px rgb(255 179 138 / 40%);}a:active{transform:scale(0.98);}html[data-theme="light"] a{color:var(--color-starlight-blue);}html[data-theme="light"] a:hover{color:var(--color-starlight-peach);}.starlight-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-10);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:relative;transition:border-color var(--transition-base),transform var(--transition-base),background-color var(--transition-base);}.starlight-card:hover{border-color:rgb(0 212 255 / 40%);transform:translateY(-4px);box-shadow:0 12px 40px rgb(0 0 0 / 40%),0 0 20px rgb(0 212 255 / 10%);background-color:rgb(255 255 255 / 4%);}html[data-theme="light"] .starlight-card{background:var(--light-card-bg);border-color:var(--light-card-border);color:#334155;box-shadow:0 4px 20px rgb(0 0 0 / 2%);}.checkbox-starlight,.radio-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgb(255 255 255 / 5%);border:1px solid rgb(255 255 255 / 20%);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;position:relative;}.radio-starlight{border-radius:50%;}html[data-theme="light"] .checkbox-starlight,html[data-theme="light"] .radio-starlight{border-color:rgb(0 0 0 / 20%);background:rgb(0 0 0 / 5%);}.checkbox-starlight:checked,.radio-starlight:checked{background:var(--color-starlight-blue);border-color:var(--color-starlight-blue);}.checkbox-starlight:checked::after{content:'✓';color:black;font-size:0.8rem;font-weight:900;}.radio-starlight:checked::after{content:'';width:0.5rem;height:0.5rem;background:black;border-radius:50%;}.has-tooltip{position:relative;}.has-tooltip .tooltip{position:absolute;bottom:125%;left:50%;transform:translateX(-50%) translateY(10px);padding:0.5rem 0.75rem;background-color:rgb(10 10 30 / 98%);backdrop-filter:blur(12px);border:1px solid rgb(0 212 255 / 30%);border-radius:0.5rem;color:#f1f5f9;font-size:0.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:all 0.2s ease;z-index:800;box-shadow:0 4px 15px rgb(0 0 0 / 40%);}.has-tooltip:hover .tooltip{opacity:1;transform:translateX(-50%) translateY(0);}.starlight-stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden;}.star{position:absolute;background:white;border-radius:50%;opacity:0.3;animation:star-twinkle var(--duration,3s) infinite ease-in-out;}html[data-theme="light"] .star{background:var(--color-starlight-blue);opacity:0.15;}.dialog-overlay{position:fixed;inset:0;background:rgb(0 0 0 / 60%);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:400;}.dialog-content{background-color:rgb(10 10 20 / 98%);backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / 10%);border-radius:1.5rem;padding:2.5rem;max-width:90%;width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px -12px rgb(0 0 0 / 50%);position:relative;}.starlight-dialog{background-color:rgb(10 10 20 / 98%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgb(255 255 255 / 10%);border-radius:1.5rem;padding:3rem;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;margin:auto;position:relative;box-shadow:0 25px 50px -12px rgb(0 0 0 / 50%);}.dialog-content::-webkit-scrollbar,.starlight-dialog::-webkit-scrollbar{width:8px;}.dialog-content::-webkit-scrollbar-track,.starlight-dialog::-webkit-scrollbar-track{background:rgb(255 255 255 / 5%);border-radius:4px;}.dialog-content::-webkit-scrollbar-thumb,.starlight-dialog::-webkit-scrollbar-thumb{background:var(--color-starlight-blue,#3b82f6);border-radius:4px;}html[data-theme="light"] .dialog-content::-webkit-scrollbar-track,html[data-theme="light"] .starlight-dialog::-webkit-scrollbar-track{background:rgb(0 0 0 / 5%);}html[data-theme="light"] .starlight-dialog{background-color:rgb(255 255 255 / 98%);border-color:rgb(0 0 0 / 10%);color:#1e293b;box-shadow:0 25px 50px -12px rgb(0 0 0 / 15%);}.dialog-close{position:absolute;top:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;background:rgb(255 255 255 / 5%);border:1px solid rgb(255 255 255 / 10%);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;padding:0;}html[data-theme="light"] .dialog-close{background:rgb(0 0 0 / 5%);border-color:rgb(0 0 0 / 10%);color:#1e293b;}.dialog-close:hover{background:rgb(255 255 255 / 15%);border-color:var(--color-starlight-blue);transform:rotate(90deg);}.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}html[data-theme="light"] .dialog-overlay{background:rgb(255 255 255 / 40%);}html[data-theme="light"] .dialog-content{background-color:rgb(255 255 255 / 98%);border-color:rgb(0 0 0 / 10%);color:#1e293b;box-shadow:0 25px 50px -12px rgb(0 0 0 / 15%);}.dropdown-menu{position:absolute;top:100%;left:0;background-color:var(--color-starlight-deep);backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / 10%);border-radius:0.75rem;padding:0.5rem;margin-top:0.5rem;min-width:200px;z-index:600;box-shadow:0 20px 40px rgb(0 0 0 / 40%);opacity:0;visibility:hidden;transform:translateY(10px);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);pointer-events:none;}.dropdown:hover .dropdown-menu,.dropdown.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}.dropdown-item{display:block;width:100%;padding:0.625rem 1rem;border-radius:0.5rem;color:rgb(255 255 255 / 70%);transition:all 0.2s ease;text-align:left;background:transparent;border:none;cursor:pointer;}.dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}html[data-theme="light"] .dropdown-menu{background-color:rgb(255 255 255 / 99%);border-color:#cbd5e1;box-shadow:0 10px 30px rgb(0 0 0 / 10%);}html[data-theme="light"] .dropdown-item{color:#475569;}html[data-theme="light"] .dropdown-item:hover{background-color:var(--color-starlight-blue);color:black;}.input-starlight,.textarea-starlight{height:auto;padding:1rem;background-color:rgb(255 255 255 / 4%);border:1px solid rgb(255 255 255 / 15%);border-radius:0.75rem;color:inherit;width:100%;}textarea.input-starlight,.textarea-starlight{min-height:120px;display:block;}html[data-theme="light"] .input-starlight,html[data-theme="light"] .textarea-starlight{background-color:#fff;border-color:#cbd5e1;}html[data-theme="light"] .glass{background-color:rgb(0 0 0 / 2%);border-color:rgb(0 0 0 / 5%);}.input-starlight:focus,.textarea-starlight:focus{outline:none;border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgb(0 212 255 / 10%),0 0 20px rgb(0 212 255 / 10%);background-color:rgb(255 255 255 / 6%);}html[data-theme="light"] .input-starlight:focus,html[data-theme="light"] .textarea-starlight:focus{border-color:var(--color-starlight-blue);box-shadow:0 0 0 4px rgb(0 212 255 / 10%),0 4px 12px rgb(0 0 0 / 5%);background-color:#fff;}.code-window{background:rgb(0 0 0 / 40%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgb(255 255 255 / 10%);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 25px 50px -12px rgb(0 0 0 / 50%);}.code-window-header{background:rgb(255 255 255 / 5%);border-bottom:1px solid rgb(255 255 255 / 5%);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}.code-window-controls{display:flex;gap:0.5rem;}.code-window-dot{width:0.75rem;height:0.75rem;border-radius:50%;opacity:0.6;}.code-window-title{font-size:0.65rem;font-weight:800;text-transform:uppercase;letter-spacing:0.15em;color:rgb(255 255 255 / 40%);}html[data-theme="light"] .code-window{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 10px 30px rgb(0 0 0 / 5%);}html[data-theme="light"] .code-window-header{background:#f1f5f9;border-color:#e2e8f0;}html[data-theme="light"] .code-window-title{color:#94a3b8;}.accordion-starlight.accordion-item{background:rgb(255 255 255 / 2%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgb(255 255 255 / 8%);border-radius:var(--radius-xl);margin-bottom:var(--space-4);transition:all var(--transition-base);position:relative;}.accordion-starlight.accordion-item:hover{border-color:rgb(0 212 255 / 30%);background:rgb(255 255 255 / 4%);box-shadow:0 0 20px rgb(0 212 255 / 5%);}.accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:rgb(0 212 255 / 3%);box-shadow:0 0 30px rgb(0 212 255 / 10%),inset 0 0 20px rgb(0 212 255 / 5%);}.accordion-starlight .accordion-header{background:transparent !important;padding:var(--space-6) var(--space-8);color:white;font-weight:700;letter-spacing:0.02em;font-size:1.125rem;}.accordion-starlight.active .accordion-header{background:linear-gradient(to right,rgb(255 179 138 / 15%),rgb(0 212 255 / 15%)) !important;border-bottom:1px solid rgb(0 212 255 / 20%);}.accordion-starlight .accordion-content{background:linear-gradient(to bottom,rgb(0 0 0 / 30%),rgb(0 0 0 / 10%)) !important;color:rgb(255 255 255 / 60%) !important;font-size:1rem;line-height:1.8;padding:0;}.accordion-starlight.active .accordion-content{padding:var(--space-6) var(--space-8);}.accordion-starlight .accordion-icon{color:var(--color-starlight-blue);filter:drop-shadow(0 0 5px rgb(0 212 255 / 50%));}html[data-theme="light"] .accordion-starlight.accordion-item{background:white;border-color:#e2e8f0;}html[data-theme="light"] .accordion-starlight.accordion-item.active{border-color:var(--color-starlight-blue);background:#f8fafc;}html[data-theme="light"] .accordion-starlight .accordion-header{color:#1e293b;}html[data-theme="light"] .accordion-starlight .accordion-content{background:#f1f5f9 !important;color:#475569 !important;}.search-container{position:relative;display:block;width:100%;}.search-input{padding-left:3rem !important;width:100%;}.search-icon{position:absolute;left:1.125rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;width:1.25rem;height:1.25rem;z-index:10;}html[data-theme="light"] .search-icon{color:#64748b;}.starlight-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);}.gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;transition:all var(--transition-base);}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);}.gallery-item:hover img{transform:scale(1.1);}.gallery-item:hover{border-color:var(--color-starlight-blue);box-shadow:0 0 20px var(--color-starlight-glow);}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0 / 80%),transparent);display:flex;align-items:flex-end;padding:1rem;opacity:0;transition:opacity 0.3s ease;}.gallery-item:hover .gallery-overlay{opacity:1;}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);}.stat-card{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);}.stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}html[data-theme="light"] .stat-value{background:linear-gradient(135deg,#1e293b 0%,var(--color-starlight-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}.stat-label{text-transform:uppercase;letter-spacing:0.1em;font-size:0.75rem;color:var(--text-muted);}.stat-trend{font-size:0.875rem;display:flex;align-items:center;gap:0.25rem;}.stat-trend.up{color:var(--color-success);}.stat-trend.down{color:var(--color-error);}.nav-glass{background:rgb(255 255 255 / 5%);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgb(255 255 255 / 10%);display:flex;flex-direction:column;position:sticky;top:0;z-index:1000;padding:0;}html[data-theme="light"] .nav-glass{background:rgb(255 255 255 / 95%);border-bottom-color:rgb(0 0 0 / 8%);box-shadow:0 4px 12px rgb(0 0 0 / 3%);}.nav-desktop{display:none;align-items:center;}.nav-list{display:flex;list-style:none;gap:2rem;margin:0;padding:0;}.nav-list.vertical{flex-direction:column;gap:0.5rem;}.nav-link{font-size:0.875rem;font-weight:500;color:rgb(255 255 255 / 70%);transition:all 0.3s;position:relative;padding:0.5rem 0;display:inline-flex;align-items:center;}.nav-list.vertical .nav-link{width:100%;padding:0.75rem 1rem;border-radius:0.5rem;}.nav-list.vertical .dropdown{width:100%;display:block;}.nav-list.vertical .nav-link:hover{background:rgb(255 255 255 / 5%);color:var(--color-starlight-blue);}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-starlight-blue);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 0 10px var(--color-starlight-glow);transform:translateX(-50%);}.nav-link:hover::after{width:80%;}html[data-theme="light"] .nav-link{color:#475569;}html[data-theme="light"] .nav-link:hover{color:#1e293b;}.hamburger{width:2.5rem;height:2.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0.4rem;cursor:pointer;background:rgb(255 255 255 / 5%);border:1px solid rgb(255 255 255 / 10%);border-radius:0.5rem;padding:0.5rem;transition:all 0.3s;position:relative;}html[data-theme="light"] .hamburger{background:rgb(0 0 0 / 2%);border-color:rgb(0 0 0 / 10%);}.hamburger:hover{background:rgb(255 255 255 / 10%);border-color:var(--color-starlight-blue);}html[data-theme="light"] .hamburger:hover{background:rgb(0 0 0 / 10%);}.hamburger span{width:1.5rem;height:2px;background:white;border-radius:2px;transition:all 0.3s;transform-origin:center;}html[data-theme="light"] .hamburger span{background:#1e293b;}.hamburger.active span{background-color:var(--color-starlight-blue);box-shadow:0 0 10px var(--color-starlight-glow);}.nav-menu-mobile{width:100%;background:rgb(0 0 0 / 20%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgb(255 255 255 / 5%);padding:0;max-height:0;overflow:hidden;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);opacity:0;}.nav-menu-mobile.active{display:block;max-height:500px;padding:1.5rem 2rem;opacity:1;}html[data-theme="light"] .nav-menu-mobile{background:#fff;border-top-color:rgb(0 0 0 / 8%);box-shadow:0 15px 30px rgb(0 0 0 / 5%);}.nav-list.vertical .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:0 0 0 1.5rem;margin:0;max-height:0;overflow:hidden;transition:all 0.3s ease;background:transparent;pointer-events:none;}.nav-list.vertical .dropdown.active .dropdown-menu{max-height:300px;padding-top:0.5rem;padding-bottom:0.5rem;pointer-events:auto;}.nav-list.vertical .dropdown-item{padding:0.5rem 1rem;font-size:0.825rem;border-left:1px solid rgb(255 255 255 / 10%);border-radius:0;}@media (width >= 768px){.nav-desktop{display:flex;}.hamburger{display:none;}.nav-menu-mobile{display:none !important;}}@keyframes slideInDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.starlight-nav.vertical{flex-direction:column;height:100%;width:280px !important;min-width:280px !important;border-bottom:none;border-right:1px solid rgb(255 255 255 / 10%);padding:2.5rem 1.5rem;align-items:flex-start;justify-content:flex-start;}html[data-theme="light"] .starlight-nav.vertical{background:rgb(255 255 255 / 98%);border-right-color:rgb(0 0 0 / 8%);}.select-starlight{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem;padding-right:3rem !important;}html[data-theme="light"] .select-starlight{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%231e293b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");}.range-starlight{appearance:none;width:100%;height:6px;background:rgb(255 255 255 / 10%);border-radius:3px;outline:none;}html[data-theme="light"] .range-starlight{background:rgb(0 0 0 / 10%);}.range-starlight::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--color-starlight-blue);border-radius:50%;cursor:pointer;box-shadow:0 0 10px var(--color-starlight-glow);transition:all 0.2s;}.range-starlight::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px var(--color-starlight-blue);}.toggle-starlight{width:3.5rem;height:1.75rem;}.toggle-starlight .toggle-slider::before{height:1.25rem;width:1.25rem;top:0.25rem;left:0.25rem;}.toggle-starlight input:checked + .toggle-slider::before{transform:translateX(1.75rem);}.toggle-starlight .toggle-slider{background:rgb(255 255 255 / 10%);border:1px solid rgb(255 255 255 / 10%);}html[data-theme="light"] .toggle-starlight .toggle-slider{background:rgb(0 0 0 / 10%);border-color:rgb(0 0 0 / 15%);}html[data-theme="light"] .bg-starlight,html[data-theme="light"] .bg-starlight:hover,html[data-theme="light"] .hover\:bg-starlight:hover,html[data-theme="light"] .btn-starlight,html[data-theme="light"] .btn-starlight:hover,html[data-theme="light"] .hover\:btn-starlight:hover,html[data-theme="light"] .btn-primary,html[data-theme="light"] .btn-primary:hover{background:linear-gradient(135deg,#ffb38a 40%,#00d4ff 100%) !important;}html[data-theme="light"] .text-gradient-starlight{background:linear-gradient(135deg,#ffb38a 40%,#00d4ff 100%) !important;-webkit-background-clip:text !important;-webkit-text-fill-color:transparent !important;}html[data-theme="light"] .text-success{color:#059669;}html[data-theme="light"] .text-warning{color:#d97706;}html[data-theme="light"] .dialog-content .bg-black\/40{background-color:rgb(0 0 0 / 5%);border-color:rgb(0 0 0 / 10%);}.text-glow{text-shadow:0 0 10px rgb(0 212 255 / 50%),0 0 20px rgb(0 212 255 / 20%);}.text-glass{color:rgb(255 255 255 / 60%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}html[data-theme="light"] .text-glow{text-shadow:0 0 8px rgb(0 212 255 / 30%);}html[data-theme="light"] .text-glass{color:rgb(0 0 0 / 50%);}.starlight-loading{background:linear-gradient( 90deg,rgb(255 255 255 / 3%) 25%,rgb(255 255 255 / 8%) 50%,rgb(255 255 255 / 3%) 75% );background-size:200% 100%;animation:starlight-shimmer 2s infinite linear;border-radius:var(--radius-md);min-height:1rem;}@keyframes starlight-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}html[data-theme="light"] .starlight-loading{background:linear-gradient( 90deg,rgb(0 0 0 / 3%) 25%,rgb(0 0 0 / 6%) 50%,rgb(0 0 0 / 3%) 75% );background-size:200% 100%;}::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-track{background:rgb(255 255 255 / 2%);backdrop-filter:blur(10px);}::-webkit-scrollbar-thumb{background:rgb(255 255 255 / 10%);border:1px solid rgb(255 255 255 / 5%);border-radius:10px;transition:all 0.3s;}::-webkit-scrollbar-thumb:hover{background:rgb(0 212 255 / 30%);box-shadow:0 0 10px rgb(0 212 255 / 20%);}html[data-theme="light"]::-webkit-scrollbar-track{background:rgb(0 0 0 / 3%);}html[data-theme="light"]::-webkit-scrollbar-thumb{background:rgb(0 0 0 / 10%);border-color:rgb(0 0 0 / 5%);}html[data-theme="light"]::-webkit-scrollbar-thumb:hover{background:var(--color-starlight-blue);}*{scrollbar-width:thin;scrollbar-color:rgb(255 255 255 / 10%) transparent;}html[data-theme="light"] *{scrollbar-color:rgb(0 0 0 / 10%) transparent;}@media (forced-colors:active){button:focus,input:focus,select:focus,textarea:focus{outline:2px solid SelectedItem !important;outline-offset:2px;}.starlight-card:hover,.accordion-starlight.accordion-item:hover{border-color:SelectedItem !important;}.text-gradient-starlight,.bg-starlight{background:none !important;-webkit-text-fill-color:CanvasText !important;color:CanvasText !important;text-decoration:underline;}.btn-starlight{background:linear-gradient(135deg,var(--color-starlight-peach) 0%,var(--color-starlight-blue) 100%);color:#000;font-weight:700;border:none;border-radius:0.5rem;padding:0 1.5rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;box-shadow:0 0 20px rgb(0 212 255 / 30%);text-decoration:none;}.btn-starlight:hover{transform:translateY(-2px);box-shadow:0 5px 25px rgb(0 212 255 / 40%);filter:brightness(1.1);}.btn-starlight:active{transform:translateY(0) scale(0.95);box-shadow:0 2px 10px rgb(0 212 255 / 20%);filter:brightness(0.9);}.btn-starlight:focus-visible{outline:2px solid white;outline-offset:2px;box-shadow:0 0 0 4px rgb(0 212 255 / 30%);}html[data-theme="light"] .btn-starlight:focus-visible{outline-color:var(--color-starlight-blue);}}.p-12{padding:3rem;}.max-w-4xl{max-width:1rem;}.mx-auto{margin-left:auto;margin-right:auto;}.space-y-12 > * + *{margin-top:3rem;}.text-4xl{font-size:2.5rem;line-height:1.2;}.space-y-4 > * + *{margin-top:1rem;}.text-xl{font-size:1.25rem;line-height:1.2;}.flex{display:flex;}.gap-4{gap:1rem;}.btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.btn-primary:hover{transform:scale(1.05);}.btn-secondary{background-color:rgba(255,255,255,0.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-width:1px;border-color:rgba(255,255,255,0.1);color:#64748b;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.btn-secondary:hover{background-color:rgba(255,255,255,0.1);}.card-premium{background-color:rgba(255,255,255,0.95);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:2rem;border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1),0 8px 10px -6px rgb(0 0 0 / 0.1);border-color:#f1f5f9;}.card-premium:hover{transform:scale(1.05);}.max-w-sm{max-width: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;}.btn-starlight{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;}.p-8{padding:2rem;}.min-h-screen{min-height:screen;}.w-6{width:1.5rem;}.h-6{height:1.5rem;}.hidden{display:none;}.max-w-144{max-width:36rem;}.mb-20{margin-bottom:5rem;}.pt-16{padding-top:4rem;}.text-6xl{font-size:4rem;line-height:1.2;}.mb-6{margin-bottom:1.5rem;}.text-gradient-starlight{background:linear-gradient(to right,#ffb38a,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;}.max-w-prose{max-width: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:0.5rem;}.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:1.5rem;}.mb-12{margin-bottom:3rem;}.mb-2{margin-bottom:0.5rem;}.w-24{width:6rem;}.text-base{font-size:1rem;line-height:1.5;}.w-20{width:5rem;}.h-20{height:5rem;}.bg-blue-100{background-color:#dbeafe;}.border-blue-200{border-color:#bfdbfe;}.w-32{width:8rem;}.h-32{height:8rem;}.w-16{width:4rem;}.h-16{height:4rem;}.bg-orange-500{background-color:#f97316;}.relative{position:relative;}.h-48{height:12rem;}.absolute{position:absolute;}.w-4{width:1rem;}.h-4{height:1rem;}.bg-slate-500\/10{background-color:rgba(100,116,139,0.1);}.bg-black\/20{background-color:rgba(0,0,0,0.2);}.border-white\/20{border-color:rgba(255,255,255,0.2);}.border-white\/5{border-color:rgba(255,255,255,0.05);}.bg-white\/5{background-color:rgba(255,255,255,0.05);}.starlight-nav{background:rgba(255,255,255,0.05);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,0.1);width:100%;display:flex;flex-direction:column;padding:0;position:sticky;top:0;z-index:1000;width:100%;top:0px;z-index:1000;}body.light-mode .light\:bg-slate-300{background-color:#cbd5e1;}.h-\[400px\]{height:400px;}.border-r{border-right-width:undefinedpx;}.border-white\/10{border-color:rgba(255,255,255,0.1);}.block{display:block;}.flex-1{flex:1 1 0%;}.starlight-search{position:relative;display:block;width:100%;position:relative;width:100%;max-width:36rem;}.search-icon{position:absolute;left:1rem;top:50%;pointer-events:none;z-index:10;width:1.25rem;height:1.25rem;}.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;}body.light-mode .light\:shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);}.w-2{width:0.5rem;}.h-2{height:0.5rem;}.bg-success{background-color:#10b981;}.mr-1{margin-right:0.25rem;}.starlight-gallery{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;}.starlight-form{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;}.form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}.mt-auto{margin-top:auto;}.pt-4{padding-top:1rem;}.w-5{width:1.25rem;}.h-5{height:1.25rem;}.pl-5{padding-left:1.25rem;}.mt-20{margin-top:5rem;}.pt-8{padding-top:2rem;}.dialog-close{position:absolute;top:1.5rem;right:1.5rem;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;}.text-success{color:#10b981;}.h-14{height:3.5rem;}.pb-12{padding-bottom:3rem;}.max-w-3xl{max-width:0.75rem;}.gap-3{gap:0.75rem;}.checkbox-starlight{appearance:none;width:1.25rem;height:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.2);border-radius:0.375rem;cursor:pointer;transition:all 0.2s ease;position:relative;display:inline-flex;align-items:center;justify-content:center;}.mt-6{margin-top:1.5rem;}.w-3\/4{width:75.00%;}.h-12{height:3rem;}.w-1\/2{width:50.00%;}.mr-8{margin-right:2rem;}.px-8{padding-left:2rem;padding-right:2rem;}.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}.max-w-\[1200px\]{max-width:1200px;}.hover\:bg-starlight:hover{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);}.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);}.py-24{padding-top:6rem;padding-bottom:6rem;}.items-end{align-items:flex-end;}.border-starlight{border-color:#00d4ff;}.pb-1{padding-bottom:0.25rem;}.hover\:text-white:hover{color:#ffffff;}.hover\:border-white:hover{border-color:#ffffff;}.duration-500{transition-duration:500ms;}.gap-2{gap:0.5rem;}.mb-32{margin-bottom:8rem;}.p-16{padding:4rem;}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.mb-16{margin-bottom:4rem;}.col-span-2{grid-column:span 2 / span 2;}.hover\:text-starlight:hover{color:#00d4ff;}.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;}.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:0.375rem;padding-bottom:0.375rem;}.rounded-\[2\.5rem\]{border-radius:2.5rem;}.max-w-5xl{max-width:1.25rem;}.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);}.mb-3{margin-bottom:0.75rem;}.bg-transparent{background-color:transparent;}.placeholder\:text-white\/10:placeholder{color:rgba(255,255,255,0.1);}.border-l{border-left-width:undefinedpx;}.px-16{padding-left:4rem;padding-right:4rem;}.h-auto{height:auto;}.hover\:glow-blue:hover{box-shadow:0 0 30px rgba(0,212,255,0.25);}.text-orange-600{color:#ea580c;}.transition-all{transition-property:all;}.h-80{height:20rem;}.group:hover .group-hover\:scale-110{transform:scale(1.1);}.duration-700{transition-duration:700ms;}.z-10{z-index:10;}.bottom-8{bottom:2rem;}.left-8{left:2rem;}.z-20{z-index:20;}.bg-blue-600\/20{background-color:rgba(37,99,235,0.2);}.ml-2{margin-left:0.5rem;}.hover\:text-black:hover{color:#000000;}.bg-orange-600\/20{background-color:rgba(234,88,12,0.2);}.rounded-\[3rem\]{border-radius:3rem;}.max-w-xl{max-width: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:14rem;}.flex-shrink-0{flex-shrink:0;}.space-x-4 > * + *{margin-left:1rem;}.group:hover .group-hover\:text-slate-900{color:#0f172a;}.min-w-0{min-width:0;}.gap-x-8{column-gap:2rem;}.gap-y-16{row-gap:4rem;}.aspect-\[3\/4\]{aspect-ratio:3 / 4;width:100%;height:auto;}.top-4{top:1rem;}.left-4{left:1rem;}.space-y-2 > * + *{margin-top:0.5rem;}.bottom-4{bottom:1rem;}.duration-300{transition-duration:300ms;}.px-1{padding-left:0.25rem;padding-right:0.25rem;}.bg-slate-900\/80{background-color:rgba(15,23,42,0.8);}.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);}.border-blue-600\/50{border-color:rgba(37,99,235,0.5);}.text-slate-200{color:#e2e8f0;}.bg-slate-950{background-color:#020617;}.placeholder\:text-slate-600:placeholder{color:#475569;}@media (min-width:640px){.starlight-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.sm\:flex-row{flex-direction:row;}}@media (min-width:768px){.md\:btn-primary{background:linear-gradient(135deg,#ffb38a 0%,#00d4ff 100%);color:#000;border:none;box-shadow:0 0 20px rgba(0,212,255,0.3);font-weight:700;transition:all 0.2s ease;height:3rem;padding:0 1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:0.5rem;cursor:pointer;padding-left:1.5rem;padding-right:1.5rem;padding-top:0.5rem;padding-bottom:0.5rem;border-radius:0.5rem;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);}.md\:btn-primary:hover{transform:scale(1.05);}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:flex-row{flex-direction:row;}.md\:w-80{width:20rem;}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.md\:col-span-2{grid-column:span 2 / span 2;}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.md\:px-8{padding-left:2rem;padding-right:2rem;}.starlight-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));}.starlight-form{grid-template-columns:repeat(2,minmax(0,1fr));}.md\:hidden{display:none;}.md\:w-96{width:24rem;}.md\:col-span-1{grid-column:span 1 / span 1;}.md\:flex{display:flex;}.md\:block{display:block;}.md\:h-full{height:100%;}}@media (min-width:1024px){.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}.lg\:col-span-8{grid-column:span 8 / span 8;}.lg\:col-span-4{grid-column:span 4 / span 4;}.starlight-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));}.starlight-gallery{grid-template-columns:repeat(4,minmax(0,1fr));}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.lg\:flex{display:flex;}.lg\:flex-row{flex-direction:row;}.lg\:w-64{width:16rem;}.lg\:col-span-2{grid-column:span 2 / span 2;}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (prefers-color-scheme:dark){.card-premium{background-color:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}}