@qfei-design/make-ai-assistant 0.2.5 → 0.2.7

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/dist/styles.css CHANGED
@@ -18,19 +18,28 @@
18
18
  --make-ai-internal-on-overlay: var(--make-ai-theme-on-overlay, var(--make-ai-on-overlay, #fcfcff));
19
19
  --make-ai-internal-overlay-shadow: color-mix(in srgb, var(--make-ai-internal-accent) 18%, transparent);
20
20
  --make-ai-internal-highlight: color-mix(in srgb, var(--make-ai-internal-bg) 58%, transparent);
21
- --make-ai-internal-drawer-width: var(--make-ai-drawer-width, 432px);
21
+ --make-ai-internal-drawer-min-width: var(--make-ai-drawer-width, 480px);
22
+ --make-ai-internal-drawer-width: var(--make-ai-internal-drawer-min-width);
23
+ --make-ai-internal-drawer-max-width: max(var(--make-ai-internal-drawer-min-width), min(1024px, 72vw));
22
24
  --make-ai-internal-drawer-resize-line: var(--make-ai-drawer-resize-line, var(--make-ai-internal-accent));
23
25
  --make-ai-internal-z-index: var(--make-ai-z-index, 1050);
24
- --make-ai-internal-font-size-body: var(--make-ai-font-size-body, .75rem);
25
- --make-ai-internal-font-size-markdown: var(--make-ai-font-size-markdown, .6875rem);
26
- --make-ai-internal-font-size-ui: var(--make-ai-font-size-ui, .75rem);
27
- --make-ai-internal-line-height-body: var(--make-ai-line-height-body, 1.58);
26
+ --make-ai-internal-font-size-heading: var(--make-ai-font-size-heading, .875rem);
27
+ --make-ai-internal-font-size-body: var(--make-ai-font-size-body, .8125rem);
28
+ --make-ai-internal-font-size-markdown: var(--make-ai-font-size-markdown, .8125rem);
29
+ --make-ai-internal-font-size-meta: var(--make-ai-font-size-meta, .75rem);
30
+ --make-ai-internal-font-size-caption: var(--make-ai-font-size-caption, .6875rem);
31
+ --make-ai-internal-font-size-ui: var(--make-ai-font-size-ui, var(--make-ai-internal-font-size-caption));
32
+ --make-ai-internal-line-height-heading: var(--make-ai-line-height-heading, 1.43);
33
+ --make-ai-internal-line-height-body: var(--make-ai-line-height-body, 1.62);
34
+ --make-ai-internal-line-height-meta: var(--make-ai-line-height-meta, 1.5);
35
+ --make-ai-internal-line-height-caption: var(--make-ai-line-height-caption, 1.45);
28
36
  --make-ai-internal-panel-gutter: var(--make-ai-panel-gutter, 16px);
29
37
  --make-ai-internal-panel-gutter-compact: var(--make-ai-panel-gutter-compact, 12px);
30
38
  --make-ai-internal-panel-gutter-wide: var(--make-ai-panel-gutter-wide, 24px);
31
39
  --make-ai-internal-header-height: var(--make-ai-header-height, 50px);
32
40
  --make-ai-internal-message-turn-gap: var(--make-ai-message-turn-gap, 8px);
33
- --make-ai-internal-assistant-content-gap: var(--make-ai-assistant-content-gap, 12px);
41
+ --make-ai-internal-assistant-content-gap: var(--make-ai-assistant-content-gap, 8px);
42
+ --make-ai-internal-assistant-block-gap: var(--make-ai-assistant-block-gap, 12px);
34
43
  }
35
44
 
36
45
  .make-ai-assistant,
@@ -62,6 +71,7 @@
62
71
  }
63
72
 
64
73
  .make-ai-assistant__launcher {
74
+ --make-ai-internal-launcher-translate: translate3d(0, 0, 0);
65
75
  align-items: center;
66
76
  background:
67
77
  radial-gradient(circle at 34% 24%, var(--make-ai-internal-highlight), transparent 31%),
@@ -77,7 +87,7 @@
77
87
  );
78
88
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 34%, var(--make-ai-internal-border));
79
89
  border-radius: 50%;
80
- bottom: auto;
90
+ bottom: var(--make-ai-launcher-bottom, 18px);
81
91
  box-shadow:
82
92
  0 12px 26px color-mix(in srgb, var(--make-ai-internal-accent) 14%, transparent),
83
93
  0 0 0 6px color-mix(in srgb, var(--make-ai-internal-accent) 5%, transparent),
@@ -90,9 +100,10 @@
90
100
  overflow: visible;
91
101
  padding: 0;
92
102
  position: fixed;
93
- right: var(--make-ai-launcher-right, 18px);
94
- top: var(--make-ai-launcher-top, 50%);
95
- transform: translateY(-50%);
103
+ left: var(--make-ai-launcher-left, 18px);
104
+ right: auto;
105
+ top: auto;
106
+ transform: var(--make-ai-internal-launcher-translate) scale(1);
96
107
  transition:
97
108
  box-shadow 180ms cubic-bezier(.25, 1, .5, 1),
98
109
  transform 180ms cubic-bezier(.25, 1, .5, 1);
@@ -100,16 +111,47 @@
100
111
  z-index: calc(var(--make-ai-internal-z-index) + 2);
101
112
  }
102
113
 
114
+ .make-ai-assistant__launcher[data-launcher-position="bottom-right"] {
115
+ left: auto;
116
+ right: var(--make-ai-launcher-right, 18px);
117
+ }
118
+
119
+ .make-ai-assistant__launcher[data-launcher-position="top-left"] {
120
+ bottom: auto;
121
+ top: var(--make-ai-launcher-top, 18px);
122
+ }
123
+
124
+ .make-ai-assistant__launcher[data-launcher-position="top-right"] {
125
+ bottom: auto;
126
+ left: auto;
127
+ right: var(--make-ai-launcher-right, 18px);
128
+ top: var(--make-ai-launcher-top, 18px);
129
+ }
130
+
131
+ .make-ai-assistant__launcher[data-launcher-position="left-center"] {
132
+ --make-ai-internal-launcher-translate: translateY(-50%);
133
+ bottom: auto;
134
+ top: var(--make-ai-launcher-top, 50%);
135
+ }
136
+
137
+ .make-ai-assistant__launcher[data-launcher-position="right-center"] {
138
+ --make-ai-internal-launcher-translate: translateY(-50%);
139
+ bottom: auto;
140
+ left: auto;
141
+ right: var(--make-ai-launcher-right, 18px);
142
+ top: var(--make-ai-launcher-top, 50%);
143
+ }
144
+
103
145
  .make-ai-assistant__launcher:hover {
104
146
  box-shadow:
105
147
  0 14px 30px color-mix(in srgb, var(--make-ai-internal-accent) 17%, transparent),
106
148
  0 0 0 8px color-mix(in srgb, var(--make-ai-internal-accent) 7%, transparent),
107
149
  inset 0 1px 0 var(--make-ai-internal-highlight);
108
- transform: translateY(-50%) scale(1.04);
150
+ transform: var(--make-ai-internal-launcher-translate) scale(1.04);
109
151
  }
110
152
 
111
153
  .make-ai-assistant__launcher:active {
112
- transform: translateY(-50%) scale(.98);
154
+ transform: var(--make-ai-internal-launcher-translate) scale(.98);
113
155
  }
114
156
 
115
157
  .make-ai-assistant__launcher:focus-visible,
@@ -171,7 +213,11 @@
171
213
  position: fixed;
172
214
  right: 0;
173
215
  top: 0;
174
- width: min(var(--make-ai-internal-drawer-width), 100vw);
216
+ width: min(
217
+ var(--make-ai-internal-drawer-width),
218
+ var(--make-ai-internal-drawer-max-width),
219
+ 100vw
220
+ );
175
221
  z-index: var(--make-ai-internal-z-index);
176
222
  animation: make-ai-drawer-in 180ms cubic-bezier(.2, .75, .35, 1);
177
223
  }
@@ -246,7 +292,7 @@
246
292
  }
247
293
 
248
294
  .make-ai-assistant__header h2 {
249
- font-size: .875rem;
295
+ font-size: var(--make-ai-internal-font-size-heading);
250
296
  font-weight: 700;
251
297
  letter-spacing: 0;
252
298
  line-height: 18px;
@@ -254,7 +300,7 @@
254
300
 
255
301
  .make-ai-assistant__header p {
256
302
  color: var(--make-ai-internal-text-secondary);
257
- font-size: .6875rem;
303
+ font-size: var(--make-ai-internal-font-size-meta);
258
304
  line-height: 14px;
259
305
  }
260
306
 
@@ -337,9 +383,9 @@
337
383
  border-radius: 5px;
338
384
  color: color-mix(in srgb, var(--make-ai-internal-accent) 82%, var(--make-ai-internal-text));
339
385
  flex: 0 0 auto;
340
- font-size: .625rem;
386
+ font-size: var(--make-ai-internal-font-size-caption);
341
387
  font-weight: 650;
342
- line-height: 16px;
388
+ line-height: var(--make-ai-internal-line-height-caption);
343
389
  padding: 0 5px;
344
390
  }
345
391
 
@@ -387,9 +433,9 @@
387
433
  border-radius: 8px;
388
434
  box-shadow: 0 8px 18px var(--make-ai-internal-overlay-shadow);
389
435
  color: var(--make-ai-internal-on-overlay);
390
- font-size: 11px;
436
+ font-size: var(--make-ai-internal-font-size-meta);
391
437
  font-weight: 500;
392
- line-height: 1.5;
438
+ line-height: var(--make-ai-internal-line-height-meta);
393
439
  max-height: calc(100vh - 32px);
394
440
  max-width: min(280px, calc(100vw - 32px));
395
441
  opacity: 0;
@@ -503,10 +549,10 @@
503
549
 
504
550
  .make-ai-assistant__load-failure-label {
505
551
  color: var(--make-ai-load-failure-accent);
506
- font-size: .625rem;
552
+ font-size: var(--make-ai-internal-font-size-caption);
507
553
  font-weight: 700;
508
554
  letter-spacing: .04em;
509
- line-height: 1.4;
555
+ line-height: var(--make-ai-internal-line-height-caption);
510
556
  }
511
557
 
512
558
  .make-ai-assistant__load-failure h3,
@@ -516,15 +562,15 @@
516
562
 
517
563
  .make-ai-assistant__load-failure h3 {
518
564
  color: var(--make-ai-internal-text);
519
- font-size: 1rem;
565
+ font-size: var(--make-ai-internal-font-size-heading);
520
566
  font-weight: 700;
521
- line-height: 1.45;
567
+ line-height: var(--make-ai-internal-line-height-heading);
522
568
  }
523
569
 
524
570
  .make-ai-assistant__load-failure p {
525
571
  color: var(--make-ai-internal-text-secondary);
526
572
  font-size: var(--make-ai-internal-font-size-body);
527
- line-height: 1.55;
573
+ line-height: var(--make-ai-internal-line-height-body);
528
574
  }
529
575
 
530
576
  .make-ai-assistant__message {
@@ -583,9 +629,9 @@
583
629
 
584
630
  .make-ai-assistant__message-sender {
585
631
  color: var(--make-ai-internal-text-secondary);
586
- font-size: 12px;
632
+ font-size: var(--make-ai-internal-font-size-meta);
587
633
  font-weight: 600;
588
- line-height: 16px;
634
+ line-height: var(--make-ai-internal-line-height-meta);
589
635
  }
590
636
 
591
637
  .make-ai-assistant__message--user .make-ai-assistant__message-sender {
@@ -631,6 +677,8 @@
631
677
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-accent) 7%, var(--make-ai-internal-border));
632
678
  border-radius: 16px 5px 16px 16px;
633
679
  color: color-mix(in srgb, var(--make-ai-internal-text) 82%, var(--make-ai-internal-accent));
680
+ font-size: var(--make-ai-internal-font-size-heading);
681
+ line-height: var(--make-ai-internal-line-height-heading);
634
682
  padding: 10px 13px;
635
683
  white-space: pre-wrap;
636
684
  }
@@ -638,10 +686,11 @@
638
686
  .make-ai-assistant__assistant-text {
639
687
  display: grid;
640
688
  font-size: var(--make-ai-internal-font-size-markdown);
641
- gap: 10px;
642
- line-height: 1.7;
643
- max-width: min(100%, 66ch);
689
+ gap: var(--make-ai-internal-assistant-block-gap);
690
+ line-height: var(--make-ai-internal-line-height-body);
691
+ max-width: 100%;
644
692
  white-space: normal;
693
+ width: 100%;
645
694
  }
646
695
 
647
696
  .make-ai-assistant__assistant-text p,
@@ -658,10 +707,10 @@
658
707
  border-left: 3px solid color-mix(in srgb, var(--make-ai-internal-accent) 68%, var(--make-ai-internal-border));
659
708
  color: color-mix(in srgb, var(--make-ai-internal-text) 94%, var(--make-ai-internal-accent));
660
709
  display: block;
661
- font-size: 1.04em;
710
+ font-size: var(--make-ai-internal-font-size-heading);
662
711
  font-weight: 720;
663
712
  letter-spacing: -.01em;
664
- line-height: 1.45;
713
+ line-height: var(--make-ai-internal-line-height-heading);
665
714
  min-width: 0;
666
715
  padding: 0 0 0 8px;
667
716
  }
@@ -671,7 +720,7 @@
671
720
  .make-ai-assistant__markdown-heading--5,
672
721
  .make-ai-assistant__markdown-heading--6 {
673
722
  color: color-mix(in srgb, var(--make-ai-internal-text) 90%, var(--make-ai-internal-accent));
674
- font-size: 1em;
723
+ font-size: var(--make-ai-internal-font-size-heading);
675
724
  font-weight: 680;
676
725
  }
677
726
 
@@ -745,6 +794,29 @@
745
794
  max-width: 100%;
746
795
  overflow-x: auto;
747
796
  overscroll-behavior-inline: contain;
797
+ scrollbar-color: color-mix(in srgb, var(--make-ai-internal-accent) 46%, var(--make-ai-internal-border)) transparent;
798
+ scrollbar-width: thin;
799
+ }
800
+
801
+ .make-ai-assistant__markdown-table-scroll::-webkit-scrollbar {
802
+ height: 6px;
803
+ width: 6px;
804
+ }
805
+
806
+ .make-ai-assistant__markdown-table-scroll::-webkit-scrollbar-track {
807
+ background: transparent;
808
+ }
809
+
810
+ .make-ai-assistant__markdown-table-scroll::-webkit-scrollbar-thumb {
811
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 46%, var(--make-ai-internal-border));
812
+ background-clip: padding-box;
813
+ border: 1px solid transparent;
814
+ border-radius: 999px;
815
+ }
816
+
817
+ .make-ai-assistant__markdown-table-scroll:hover::-webkit-scrollbar-thumb,
818
+ .make-ai-assistant__markdown-table-scroll:focus-within::-webkit-scrollbar-thumb {
819
+ background: color-mix(in srgb, var(--make-ai-internal-accent) 64%, var(--make-ai-internal-border));
748
820
  }
749
821
 
750
822
  .make-ai-assistant__markdown-table {
@@ -812,7 +884,7 @@
812
884
  flex-direction: column;
813
885
  font-size: var(--make-ai-internal-font-size-body);
814
886
  gap: 4px;
815
- line-height: 1.55;
887
+ line-height: var(--make-ai-internal-line-height-body);
816
888
  overflow-wrap: anywhere;
817
889
  padding: 10px 12px;
818
890
  }
@@ -828,8 +900,9 @@
828
900
  align-items: center;
829
901
  color: var(--make-ai-internal-danger);
830
902
  display: flex;
903
+ font-size: var(--make-ai-internal-font-size-heading);
831
904
  gap: 8px;
832
- line-height: 20px;
905
+ line-height: var(--make-ai-internal-line-height-heading);
833
906
  }
834
907
 
835
908
  .make-ai-assistant__message-status-icon {
@@ -863,9 +936,9 @@
863
936
  color: var(--make-ai-internal-text-secondary);
864
937
  display: flex;
865
938
  flex: 1;
866
- font-size: 12px;
939
+ font-size: var(--make-ai-internal-font-size-meta);
867
940
  gap: 7px;
868
- line-height: 18px;
941
+ line-height: var(--make-ai-internal-line-height-meta);
869
942
  min-width: 0;
870
943
  min-height: 24px;
871
944
  }
@@ -889,8 +962,8 @@
889
962
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 88%, transparent);
890
963
  border-radius: 10px;
891
964
  color: var(--make-ai-internal-text-secondary);
892
- font-size: 12px;
893
- line-height: 1.55;
965
+ font-size: var(--make-ai-internal-font-size-meta);
966
+ line-height: var(--make-ai-internal-line-height-meta);
894
967
  overflow: hidden;
895
968
  overflow-wrap: anywhere;
896
969
  }
@@ -928,7 +1001,7 @@
928
1001
  .make-ai-assistant__process-count {
929
1002
  color: color-mix(in srgb, var(--make-ai-internal-text-secondary) 78%, var(--make-ai-internal-bg));
930
1003
  flex: 0 0 auto;
931
- font-size: 11px;
1004
+ font-size: var(--make-ai-internal-font-size-caption);
932
1005
  margin-left: auto;
933
1006
  }
934
1007
 
@@ -961,6 +1034,9 @@
961
1034
  }
962
1035
 
963
1036
  .make-ai-assistant__process li > span:last-child {
1037
+ color: var(--make-ai-internal-text);
1038
+ font-size: var(--make-ai-internal-font-size-body);
1039
+ line-height: var(--make-ai-internal-line-height-body);
964
1040
  min-width: 0;
965
1041
  overflow-wrap: anywhere;
966
1042
  }
@@ -1015,10 +1091,10 @@
1015
1091
  box-shadow: 0 8px 18px var(--make-ai-internal-overlay-shadow);
1016
1092
  color: var(--make-ai-internal-on-overlay);
1017
1093
  content: attr(data-tooltip);
1018
- font-size: 11px;
1094
+ font-size: var(--make-ai-internal-font-size-meta);
1019
1095
  font-weight: 600;
1020
1096
  left: 50%;
1021
- line-height: 1;
1097
+ line-height: var(--make-ai-internal-line-height-meta);
1022
1098
  opacity: 0;
1023
1099
  padding: 6px 8px;
1024
1100
  pointer-events: none;
@@ -1101,7 +1177,7 @@
1101
1177
  color: var(--make-ai-internal-danger);
1102
1178
  cursor: pointer;
1103
1179
  display: inline-flex;
1104
- font-size: 12px;
1180
+ font-size: var(--make-ai-internal-font-size-meta);
1105
1181
  font-weight: 600;
1106
1182
  gap: 6px;
1107
1183
  margin-top: 4px;
@@ -1165,7 +1241,7 @@
1165
1241
  color: var(--make-ai-internal-text-secondary);
1166
1242
  cursor: pointer;
1167
1243
  flex: 0 0 auto;
1168
- font-size: 12px;
1244
+ font-size: var(--make-ai-internal-font-size-meta);
1169
1245
  padding: 7px 10px;
1170
1246
  }
1171
1247
 
@@ -1199,7 +1275,7 @@
1199
1275
  border: 0;
1200
1276
  color: var(--make-ai-internal-text);
1201
1277
  font-size: var(--make-ai-internal-font-size-body);
1202
- line-height: 1.5;
1278
+ line-height: var(--make-ai-internal-line-height-body);
1203
1279
  max-height: 112px;
1204
1280
  min-height: 38px;
1205
1281
  outline: 0;
@@ -1266,8 +1342,8 @@
1266
1342
 
1267
1343
  .make-ai-assistant__composer-region > p {
1268
1344
  color: var(--make-ai-internal-text-secondary);
1269
- font-size: 10px;
1270
- line-height: 1.45;
1345
+ font-size: var(--make-ai-internal-font-size-caption);
1346
+ line-height: var(--make-ai-internal-line-height-caption);
1271
1347
  margin: 7px 0 0;
1272
1348
  text-align: center;
1273
1349
  }
@@ -1277,6 +1353,8 @@
1277
1353
  border: 1px solid color-mix(in srgb, var(--make-ai-internal-border) 86%, transparent);
1278
1354
  border-radius: var(--make-ai-internal-radius);
1279
1355
  container-type: inline-size;
1356
+ font-size: var(--make-ai-internal-font-size-body);
1357
+ line-height: var(--make-ai-internal-line-height-body);
1280
1358
  overflow: hidden;
1281
1359
  padding: 14px;
1282
1360
  width: 100%;
@@ -1292,19 +1370,25 @@
1292
1370
  }
1293
1371
 
1294
1372
  .make-ai-artifact__title {
1295
- font-size: var(--make-ai-internal-font-size-body);
1373
+ font-size: var(--make-ai-internal-font-size-heading);
1296
1374
  font-weight: 600;
1297
- line-height: 20px;
1375
+ line-height: var(--make-ai-internal-line-height-heading);
1298
1376
  margin: 0;
1299
1377
  }
1300
1378
 
1301
1379
  .make-ai-artifact__summary,
1302
- .make-ai-artifact__context,
1380
+ .make-ai-artifact__context {
1381
+ color: var(--make-ai-internal-text-secondary);
1382
+ font-size: var(--make-ai-internal-font-size-meta);
1383
+ line-height: var(--make-ai-internal-line-height-meta);
1384
+ margin: 6px 0 0;
1385
+ }
1386
+
1303
1387
  .make-ai-artifact__record-total {
1304
1388
  color: var(--make-ai-internal-text-secondary);
1305
- font-size: 11px;
1306
- line-height: 1.5;
1307
- margin: 4px 0 0;
1389
+ font-size: var(--make-ai-internal-font-size-caption);
1390
+ line-height: var(--make-ai-internal-line-height-caption);
1391
+ margin: 6px 0 0;
1308
1392
  }
1309
1393
 
1310
1394
  .make-ai-artifact__metric-value {
@@ -1320,7 +1404,7 @@
1320
1404
  align-items: center;
1321
1405
  color: var(--make-ai-internal-text-secondary);
1322
1406
  display: flex;
1323
- font-size: 11px;
1407
+ font-size: var(--make-ai-internal-font-size-meta);
1324
1408
  gap: 4px;
1325
1409
  margin-top: 5px;
1326
1410
  }
@@ -1343,7 +1427,7 @@
1343
1427
  color: var(--make-ai-internal-accent);
1344
1428
  cursor: pointer;
1345
1429
  display: inline-flex;
1346
- font-size: 12px;
1430
+ font-size: var(--make-ai-internal-font-size-meta);
1347
1431
  font-weight: 600;
1348
1432
  gap: 5px;
1349
1433
  padding: 3px 0;
@@ -1381,21 +1465,23 @@
1381
1465
 
1382
1466
  .make-ai-artifact__comparison-item:first-child { border-left: 0; padding-left: 0; }
1383
1467
  .make-ai-artifact__comparison-item span,
1384
- .make-ai-artifact__comparison-item small { color: var(--make-ai-internal-text-secondary); font-size: 11px; }
1468
+ .make-ai-artifact__comparison-item small { color: var(--make-ai-internal-text-secondary); }
1469
+ .make-ai-artifact__comparison-item span { font-size: var(--make-ai-internal-font-size-meta); line-height: var(--make-ai-internal-line-height-meta); }
1470
+ .make-ai-artifact__comparison-item small { font-size: var(--make-ai-internal-font-size-caption); line-height: var(--make-ai-internal-line-height-caption); }
1385
1471
  .make-ai-artifact__comparison-item strong { font-size: 18px; }
1386
1472
 
1387
1473
  .make-ai-artifact__trend { margin-top: 12px; }
1388
- .make-ai-artifact__trend-label { color: var(--make-ai-internal-text-secondary); font-size: 11px; margin-bottom: 8px; }
1474
+ .make-ai-artifact__trend-label { color: var(--make-ai-internal-text-secondary); font-size: var(--make-ai-internal-font-size-meta); line-height: var(--make-ai-internal-line-height-meta); margin-bottom: 8px; }
1389
1475
  .make-ai-artifact__trend-bars { align-items: flex-end; display: flex; gap: 5px; height: 112px; }
1390
1476
  .make-ai-artifact__trend-point { align-items: center; display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: flex-end; min-width: 0; }
1391
1477
  .make-ai-artifact__trend-bar { background: var(--make-ai-internal-accent); border-radius: 4px 4px 1px 1px; min-height: 4px; width: min(18px, 70%); }
1392
- .make-ai-artifact__trend-point small { color: var(--make-ai-internal-text-secondary); font-size: 9px; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; text-align: center; }
1478
+ .make-ai-artifact__trend-point small { color: var(--make-ai-internal-text-secondary); font-size: var(--make-ai-internal-font-size-caption); line-height: var(--make-ai-internal-line-height-caption); margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; text-align: center; }
1393
1479
 
1394
1480
  .make-ai-artifact__ranking { list-style: none; margin: 12px 0 0; padding: 0; }
1395
- .make-ai-artifact__ranking li { align-items: center; display: grid; font-size: 12px; gap: 8px; grid-template-columns: 20px minmax(72px, auto) minmax(40px, 1fr) auto; margin-top: 9px; }
1396
- .make-ai-artifact__rank { align-items: center; background: var(--make-ai-internal-surface-strong); border-radius: 6px; color: var(--make-ai-internal-text-secondary); display: flex; height: 20px; justify-content: center; }
1481
+ .make-ai-artifact__ranking li { align-items: center; display: grid; font-size: var(--make-ai-internal-font-size-body); gap: 8px; grid-template-columns: 20px minmax(72px, auto) minmax(40px, 1fr) auto; margin-top: 9px; }
1482
+ .make-ai-artifact__rank { align-items: center; background: var(--make-ai-internal-surface-strong); border-radius: 6px; color: var(--make-ai-internal-text-secondary); display: flex; font-size: var(--make-ai-internal-font-size-meta); height: 20px; justify-content: center; }
1397
1483
  .make-ai-artifact__ranking-label { display: flex; flex-direction: column; min-width: 0; }
1398
- .make-ai-artifact__ranking-label small { color: var(--make-ai-internal-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1484
+ .make-ai-artifact__ranking-label small { color: var(--make-ai-internal-text-secondary); font-size: var(--make-ai-internal-font-size-caption); line-height: var(--make-ai-internal-line-height-caption); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1399
1485
  .make-ai-artifact__ranking-track { background: var(--make-ai-internal-surface-strong); border-radius: 999px; height: 5px; overflow: hidden; }
1400
1486
  .make-ai-artifact__ranking-track span { background: var(--make-ai-internal-accent); border-radius: inherit; display: block; height: 100%; }
1401
1487
 
@@ -1405,10 +1491,10 @@ button.make-ai-artifact__record { cursor: pointer; }
1405
1491
  button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accent-soft); }
1406
1492
  .make-ai-artifact__record-values { display: flex; gap: 12px; min-width: 0; }
1407
1493
  .make-ai-artifact__record-values > span { display: flex; flex: 1; flex-direction: column; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1408
- .make-ai-artifact__record-values small { color: var(--make-ai-internal-text-secondary); font-size: 9px; }
1409
- .make-ai-artifact__empty { color: var(--make-ai-internal-text-secondary); font-size: 12px; text-align: center; }
1494
+ .make-ai-artifact__record-values small { color: var(--make-ai-internal-text-secondary); font-size: var(--make-ai-internal-font-size-caption); line-height: var(--make-ai-internal-line-height-caption); }
1495
+ .make-ai-artifact__empty { color: var(--make-ai-internal-text-secondary); font-size: var(--make-ai-internal-font-size-meta); line-height: var(--make-ai-internal-line-height-meta); text-align: center; }
1410
1496
 
1411
- .make-ai-artifact__notice { align-items: flex-start; display: flex; font-size: 12px; gap: 9px; line-height: 1.6; margin-top: 8px; }
1497
+ .make-ai-artifact__notice { align-items: flex-start; display: flex; font-size: var(--make-ai-internal-font-size-meta); gap: 9px; line-height: var(--make-ai-internal-line-height-meta); margin-top: 8px; }
1412
1498
  .make-ai-artifact__notice > span { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: flex; flex: 0 0 auto; height: 20px; justify-content: center; margin-top: 1px; width: 20px; }
1413
1499
  .make-ai-artifact__notice p { margin: 0; }
1414
1500
  .make-ai-artifact__notice--success { color: var(--make-ai-internal-success); }
@@ -1416,7 +1502,7 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1416
1502
  .make-ai-artifact__notice--danger { color: var(--make-ai-internal-danger); }
1417
1503
  .make-ai-artifact__notice--info { color: var(--make-ai-internal-accent); }
1418
1504
 
1419
- .make-ai-artifact--unsupported { color: var(--make-ai-internal-text-secondary); display: flex; flex-direction: column; font-size: 12px; gap: 3px; }
1505
+ .make-ai-artifact--unsupported { color: var(--make-ai-internal-text-secondary); display: flex; flex-direction: column; font-size: var(--make-ai-internal-font-size-meta); gap: 3px; line-height: var(--make-ai-internal-line-height-meta); }
1420
1506
 
1421
1507
  @keyframes make-ai-pulse {
1422
1508
  0% { opacity: .75; transform: scale(.92); }
@@ -1539,10 +1625,6 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1539
1625
  padding: 24px var(--make-ai-internal-panel-gutter-wide) 32px;
1540
1626
  }
1541
1627
 
1542
- .make-ai-assistant__assistant-text {
1543
- max-width: min(100%, 76ch);
1544
- }
1545
-
1546
1628
  .make-ai-assistant__message--user .make-ai-assistant__message-turn {
1547
1629
  max-width: min(72%, 420px);
1548
1630
  }
@@ -1566,8 +1648,15 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1566
1648
  padding-bottom: 36px;
1567
1649
  }
1568
1650
 
1569
- .make-ai-assistant__assistant-text {
1570
- max-width: min(100%, 82ch);
1651
+ .make-ai-assistant__assistant-text > p,
1652
+ .make-ai-assistant__assistant-text > .make-ai-assistant__markdown-heading,
1653
+ .make-ai-assistant__assistant-text > ul {
1654
+ max-width: min(100%, 96ch);
1655
+ }
1656
+
1657
+ .make-ai-assistant__markdown-table-scroll,
1658
+ .make-ai-assistant__assistant-text > pre {
1659
+ width: 100%;
1571
1660
  }
1572
1661
 
1573
1662
  .make-ai-assistant__message--user .make-ai-assistant__message-turn {
@@ -1588,7 +1677,36 @@ button.make-ai-artifact__record:hover { background: var(--make-ai-internal-accen
1588
1677
  @media (max-width: 560px) {
1589
1678
  .make-ai-assistant__drawer { width: 100vw; }
1590
1679
  .make-ai-assistant__drawer-resize-handle { display: none; }
1591
- .make-ai-assistant__launcher { right: var(--make-ai-launcher-mobile-right, 16px); }
1680
+ .make-ai-assistant__launcher {
1681
+ bottom: var(--make-ai-launcher-mobile-bottom, var(--make-ai-launcher-bottom, 16px));
1682
+ left: var(--make-ai-launcher-mobile-left, var(--make-ai-launcher-left, 16px));
1683
+ right: auto;
1684
+ top: auto;
1685
+ }
1686
+ .make-ai-assistant__launcher[data-launcher-position="bottom-right"] {
1687
+ left: auto;
1688
+ right: var(--make-ai-launcher-mobile-right, var(--make-ai-launcher-right, 16px));
1689
+ }
1690
+ .make-ai-assistant__launcher[data-launcher-position="top-left"] {
1691
+ bottom: auto;
1692
+ top: var(--make-ai-launcher-mobile-top, var(--make-ai-launcher-top, 16px));
1693
+ }
1694
+ .make-ai-assistant__launcher[data-launcher-position="top-right"] {
1695
+ bottom: auto;
1696
+ left: auto;
1697
+ right: var(--make-ai-launcher-mobile-right, var(--make-ai-launcher-right, 16px));
1698
+ top: var(--make-ai-launcher-mobile-top, var(--make-ai-launcher-top, 16px));
1699
+ }
1700
+ .make-ai-assistant__launcher[data-launcher-position="left-center"] {
1701
+ bottom: auto;
1702
+ top: var(--make-ai-launcher-mobile-top, var(--make-ai-launcher-top, 50%));
1703
+ }
1704
+ .make-ai-assistant__launcher[data-launcher-position="right-center"] {
1705
+ bottom: auto;
1706
+ left: auto;
1707
+ right: var(--make-ai-launcher-mobile-right, var(--make-ai-launcher-right, 16px));
1708
+ top: var(--make-ai-launcher-mobile-top, var(--make-ai-launcher-top, 50%));
1709
+ }
1592
1710
  .make-ai-artifact__record {
1593
1711
  grid-template-columns: minmax(0, 1fr) auto;
1594
1712
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qfei-design/make-ai-assistant",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Platform-wide Make AI Assistant contracts, React shell, and context-aware artifact templates.",
5
5
  "type": "module",
6
6
  "sideEffects": [