@parhelia/core 0.1.11850 → 0.1.11853

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/styles.css ADDED
@@ -0,0 +1,1046 @@
1
+ /*
2
+ This package intentionally does NOT ship a Tailwind utilities bundle.
3
+ The consuming app should generate utilities by scanning this package’s
4
+ compiled JS output.
5
+ */
6
+
7
+ @source "./src/**/*.{js,ts,jsx,tsx}";
8
+ @source "./dist/**/*.js";
9
+
10
+ @import "tw-animate-css";
11
+ @import "react-day-picker/style.css";
12
+ * {
13
+ font-family:
14
+ var(--font-inter),
15
+ Inter,
16
+ -apple-system,
17
+ BlinkMacSystemFont,
18
+ "Segoe UI",
19
+ "Roboto",
20
+ "Oxygen",
21
+ "Ubuntu",
22
+ "Cantarell",
23
+ "Fira Sans",
24
+ "Droid Sans",
25
+ "Helvetica Neue",
26
+ sans-serif;
27
+ }
28
+
29
+ html,
30
+ body {
31
+ font-family:
32
+ var(--font-inter),
33
+ Inter,
34
+ -apple-system,
35
+ BlinkMacSystemFont,
36
+ "Segoe UI",
37
+ "Roboto",
38
+ "Oxygen",
39
+ "Ubuntu",
40
+ "Cantarell",
41
+ "Fira Sans",
42
+ "Droid Sans",
43
+ "Helvetica Neue",
44
+ sans-serif;
45
+ }
46
+
47
+ @theme {
48
+ --font-inter: "Inter";
49
+ --color-dark: #111111;
50
+ --color-gray-1: #444444;
51
+ --color-gray-2: #767676;
52
+ --color-gray-3: #e4e2e2;
53
+ --color-gray-4: #f2f2f2;
54
+ --color-gray-5: #f5f5f5;
55
+ --color-component-blue: #209cfc;
56
+ --color-dark-lighter: #333333;
57
+ --color-dark-lightest: #444444;
58
+ --color-dark-darker: #111111;
59
+ --color-dark-darkest: #222222;
60
+ --color-theme-secondary: #9650fb;
61
+ --color-theme-secondary-light: #f6eeff;
62
+ --color-neutral-350: #b4b4b4;
63
+ --text-2xs: 0.7rem;
64
+ --text-3xs: 0.6rem;
65
+ --animate-sparkle: "sparkle 1.5s ease-in-out infinite";
66
+ --animate-slideUp: "slideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1)";
67
+ --animate-fadeBottom: "fadeBottom 0.3s cubic-bezier(0.4, 0, 0.2, 1)";
68
+ --animate-fadeIn: "fadeIn 0.5s ease-in-out";
69
+ --animate-fadeLeft: "fadeLeft 0.8s ease-in-out";
70
+ --animate-fadeRight: "fadeRight 0.8s ease-in-out";
71
+ --animate-bounceDots: "bounceDots .6s infinite alternate";
72
+ /*
73
+ Breakpoints - tailwind defaults
74
+ --breakpoint-sm: 640px;
75
+ --breakpoint-md: 768px;
76
+ --breakpoint-lg: 1024px;
77
+ --breakpoint-xl: 1280px;
78
+ --breakpoint-2xl: 1536px;
79
+ */
80
+
81
+ @keyframes sparkle {
82
+ "0%, 100%": {
83
+ opacity: 0.8;
84
+ transform: scale(1);
85
+ }
86
+ "50%": {
87
+ opacity: 1;
88
+ transform: scale(1.3);
89
+ }
90
+ }
91
+ @keyframes slideUp {
92
+ "0%": {
93
+ transform: translateY(70px);
94
+ opacity: 0;
95
+ }
96
+ "100%": {
97
+ transform: translateY(0);
98
+ opacity: 1;
99
+ }
100
+ }
101
+ @keyframes fadeIn {
102
+ "0%": {
103
+ opacity: 0;
104
+ }
105
+ "100%": {
106
+ opacity: 1;
107
+ }
108
+ }
109
+ @keyframes fadeLeft {
110
+ "0%": {
111
+ transform: translateX(-50%);
112
+ opacity: 0;
113
+ }
114
+ "100%": {
115
+ transform: translateX(0);
116
+ opacity: 1;
117
+ }
118
+ }
119
+ @keyframes fadeRight {
120
+ "0%": {
121
+ transform: translateX(50%);
122
+ opacity: 0;
123
+ }
124
+ "100%": {
125
+ transform: translateX(0);
126
+ opacity: 1;
127
+ }
128
+ }
129
+ @keyframes fadeBottom {
130
+ "0%": {
131
+ transform: translateY(50%);
132
+ opacity: 0;
133
+ }
134
+ "100%": {
135
+ transform: translateY(0);
136
+ opacity: 1;
137
+ }
138
+ }
139
+ @keyframes bounceDots {
140
+ "0%": {
141
+ opacity: 1;
142
+ transform: translateY(0);
143
+ }
144
+ "100%": {
145
+ opacity: 0.3;
146
+ transform: translateY(-2px);
147
+ }
148
+ }
149
+ @keyframes fadeOut {
150
+ "0%": {
151
+ opacity: 1;
152
+ transform: translateX(-50%) scale(1);
153
+ }
154
+ "80%": {
155
+ opacity: 1;
156
+ transform: translateX(-50%) scale(1);
157
+ }
158
+ "100%": {
159
+ opacity: 0;
160
+ transform: translateX(-50%) scale(0.9);
161
+ }
162
+ }
163
+ }
164
+
165
+ :root {
166
+ --background: oklch(1 0 0);
167
+ --foreground: oklch(0.145 0 0);
168
+ --card: oklch(1 0 0);
169
+ --card-foreground: oklch(0.145 0 0);
170
+ --popover: oklch(1 0 0);
171
+ --popover-foreground: oklch(0.145 0 0);
172
+ --primary: oklch(0.205 0 0);
173
+ --primary-foreground: oklch(0.985 0 0);
174
+ --secondary: oklch(0.97 0 0);
175
+ --secondary-foreground: oklch(0.205 0 0);
176
+ --muted: oklch(0.97 0 0);
177
+ --muted-foreground: oklch(0.556 0 0);
178
+ --accent: oklch(0.97 0 0);
179
+ --accent-foreground: oklch(0.205 0 0);
180
+ --destructive: oklch(0.577 0.245 27.325);
181
+ --destructive-foreground: oklch(0.577 0.245 27.325);
182
+ --border: oklch(0.922 0 0);
183
+ --input: oklch(0.922 0 0);
184
+ --ring: oklch(0.708 0 0);
185
+ --chart-1: oklch(0.646 0.222 41.116);
186
+ --chart-2: oklch(0.6 0.118 184.704);
187
+ --chart-3: oklch(0.398 0.07 227.392);
188
+ --chart-4: oklch(0.828 0.189 84.429);
189
+ --chart-5: oklch(0.769 0.188 70.08);
190
+ --radius: 0.625rem;
191
+ --sidebar: oklch(0.985 0 0);
192
+ --sidebar-foreground: oklch(0.145 0 0);
193
+ --sidebar-primary: oklch(0.205 0 0);
194
+ --sidebar-primary-foreground: oklch(0.985 0 0);
195
+ --sidebar-accent: oklch(0.97 0 0);
196
+ --sidebar-accent-foreground: oklch(0.205 0 0);
197
+ --sidebar-border: oklch(0.922 0 0);
198
+ --sidebar-ring: oklch(0.708 0 0);
199
+ --neutral-350: #b4b4b4;
200
+ }
201
+
202
+ .dark {
203
+ --background: oklch(0.145 0 0);
204
+ --foreground: oklch(0.985 0 0);
205
+ --card: oklch(0.145 0 0);
206
+ --card-foreground: oklch(0.985 0 0);
207
+ --popover: oklch(0.145 0 0);
208
+ --popover-foreground: oklch(0.985 0 0);
209
+ --primary: oklch(0.985 0 0);
210
+ --primary-foreground: oklch(0.205 0 0);
211
+ --secondary: oklch(0.269 0 0);
212
+ --secondary-foreground: oklch(0.985 0 0);
213
+ --muted: oklch(0.269 0 0);
214
+ --muted-foreground: oklch(0.708 0 0);
215
+ --accent: oklch(0.269 0 0);
216
+ --accent-foreground: oklch(0.985 0 0);
217
+ --destructive: oklch(0.396 0.141 25.723);
218
+ --destructive-foreground: oklch(0.637 0.237 25.331);
219
+ --border: oklch(0.269 0 0);
220
+ --input: oklch(0.269 0 0);
221
+ --ring: oklch(0.439 0 0);
222
+ --chart-1: oklch(0.488 0.243 264.376);
223
+ --chart-2: oklch(0.696 0.17 162.48);
224
+ --chart-3: oklch(0.769 0.188 70.08);
225
+ --chart-4: oklch(0.627 0.265 303.9);
226
+ --chart-5: oklch(0.645 0.246 16.439);
227
+ --sidebar: oklch(0.205 0 0);
228
+ --sidebar-foreground: oklch(0.985 0 0);
229
+ --sidebar-primary: oklch(0.488 0.243 264.376);
230
+ --sidebar-primary-foreground: oklch(0.985 0 0);
231
+ --sidebar-accent: oklch(0.269 0 0);
232
+ --sidebar-accent-foreground: oklch(0.985 0 0);
233
+ --sidebar-border: oklch(0.269 0 0);
234
+ --sidebar-ring: oklch(0.439 0 0);
235
+ }
236
+
237
+ @theme inline {
238
+ --color-background: var(--background);
239
+ --color-foreground: var(--foreground);
240
+ --color-card: var(--card);
241
+ --color-card-foreground: var(--card-foreground);
242
+ --color-popover: var(--popover);
243
+ --color-popover-foreground: var(--popover-foreground);
244
+ --color-primary: var(--primary);
245
+ --color-primary-foreground: var(--primary-foreground);
246
+ --color-secondary: var(--secondary);
247
+ --color-secondary-foreground: var(--secondary-foreground);
248
+ --color-muted: var(--muted);
249
+ --color-muted-foreground: var(--muted-foreground);
250
+ --color-accent: var(--accent);
251
+ --color-accent-foreground: var(--accent-foreground);
252
+ --color-destructive: var(--destructive);
253
+ --color-destructive-foreground: var(--destructive-foreground);
254
+ --color-border: var(--border);
255
+ --color-input: var(--input);
256
+ --color-ring: var(--ring);
257
+ --color-chart-1: var(--chart-1);
258
+ --color-chart-2: var(--chart-2);
259
+ --color-chart-3: var(--chart-3);
260
+ --color-chart-4: var(--chart-4);
261
+ --color-chart-5: var(--chart-5);
262
+ --radius-sm: calc(var(--radius) - 4px);
263
+ --radius-md: calc(var(--radius) - 2px);
264
+ --radius-lg: var(--radius);
265
+ --radius-xl: calc(var(--radius) + 4px);
266
+ --color-sidebar: var(--sidebar);
267
+ --color-sidebar-foreground: var(--sidebar-foreground);
268
+ --color-sidebar-primary: var(--sidebar-primary);
269
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
270
+ --color-sidebar-accent: var(--sidebar-accent);
271
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
272
+ --color-sidebar-border: var(--sidebar-border);
273
+ --color-sidebar-ring: var(--sidebar-ring);
274
+ }
275
+
276
+ @layer utilities {
277
+ .scrollbar-hide {
278
+ -ms-overflow-style: none !important;
279
+ scrollbar-width: none !important;
280
+ }
281
+ .scrollbar-hide::-webkit-scrollbar {
282
+ display: none !important;
283
+ width: 0 !important;
284
+ height: 0 !important;
285
+ }
286
+ }
287
+
288
+ @layer base {
289
+ * {
290
+ @apply border-border outline-ring/50;
291
+ }
292
+ body {
293
+ @apply bg-background text-foreground;
294
+ }
295
+ button {
296
+ cursor: pointer;
297
+ }
298
+ }
299
+
300
+ @layer alpaca-editor {
301
+ .bg-shape-black {
302
+ background-color: black;
303
+ background-image: url("./images/bg-shape-black.webp");
304
+ background-position: right;
305
+ background-repeat: no-repeat;
306
+ }
307
+
308
+ .bg-wizard {
309
+ background-image: url("./images/wizard-bg.png");
310
+ background-position: right;
311
+ background-size: cover;
312
+ background-repeat: no-repeat;
313
+ opacity: 0.2;
314
+ }
315
+
316
+ .bg-parhelia-logo {
317
+ background-color: transparent;
318
+ background-image: url("./images/phlogo.png");
319
+ background-position: center;
320
+ background-size: contain;
321
+ background-repeat: no-repeat;
322
+ }
323
+
324
+ .parhelia-spin {
325
+ animation: parhelia-spin 60s linear infinite;
326
+ }
327
+
328
+ @keyframes parhelia-spin {
329
+ from {
330
+ transform: rotate(0deg);
331
+ }
332
+ to {
333
+ transform: rotate(-360deg);
334
+ }
335
+ }
336
+
337
+ .alpaca-no-border {
338
+ border: none !important;
339
+ }
340
+
341
+ .alpaca-overflow-scroll {
342
+ overflow: auto;
343
+ }
344
+
345
+ .alpaca-minor-label {
346
+ display: block;
347
+ font-size: 12px;
348
+ font-weight: bold;
349
+ }
350
+
351
+ .p-tabview-panels {
352
+ padding: 0;
353
+ flex: 1;
354
+ border-radius: 0;
355
+ }
356
+
357
+ .alpaca-editor-tabs div.p-tabview-panels {
358
+ overflow: auto;
359
+ height: calc(100% - 34px);
360
+ }
361
+
362
+ .p-splitter {
363
+ border: 0;
364
+ border-radius: 0;
365
+ }
366
+
367
+ /* placeholder code */
368
+ [contentEditable="true"]:empty:before {
369
+ content: attr(placeholder);
370
+ opacity: 0.6;
371
+ }
372
+
373
+ [contenteditable] {
374
+ outline: 0px solid transparent;
375
+ }
376
+
377
+ .p-tree {
378
+ background-color: unset;
379
+ padding: 0;
380
+ }
381
+
382
+ .p-treenode-content {
383
+ padding: 0;
384
+ }
385
+
386
+ .p-treenode {
387
+ padding: 1px;
388
+ font-size: 12px;
389
+ }
390
+
391
+ div.p-tree .p-treenode-droppoint {
392
+ height: 3px;
393
+ }
394
+
395
+ .placeholder > div {
396
+ opacity: 1;
397
+ transition: 0.3s;
398
+ }
399
+
400
+ .placeholder.hidden > div {
401
+ opacity: 0;
402
+ }
403
+
404
+ .placeholder.hidden {
405
+ height: 0;
406
+ width: 0;
407
+ padding: 0;
408
+ opacity: 0;
409
+ visibility: hidden;
410
+ transition: none;
411
+ }
412
+
413
+ .editframe.removed {
414
+ transition: all 0.7s;
415
+ opacity: 0;
416
+ }
417
+
418
+ .p-dropdown {
419
+ border-color: #ddd;
420
+ }
421
+
422
+ .p-dropdown-trigger {
423
+ color: #ddd;
424
+ }
425
+
426
+ .p-dropdown-label.p-inputtext {
427
+ padding: 5px;
428
+ font-size: 12px;
429
+ }
430
+
431
+ .p-dropdown-item {
432
+ font-size: 12px;
433
+ padding: 8px;
434
+ }
435
+
436
+ .p-inputtext:not(.p-dropdown-label) {
437
+ padding: 5px;
438
+ border: 1px solid #ddd;
439
+ }
440
+
441
+ input,
442
+ select,
443
+ textarea {
444
+ border-width: 1px;
445
+ }
446
+
447
+ div.p-tabview .p-tabview-nav li .p-tabview-nav-link {
448
+ padding: 16px 32px;
449
+ }
450
+
451
+ .p-highlight .p-tabview-nav-link {
452
+ color: black;
453
+ border-color: black;
454
+ }
455
+
456
+ .p-tabview-nav-link:focus {
457
+ background-color: unset;
458
+ }
459
+
460
+ .p-sidebar-header.p-sidebar-custom-header {
461
+ justify-content: space-between;
462
+ font-weight: bold;
463
+ font-size: 18px;
464
+ }
465
+
466
+ .inserting-placeholder {
467
+ min-width: 50px;
468
+ }
469
+
470
+ .editframe:has(.placeholder-dropzone) {
471
+ min-height: 60px;
472
+ }
473
+
474
+ .p-dialog-header {
475
+ background-color: #363a40;
476
+ padding: 8px;
477
+ color: white;
478
+ }
479
+ .p-dialog-header-close-icon {
480
+ color: white;
481
+ }
482
+
483
+ .p-dialog-content {
484
+ padding: 0;
485
+ }
486
+
487
+ .p-dialog .p-dialog-header .p-dialog-title {
488
+ font-size: 1rem;
489
+ }
490
+
491
+ .p-dialog-content:has(.p-confirm-dialog-message) {
492
+ padding-top: 18px;
493
+ }
494
+
495
+ .p-tree-toggler {
496
+ height: 22px;
497
+ width: 22px;
498
+ padding: 4px;
499
+ margin-right: 5px;
500
+ }
501
+
502
+ .p-blockui-container {
503
+ overflow: hidden;
504
+ }
505
+
506
+ .h-fill-available {
507
+ height: -moz-available;
508
+ height: -webkit-fill-available;
509
+ }
510
+
511
+ .p-listbox-item {
512
+ padding: 4px;
513
+ font-size: 12px;
514
+ }
515
+
516
+ .p-treenode-content:has(> .selected-secondary) {
517
+ background: #f5f5f5;
518
+ }
519
+
520
+ .p-menubar-root-list {
521
+ flex-wrap: nowrap;
522
+ }
523
+
524
+ .p-menuitem-link {
525
+ padding: 0.5rem;
526
+ }
527
+
528
+ .p-menuitem-text {
529
+ font-size: 13px;
530
+ }
531
+
532
+ .p-tabview-title {
533
+ font-size: 12px;
534
+ }
535
+
536
+ .__json-pretty__ {
537
+ overflow: visible;
538
+ }
539
+
540
+ .mce-selected:has(.selected) .editframe:not(.selected) {
541
+ display: none;
542
+ }
543
+
544
+ .mce-selected .editframe.selected {
545
+ display: block;
546
+ }
547
+ .mce-selected:not(:has(.editframe.selected)) .editframe:nth-child(2) {
548
+ display: block;
549
+ }
550
+
551
+ .mce-items {
552
+ background: #f0f0f0;
553
+ }
554
+
555
+ .mce-items .editframe-menu {
556
+ display: none;
557
+ }
558
+
559
+ .mce-items .editframe {
560
+ cursor: pointer;
561
+ width: var(--mce-thumb-width, 150);
562
+ height: var(--mce-thumb-height, 150);
563
+ position: relative;
564
+ }
565
+
566
+ .mce-items .placeholder {
567
+ position: relative;
568
+ width: 200px;
569
+ zoom: 0.6;
570
+ }
571
+
572
+ .mce-items .editframe > * {
573
+ position: absolute;
574
+ inset: 0;
575
+ justify-content: center;
576
+ zoom: var(--mce-thumb-zoom, 0.2);
577
+ pointer-events: none;
578
+ }
579
+
580
+ .mce:not(:has(.editframe.selected)) .mce-items {
581
+ display: none;
582
+ }
583
+
584
+ div.mce > .mce-items:has(.inserting-placeholder),
585
+ .editframe.selected > .mce .mce-items {
586
+ display: flex;
587
+ }
588
+
589
+ .workbox .p-datatable .p-datatable-tbody > tr > td {
590
+ padding: 6px 4px;
591
+ }
592
+
593
+ .focused-field .focus-shadow {
594
+ box-shadow: 0 0 7px 0 #9650fb;
595
+ transition: box-shadow 0.5s ease-in-out;
596
+ }
597
+
598
+ .executing-action .focus-shadow,
599
+ .executing-action.focus-shadow {
600
+ animation: shadow-pulse 2s infinite;
601
+ box-shadow: 0 0 7px 0 #9650fb;
602
+ }
603
+ .saved .focus-shadow,
604
+ .saved.focus-shadow {
605
+ box-shadow: 0 0 7px 0 #8ae048;
606
+ transition: box-shadow 0.5s ease-in-out;
607
+ }
608
+
609
+ .focused-field.readonly .focus-shadow,
610
+ .focused-field.readonly.focus-shadow {
611
+ box-shadow: 0 0 7px 0 #a0a0a0;
612
+ transition: box-shadow 0.5s ease-in-out;
613
+ }
614
+
615
+ .saving .focus-shadow,
616
+ .saving.focus-shadow {
617
+ box-shadow: 0 0 7px 0 #ffc310;
618
+ transition: box-shadow 0.5s ease-in-out;
619
+ }
620
+
621
+ .edited-field.saving.focus-shadow {
622
+ animation: shadow-pulse 2s infinite;
623
+ box-shadow: 0 0 17px 0 #9650fb;
624
+ }
625
+
626
+ .edited-field.saved.focus-shadow {
627
+ animation: purple-to-green-fade 5s forwards;
628
+ }
629
+
630
+ .edited-field.focus-shadow {
631
+ border-radius: 10px;
632
+ }
633
+
634
+ @keyframes purple-to-green-fade {
635
+ 0% {
636
+ box-shadow: 0 0 17px 0 #9650fb;
637
+ }
638
+ 20% {
639
+ box-shadow: 0 0 17px 0 #9650fb;
640
+ }
641
+ 40% {
642
+ box-shadow: 0 0 17px 0 #8ae048;
643
+ }
644
+ 100% {
645
+ box-shadow: none;
646
+ }
647
+ }
648
+
649
+ @keyframes shadow-pulse {
650
+ 0% {
651
+ box-shadow: 0 0 0 0 rgba(72, 171, 224, 0.4);
652
+ }
653
+ 70% {
654
+ box-shadow: 0 0 0 10px rgba(72, 171, 224, 0);
655
+ }
656
+ 100% {
657
+ box-shadow: 0 0 0 0 rgba(72, 171, 224, 0);
658
+ }
659
+ }
660
+
661
+ .p-tooltip-text {
662
+ padding: 5px;
663
+ font-size: 12px;
664
+ }
665
+
666
+ .p-overlaypanel .p-overlaypanel-content {
667
+ padding: 0;
668
+ }
669
+ .p-datatable .p-datatable-tbody > tr > td,
670
+ .p-datatable .p-datatable-thead > tr > th {
671
+ padding: 7px;
672
+ }
673
+
674
+ .alpaca-editor-container::-webkit-scrollbar {
675
+ width: 2px;
676
+ }
677
+
678
+ .alpaca-editor-container::-webkit-scrollbar-track {
679
+ background: white;
680
+ }
681
+
682
+ .alpaca-editor-container::-webkit-scrollbar-thumb {
683
+ background-color: gray;
684
+ border: none;
685
+ }
686
+
687
+ .p-tabview-nav > li,
688
+ .p-tabview-title,
689
+ .p-tabview-nav-link {
690
+ min-width: auto;
691
+ }
692
+ .p-tabview-nav {
693
+ justify-content: center;
694
+ }
695
+ .p-tabview .p-tabview-nav li .p-tabview-nav-link,
696
+ .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link,
697
+ .p-tabview
698
+ .p-tabview-nav
699
+ li:not(.p-highlight):not(.p-disabled):hover
700
+ .p-tabview-nav-link,
701
+ .p-tabview .p-tabview-nav {
702
+ background: unset;
703
+ }
704
+
705
+ .p-button.p-component {
706
+ font-size: 14px;
707
+ background: white;
708
+ color: #333;
709
+ border: 1px solid #ddd;
710
+ border-radius: 12px;
711
+ padding: 6px 12px;
712
+ }
713
+ .p-button.p-component:hover {
714
+ background: #f0f0f0;
715
+ }
716
+
717
+ .p-button.p-component.p-button-secondary {
718
+ background: white;
719
+ color: blue;
720
+ border: none;
721
+ }
722
+
723
+ .p-component {
724
+ font-family: unset;
725
+ }
726
+
727
+ .p-disabled {
728
+ background-color: white !important;
729
+ }
730
+
731
+ .p-inputnumber-input {
732
+ font-size: 12px;
733
+ }
734
+
735
+ .p-contextmenu {
736
+ width: 9rem;
737
+ }
738
+
739
+ @property --a {
740
+ syntax: "<angle>";
741
+ inherits: false;
742
+ initial-value: 0deg;
743
+ }
744
+
745
+ .glow-text svg {
746
+ transition: scale 0.5s ease-in-out;
747
+ }
748
+
749
+ .glow-text:hover svg {
750
+ scale: 1.15;
751
+ transition: scale 0.5s ease-in-out;
752
+ }
753
+
754
+ .glow-text::after {
755
+ --a: 180deg;
756
+ content: "";
757
+
758
+ position: absolute;
759
+ left: 0px;
760
+ top: 12px;
761
+
762
+ height: 100%;
763
+ width: 80px;
764
+
765
+ background: linear-gradient(
766
+ var(--a),
767
+ aqua 12.9254386713%,
768
+ blue 37.9254386713%
769
+ );
770
+ transform: translateY(-50%);
771
+ mask: radial-gradient(circle at 22% 50%, black 0%, transparent 20%);
772
+ animation: glowAnimation 10s infinite;
773
+ }
774
+
775
+ @keyframes glowAnimation {
776
+ 0% {
777
+ opacity: 0.6;
778
+ filter: blur(5px);
779
+ --a: 0deg;
780
+ }
781
+ 50% {
782
+ opacity: 0.9;
783
+ filter: blur(10px);
784
+ --a: 180deg;
785
+ }
786
+ 100% {
787
+ opacity: 0.6;
788
+ filter: blur(5px);
789
+ --a: 360deg;
790
+ }
791
+ }
792
+ }
793
+
794
+ .ql-container.ql-snow {
795
+ border: none;
796
+ height: 150px;
797
+ overflow: auto;
798
+ resize: vertical;
799
+ }
800
+
801
+ .p-checkbox-box {
802
+ width: 15px;
803
+ height: 15px;
804
+ }
805
+
806
+ /* Animation utilities for popover and other UI components */
807
+ @keyframes fade-in {
808
+ from {
809
+ opacity: 0;
810
+ }
811
+ to {
812
+ opacity: 1;
813
+ }
814
+ }
815
+
816
+ @keyframes fade-out {
817
+ from {
818
+ opacity: 1;
819
+ }
820
+ to {
821
+ opacity: 0;
822
+ }
823
+ }
824
+
825
+ @keyframes zoom-in {
826
+ from {
827
+ opacity: 0;
828
+ transform: scale(0.95);
829
+ }
830
+ to {
831
+ opacity: 1;
832
+ transform: scale(1);
833
+ }
834
+ }
835
+
836
+ @keyframes zoom-out {
837
+ from {
838
+ opacity: 1;
839
+ transform: scale(1);
840
+ }
841
+ to {
842
+ opacity: 0;
843
+ transform: scale(0.95);
844
+ }
845
+ }
846
+
847
+ @keyframes slide-in-from-top {
848
+ from {
849
+ transform: translateY(-2px);
850
+ }
851
+ to {
852
+ transform: translateY(0);
853
+ }
854
+ }
855
+
856
+ @keyframes slide-in-from-bottom {
857
+ from {
858
+ transform: translateY(2px);
859
+ }
860
+ to {
861
+ transform: translateY(0);
862
+ }
863
+ }
864
+
865
+ @keyframes slide-in-from-left {
866
+ from {
867
+ transform: translateX(-2px);
868
+ }
869
+ to {
870
+ transform: translateX(0);
871
+ }
872
+ }
873
+
874
+ @keyframes slide-in-from-right {
875
+ from {
876
+ transform: translateX(2px);
877
+ }
878
+ to {
879
+ transform: translateX(0);
880
+ }
881
+ }
882
+
883
+ /* Animation utility classes */
884
+ .animate-in {
885
+ animation-duration: 150ms;
886
+ animation-fill-mode: both;
887
+ }
888
+
889
+ .animate-out {
890
+ animation-duration: 150ms;
891
+ animation-fill-mode: both;
892
+ }
893
+
894
+ .fade-in-0 {
895
+ animation-name: fade-in;
896
+ }
897
+
898
+ .fade-out-0 {
899
+ animation-name: fade-out;
900
+ }
901
+
902
+ .zoom-in-95 {
903
+ animation-name: zoom-in;
904
+ }
905
+
906
+ .zoom-out-95 {
907
+ animation-name: zoom-out;
908
+ }
909
+
910
+ .slide-in-from-top-2 {
911
+ animation-name: slide-in-from-top;
912
+ }
913
+
914
+ .slide-in-from-bottom-2 {
915
+ animation-name: slide-in-from-bottom;
916
+ }
917
+
918
+ .slide-in-from-left-2 {
919
+ animation-name: slide-in-from-left;
920
+ }
921
+
922
+ .slide-in-from-right-2 {
923
+ animation-name: slide-in-from-right;
924
+ }
925
+
926
+ /* Data attribute selectors for state-based animations */
927
+ [data-state="open"].animate-in {
928
+ animation-duration: 150ms;
929
+ animation-fill-mode: both;
930
+ }
931
+
932
+ [data-state="closed"].animate-out {
933
+ animation-duration: 150ms;
934
+ animation-fill-mode: both;
935
+ }
936
+
937
+ [data-state="open"].fade-in-0 {
938
+ animation-name: fade-in;
939
+ }
940
+
941
+ [data-state="closed"].fade-out-0 {
942
+ animation-name: fade-out;
943
+ }
944
+
945
+ [data-state="open"].zoom-in-95 {
946
+ animation-name: zoom-in;
947
+ }
948
+
949
+ [data-state="closed"].zoom-out-95 {
950
+ animation-name: zoom-out;
951
+ }
952
+
953
+ [data-side="top"].slide-in-from-bottom-2 {
954
+ animation-name: slide-in-from-bottom;
955
+ }
956
+
957
+ [data-side="bottom"].slide-in-from-top-2 {
958
+ animation-name: slide-in-from-top;
959
+ }
960
+
961
+ [data-side="left"].slide-in-from-right-2 {
962
+ animation-name: slide-in-from-right;
963
+ }
964
+
965
+ [data-side="right"].slide-in-from-left-2 {
966
+ animation-name: slide-in-from-left;
967
+ }
968
+
969
+ /* ViewTransition animations for Parhelia Assistant Chat */
970
+ ::view-transition-old(.slide-fade-in) {
971
+ animation: 200ms cubic-bezier(0.4, 0, 0.2, 1) both fade-out;
972
+ }
973
+
974
+ ::view-transition-new(.slide-fade-in) {
975
+ animation: 400ms cubic-bezier(0.4, 0, 0.2, 1) both slide-fade-in-animation;
976
+ }
977
+
978
+ @keyframes slide-fade-in-animation {
979
+ from {
980
+ opacity: 0;
981
+ transform: translateY(20px);
982
+ }
983
+ to {
984
+ opacity: 1;
985
+ transform: translateY(0);
986
+ }
987
+ }
988
+
989
+ /* ViewTransition animations for Setup Loading Screen */
990
+ /* The browser automatically animates position when both elements share viewTransitionName */
991
+ /* These animations enhance the transition with opacity and scale effects */
992
+ ::view-transition-old(parhelia-logo) {
993
+ animation: 500ms cubic-bezier(0.4, 0, 0.2, 1) both logo-fade-out;
994
+ }
995
+
996
+ ::view-transition-new(parhelia-logo) {
997
+ animation: 600ms cubic-bezier(0.4, 0, 0.2, 1) both logo-fade-in;
998
+ /* Position is automatically animated by the browser */
999
+ }
1000
+
1001
+ @keyframes logo-fade-out {
1002
+ from {
1003
+ opacity: 1;
1004
+ transform: scale(1);
1005
+ }
1006
+ to {
1007
+ opacity: 0;
1008
+ transform: scale(0.95);
1009
+ }
1010
+ }
1011
+
1012
+ @keyframes logo-fade-in {
1013
+ from {
1014
+ opacity: 0;
1015
+ transform: scale(1.05);
1016
+ }
1017
+ to {
1018
+ opacity: 1;
1019
+ transform: scale(1);
1020
+ }
1021
+ }
1022
+
1023
+ /* Agent Profile Description Animation */
1024
+ .agent-profile-description {
1025
+ display: -webkit-box;
1026
+ -webkit-line-clamp: 2;
1027
+ line-clamp: 2;
1028
+ -webkit-box-orient: vertical;
1029
+ overflow: hidden;
1030
+ /* text-[11px] with leading-relaxed (1.625) = 11px * 1.625 * 2 lines = 35.75px, add small buffer */
1031
+ max-height: 38px;
1032
+ transition-property: max-height, color;
1033
+ transition-duration: 0.2s, 0.3s;
1034
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1), ease-in-out;
1035
+ transition-delay: 0s, 0s;
1036
+ }
1037
+
1038
+ .group:hover .agent-profile-description {
1039
+ -webkit-line-clamp: unset;
1040
+ line-clamp: unset;
1041
+ max-height: 500px;
1042
+ transition-property: max-height, color;
1043
+ transition-duration: 0.8s, 0.3s;
1044
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1), ease-in-out;
1045
+ transition-delay: 0.8s, 0s;
1046
+ }