@cccarv82/freya 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/web-ui.css +540 -169
- package/cli/web-ui.js +145 -10
- package/cli/web.js +12 -10
- package/package.json +1 -1
package/cli/web-ui.css
CHANGED
|
@@ -6,54 +6,69 @@
|
|
|
6
6
|
:root {
|
|
7
7
|
--radius: 16px;
|
|
8
8
|
--radius2: 12px;
|
|
9
|
-
--
|
|
10
|
-
--
|
|
11
|
-
--
|
|
12
|
-
--
|
|
13
|
-
--
|
|
14
|
-
--glass-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
--
|
|
19
|
-
--
|
|
20
|
-
--
|
|
21
|
-
--
|
|
22
|
-
--
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
|
|
26
|
-
--
|
|
27
|
-
|
|
28
|
-
--
|
|
29
|
-
--
|
|
9
|
+
--radius3: 8px;
|
|
10
|
+
--shadow: 0 4px 24px rgba(0, 0, 0, .06);
|
|
11
|
+
--shadow2: 0 2px 12px rgba(0, 0, 0, .04);
|
|
12
|
+
--shadow-hover: 0 8px 32px rgba(0, 0, 0, .08);
|
|
13
|
+
--ring: 0 0 0 3px rgba(99, 102, 241, .16);
|
|
14
|
+
--glass-bg: rgba(255, 255, 255, 0.85);
|
|
15
|
+
--glass-border: rgba(0, 0, 0, .06);
|
|
16
|
+
|
|
17
|
+
/* Pastel light palette */
|
|
18
|
+
--bg: #f8f8fc;
|
|
19
|
+
--bg2: #f0f0f6;
|
|
20
|
+
--paper: #ffffff;
|
|
21
|
+
--paper2: #fafafc;
|
|
22
|
+
--line: rgba(0, 0, 0, .06);
|
|
23
|
+
--line2: rgba(0, 0, 0, .10);
|
|
24
|
+
--text: #1a1a2e;
|
|
25
|
+
--muted: #64648c;
|
|
26
|
+
--faint: #9898b0;
|
|
27
|
+
|
|
28
|
+
--accent: #e8856c;
|
|
29
|
+
--primary: #6366f1;
|
|
30
|
+
--chip: rgba(99, 102, 241, .08);
|
|
31
|
+
--chip2: rgba(232, 133, 108, .10);
|
|
32
|
+
|
|
33
|
+
/* Pastel semantic colors */
|
|
34
|
+
--pastel-green: #a8d8b9;
|
|
35
|
+
--pastel-blue: #a5b4fc;
|
|
36
|
+
--pastel-coral: #f0b4a8;
|
|
37
|
+
--pastel-gold: #f0d98c;
|
|
38
|
+
--pastel-lavender: #c4b5fd;
|
|
39
|
+
--pastel-mint: #86efac;
|
|
40
|
+
--pastel-rose: #fda4af;
|
|
41
|
+
--pastel-sky: #7dd3fc;
|
|
30
42
|
|
|
31
43
|
--mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
32
44
|
--sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
33
45
|
--display: 'Outfit', var(--sans);
|
|
34
46
|
|
|
35
47
|
--transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
48
|
+
--bounce: cubic-bezier(0.16, 1, 0.3, 1);
|
|
36
49
|
}
|
|
37
50
|
|
|
38
51
|
[data-theme="dark"] {
|
|
39
|
-
--bg: #
|
|
40
|
-
--
|
|
41
|
-
--
|
|
52
|
+
--bg: #111118;
|
|
53
|
+
--bg2: #18182a;
|
|
54
|
+
--paper: #1e1e2e;
|
|
55
|
+
--paper2: #252538;
|
|
42
56
|
--line: rgba(255, 255, 255, .06);
|
|
43
|
-
--line2: rgba(255, 255, 255, .
|
|
44
|
-
--text: #
|
|
45
|
-
--muted:
|
|
46
|
-
--faint:
|
|
47
|
-
--chip: rgba(
|
|
48
|
-
--chip2: rgba(
|
|
49
|
-
--accent: #
|
|
50
|
-
--primary: #
|
|
51
|
-
|
|
52
|
-
--glass-bg: rgba(
|
|
53
|
-
--glass-border: rgba(255, 255, 255,
|
|
54
|
-
--shadow: 0
|
|
55
|
-
--shadow2: 0
|
|
56
|
-
--shadow-hover: 0
|
|
57
|
+
--line2: rgba(255, 255, 255, .10);
|
|
58
|
+
--text: #e8e8f0;
|
|
59
|
+
--muted: #a0a0bc;
|
|
60
|
+
--faint: #6e6e88;
|
|
61
|
+
--chip: rgba(129, 140, 248, .15);
|
|
62
|
+
--chip2: rgba(251, 146, 122, .12);
|
|
63
|
+
--accent: #fb9a82;
|
|
64
|
+
--primary: #818cf8;
|
|
65
|
+
|
|
66
|
+
--glass-bg: rgba(30, 30, 46, 0.85);
|
|
67
|
+
--glass-border: rgba(255, 255, 255, .06);
|
|
68
|
+
--shadow: 0 4px 24px rgba(0, 0, 0, .35);
|
|
69
|
+
--shadow2: 0 2px 12px rgba(0, 0, 0, .25);
|
|
70
|
+
--shadow-hover: 0 8px 32px rgba(0, 0, 0, .4);
|
|
71
|
+
--bounce: cubic-bezier(0.16, 1, 0.3, 1);
|
|
57
72
|
}
|
|
58
73
|
|
|
59
74
|
* {
|
|
@@ -112,7 +127,7 @@ body {
|
|
|
112
127
|
}
|
|
113
128
|
|
|
114
129
|
[data-theme="dark"] body {
|
|
115
|
-
background: radial-gradient(800px 360px at 65% 10%, rgba(
|
|
130
|
+
background: radial-gradient(800px 360px at 65% 10%, rgba(99, 102, 241, .06), transparent 55%), var(--bg);
|
|
116
131
|
}
|
|
117
132
|
|
|
118
133
|
.app {
|
|
@@ -145,16 +160,6 @@ body {
|
|
|
145
160
|
}
|
|
146
161
|
}
|
|
147
162
|
|
|
148
|
-
@media (max-width: 860px) {
|
|
149
|
-
.shell {
|
|
150
|
-
grid-template-columns: 1fr;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
.rail {
|
|
154
|
-
display: none;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
163
|
/* LEFT RAIL */
|
|
159
164
|
.rail {
|
|
160
165
|
background: var(--paper);
|
|
@@ -162,8 +167,18 @@ body {
|
|
|
162
167
|
display: flex;
|
|
163
168
|
flex-direction: column;
|
|
164
169
|
align-items: center;
|
|
165
|
-
padding:
|
|
166
|
-
gap:
|
|
170
|
+
padding: 18px 10px;
|
|
171
|
+
gap: 6px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
@media (max-width: 860px) {
|
|
175
|
+
.shell {
|
|
176
|
+
grid-template-columns: 1fr;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.rail {
|
|
180
|
+
display: none !important;
|
|
181
|
+
}
|
|
167
182
|
}
|
|
168
183
|
|
|
169
184
|
.railTop {
|
|
@@ -177,13 +192,14 @@ body {
|
|
|
177
192
|
width: 38px;
|
|
178
193
|
height: 38px;
|
|
179
194
|
border-radius: 14px;
|
|
180
|
-
background:
|
|
181
|
-
color:
|
|
195
|
+
background: var(--primary);
|
|
196
|
+
color: #fff;
|
|
182
197
|
display: grid;
|
|
183
198
|
place-items: center;
|
|
184
199
|
font-weight: 700;
|
|
185
200
|
font-size: 14px;
|
|
186
|
-
border:
|
|
201
|
+
border: none;
|
|
202
|
+
box-shadow: 0 2px 8px rgba(99, 102, 241, .25);
|
|
187
203
|
}
|
|
188
204
|
|
|
189
205
|
.railNav {
|
|
@@ -209,15 +225,19 @@ body {
|
|
|
209
225
|
}
|
|
210
226
|
|
|
211
227
|
.railBtn.active {
|
|
212
|
-
background: var(--
|
|
213
|
-
border-color:
|
|
228
|
+
background: var(--chip);
|
|
229
|
+
border-color: transparent;
|
|
214
230
|
color: var(--primary);
|
|
215
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
|
|
216
231
|
}
|
|
217
232
|
|
|
218
233
|
.railBtn:hover:not(.active) {
|
|
219
|
-
background:
|
|
234
|
+
background: var(--bg2);
|
|
220
235
|
color: var(--text);
|
|
236
|
+
transform: scale(1.06);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.railBtn:active {
|
|
240
|
+
transform: scale(0.92);
|
|
221
241
|
}
|
|
222
242
|
|
|
223
243
|
[data-theme="dark"] .railBtn:hover:not(.active) {
|
|
@@ -344,7 +364,7 @@ body {
|
|
|
344
364
|
border-radius: 8px;
|
|
345
365
|
display: grid;
|
|
346
366
|
place-items: center;
|
|
347
|
-
background: rgba(
|
|
367
|
+
background: rgba(99, 102, 241, .10);
|
|
348
368
|
border: 1px solid var(--line);
|
|
349
369
|
color: var(--primary);
|
|
350
370
|
font-weight: 800;
|
|
@@ -403,9 +423,9 @@ body {
|
|
|
403
423
|
.spark {
|
|
404
424
|
width: 10px;
|
|
405
425
|
height: 10px;
|
|
406
|
-
border-radius:
|
|
407
|
-
background: linear-gradient(135deg, var(--
|
|
408
|
-
box-shadow: 0 0 0
|
|
426
|
+
border-radius: 50%;
|
|
427
|
+
background: linear-gradient(135deg, var(--pastel-lavender), var(--primary));
|
|
428
|
+
box-shadow: 0 0 0 5px rgba(99, 102, 241, .10);
|
|
409
429
|
}
|
|
410
430
|
|
|
411
431
|
.chip {
|
|
@@ -430,8 +450,9 @@ body {
|
|
|
430
450
|
.chip.clickable:hover {
|
|
431
451
|
background: var(--primary);
|
|
432
452
|
color: white;
|
|
453
|
+
border-color: var(--primary);
|
|
433
454
|
transform: translateY(-1px);
|
|
434
|
-
box-shadow: 0 4px 12px rgba(
|
|
455
|
+
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2);
|
|
435
456
|
}
|
|
436
457
|
|
|
437
458
|
/* Documentation Styles */
|
|
@@ -524,9 +545,9 @@ body {
|
|
|
524
545
|
font-size: 12px;
|
|
525
546
|
padding: 7px 10px;
|
|
526
547
|
border-radius: 999px;
|
|
527
|
-
border: 1px solid var(--
|
|
528
|
-
background:
|
|
529
|
-
color: var(--
|
|
548
|
+
border: 1px solid var(--line2);
|
|
549
|
+
background: var(--bg2);
|
|
550
|
+
color: var(--muted);
|
|
530
551
|
}
|
|
531
552
|
|
|
532
553
|
.pill {
|
|
@@ -613,9 +634,7 @@ body {
|
|
|
613
634
|
.promptBar {
|
|
614
635
|
width: 100%;
|
|
615
636
|
background: var(--paper);
|
|
616
|
-
|
|
617
|
-
-webkit-backdrop-filter: blur(16px);
|
|
618
|
-
border: 1px solid var(--glass-border);
|
|
637
|
+
border: 1px solid var(--line2);
|
|
619
638
|
border-radius: var(--radius);
|
|
620
639
|
padding: 16px;
|
|
621
640
|
display: flex;
|
|
@@ -627,7 +646,7 @@ body {
|
|
|
627
646
|
|
|
628
647
|
.promptBar:focus-within {
|
|
629
648
|
box-shadow: var(--shadow-hover);
|
|
630
|
-
border-color: var(--
|
|
649
|
+
border-color: var(--primary);
|
|
631
650
|
}
|
|
632
651
|
|
|
633
652
|
.promptMeta {
|
|
@@ -768,9 +787,9 @@ body {
|
|
|
768
787
|
}
|
|
769
788
|
|
|
770
789
|
.miniCard:hover {
|
|
771
|
-
background:
|
|
772
|
-
border-color: rgba(
|
|
773
|
-
box-shadow:
|
|
790
|
+
background: var(--paper);
|
|
791
|
+
border-color: rgba(99, 102, 241, 0.3);
|
|
792
|
+
box-shadow: var(--shadow-hover);
|
|
774
793
|
transform: translateY(-2px);
|
|
775
794
|
}
|
|
776
795
|
|
|
@@ -778,7 +797,7 @@ body {
|
|
|
778
797
|
width: 30px;
|
|
779
798
|
height: 30px;
|
|
780
799
|
border-radius: 50%;
|
|
781
|
-
background:
|
|
800
|
+
background: var(--chip);
|
|
782
801
|
color: var(--primary);
|
|
783
802
|
display: flex;
|
|
784
803
|
align-items: center;
|
|
@@ -819,13 +838,19 @@ body {
|
|
|
819
838
|
}
|
|
820
839
|
|
|
821
840
|
.iconBtn {
|
|
822
|
-
border: 1px solid var(--
|
|
823
|
-
background:
|
|
841
|
+
border: 1px solid var(--line2);
|
|
842
|
+
background: var(--bg2);
|
|
824
843
|
color: var(--muted);
|
|
825
844
|
border-radius: 10px;
|
|
826
845
|
padding: 2px 8px;
|
|
827
846
|
cursor: pointer;
|
|
828
847
|
font-size: 12px;
|
|
848
|
+
transition: var(--transition);
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
.iconBtn:hover {
|
|
852
|
+
background: var(--paper);
|
|
853
|
+
color: var(--text);
|
|
829
854
|
}
|
|
830
855
|
|
|
831
856
|
.reportBody {
|
|
@@ -841,7 +866,7 @@ body {
|
|
|
841
866
|
border: 1px solid var(--line);
|
|
842
867
|
border-radius: 12px;
|
|
843
868
|
padding: 12px;
|
|
844
|
-
background:
|
|
869
|
+
background: var(--bg2);
|
|
845
870
|
min-height: 120px;
|
|
846
871
|
outline: none;
|
|
847
872
|
white-space: pre-wrap;
|
|
@@ -928,7 +953,7 @@ h1 {
|
|
|
928
953
|
justify-content: space-between;
|
|
929
954
|
padding: 12px 12px;
|
|
930
955
|
border-bottom: 1px solid var(--line);
|
|
931
|
-
background:
|
|
956
|
+
background: var(--bg2);
|
|
932
957
|
}
|
|
933
958
|
|
|
934
959
|
.panelHead b {
|
|
@@ -954,11 +979,7 @@ h1 {
|
|
|
954
979
|
margin-top: 14px;
|
|
955
980
|
border: 1px dashed var(--line2);
|
|
956
981
|
border-radius: var(--radius);
|
|
957
|
-
background:
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
[data-theme="dark"] .devDrawer {
|
|
961
|
-
background: rgba(0, 0, 0, .18);
|
|
982
|
+
background: var(--bg2);
|
|
962
983
|
}
|
|
963
984
|
|
|
964
985
|
.devDrawer>summary {
|
|
@@ -1001,9 +1022,8 @@ input {
|
|
|
1001
1022
|
width: 100%;
|
|
1002
1023
|
padding: 11px 14px;
|
|
1003
1024
|
border-radius: var(--radius2);
|
|
1004
|
-
border: 1px solid var(--
|
|
1005
|
-
background:
|
|
1006
|
-
backdrop-filter: blur(4px);
|
|
1025
|
+
border: 1px solid var(--line2);
|
|
1026
|
+
background: var(--paper);
|
|
1007
1027
|
color: var(--text);
|
|
1008
1028
|
outline: none;
|
|
1009
1029
|
transition: var(--transition);
|
|
@@ -1011,32 +1031,32 @@ input {
|
|
|
1011
1031
|
}
|
|
1012
1032
|
|
|
1013
1033
|
[data-theme="dark"] input {
|
|
1014
|
-
background:
|
|
1034
|
+
background: var(--bg2);
|
|
1015
1035
|
}
|
|
1016
1036
|
|
|
1017
1037
|
input:focus {
|
|
1018
1038
|
box-shadow: var(--ring);
|
|
1019
|
-
border-color:
|
|
1039
|
+
border-color: var(--primary);
|
|
1020
1040
|
}
|
|
1021
1041
|
|
|
1022
1042
|
textarea {
|
|
1023
1043
|
width: 100%;
|
|
1024
1044
|
padding: 10px 12px;
|
|
1025
1045
|
border-radius: 12px;
|
|
1026
|
-
border: 1px solid var(--
|
|
1027
|
-
background:
|
|
1046
|
+
border: 1px solid var(--line2);
|
|
1047
|
+
background: var(--paper);
|
|
1028
1048
|
color: var(--text);
|
|
1029
1049
|
outline: none;
|
|
1030
1050
|
resize: vertical;
|
|
1031
1051
|
}
|
|
1032
1052
|
|
|
1033
1053
|
[data-theme="dark"] textarea {
|
|
1034
|
-
background:
|
|
1054
|
+
background: var(--bg2);
|
|
1035
1055
|
}
|
|
1036
1056
|
|
|
1037
1057
|
textarea:focus {
|
|
1038
1058
|
box-shadow: var(--ring);
|
|
1039
|
-
border-color:
|
|
1059
|
+
border-color: var(--primary);
|
|
1040
1060
|
}
|
|
1041
1061
|
|
|
1042
1062
|
.row {
|
|
@@ -1065,10 +1085,9 @@ textarea:focus {
|
|
|
1065
1085
|
|
|
1066
1086
|
/* BUTTONS */
|
|
1067
1087
|
.btn {
|
|
1068
|
-
border: 1px solid var(--
|
|
1088
|
+
border: 1px solid var(--line2);
|
|
1069
1089
|
border-radius: var(--radius2);
|
|
1070
|
-
background:
|
|
1071
|
-
backdrop-filter: blur(4px);
|
|
1090
|
+
background: var(--paper);
|
|
1072
1091
|
padding: 10px 14px;
|
|
1073
1092
|
cursor: pointer;
|
|
1074
1093
|
font-weight: 600;
|
|
@@ -1077,7 +1096,7 @@ textarea:focus {
|
|
|
1077
1096
|
}
|
|
1078
1097
|
|
|
1079
1098
|
[data-theme="dark"] .btn {
|
|
1080
|
-
background:
|
|
1099
|
+
background: var(--paper2);
|
|
1081
1100
|
}
|
|
1082
1101
|
|
|
1083
1102
|
.btn:hover {
|
|
@@ -1087,6 +1106,16 @@ textarea:focus {
|
|
|
1087
1106
|
transform: translateY(-1px);
|
|
1088
1107
|
}
|
|
1089
1108
|
|
|
1109
|
+
.btn:active {
|
|
1110
|
+
transform: translateY(0) scale(0.97);
|
|
1111
|
+
box-shadow: none;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
.btn:focus-visible {
|
|
1115
|
+
box-shadow: var(--ring);
|
|
1116
|
+
outline: none;
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1090
1119
|
.btn.small {
|
|
1091
1120
|
padding: 7px 10px;
|
|
1092
1121
|
border-radius: 10px;
|
|
@@ -1094,9 +1123,21 @@ textarea:focus {
|
|
|
1094
1123
|
}
|
|
1095
1124
|
|
|
1096
1125
|
.btn.primary {
|
|
1097
|
-
background:
|
|
1098
|
-
border-color:
|
|
1099
|
-
color:
|
|
1126
|
+
background: var(--primary);
|
|
1127
|
+
border-color: var(--primary);
|
|
1128
|
+
color: #fff;
|
|
1129
|
+
box-shadow: 0 2px 8px rgba(99, 102, 241, .2);
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
.btn.primary:hover {
|
|
1133
|
+
box-shadow: 0 4px 16px rgba(99, 102, 241, .3);
|
|
1134
|
+
transform: translateY(-1px);
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
[data-theme="dark"] .btn.primary {
|
|
1138
|
+
background: var(--primary);
|
|
1139
|
+
border-color: var(--primary);
|
|
1140
|
+
color: #fff;
|
|
1100
1141
|
}
|
|
1101
1142
|
|
|
1102
1143
|
.sideBtn {
|
|
@@ -1110,22 +1151,18 @@ textarea:focus {
|
|
|
1110
1151
|
padding: 2px 6px;
|
|
1111
1152
|
border: 1px solid var(--line);
|
|
1112
1153
|
border-radius: 8px;
|
|
1113
|
-
background:
|
|
1154
|
+
background: var(--bg2);
|
|
1114
1155
|
font-family: var(--mono);
|
|
1115
1156
|
font-size: 12px;
|
|
1116
1157
|
color: var(--muted);
|
|
1117
1158
|
}
|
|
1118
1159
|
|
|
1119
|
-
[data-theme="dark"] .k {
|
|
1120
|
-
background: rgba(0, 0, 0, .18);
|
|
1121
|
-
}
|
|
1122
|
-
|
|
1123
1160
|
/* REPORT/TODAY ITEMS + PREVIEW */
|
|
1124
1161
|
.log {
|
|
1125
1162
|
padding: 12px;
|
|
1126
1163
|
border: 1px solid var(--line);
|
|
1127
1164
|
border-radius: var(--radius);
|
|
1128
|
-
background:
|
|
1165
|
+
background: var(--bg2);
|
|
1129
1166
|
font-family: var(--mono);
|
|
1130
1167
|
font-size: 12px;
|
|
1131
1168
|
color: var(--muted);
|
|
@@ -1135,10 +1172,6 @@ textarea:focus {
|
|
|
1135
1172
|
overflow: auto;
|
|
1136
1173
|
}
|
|
1137
1174
|
|
|
1138
|
-
[data-theme="dark"] .log {
|
|
1139
|
-
background: rgba(0, 0, 0, .18);
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
1175
|
.rep {
|
|
1143
1176
|
width: 100%;
|
|
1144
1177
|
text-align: left;
|
|
@@ -1195,25 +1228,17 @@ textarea:focus {
|
|
|
1195
1228
|
padding: 2px 6px;
|
|
1196
1229
|
border: 1px solid var(--line);
|
|
1197
1230
|
border-radius: 8px;
|
|
1198
|
-
background:
|
|
1199
|
-
}
|
|
1200
|
-
|
|
1201
|
-
[data-theme="dark"] .md-inline {
|
|
1202
|
-
background: rgba(0, 0, 0, .18);
|
|
1231
|
+
background: var(--bg2);
|
|
1203
1232
|
}
|
|
1204
1233
|
|
|
1205
1234
|
.md-code {
|
|
1206
|
-
background:
|
|
1235
|
+
background: var(--bg2);
|
|
1207
1236
|
border: 1px solid var(--line);
|
|
1208
1237
|
border-radius: var(--radius);
|
|
1209
1238
|
padding: 12px;
|
|
1210
1239
|
overflow: auto;
|
|
1211
1240
|
}
|
|
1212
1241
|
|
|
1213
|
-
[data-theme="dark"] .md-code {
|
|
1214
|
-
background: rgba(0, 0, 0, .22);
|
|
1215
|
-
}
|
|
1216
|
-
|
|
1217
1242
|
.md-sp {
|
|
1218
1243
|
height: 10px;
|
|
1219
1244
|
}
|
|
@@ -1266,17 +1291,17 @@ textarea:focus {
|
|
|
1266
1291
|
|
|
1267
1292
|
.bubble.user {
|
|
1268
1293
|
align-self: flex-end;
|
|
1269
|
-
background: rgba(
|
|
1270
|
-
border-color: rgba(
|
|
1294
|
+
background: rgba(99, 102, 241, .08);
|
|
1295
|
+
border-color: rgba(99, 102, 241, .15);
|
|
1271
1296
|
}
|
|
1272
1297
|
|
|
1273
1298
|
.bubble.assistant {
|
|
1274
1299
|
align-self: flex-start;
|
|
1275
|
-
background:
|
|
1300
|
+
background: var(--bg2);
|
|
1276
1301
|
}
|
|
1277
1302
|
|
|
1278
1303
|
[data-theme="dark"] .bubble.assistant {
|
|
1279
|
-
background:
|
|
1304
|
+
background: var(--paper2);
|
|
1280
1305
|
}
|
|
1281
1306
|
|
|
1282
1307
|
.chatComposer {
|
|
@@ -1367,6 +1392,7 @@ textarea:focus {
|
|
|
1367
1392
|
font-weight: 700;
|
|
1368
1393
|
padding: 3px 10px;
|
|
1369
1394
|
border: 1px solid;
|
|
1395
|
+
border-radius: 99px;
|
|
1370
1396
|
letter-spacing: 0.3px;
|
|
1371
1397
|
}
|
|
1372
1398
|
|
|
@@ -1434,8 +1460,10 @@ textarea:focus {
|
|
|
1434
1460
|
pointer-events: auto;
|
|
1435
1461
|
padding: 10px 16px;
|
|
1436
1462
|
border: 1px solid var(--line2);
|
|
1463
|
+
border-radius: var(--radius2);
|
|
1437
1464
|
background: var(--paper);
|
|
1438
1465
|
backdrop-filter: blur(12px);
|
|
1466
|
+
-webkit-backdrop-filter: blur(12px);
|
|
1439
1467
|
color: var(--text);
|
|
1440
1468
|
font-size: 13px;
|
|
1441
1469
|
font-weight: 500;
|
|
@@ -1444,7 +1472,7 @@ textarea:focus {
|
|
|
1444
1472
|
max-width: 360px;
|
|
1445
1473
|
opacity: 0;
|
|
1446
1474
|
transform: translateX(100%);
|
|
1447
|
-
animation: toastIn 0.3s
|
|
1475
|
+
animation: toastIn 0.3s var(--bounce) forwards;
|
|
1448
1476
|
}
|
|
1449
1477
|
|
|
1450
1478
|
.toast.out {
|
|
@@ -1511,29 +1539,35 @@ textarea:focus {
|
|
|
1511
1539
|
/* ── Companion Dashboard Styles ── */
|
|
1512
1540
|
.companionTabs {
|
|
1513
1541
|
display: flex;
|
|
1514
|
-
gap:
|
|
1542
|
+
gap: 4px;
|
|
1515
1543
|
margin: 16px 0;
|
|
1516
|
-
|
|
1544
|
+
padding: 4px;
|
|
1545
|
+
background: var(--paper2);
|
|
1546
|
+
border: 1px solid var(--line);
|
|
1547
|
+
border-radius: var(--radius2);
|
|
1517
1548
|
}
|
|
1518
1549
|
|
|
1519
1550
|
.companionTabs .tab {
|
|
1520
|
-
padding: 8px
|
|
1551
|
+
padding: 8px 14px;
|
|
1521
1552
|
background: transparent;
|
|
1522
1553
|
border: none;
|
|
1523
|
-
border-
|
|
1554
|
+
border-radius: var(--radius3);
|
|
1524
1555
|
cursor: pointer;
|
|
1525
1556
|
font-size: 12px;
|
|
1526
|
-
|
|
1527
|
-
|
|
1557
|
+
font-weight: 600;
|
|
1558
|
+
color: var(--muted);
|
|
1559
|
+
transition: var(--transition);
|
|
1528
1560
|
}
|
|
1529
1561
|
|
|
1530
1562
|
.companionTabs .tab:hover {
|
|
1531
1563
|
color: var(--text);
|
|
1564
|
+
background: var(--paper);
|
|
1532
1565
|
}
|
|
1533
1566
|
|
|
1534
1567
|
.companionTabs .tab.active {
|
|
1535
|
-
color: var(--
|
|
1536
|
-
|
|
1568
|
+
color: var(--primary);
|
|
1569
|
+
background: var(--paper);
|
|
1570
|
+
box-shadow: var(--shadow2);
|
|
1537
1571
|
}
|
|
1538
1572
|
|
|
1539
1573
|
.consolidatedView {
|
|
@@ -1545,10 +1579,17 @@ textarea:focus {
|
|
|
1545
1579
|
.kpiCard {
|
|
1546
1580
|
background: var(--paper);
|
|
1547
1581
|
padding: 16px;
|
|
1548
|
-
border: 1px solid var(--
|
|
1582
|
+
border: 1px solid var(--line2);
|
|
1583
|
+
border-radius: var(--radius2);
|
|
1549
1584
|
display: flex;
|
|
1550
1585
|
flex-direction: column;
|
|
1551
1586
|
gap: 4px;
|
|
1587
|
+
transition: var(--transition);
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
.kpiCard:hover {
|
|
1591
|
+
box-shadow: var(--shadow2);
|
|
1592
|
+
transform: translateY(-1px);
|
|
1552
1593
|
}
|
|
1553
1594
|
|
|
1554
1595
|
.projectCardsGrid {
|
|
@@ -1570,16 +1611,18 @@ textarea:focus {
|
|
|
1570
1611
|
.projectCard {
|
|
1571
1612
|
background: var(--paper);
|
|
1572
1613
|
padding: 16px;
|
|
1614
|
+
border: 1px solid var(--line2);
|
|
1573
1615
|
border-left: 3px solid #4ade80;
|
|
1574
|
-
border:
|
|
1575
|
-
border-left: 3px solid #4ade80;
|
|
1616
|
+
border-radius: var(--radius2);
|
|
1576
1617
|
cursor: pointer;
|
|
1577
|
-
transition:
|
|
1618
|
+
transition: var(--transition);
|
|
1578
1619
|
}
|
|
1579
1620
|
|
|
1580
1621
|
.projectCard:hover {
|
|
1581
|
-
background:
|
|
1622
|
+
background: var(--paper2);
|
|
1582
1623
|
border-color: var(--accent);
|
|
1624
|
+
box-shadow: var(--shadow2);
|
|
1625
|
+
transform: translateY(-1px);
|
|
1583
1626
|
}
|
|
1584
1627
|
|
|
1585
1628
|
.projectCard.at_risk {
|
|
@@ -1593,24 +1636,31 @@ textarea:focus {
|
|
|
1593
1636
|
.streamItem {
|
|
1594
1637
|
padding: 12px;
|
|
1595
1638
|
margin: 4px 0;
|
|
1596
|
-
border: 1px solid var(--
|
|
1639
|
+
border: 1px solid var(--line2);
|
|
1640
|
+
border-radius: var(--radius3);
|
|
1597
1641
|
background: transparent;
|
|
1598
|
-
transition:
|
|
1642
|
+
transition: var(--transition);
|
|
1599
1643
|
font-size: 11px;
|
|
1600
1644
|
}
|
|
1601
1645
|
|
|
1602
1646
|
.streamItem:hover {
|
|
1603
|
-
background:
|
|
1647
|
+
background: var(--paper2);
|
|
1648
|
+
box-shadow: var(--shadow2);
|
|
1604
1649
|
}
|
|
1605
1650
|
|
|
1606
1651
|
.alertItem {
|
|
1607
1652
|
padding: 12px;
|
|
1608
1653
|
margin: 8px 0;
|
|
1654
|
+
border: 1px solid var(--line2);
|
|
1609
1655
|
border-left: 3px solid #ef4444;
|
|
1656
|
+
border-radius: var(--radius3);
|
|
1610
1657
|
background: rgba(239, 68, 68, 0.05);
|
|
1611
|
-
border: 1px solid var(--border);
|
|
1612
|
-
border-left: 3px solid #ef4444;
|
|
1613
1658
|
font-size: 11px;
|
|
1659
|
+
transition: var(--transition);
|
|
1660
|
+
}
|
|
1661
|
+
|
|
1662
|
+
.alertItem:hover {
|
|
1663
|
+
box-shadow: var(--shadow2);
|
|
1614
1664
|
}
|
|
1615
1665
|
|
|
1616
1666
|
/* ── Kanban Board ── */
|
|
@@ -1631,9 +1681,11 @@ textarea:focus {
|
|
|
1631
1681
|
.kanban-col {
|
|
1632
1682
|
display: flex;
|
|
1633
1683
|
flex-direction: column;
|
|
1634
|
-
background: var(--
|
|
1684
|
+
background: var(--paper);
|
|
1635
1685
|
border: 1px solid var(--line2);
|
|
1686
|
+
border-radius: var(--radius2);
|
|
1636
1687
|
min-height: 300px;
|
|
1688
|
+
overflow: hidden;
|
|
1637
1689
|
}
|
|
1638
1690
|
|
|
1639
1691
|
.kanban-col-head {
|
|
@@ -1649,10 +1701,15 @@ textarea:focus {
|
|
|
1649
1701
|
flex-shrink: 0;
|
|
1650
1702
|
}
|
|
1651
1703
|
|
|
1652
|
-
.kanban-col-head.do-now { border-bottom-color:
|
|
1653
|
-
.kanban-col-head.schedule { border-bottom-color:
|
|
1654
|
-
.kanban-col-head.delegate { border-bottom-color:
|
|
1655
|
-
.kanban-col-head.done { border-bottom-color:
|
|
1704
|
+
.kanban-col-head.do-now { border-bottom-color: var(--pastel-rose); color: #e11d48; }
|
|
1705
|
+
.kanban-col-head.schedule { border-bottom-color: var(--pastel-blue); color: var(--primary); }
|
|
1706
|
+
.kanban-col-head.delegate { border-bottom-color: var(--pastel-gold); color: #b45309; }
|
|
1707
|
+
.kanban-col-head.done { border-bottom-color: var(--pastel-green); color: #16a34a; }
|
|
1708
|
+
|
|
1709
|
+
[data-theme="dark"] .kanban-col-head.do-now { color: var(--pastel-rose); }
|
|
1710
|
+
[data-theme="dark"] .kanban-col-head.schedule { color: var(--pastel-blue); }
|
|
1711
|
+
[data-theme="dark"] .kanban-col-head.delegate { color: var(--pastel-gold); }
|
|
1712
|
+
[data-theme="dark"] .kanban-col-head.done { color: var(--pastel-green); }
|
|
1656
1713
|
|
|
1657
1714
|
.kanban-col-count {
|
|
1658
1715
|
font-size: 12px;
|
|
@@ -1660,6 +1717,7 @@ textarea:focus {
|
|
|
1660
1717
|
padding: 1px 8px;
|
|
1661
1718
|
background: var(--paper2);
|
|
1662
1719
|
border: 1px solid var(--line2);
|
|
1720
|
+
border-radius: var(--radius3);
|
|
1663
1721
|
}
|
|
1664
1722
|
|
|
1665
1723
|
.kanban-col-body {
|
|
@@ -1686,9 +1744,10 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1686
1744
|
.kanban-card {
|
|
1687
1745
|
background: var(--paper);
|
|
1688
1746
|
border: 1px solid var(--line2);
|
|
1747
|
+
border-radius: var(--radius3);
|
|
1689
1748
|
padding: 10px 12px;
|
|
1690
1749
|
cursor: grab;
|
|
1691
|
-
transition: box-shadow 0.
|
|
1750
|
+
transition: box-shadow 0.2s ease, opacity 0.15s, transform 0.2s ease;
|
|
1692
1751
|
display: flex;
|
|
1693
1752
|
flex-direction: column;
|
|
1694
1753
|
gap: 6px;
|
|
@@ -1696,6 +1755,7 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1696
1755
|
|
|
1697
1756
|
.kanban-card:hover {
|
|
1698
1757
|
box-shadow: var(--shadow2);
|
|
1758
|
+
transform: translateY(-1px);
|
|
1699
1759
|
}
|
|
1700
1760
|
|
|
1701
1761
|
.kanban-card.dragging {
|
|
@@ -1737,6 +1797,7 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1737
1797
|
background: var(--chip);
|
|
1738
1798
|
color: var(--primary);
|
|
1739
1799
|
border: 1px solid var(--line2);
|
|
1800
|
+
border-radius: 6px;
|
|
1740
1801
|
font-family: var(--mono);
|
|
1741
1802
|
}
|
|
1742
1803
|
|
|
@@ -1746,6 +1807,7 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1746
1807
|
padding: 1px 6px;
|
|
1747
1808
|
color: var(--muted);
|
|
1748
1809
|
border: 1px solid var(--line2);
|
|
1810
|
+
border-radius: 6px;
|
|
1749
1811
|
}
|
|
1750
1812
|
|
|
1751
1813
|
.kanban-due.overdue {
|
|
@@ -1767,8 +1829,9 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1767
1829
|
}
|
|
1768
1830
|
|
|
1769
1831
|
.kanban-action-btn {
|
|
1770
|
-
background: var(--
|
|
1832
|
+
background: var(--paper);
|
|
1771
1833
|
border: 1px solid var(--line2);
|
|
1834
|
+
border-radius: 6px;
|
|
1772
1835
|
color: var(--muted);
|
|
1773
1836
|
padding: 2px 8px;
|
|
1774
1837
|
font-size: 12px;
|
|
@@ -1783,8 +1846,9 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1783
1846
|
|
|
1784
1847
|
.kanban-action-btn.complete-btn:hover,
|
|
1785
1848
|
.kanban-action-btn.resolve-btn:hover {
|
|
1786
|
-
color: #
|
|
1787
|
-
border-color:
|
|
1849
|
+
color: #16a34a;
|
|
1850
|
+
border-color: var(--pastel-green);
|
|
1851
|
+
background: rgba(168, 216, 185, .15);
|
|
1788
1852
|
}
|
|
1789
1853
|
|
|
1790
1854
|
.kanban-owner {
|
|
@@ -1795,8 +1859,9 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1795
1859
|
|
|
1796
1860
|
/* Kanban filter */
|
|
1797
1861
|
.kanban-filter {
|
|
1798
|
-
background: var(--
|
|
1862
|
+
background: var(--paper);
|
|
1799
1863
|
border: 1px solid var(--line2);
|
|
1864
|
+
border-radius: var(--radius3);
|
|
1800
1865
|
color: var(--text);
|
|
1801
1866
|
padding: 5px 10px;
|
|
1802
1867
|
font-size: 12px;
|
|
@@ -1819,9 +1884,11 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1819
1884
|
.blocker-kanban-col {
|
|
1820
1885
|
display: flex;
|
|
1821
1886
|
flex-direction: column;
|
|
1822
|
-
background: var(--
|
|
1887
|
+
background: var(--paper);
|
|
1823
1888
|
border: 1px solid var(--line2);
|
|
1889
|
+
border-radius: var(--radius2);
|
|
1824
1890
|
min-height: 80px;
|
|
1891
|
+
overflow: hidden;
|
|
1825
1892
|
}
|
|
1826
1893
|
|
|
1827
1894
|
.blocker-kanban-col-body {
|
|
@@ -1841,19 +1908,23 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1841
1908
|
}
|
|
1842
1909
|
|
|
1843
1910
|
/* Blocker column header colors */
|
|
1844
|
-
.kanban-col-head.blocker-open { border-bottom-color:
|
|
1845
|
-
.kanban-col-head.blocker-open .kanban-col-title { color: #
|
|
1846
|
-
.kanban-col-head.blocker-open .kanban-col-count { background:
|
|
1847
|
-
.kanban-col-head.blocker-mitigating { border-bottom-color:
|
|
1848
|
-
.kanban-col-head.blocker-mitigating .kanban-col-title { color: #
|
|
1849
|
-
.kanban-col-head.blocker-mitigating .kanban-col-count { background:
|
|
1850
|
-
.kanban-col-head.blocker-resolved { border-bottom-color:
|
|
1851
|
-
.kanban-col-head.blocker-resolved .kanban-col-title { color: #
|
|
1852
|
-
.kanban-col-head.blocker-resolved .kanban-col-count { background:
|
|
1911
|
+
.kanban-col-head.blocker-open { border-bottom-color: var(--pastel-rose); }
|
|
1912
|
+
.kanban-col-head.blocker-open .kanban-col-title { color: #e11d48; }
|
|
1913
|
+
.kanban-col-head.blocker-open .kanban-col-count { background: rgba(253, 164, 175, .2); color: #e11d48; }
|
|
1914
|
+
.kanban-col-head.blocker-mitigating { border-bottom-color: var(--pastel-gold); }
|
|
1915
|
+
.kanban-col-head.blocker-mitigating .kanban-col-title { color: #b45309; }
|
|
1916
|
+
.kanban-col-head.blocker-mitigating .kanban-col-count { background: rgba(240, 217, 140, .2); color: #b45309; }
|
|
1917
|
+
.kanban-col-head.blocker-resolved { border-bottom-color: var(--pastel-green); }
|
|
1918
|
+
.kanban-col-head.blocker-resolved .kanban-col-title { color: #16a34a; }
|
|
1919
|
+
.kanban-col-head.blocker-resolved .kanban-col-count { background: rgba(168, 216, 185, .2); color: #16a34a; }
|
|
1920
|
+
|
|
1921
|
+
[data-theme="dark"] .kanban-col-head.blocker-open .kanban-col-title { color: var(--pastel-rose); }
|
|
1922
|
+
[data-theme="dark"] .kanban-col-head.blocker-mitigating .kanban-col-title { color: var(--pastel-gold); }
|
|
1923
|
+
[data-theme="dark"] .kanban-col-head.blocker-resolved .kanban-col-title { color: var(--pastel-green); }
|
|
1853
1924
|
|
|
1854
1925
|
/* Blocker card in kanban (reuses .kanban-card) */
|
|
1855
1926
|
.kanban-card.blocker-card {
|
|
1856
|
-
border-left: 3px solid
|
|
1927
|
+
border-left: 3px solid var(--pastel-rose);
|
|
1857
1928
|
}
|
|
1858
1929
|
|
|
1859
1930
|
/* ── Quick-Add Modal ── */
|
|
@@ -1870,13 +1941,20 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1870
1941
|
.qa-modal {
|
|
1871
1942
|
background: var(--bg);
|
|
1872
1943
|
border: 1px solid var(--line2);
|
|
1944
|
+
border-radius: var(--radius);
|
|
1873
1945
|
box-shadow: var(--shadow);
|
|
1874
1946
|
width: 440px;
|
|
1875
1947
|
max-width: 95vw;
|
|
1876
|
-
padding:
|
|
1948
|
+
padding: 20px;
|
|
1877
1949
|
display: flex;
|
|
1878
1950
|
flex-direction: column;
|
|
1879
|
-
gap:
|
|
1951
|
+
gap: 12px;
|
|
1952
|
+
animation: modalEnter 0.25s var(--bounce) both;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
@keyframes modalEnter {
|
|
1956
|
+
from { opacity: 0; transform: scale(0.95) translateY(8px); }
|
|
1957
|
+
to { opacity: 1; transform: scale(1) translateY(0); }
|
|
1880
1958
|
}
|
|
1881
1959
|
|
|
1882
1960
|
.qa-header {
|
|
@@ -1888,26 +1966,31 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1888
1966
|
.qa-input {
|
|
1889
1967
|
background: var(--paper);
|
|
1890
1968
|
border: 1px solid var(--line2);
|
|
1969
|
+
border-radius: var(--radius3);
|
|
1891
1970
|
color: var(--text);
|
|
1892
|
-
padding:
|
|
1971
|
+
padding: 10px 12px;
|
|
1893
1972
|
font-size: 13px;
|
|
1894
1973
|
font-family: var(--sans);
|
|
1895
1974
|
width: 100%;
|
|
1896
1975
|
resize: none;
|
|
1976
|
+
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
1897
1977
|
}
|
|
1898
1978
|
|
|
1899
1979
|
.qa-input:focus {
|
|
1900
1980
|
outline: none;
|
|
1901
1981
|
border-color: var(--primary);
|
|
1982
|
+
box-shadow: var(--ring);
|
|
1902
1983
|
}
|
|
1903
1984
|
|
|
1904
1985
|
.qa-select {
|
|
1905
1986
|
background: var(--paper);
|
|
1906
1987
|
border: 1px solid var(--line2);
|
|
1988
|
+
border-radius: var(--radius3);
|
|
1907
1989
|
color: var(--text);
|
|
1908
|
-
padding:
|
|
1990
|
+
padding: 8px 10px;
|
|
1909
1991
|
font-size: 12px;
|
|
1910
1992
|
flex: 1;
|
|
1993
|
+
transition: border-color 0.2s ease;
|
|
1911
1994
|
}
|
|
1912
1995
|
|
|
1913
1996
|
.qa-row {
|
|
@@ -1963,13 +2046,15 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1963
2046
|
display: flex;
|
|
1964
2047
|
align-items: center;
|
|
1965
2048
|
gap: 8px;
|
|
1966
|
-
padding:
|
|
2049
|
+
padding: 10px 14px;
|
|
1967
2050
|
margin-bottom: 12px;
|
|
1968
2051
|
background: var(--chip);
|
|
1969
2052
|
border: 1px solid var(--line2);
|
|
2053
|
+
border-radius: var(--radius3);
|
|
1970
2054
|
font-size: 12px;
|
|
1971
2055
|
color: var(--text);
|
|
1972
2056
|
border-left: 3px solid var(--primary);
|
|
2057
|
+
animation: fadeIn 0.2s ease-out;
|
|
1973
2058
|
}
|
|
1974
2059
|
|
|
1975
2060
|
/* ── Detail Panel (click-to-view on kanban cards) ── */
|
|
@@ -1985,14 +2070,17 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
1985
2070
|
}
|
|
1986
2071
|
.detail-panel {
|
|
1987
2072
|
background: var(--paper);
|
|
2073
|
+
backdrop-filter: blur(20px);
|
|
2074
|
+
-webkit-backdrop-filter: blur(20px);
|
|
1988
2075
|
border: 1px solid var(--line2);
|
|
1989
|
-
border-radius:
|
|
2076
|
+
border-radius: var(--radius);
|
|
1990
2077
|
width: 520px;
|
|
1991
2078
|
max-width: 95vw;
|
|
1992
2079
|
max-height: 85vh;
|
|
1993
2080
|
overflow-y: auto;
|
|
1994
2081
|
padding: 20px 24px;
|
|
1995
2082
|
box-shadow: 0 12px 40px rgba(0,0,0,0.4);
|
|
2083
|
+
animation: modalEnter 0.25s var(--bounce) both;
|
|
1996
2084
|
}
|
|
1997
2085
|
.detail-panel-header {
|
|
1998
2086
|
display: flex;
|
|
@@ -2077,3 +2165,286 @@ body:not([data-page="kanban"]) .kanban-col-body {
|
|
|
2077
2165
|
to { opacity: 1; }
|
|
2078
2166
|
}
|
|
2079
2167
|
|
|
2168
|
+
/* ── Page Transition ── */
|
|
2169
|
+
.center {
|
|
2170
|
+
animation: pageEnter 0.35s var(--bounce) both;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
@keyframes pageEnter {
|
|
2174
|
+
from { opacity: 0; transform: translateY(10px); }
|
|
2175
|
+
to { opacity: 1; transform: translateY(0); }
|
|
2176
|
+
}
|
|
2177
|
+
|
|
2178
|
+
body.navigating .center {
|
|
2179
|
+
animation: pageExit 0.18s ease-in forwards;
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
@keyframes pageExit {
|
|
2183
|
+
from { opacity: 1; transform: translateY(0); }
|
|
2184
|
+
to { opacity: 0; transform: translateY(-6px); }
|
|
2185
|
+
}
|
|
2186
|
+
|
|
2187
|
+
/* ── Mobile Hamburger Menu ── */
|
|
2188
|
+
.mobileMenuBtn {
|
|
2189
|
+
display: none;
|
|
2190
|
+
position: fixed;
|
|
2191
|
+
bottom: 20px;
|
|
2192
|
+
left: 20px;
|
|
2193
|
+
z-index: 10001;
|
|
2194
|
+
width: 48px;
|
|
2195
|
+
height: 48px;
|
|
2196
|
+
border-radius: 50%;
|
|
2197
|
+
border: 1px solid var(--line2);
|
|
2198
|
+
background: var(--paper);
|
|
2199
|
+
backdrop-filter: blur(16px);
|
|
2200
|
+
-webkit-backdrop-filter: blur(16px);
|
|
2201
|
+
box-shadow: var(--shadow);
|
|
2202
|
+
color: var(--text);
|
|
2203
|
+
cursor: pointer;
|
|
2204
|
+
align-items: center;
|
|
2205
|
+
justify-content: center;
|
|
2206
|
+
transition: var(--transition);
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
.mobileMenuBtn:hover {
|
|
2210
|
+
transform: scale(1.08);
|
|
2211
|
+
box-shadow: var(--shadow-hover);
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
.mobileMenuBtn:active {
|
|
2215
|
+
transform: scale(0.95);
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2218
|
+
.mobileMenuBtn svg {
|
|
2219
|
+
transition: transform 0.25s var(--bounce);
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
.mobileMenuBtn.open svg {
|
|
2223
|
+
transform: rotate(90deg);
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
@media (max-width: 860px) {
|
|
2227
|
+
.mobileMenuBtn {
|
|
2228
|
+
display: flex;
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
|
|
2232
|
+
.mobileNav {
|
|
2233
|
+
display: none;
|
|
2234
|
+
position: fixed;
|
|
2235
|
+
inset: 0;
|
|
2236
|
+
z-index: 10000;
|
|
2237
|
+
background: rgba(0, 0, 0, 0.5);
|
|
2238
|
+
backdrop-filter: blur(4px);
|
|
2239
|
+
-webkit-backdrop-filter: blur(4px);
|
|
2240
|
+
opacity: 0;
|
|
2241
|
+
transition: opacity 0.25s ease;
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
.mobileNav.visible {
|
|
2245
|
+
opacity: 1;
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
.mobileNav-panel {
|
|
2249
|
+
position: absolute;
|
|
2250
|
+
bottom: 80px;
|
|
2251
|
+
left: 20px;
|
|
2252
|
+
background: var(--paper);
|
|
2253
|
+
backdrop-filter: blur(20px);
|
|
2254
|
+
-webkit-backdrop-filter: blur(20px);
|
|
2255
|
+
border: 1px solid var(--glass-border);
|
|
2256
|
+
border-radius: var(--radius);
|
|
2257
|
+
box-shadow: var(--shadow);
|
|
2258
|
+
padding: 12px;
|
|
2259
|
+
display: flex;
|
|
2260
|
+
flex-direction: column;
|
|
2261
|
+
gap: 4px;
|
|
2262
|
+
min-width: 200px;
|
|
2263
|
+
transform: translateY(12px) scale(0.95);
|
|
2264
|
+
transition: transform 0.25s var(--bounce), opacity 0.2s ease;
|
|
2265
|
+
opacity: 0;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
.mobileNav.visible .mobileNav-panel {
|
|
2269
|
+
transform: translateY(0) scale(1);
|
|
2270
|
+
opacity: 1;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
.mobileNav-item {
|
|
2274
|
+
display: flex;
|
|
2275
|
+
align-items: center;
|
|
2276
|
+
gap: 12px;
|
|
2277
|
+
padding: 10px 14px;
|
|
2278
|
+
border-radius: var(--radius2);
|
|
2279
|
+
border: none;
|
|
2280
|
+
background: transparent;
|
|
2281
|
+
color: var(--muted);
|
|
2282
|
+
font-family: var(--sans);
|
|
2283
|
+
font-size: 13px;
|
|
2284
|
+
font-weight: 600;
|
|
2285
|
+
cursor: pointer;
|
|
2286
|
+
transition: var(--transition);
|
|
2287
|
+
text-align: left;
|
|
2288
|
+
width: 100%;
|
|
2289
|
+
}
|
|
2290
|
+
|
|
2291
|
+
.mobileNav-item:hover {
|
|
2292
|
+
background: var(--chip);
|
|
2293
|
+
color: var(--text);
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
.mobileNav-item.active {
|
|
2297
|
+
background: var(--chip);
|
|
2298
|
+
color: var(--primary);
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
.mobileNav-item svg {
|
|
2302
|
+
flex-shrink: 0;
|
|
2303
|
+
}
|
|
2304
|
+
|
|
2305
|
+
/* ── Staggered Card Animations ── */
|
|
2306
|
+
@keyframes cardEnter {
|
|
2307
|
+
from { opacity: 0; transform: translateY(8px); }
|
|
2308
|
+
to { opacity: 1; transform: translateY(0); }
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
.kanban-card {
|
|
2312
|
+
animation: cardEnter 0.3s var(--bounce) both;
|
|
2313
|
+
}
|
|
2314
|
+
|
|
2315
|
+
.kanban-col-body .kanban-card:nth-child(1) { animation-delay: 0ms; }
|
|
2316
|
+
.kanban-col-body .kanban-card:nth-child(2) { animation-delay: 30ms; }
|
|
2317
|
+
.kanban-col-body .kanban-card:nth-child(3) { animation-delay: 60ms; }
|
|
2318
|
+
.kanban-col-body .kanban-card:nth-child(4) { animation-delay: 90ms; }
|
|
2319
|
+
.kanban-col-body .kanban-card:nth-child(5) { animation-delay: 120ms; }
|
|
2320
|
+
.kanban-col-body .kanban-card:nth-child(n+6) { animation-delay: 150ms; }
|
|
2321
|
+
|
|
2322
|
+
/* ── Visual Hierarchy Improvements ── */
|
|
2323
|
+
|
|
2324
|
+
/* Section headers get more breathing room */
|
|
2325
|
+
.reportsTitle,
|
|
2326
|
+
.utilityHead,
|
|
2327
|
+
.panelHead b {
|
|
2328
|
+
font-family: var(--display);
|
|
2329
|
+
}
|
|
2330
|
+
|
|
2331
|
+
/* Better section spacing */
|
|
2332
|
+
.centerBody > section,
|
|
2333
|
+
.centerBody > div {
|
|
2334
|
+
animation: fadeIn 0.2s ease-out both;
|
|
2335
|
+
}
|
|
2336
|
+
|
|
2337
|
+
.centerBody > *:nth-child(1) { animation-delay: 0ms; }
|
|
2338
|
+
.centerBody > *:nth-child(2) { animation-delay: 40ms; }
|
|
2339
|
+
.centerBody > *:nth-child(3) { animation-delay: 80ms; }
|
|
2340
|
+
.centerBody > *:nth-child(4) { animation-delay: 120ms; }
|
|
2341
|
+
.centerBody > *:nth-child(5) { animation-delay: 160ms; }
|
|
2342
|
+
|
|
2343
|
+
/* Focus-visible for accessibility across all interactive elements */
|
|
2344
|
+
button:focus-visible,
|
|
2345
|
+
input:focus-visible,
|
|
2346
|
+
textarea:focus-visible,
|
|
2347
|
+
select:focus-visible,
|
|
2348
|
+
a:focus-visible {
|
|
2349
|
+
outline: none;
|
|
2350
|
+
box-shadow: var(--ring);
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
/* Kanban drag-over improved visual */
|
|
2354
|
+
.kanban-col-body.drag-over {
|
|
2355
|
+
background: var(--chip);
|
|
2356
|
+
border-radius: 0 0 calc(var(--radius2) - 1px) calc(var(--radius2) - 1px);
|
|
2357
|
+
outline: 2px dashed var(--primary);
|
|
2358
|
+
outline-offset: -2px;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
/* Better report card interaction */
|
|
2362
|
+
.reportCard {
|
|
2363
|
+
cursor: default;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
.reportCard .reportHead {
|
|
2367
|
+
transition: color 0.2s ease;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2370
|
+
.reportCard .reportHead:hover .reportName {
|
|
2371
|
+
color: var(--primary);
|
|
2372
|
+
}
|
|
2373
|
+
|
|
2374
|
+
/* Improved prompt bar focus state */
|
|
2375
|
+
.promptBar:focus-within {
|
|
2376
|
+
border-color: rgba(99, 102, 241, .35);
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2379
|
+
/* Rail tooltip on hover */
|
|
2380
|
+
.railBtn {
|
|
2381
|
+
position: relative;
|
|
2382
|
+
}
|
|
2383
|
+
|
|
2384
|
+
.railBtn[title]:hover::after {
|
|
2385
|
+
content: attr(title);
|
|
2386
|
+
position: absolute;
|
|
2387
|
+
left: calc(100% + 8px);
|
|
2388
|
+
top: 50%;
|
|
2389
|
+
transform: translateY(-50%);
|
|
2390
|
+
padding: 4px 10px;
|
|
2391
|
+
background: var(--text);
|
|
2392
|
+
color: var(--bg);
|
|
2393
|
+
font-size: 11px;
|
|
2394
|
+
font-weight: 600;
|
|
2395
|
+
font-family: var(--sans);
|
|
2396
|
+
border-radius: 6px;
|
|
2397
|
+
white-space: nowrap;
|
|
2398
|
+
pointer-events: none;
|
|
2399
|
+
z-index: 100;
|
|
2400
|
+
animation: tooltipIn 0.15s ease-out;
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2403
|
+
@keyframes tooltipIn {
|
|
2404
|
+
from { opacity: 0; transform: translateY(-50%) translateX(-4px); }
|
|
2405
|
+
to { opacity: 1; transform: translateY(-50%) translateX(0); }
|
|
2406
|
+
}
|
|
2407
|
+
|
|
2408
|
+
/* Hide tooltip on mobile (rail is hidden anyway) */
|
|
2409
|
+
@media (max-width: 860px) {
|
|
2410
|
+
.railBtn[title]:hover::after {
|
|
2411
|
+
display: none;
|
|
2412
|
+
}
|
|
2413
|
+
}
|
|
2414
|
+
|
|
2415
|
+
/* Smoother scrollbar transitions */
|
|
2416
|
+
.centerBody,
|
|
2417
|
+
.kanban-col-body,
|
|
2418
|
+
.blocker-kanban-col-body,
|
|
2419
|
+
.chatThread {
|
|
2420
|
+
scroll-behavior: smooth;
|
|
2421
|
+
}
|
|
2422
|
+
|
|
2423
|
+
/* Improved sparkle effect */
|
|
2424
|
+
.spark {
|
|
2425
|
+
animation: sparkPulse 3s ease-in-out infinite;
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
@keyframes sparkPulse {
|
|
2429
|
+
0%, 100% { box-shadow: 0 0 0 5px rgba(99, 102, 241, .10); }
|
|
2430
|
+
50% { box-shadow: 0 0 0 9px rgba(99, 102, 241, .05); }
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
/* Better chip clickable interaction */
|
|
2434
|
+
.chip.clickable:active {
|
|
2435
|
+
transform: translateY(0) scale(0.96);
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
/* Consistent border-radius on the detail panel sections */
|
|
2439
|
+
.detail-panel-comment {
|
|
2440
|
+
border-radius: var(--radius3);
|
|
2441
|
+
}
|
|
2442
|
+
|
|
2443
|
+
.detail-panel-header {
|
|
2444
|
+
border-bottom: 1px solid var(--line);
|
|
2445
|
+
}
|
|
2446
|
+
|
|
2447
|
+
.detail-panel-section {
|
|
2448
|
+
border-top: 1px solid var(--line);
|
|
2449
|
+
}
|
|
2450
|
+
|