collavre 0.8.1 → 0.8.3
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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/collavre/actiontext.css +3 -3
- data/app/assets/stylesheets/collavre/comments_popup.css +46 -31
- data/app/assets/stylesheets/collavre/creatives.css +32 -16
- data/app/assets/stylesheets/collavre/dark_mode.css +76 -3
- data/app/assets/stylesheets/collavre/design_tokens.css +10 -2
- data/app/assets/stylesheets/collavre/mention_menu.css +2 -2
- data/app/assets/stylesheets/collavre/popup.css +82 -18
- data/app/controllers/collavre/creative_shares_controller.rb +27 -0
- data/app/javascript/components/creative_tree_row.js +11 -4
- data/app/javascript/controllers/comments/contexts_controller.js +7 -4
- data/app/javascript/controllers/comments/popup_controller.js +25 -0
- data/app/javascript/controllers/comments/topics_controller.js +9 -6
- data/app/javascript/controllers/creatives/expansion_controller.js +12 -4
- data/app/javascript/controllers/creatives/tree_controller.js +3 -1
- data/app/javascript/controllers/share_modal_controller.js +57 -0
- data/app/services/collavre/ai_agent/approval_handler.rb +7 -3
- data/app/services/collavre/ai_agent_service.rb +16 -3
- data/app/services/collavre/ai_client.rb +22 -6
- data/app/services/collavre/tools/creative_retrieval_service.rb +2 -2
- data/app/services/collavre/tools/creative_update_service.rb +1 -1
- data/app/views/collavre/comments/_comments_popup.html.erb +1 -1
- data/app/views/collavre/creatives/_mobile_actions_menu.html.erb +1 -1
- data/app/views/collavre/creatives/_share_modal.html.erb +71 -28
- data/app/views/collavre/creatives/index.html.erb +2 -2
- data/app/views/collavre/shared/_custom_theme_style.html.erb +21 -0
- data/app/views/layouts/collavre/slide.html.erb +1 -17
- data/config/locales/ai_agent.en.yml +10 -0
- data/config/locales/ai_agent.ko.yml +10 -0
- data/config/locales/creatives.en.yml +3 -1
- data/config/locales/creatives.ko.yml +3 -1
- data/lib/collavre/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82e806ce0c2a6e03029c43d817fb83a6c8114e04bf13be10b05b16fefbeb253c
|
|
4
|
+
data.tar.gz: bfa7142c80cd7868c4ad9375a7b9f96ceed0b9b35ad031a6962f92a9d655f029
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e443416101117e0e3440f60d889f4c317fc19d59e5d3e92fdc511f1caf0fee52470e3e37b036709fbc63eea01d266c622e25ded80dc584d77c7fd0e2feed257b
|
|
7
|
+
data.tar.gz: 33e264807609298b92f8786f755bce2ef7846e653d6d5b4c7ff0eb1c267cf0273a56753d8e3758cf99e8300d14f1f6cfbde99b21e9f99e39645e44d3a0ec58e6
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
padding: 0.4rem 0.5rem;
|
|
62
62
|
background: var(--surface-bg);
|
|
63
63
|
border: 1px solid var(--border-color);
|
|
64
|
-
border-radius:
|
|
64
|
+
border-radius: var(--radius-2);
|
|
65
65
|
box-shadow: var(--shadow-3);
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
display: block;
|
|
209
209
|
background: var(--color-code-bg);
|
|
210
210
|
border: 1px solid var(--border-color);
|
|
211
|
-
border-radius:
|
|
211
|
+
border-radius: var(--radius-2);
|
|
212
212
|
color: var(--color-code-text);
|
|
213
213
|
font-family: ui-monospace, SFMono-Regular, SFMono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
214
214
|
font-size: 0.9em;
|
|
@@ -404,7 +404,7 @@
|
|
|
404
404
|
.lexical-attachment__caption-input {
|
|
405
405
|
width: 100%;
|
|
406
406
|
border: 1px solid var(--border-color);
|
|
407
|
-
border-radius:
|
|
407
|
+
border-radius: var(--radius-2);
|
|
408
408
|
padding: var(--space-2) 0.6rem;
|
|
409
409
|
font-size: 0.9rem;
|
|
410
410
|
background: var(--surface-section);
|
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
max-height: 80vh;
|
|
10
10
|
min-width: 200px;
|
|
11
11
|
min-height: 200px;
|
|
12
|
+
background: var(--surface-bg);
|
|
13
|
+
border: var(--border-1) solid var(--color-active);
|
|
14
|
+
border-radius: var(--radius-3);
|
|
15
|
+
box-shadow: var(--shadow-3),
|
|
16
|
+
0 0 6px color-mix(in srgb, var(--color-active) 25%, transparent),
|
|
17
|
+
0 0 14px color-mix(in srgb, var(--color-active) 12%, transparent);
|
|
18
|
+
padding: 1em;
|
|
19
|
+
flex-direction: column;
|
|
12
20
|
transition: top 0.25s ease, left 0.25s ease, width 0.25s ease, height 0.25s ease,
|
|
13
21
|
right 0.25s ease, bottom 0.25s ease, border-radius 0.25s ease,
|
|
14
22
|
box-shadow 0.25s ease, padding 0.25s ease;
|
|
@@ -45,6 +53,7 @@ body.chat-fullscreen {
|
|
|
45
53
|
align-items: center;
|
|
46
54
|
justify-content: space-between;
|
|
47
55
|
gap: 0.75em;
|
|
56
|
+
padding-bottom: var(--space-1);
|
|
48
57
|
}
|
|
49
58
|
|
|
50
59
|
.comments-popup-header h3 {
|
|
@@ -119,8 +128,7 @@ body.chat-fullscreen {
|
|
|
119
128
|
flex-wrap: nowrap;
|
|
120
129
|
align-items: center;
|
|
121
130
|
gap: 0.5em;
|
|
122
|
-
padding:
|
|
123
|
-
margin-bottom: 0.5em;
|
|
131
|
+
padding: var(--space-1) 0;
|
|
124
132
|
overflow-x: auto;
|
|
125
133
|
overflow-y: hidden;
|
|
126
134
|
scrollbar-width: none; /* Firefox */
|
|
@@ -365,7 +373,7 @@ body.chat-fullscreen {
|
|
|
365
373
|
padding: 0.3em 0.8em;
|
|
366
374
|
font-size: 0.85em;
|
|
367
375
|
cursor: pointer;
|
|
368
|
-
border-radius:
|
|
376
|
+
border-radius: var(--radius-2);
|
|
369
377
|
white-space: nowrap;
|
|
370
378
|
}
|
|
371
379
|
|
|
@@ -570,7 +578,7 @@ body.chat-fullscreen {
|
|
|
570
578
|
.comment-action-json {
|
|
571
579
|
background: var(--color-section-bg);
|
|
572
580
|
border: 1px solid var(--color-border);
|
|
573
|
-
border-radius:
|
|
581
|
+
border-radius: var(--radius-2);
|
|
574
582
|
margin-top: 0.4em;
|
|
575
583
|
padding: 0.5em;
|
|
576
584
|
white-space: pre-wrap;
|
|
@@ -588,7 +596,7 @@ body.chat-fullscreen {
|
|
|
588
596
|
.comment-action-edit-textarea {
|
|
589
597
|
width: 100%;
|
|
590
598
|
border: 1px solid var(--color-border);
|
|
591
|
-
border-radius:
|
|
599
|
+
border-radius: var(--radius-2);
|
|
592
600
|
padding: 0.5em;
|
|
593
601
|
font-family: var(--font-family-monospace, 'SFMono-Regular', 'Consolas', 'Liberation Mono', monospace);
|
|
594
602
|
font-size: 0.9em;
|
|
@@ -657,8 +665,8 @@ body.chat-fullscreen {
|
|
|
657
665
|
}
|
|
658
666
|
|
|
659
667
|
.comment-status-label.pending-label {
|
|
660
|
-
background-color: color-mix(in srgb,
|
|
661
|
-
color:
|
|
668
|
+
background-color: color-mix(in srgb, var(--color-warning) 20%, transparent);
|
|
669
|
+
color: var(--color-warning);
|
|
662
670
|
}
|
|
663
671
|
|
|
664
672
|
.comment-action-container {
|
|
@@ -731,7 +739,7 @@ body.chat-fullscreen {
|
|
|
731
739
|
background: var(--color-section-bg);
|
|
732
740
|
color: var(--color-text);
|
|
733
741
|
border: 1px solid var(--color-border);
|
|
734
|
-
border-radius:
|
|
742
|
+
border-radius: var(--radius-2);
|
|
735
743
|
padding: 0.2em 0.6em;
|
|
736
744
|
font-size: 0.75em;
|
|
737
745
|
opacity: 0;
|
|
@@ -753,7 +761,7 @@ body.chat-fullscreen {
|
|
|
753
761
|
gap: 0.35em;
|
|
754
762
|
background: var(--color-section-bg);
|
|
755
763
|
border: 1px solid var(--color-border);
|
|
756
|
-
border-radius:
|
|
764
|
+
border-radius: var(--radius-2);
|
|
757
765
|
padding: 0.2em 0.4em;
|
|
758
766
|
margin-right: 0.25em;
|
|
759
767
|
margin-top: 0.2em;
|
|
@@ -784,7 +792,7 @@ body.chat-fullscreen {
|
|
|
784
792
|
.comment-attachment-image {
|
|
785
793
|
max-width: 100%;
|
|
786
794
|
height: auto;
|
|
787
|
-
border-radius:
|
|
795
|
+
border-radius: var(--radius-2);
|
|
788
796
|
border: 1px solid var(--color-border);
|
|
789
797
|
}
|
|
790
798
|
|
|
@@ -839,7 +847,7 @@ body.chat-fullscreen {
|
|
|
839
847
|
}
|
|
840
848
|
|
|
841
849
|
#comment-participants {
|
|
842
|
-
|
|
850
|
+
padding: var(--space-1) 0;
|
|
843
851
|
min-height: 20px;
|
|
844
852
|
display: flex;
|
|
845
853
|
align-items: center;
|
|
@@ -909,7 +917,7 @@ body.chat-fullscreen {
|
|
|
909
917
|
flex-wrap: nowrap;
|
|
910
918
|
align-items: center;
|
|
911
919
|
gap: 0.4em;
|
|
912
|
-
padding:
|
|
920
|
+
padding: var(--space-1) 0;
|
|
913
921
|
overflow-x: auto;
|
|
914
922
|
overflow-y: visible;
|
|
915
923
|
scrollbar-width: none;
|
|
@@ -943,8 +951,14 @@ body.chat-fullscreen {
|
|
|
943
951
|
box-sizing: border-box;
|
|
944
952
|
}
|
|
945
953
|
|
|
954
|
+
.context-chip svg,
|
|
955
|
+
.context-toggle-btn svg {
|
|
956
|
+
vertical-align: middle;
|
|
957
|
+
flex-shrink: 0;
|
|
958
|
+
}
|
|
959
|
+
|
|
946
960
|
.context-chip:hover {
|
|
947
|
-
background: var(--
|
|
961
|
+
background: var(--surface-hover);
|
|
948
962
|
}
|
|
949
963
|
|
|
950
964
|
.context-chip.context-disabled {
|
|
@@ -1047,7 +1061,7 @@ body.chat-fullscreen {
|
|
|
1047
1061
|
|
|
1048
1062
|
.context-toggle-btn.context-toggle-active {
|
|
1049
1063
|
background: var(--color-secondary-active);
|
|
1050
|
-
color:
|
|
1064
|
+
color: var(--color-badge-text);
|
|
1051
1065
|
border-color: var(--color-secondary-active);
|
|
1052
1066
|
}
|
|
1053
1067
|
|
|
@@ -1056,8 +1070,7 @@ body.chat-fullscreen {
|
|
|
1056
1070
|
flex-wrap: nowrap;
|
|
1057
1071
|
align-items: center;
|
|
1058
1072
|
gap: 0.5em;
|
|
1059
|
-
padding:
|
|
1060
|
-
margin-bottom: 0.5em;
|
|
1073
|
+
padding: var(--space-1) 0;
|
|
1061
1074
|
overflow-x: auto;
|
|
1062
1075
|
overflow-y: hidden;
|
|
1063
1076
|
scrollbar-width: none; /* Firefox */
|
|
@@ -1088,12 +1101,12 @@ body.chat-fullscreen {
|
|
|
1088
1101
|
}
|
|
1089
1102
|
|
|
1090
1103
|
.topic-tag:hover {
|
|
1091
|
-
background: var(--
|
|
1104
|
+
background: var(--surface-hover);
|
|
1092
1105
|
}
|
|
1093
1106
|
|
|
1094
1107
|
.topic-tag.active {
|
|
1095
1108
|
background: var(--color-secondary-active);
|
|
1096
|
-
color:
|
|
1109
|
+
color: var(--color-badge-text);
|
|
1097
1110
|
border-color: var(--color-secondary-active);
|
|
1098
1111
|
}
|
|
1099
1112
|
|
|
@@ -1108,7 +1121,7 @@ body.chat-fullscreen {
|
|
|
1108
1121
|
top: -8px;
|
|
1109
1122
|
right: -10px;
|
|
1110
1123
|
background-color: var(--color-danger);
|
|
1111
|
-
color:
|
|
1124
|
+
color: var(--color-badge-text);
|
|
1112
1125
|
font-size: 0.6em;
|
|
1113
1126
|
padding: 0.1em 0.4em;
|
|
1114
1127
|
border-radius: 8px;
|
|
@@ -1118,7 +1131,7 @@ body.chat-fullscreen {
|
|
|
1118
1131
|
/* Drag and drop styles for moving comments to topics */
|
|
1119
1132
|
.topic-tag.drag-over {
|
|
1120
1133
|
background-color: var(--color-active);
|
|
1121
|
-
color:
|
|
1134
|
+
color: var(--color-badge-text);
|
|
1122
1135
|
border-color: var(--color-active);
|
|
1123
1136
|
transform: scale(1.05);
|
|
1124
1137
|
transition: all 0.15s ease;
|
|
@@ -1169,8 +1182,8 @@ body.chat-fullscreen {
|
|
|
1169
1182
|
left: -1000px;
|
|
1170
1183
|
padding: var(--space-2) var(--space-3);
|
|
1171
1184
|
background-color: var(--color-active);
|
|
1172
|
-
color:
|
|
1173
|
-
border-radius:
|
|
1185
|
+
color: var(--color-badge-text);
|
|
1186
|
+
border-radius: var(--radius-2);
|
|
1174
1187
|
font-size: 0.9em;
|
|
1175
1188
|
font-weight: 500;
|
|
1176
1189
|
white-space: nowrap;
|
|
@@ -1279,6 +1292,7 @@ body.chat-fullscreen {
|
|
|
1279
1292
|
.topic-archived-toggle {
|
|
1280
1293
|
display: inline-flex;
|
|
1281
1294
|
align-items: center;
|
|
1295
|
+
gap: 0.3em;
|
|
1282
1296
|
padding: 0.15em var(--space-2);
|
|
1283
1297
|
border-radius: var(--radius-3);
|
|
1284
1298
|
font-size: var(--text-0);
|
|
@@ -1298,10 +1312,11 @@ body.chat-fullscreen {
|
|
|
1298
1312
|
background: none;
|
|
1299
1313
|
border: none;
|
|
1300
1314
|
cursor: pointer;
|
|
1301
|
-
font-size: var(--text-00);
|
|
1302
1315
|
padding: 0 var(--space-1);
|
|
1303
1316
|
opacity: 0.6;
|
|
1304
|
-
|
|
1317
|
+
display: inline-flex;
|
|
1318
|
+
align-items: center;
|
|
1319
|
+
color: var(--text-secondary);
|
|
1305
1320
|
}
|
|
1306
1321
|
.archive-topic-btn:hover,
|
|
1307
1322
|
.unarchive-topic-btn:hover {
|
|
@@ -1349,7 +1364,7 @@ body.chat-fullscreen {
|
|
|
1349
1364
|
}
|
|
1350
1365
|
|
|
1351
1366
|
.selection-action-bar-btn:hover {
|
|
1352
|
-
background: var(--surface-hover
|
|
1367
|
+
background: var(--surface-hover);
|
|
1353
1368
|
}
|
|
1354
1369
|
|
|
1355
1370
|
.selection-action-delete:hover {
|
|
@@ -1441,7 +1456,7 @@ body.chat-fullscreen {
|
|
|
1441
1456
|
/* Blinking cursor inline at the end of streaming content */
|
|
1442
1457
|
.streaming-cursor {
|
|
1443
1458
|
animation: streaming-blink 1s infinite;
|
|
1444
|
-
color: var(--
|
|
1459
|
+
color: var(--text-primary);
|
|
1445
1460
|
margin-left: 1px;
|
|
1446
1461
|
font-weight: normal;
|
|
1447
1462
|
}
|
|
@@ -1452,11 +1467,11 @@ body.chat-fullscreen {
|
|
|
1452
1467
|
}
|
|
1453
1468
|
|
|
1454
1469
|
.review-hint {
|
|
1455
|
-
background: var(--surface-
|
|
1456
|
-
color: var(--text-
|
|
1457
|
-
padding: var(--space-2
|
|
1458
|
-
border-radius: var(--radius-2
|
|
1459
|
-
font-size: var(--text-0
|
|
1470
|
+
background: var(--surface-btn);
|
|
1471
|
+
color: var(--text-on-btn);
|
|
1472
|
+
padding: var(--space-2) var(--space-3);
|
|
1473
|
+
border-radius: var(--radius-2);
|
|
1474
|
+
font-size: var(--text-0);
|
|
1460
1475
|
white-space: nowrap;
|
|
1461
1476
|
z-index: var(--layer-important, 999);
|
|
1462
1477
|
animation: review-hint-fade 3s ease-out forwards;
|
|
@@ -64,7 +64,8 @@ html.creative-alignment-ready .page-title {
|
|
|
64
64
|
background: var(--surface-section);
|
|
65
65
|
border: 1px solid var(--border-color);
|
|
66
66
|
padding: 0.5em;
|
|
67
|
-
box-shadow:
|
|
67
|
+
box-shadow: var(--shadow-3);
|
|
68
|
+
border-radius: var(--radius-2);
|
|
68
69
|
min-width: 220px;
|
|
69
70
|
}
|
|
70
71
|
|
|
@@ -104,11 +105,11 @@ creative-tree-row.show-edit .creative-row {
|
|
|
104
105
|
position: fixed;
|
|
105
106
|
display: none;
|
|
106
107
|
pointer-events: none;
|
|
107
|
-
background:
|
|
108
|
+
background: color-mix(in srgb, var(--color-active) 90%, transparent);
|
|
108
109
|
color: var(--text-on-badge);
|
|
109
110
|
font-size: var(--text-0);
|
|
110
111
|
padding: 2px 8px;
|
|
111
|
-
border-radius:
|
|
112
|
+
border-radius: var(--radius-2);
|
|
112
113
|
transform: translate(-50%, -170%);
|
|
113
114
|
z-index: 9999;
|
|
114
115
|
font-weight: var(--weight-6);
|
|
@@ -165,7 +166,8 @@ creative-tree-row.show-edit .creative-row {
|
|
|
165
166
|
.creative-row:hover .creative-content {
|
|
166
167
|
text-decoration: underline;
|
|
167
168
|
text-decoration-color: var(--color-link);
|
|
168
|
-
text-decoration-thickness:
|
|
169
|
+
text-decoration-thickness: 2px;
|
|
170
|
+
text-underline-offset: 2px;
|
|
169
171
|
cursor: pointer;
|
|
170
172
|
}
|
|
171
173
|
|
|
@@ -307,20 +309,23 @@ creative-tree-row.show-edit .creative-row {
|
|
|
307
309
|
#voice-comments-btn.voice-input-active {
|
|
308
310
|
background-color: var(--color-brand);
|
|
309
311
|
color: var(--surface-bg);
|
|
310
|
-
border-radius:
|
|
312
|
+
border-radius: var(--radius-2);
|
|
311
313
|
padding: 4px 8px;
|
|
312
314
|
}
|
|
313
315
|
|
|
314
316
|
.creative-toggle-btn {
|
|
315
317
|
width: 16px;
|
|
316
318
|
height: 16px;
|
|
317
|
-
font-size: 14px;
|
|
318
319
|
margin-right: 4px;
|
|
319
320
|
margin-top: 4px;
|
|
320
321
|
/* Align with text */
|
|
321
322
|
visibility: hidden;
|
|
322
323
|
/* Hidden by default on desktop */
|
|
323
324
|
/* Total width is 20px (16 + 4) */
|
|
325
|
+
color: var(--text-secondary);
|
|
326
|
+
display: flex;
|
|
327
|
+
align-items: center;
|
|
328
|
+
justify-content: center;
|
|
324
329
|
}
|
|
325
330
|
|
|
326
331
|
|
|
@@ -435,11 +440,18 @@ creative-tree-row:not([expanded]) .creative-toggle-btn {
|
|
|
435
440
|
background-color: var(--border-drag-over);
|
|
436
441
|
}
|
|
437
442
|
|
|
443
|
+
creative-tree-row.chat-active .creative-row {
|
|
444
|
+
border: var(--border-1) solid var(--color-active);
|
|
445
|
+
border-radius: var(--radius-2);
|
|
446
|
+
box-shadow: 0 0 6px color-mix(in srgb, var(--color-active) 25%, transparent),
|
|
447
|
+
0 0 14px color-mix(in srgb, var(--color-active) 12%, transparent);
|
|
448
|
+
}
|
|
449
|
+
|
|
438
450
|
.creative-row:hover,
|
|
439
451
|
.creative-row.level-1:hover,
|
|
440
452
|
.creative-row.level-2:hover,
|
|
441
453
|
.creative-row.level-3:hover {
|
|
442
|
-
background-color: var(--
|
|
454
|
+
background-color: var(--surface-hover);
|
|
443
455
|
}
|
|
444
456
|
|
|
445
457
|
.creative-progress {
|
|
@@ -474,7 +486,7 @@ creative-tree-row:not([expanded]) .creative-toggle-btn {
|
|
|
474
486
|
|
|
475
487
|
.creative-origin-link:hover,
|
|
476
488
|
.creative-origin-link:focus {
|
|
477
|
-
background-color: var(--
|
|
489
|
+
background-color: var(--surface-hover);
|
|
478
490
|
}
|
|
479
491
|
|
|
480
492
|
.creative-origin-link-icon {
|
|
@@ -682,20 +694,24 @@ creative-tree-row:not([expanded]) .creative-toggle-btn {
|
|
|
682
694
|
/* Archive toggle button */
|
|
683
695
|
.archive-toggle-btn {
|
|
684
696
|
background: none;
|
|
685
|
-
border:
|
|
697
|
+
border: 1px solid var(--color-border);
|
|
698
|
+
border-radius: var(--radius-2);
|
|
686
699
|
cursor: pointer;
|
|
687
|
-
font-size: var(--text-2);
|
|
688
700
|
padding: var(--space-1) var(--space-2);
|
|
689
|
-
|
|
690
|
-
|
|
701
|
+
color: var(--text-secondary);
|
|
702
|
+
display: inline-flex;
|
|
703
|
+
align-items: center;
|
|
704
|
+
justify-content: center;
|
|
705
|
+
transition: background 0.15s, color 0.15s;
|
|
691
706
|
}
|
|
692
707
|
.archive-toggle-btn:hover {
|
|
693
|
-
|
|
708
|
+
background: var(--surface-input);
|
|
709
|
+
color: var(--text-primary);
|
|
694
710
|
}
|
|
695
711
|
.archive-toggle-btn.active {
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
border-
|
|
712
|
+
background: var(--color-active);
|
|
713
|
+
color: var(--color-badge-text);
|
|
714
|
+
border-color: var(--color-active);
|
|
699
715
|
}
|
|
700
716
|
|
|
701
717
|
/* Archived creative row */
|
|
@@ -79,6 +79,35 @@ body.dark-mode {
|
|
|
79
79
|
/* ============================================================================
|
|
80
80
|
* BASE ELEMENT STYLES
|
|
81
81
|
* ============================================================================ */
|
|
82
|
+
@media (prefers-reduced-motion: reduce) {
|
|
83
|
+
|
|
84
|
+
/* Collapse decorative transitions to instant; state changes still
|
|
85
|
+
apply but without visible motion (hover bg, theme switch, etc.). */
|
|
86
|
+
*, *::before, *::after {
|
|
87
|
+
transition-duration: 0.01ms !important;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* Disable decorative/non-essential animations entirely so that
|
|
91
|
+
elements styled with animation end up in their *final* keyframe
|
|
92
|
+
state (via forwards fill) rather than flickering.
|
|
93
|
+
Infinite animations (spinners, streaming dots) stop on their
|
|
94
|
+
current frame and become static — which is the correct reduced-
|
|
95
|
+
motion behaviour. */
|
|
96
|
+
*, *::before, *::after {
|
|
97
|
+
animation-duration: 0.01ms !important;
|
|
98
|
+
animation-iteration-count: 1 !important;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* Keep timed-visibility elements (toasts, hints) fully visible
|
|
102
|
+
instead of letting the collapsed fade-out hide them instantly. */
|
|
103
|
+
.share-modal-message,
|
|
104
|
+
.review-hint,
|
|
105
|
+
.comment-copy-notice.visible {
|
|
106
|
+
animation: none !important;
|
|
107
|
+
opacity: 1 !important;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
82
111
|
body {
|
|
83
112
|
background: var(--surface-bg);
|
|
84
113
|
color: var(--text-primary);
|
|
@@ -96,6 +125,7 @@ nav {
|
|
|
96
125
|
|
|
97
126
|
a {
|
|
98
127
|
color: var(--color-link);
|
|
128
|
+
transition: color 0.15s;
|
|
99
129
|
}
|
|
100
130
|
|
|
101
131
|
main,
|
|
@@ -107,9 +137,27 @@ button,
|
|
|
107
137
|
input[type="button"],
|
|
108
138
|
input[type="submit"] {
|
|
109
139
|
border: none;
|
|
110
|
-
border-radius:
|
|
140
|
+
border-radius: var(--radius-2);
|
|
111
141
|
padding: 2px 4px;
|
|
112
|
-
transition: background 0.
|
|
142
|
+
transition: background 0.15s, color 0.15s, transform 0.1s;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* --- Global active press feedback --- */
|
|
146
|
+
button:active:not(:disabled),
|
|
147
|
+
input[type="button"]:active:not(:disabled),
|
|
148
|
+
input[type="submit"]:active:not(:disabled),
|
|
149
|
+
.btn:active:not(:disabled) {
|
|
150
|
+
transform: scale(0.97);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* --- Global focus-visible ring --- */
|
|
154
|
+
button:focus-visible,
|
|
155
|
+
input[type="button"]:focus-visible,
|
|
156
|
+
input[type="submit"]:focus-visible,
|
|
157
|
+
a:focus-visible,
|
|
158
|
+
.btn:focus-visible {
|
|
159
|
+
outline: 2px solid var(--color-active);
|
|
160
|
+
outline-offset: 2px;
|
|
113
161
|
}
|
|
114
162
|
|
|
115
163
|
/* ============================================================================
|
|
@@ -127,7 +175,7 @@ input[type="submit"] {
|
|
|
127
175
|
font-weight: 500;
|
|
128
176
|
line-height: 1.4;
|
|
129
177
|
border: 1px solid var(--border-color);
|
|
130
|
-
border-radius: var(--radius-2
|
|
178
|
+
border-radius: var(--radius-2);
|
|
131
179
|
background: var(--surface-btn);
|
|
132
180
|
color: var(--text-on-btn);
|
|
133
181
|
cursor: pointer;
|
|
@@ -249,3 +297,28 @@ input[type="datetime-local"]::-webkit-datetime-edit-minute-field {
|
|
|
249
297
|
.inline-block {
|
|
250
298
|
display: inline-block;
|
|
251
299
|
}
|
|
300
|
+
|
|
301
|
+
/* --- Dark mode: stronger glow for visibility on dark backgrounds --- */
|
|
302
|
+
body.dark-mode #comments-popup {
|
|
303
|
+
box-shadow: var(--shadow-3),
|
|
304
|
+
0 0 8px color-mix(in srgb, var(--color-active) 45%, transparent),
|
|
305
|
+
0 0 20px color-mix(in srgb, var(--color-active) 25%, transparent);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
body.dark-mode creative-tree-row.chat-active .creative-row {
|
|
309
|
+
box-shadow: 0 0 8px color-mix(in srgb, var(--color-active) 45%, transparent),
|
|
310
|
+
0 0 20px color-mix(in srgb, var(--color-active) 25%, transparent);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
@media (prefers-color-scheme: dark) {
|
|
314
|
+
body:not(.light-mode):not(.dark-mode) #comments-popup {
|
|
315
|
+
box-shadow: var(--shadow-3),
|
|
316
|
+
0 0 8px color-mix(in srgb, var(--color-active) 45%, transparent),
|
|
317
|
+
0 0 20px color-mix(in srgb, var(--color-active) 25%, transparent);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
body:not(.light-mode):not(.dark-mode) creative-tree-row.chat-active .creative-row {
|
|
321
|
+
box-shadow: 0 0 8px color-mix(in srgb, var(--color-active) 45%, transparent),
|
|
322
|
+
0 0 20px color-mix(in srgb, var(--color-active) 25%, transparent);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
@@ -194,6 +194,9 @@
|
|
|
194
194
|
--color-code-bg: #f6f8fa; /* code block background */
|
|
195
195
|
--color-code-text: #1f2328; /* code block text */
|
|
196
196
|
|
|
197
|
+
/* -- Surfaces (hover) -- */
|
|
198
|
+
--surface-hover: rgba(0, 0, 0, 0.06); /* hover background overlay */
|
|
199
|
+
|
|
197
200
|
/* -- Borders & Dividers -- */
|
|
198
201
|
--border-color: #e0e0e0; /* default borders */
|
|
199
202
|
--border-drag-over: #e0e0e0; /* drag target highlight */
|
|
@@ -245,7 +248,7 @@ body.dark-mode {
|
|
|
245
248
|
--text-input: #eaeaea;
|
|
246
249
|
|
|
247
250
|
/* -- Interactive -- */
|
|
248
|
-
--color-link: #
|
|
251
|
+
--color-link: #6EA8FE;
|
|
249
252
|
--color-brand: oklch(50% 0.4 145);
|
|
250
253
|
--color-active: #6a9eff;
|
|
251
254
|
--color-badge-bg: red;
|
|
@@ -255,6 +258,9 @@ body.dark-mode {
|
|
|
255
258
|
--color-code-bg: #2d2d2d;
|
|
256
259
|
--color-code-text: #e0e0e0;
|
|
257
260
|
|
|
261
|
+
/* -- Surfaces (hover) -- */
|
|
262
|
+
--surface-hover: rgba(255, 255, 255, 0.08);
|
|
263
|
+
|
|
258
264
|
/* -- Borders & Dividers -- */
|
|
259
265
|
--border-color: #333333;
|
|
260
266
|
--border-drag-over: #383a40;
|
|
@@ -292,7 +298,7 @@ body.dark-mode {
|
|
|
292
298
|
--text-on-badge: white;
|
|
293
299
|
--text-input: #eaeaea;
|
|
294
300
|
|
|
295
|
-
--color-link: #
|
|
301
|
+
--color-link: #6EA8FE;
|
|
296
302
|
--color-brand: oklch(50% 0.4 145);
|
|
297
303
|
--color-active: #6a9eff;
|
|
298
304
|
--color-badge-bg: red;
|
|
@@ -302,6 +308,8 @@ body.dark-mode {
|
|
|
302
308
|
--color-code-bg: #2d2d2d;
|
|
303
309
|
--color-code-text: #e0e0e0;
|
|
304
310
|
|
|
311
|
+
--surface-hover: rgba(255, 255, 255, 0.08);
|
|
312
|
+
|
|
305
313
|
--border-color: #333333;
|
|
306
314
|
--border-drag-over: #383a40;
|
|
307
315
|
--border-drag-edge: #777777;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
background: var(--surface-section);
|
|
6
6
|
border: 1px solid var(--border-color);
|
|
7
7
|
box-shadow: var(--shadow-2);
|
|
8
|
-
border-radius:
|
|
8
|
+
border-radius: var(--radius-2);
|
|
9
9
|
padding: 0.35em;
|
|
10
10
|
max-width: min(420px, 90vw);
|
|
11
11
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
.mention-item.active,
|
|
39
39
|
.common-popup-item:hover,
|
|
40
40
|
.common-popup-item.active {
|
|
41
|
-
background: var(--
|
|
41
|
+
background: var(--surface-hover);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
.common-popup-item {
|