@howssatoshi/quantumcss 1.3.0 → 1.3.1

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