@povio/ui 5.0.0-rc.10 → 5.0.0-rc.12

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.
@@ -2,7 +2,7 @@
2
2
  .studio-overlay {
3
3
  font-family: "Inter Variable", Inter, sans-serif;
4
4
  color: #242424;
5
- font-size: 11px;
5
+ font-size: 10px;
6
6
  line-height: 1.5;
7
7
  }
8
8
  .studio {
@@ -69,9 +69,9 @@
69
69
  background: #393939 !important;
70
70
  color: white !important;
71
71
  border: 1px solid #393939 !important;
72
- padding: 10px 15px;
73
- border-radius: 7px;
74
- font-size: 11px;
72
+ padding: 6px 10px;
73
+ border-radius: 5px;
74
+ font-size: 10px;
75
75
  font-weight: 550;
76
76
  }
77
77
  /* Keep the application visible around the movable configurator window. */
@@ -94,6 +94,13 @@
94
94
  background: #fff;
95
95
  overflow: hidden;
96
96
  }
97
+ /* With the components shown by the host (the App Canvas), the window is only the editor: narrow and one column. */
98
+ .studio-modal[data-components-hosted] {
99
+ width: min(360px, calc(100vw - 48px));
100
+ }
101
+ .studio-modal[data-components-hosted] .studio-dialog {
102
+ grid-template-columns: minmax(0, 1fr);
103
+ }
97
104
  /*
98
105
  * The editor column stacks the top bar, the editor and the footer; the preview fills the second column from top to
99
106
  * bottom, like a design tool's canvas.
@@ -107,7 +114,7 @@
107
114
  }
108
115
  .studio-title h2 {
109
116
  margin: 0;
110
- font-size: 11px;
117
+ font-size: 10px;
111
118
  font-weight: 650;
112
119
  letter-spacing: -0.3px;
113
120
  }
@@ -118,8 +125,8 @@
118
125
  display: flex;
119
126
  flex-wrap: wrap;
120
127
  align-items: center;
121
- gap: 8px 16px;
122
- padding: 10px 16px;
128
+ gap: 4px 12px;
129
+ padding: 8px 12px 4px;
123
130
  background: #fbfbfb;
124
131
  border-bottom: 1px solid #eaeaea;
125
132
  min-width: 0;
@@ -146,15 +153,78 @@
146
153
  margin-left: auto;
147
154
  min-width: 0;
148
155
  }
156
+ /* Search rests as a magnifier beside the window controls and expands over the title row while in use. */
149
157
  .studio-topbar .studio-search {
158
+ position: relative;
159
+ flex: 0 0 auto;
160
+ justify-content: center;
161
+ width: 24px;
162
+ height: 24px;
150
163
  margin: 0;
151
- flex: 1 1 90px;
152
- max-width: 190px;
153
- padding: 7px 9px;
164
+ padding: 0;
165
+ border-color: transparent;
166
+ background: transparent;
167
+ color: #707070;
168
+ cursor: pointer;
169
+ }
170
+ .studio-topbar .studio-search:hover {
171
+ background: #f0f0f0;
172
+ }
173
+ .studio-topbar .studio-search input {
174
+ position: absolute;
175
+ width: 1px;
176
+ opacity: 0;
177
+ }
178
+ .studio-topbar .studio-search:is(:focus-within, :has(input:not(:placeholder-shown))) {
179
+ flex: 1 1 auto;
180
+ justify-content: flex-start;
181
+ width: auto;
182
+ padding: 0 4px 0 8px;
183
+ border-color: #d9d9d9;
154
184
  background: #fff;
185
+ cursor: text;
186
+ }
187
+ .studio-topbar .studio-search:is(:focus-within, :has(input:not(:placeholder-shown))) input {
188
+ position: static;
189
+ flex: 1;
190
+ width: auto;
191
+ opacity: 1;
192
+ }
193
+ .studio-topbar:has(.studio-search:is(:focus-within, :has(input:not(:placeholder-shown)))) .studio-title {
194
+ display: none;
155
195
  }
156
196
  .studio-topbar .studio-search:has(input:disabled) {
157
- opacity: 0.5;
197
+ opacity: 0.4;
198
+ cursor: default;
199
+ }
200
+ .studio-search-clear {
201
+ display: grid;
202
+ place-items: center;
203
+ width: 18px;
204
+ height: 18px;
205
+ flex-shrink: 0;
206
+ padding: 0;
207
+ border: 0;
208
+ border-radius: 4px;
209
+ background: transparent;
210
+ color: #8e8e8e;
211
+ }
212
+ .studio-search-clear:hover {
213
+ background: #f0f0f0;
214
+ }
215
+ /* The header is the window's drag handle wherever it has no control of its own. */
216
+ .studio-modal:not(.studio-modal-popout) .studio-topbar {
217
+ cursor: grab;
218
+ user-select: none;
219
+ }
220
+ .studio-modal:not(.studio-modal-popout) .studio-topbar:active {
221
+ cursor: grabbing;
222
+ }
223
+ .studio-topbar :is(button, input, label) {
224
+ cursor: pointer;
225
+ }
226
+ .studio-topbar input {
227
+ cursor: text;
158
228
  }
159
229
  @container (max-width: 800px) {
160
230
  .studio-topbar-controls {
@@ -162,10 +232,7 @@
162
232
  margin-left: 0;
163
233
  flex-shrink: 1;
164
234
  }
165
- .studio-topbar .studio-search {
166
- width: auto;
167
- flex: 1 1 100%;
168
- }
235
+
169
236
  .studio-topbar .studio-title {
170
237
  flex: 1;
171
238
  }
@@ -242,22 +309,22 @@
242
309
  .studio-nav-divider {
243
310
  flex-shrink: 0;
244
311
  width: 1px;
245
- height: 18px;
246
- margin: 0 8px;
312
+ height: 14px;
313
+ margin: 0 4px;
247
314
  background: #e5e5e5;
248
315
  }
249
316
  .studio-nav button {
250
317
  display: flex;
251
318
  flex-shrink: 0;
252
319
  align-items: center;
253
- gap: 7px;
320
+ gap: 6px;
254
321
  white-space: nowrap;
255
- padding: 7px 10px;
322
+ padding: 4px 8px;
256
323
  color: #707070;
257
324
  background: transparent;
258
325
  border: 0;
259
- border-radius: 6px;
260
- font-size: 11px;
326
+ border-radius: 5px;
327
+ font-size: 10px;
261
328
  }
262
329
  .studio-nav button[aria-current] {
263
330
  background: #eeeeee;
@@ -265,9 +332,9 @@
265
332
  font-weight: 600;
266
333
  }
267
334
  .studio-editor {
268
- --studio-editor-pad: 20px;
335
+ --studio-editor-pad: 12px;
269
336
  padding: var(--studio-editor-pad);
270
- padding-top: 12px;
337
+ padding-top: 8px;
271
338
  overflow: auto;
272
339
  min-width: 0;
273
340
  }
@@ -275,7 +342,7 @@
275
342
  display: flex;
276
343
  align-items: center;
277
344
  gap: 12px;
278
- margin-bottom: 12px;
345
+ margin-bottom: 8px;
279
346
  border-bottom: 1px solid #eaeaea;
280
347
  }
281
348
  .studio-subtabs-bar .studio-toggle-all {
@@ -285,7 +352,7 @@
285
352
  .studio-subtabs {
286
353
  display: flex;
287
354
  flex: 1;
288
- gap: 18px;
355
+ gap: 12px;
289
356
  min-width: 0;
290
357
  overflow-x: auto;
291
358
  scrollbar-width: none;
@@ -295,13 +362,13 @@
295
362
  flex-shrink: 0;
296
363
  align-items: center;
297
364
  gap: 6px;
298
- padding: 0 0 9px;
365
+ padding: 0 0 6px;
299
366
  margin-bottom: -1px;
300
367
  border: 0;
301
368
  border-bottom: 2px solid transparent;
302
369
  background: transparent;
303
370
  color: #707070;
304
- font-size: 11px;
371
+ font-size: 10px;
305
372
  white-space: nowrap;
306
373
  }
307
374
  .studio-subtabs button[aria-selected="true"] {
@@ -320,7 +387,7 @@
320
387
  margin-bottom: 10px;
321
388
  }
322
389
  .studio-editor-heading h2 {
323
- font-size: 11px;
390
+ font-size: 10px;
324
391
  font-weight: 550;
325
392
  letter-spacing: -0.6px;
326
393
  margin: 0;
@@ -330,8 +397,8 @@
330
397
  border: 1px solid #e5e5e5;
331
398
  background: #f7f7f7;
332
399
  border-radius: 6px;
333
- padding: 3px;
334
- gap: 3px;
400
+ padding: 2px;
401
+ gap: 2px;
335
402
  }
336
403
  .studio-mode button {
337
404
  display: flex;
@@ -340,8 +407,8 @@
340
407
  gap: 6px;
341
408
  border: 0;
342
409
  border-radius: 4px;
343
- padding: 5px 11px;
344
- font-size: 11px;
410
+ padding: 3px 8px;
411
+ font-size: 10px;
345
412
  background: transparent;
346
413
  color: #8e8e8e;
347
414
  text-transform: capitalize;
@@ -355,10 +422,10 @@
355
422
  display: flex;
356
423
  align-items: center;
357
424
  gap: 8px;
358
- padding: 9px 11px;
425
+ padding: 4px 8px;
359
426
  border: 1px solid #e5e5e5;
360
427
  border-radius: 6px;
361
- margin: 20px 0 12px;
428
+ margin: 12px 0 8px;
362
429
  color: #9f9f9f;
363
430
  }
364
431
  .studio-search input {
@@ -367,7 +434,7 @@
367
434
  border: 0;
368
435
  background: transparent;
369
436
  color: #414141;
370
- font-size: 11px;
437
+ font-size: 10px;
371
438
  }
372
439
  .studio-token {
373
440
  padding: 4px 0;
@@ -379,7 +446,7 @@
379
446
  }
380
447
  .studio-token label > span {
381
448
  display: block;
382
- font-size: 11px;
449
+ font-size: 10px;
383
450
  font-weight: 550;
384
451
  text-transform: capitalize;
385
452
  }
@@ -400,7 +467,7 @@
400
467
  line-height: 18px;
401
468
  font-family: inherit;
402
469
  font-variant-numeric: tabular-nums;
403
- font-size: 11px;
470
+ font-size: 10px;
404
471
  color: #6a6a6a;
405
472
  min-width: 0;
406
473
  width: 100%;
@@ -445,7 +512,7 @@
445
512
  background: transparent;
446
513
  color: #414141;
447
514
  font: inherit;
448
- font-size: 11px;
515
+ font-size: 10px;
449
516
  text-align: left;
450
517
  text-transform: capitalize;
451
518
  cursor: pointer;
@@ -472,7 +539,7 @@
472
539
  background: #fff;
473
540
  box-shadow: 0 12px 40px #21212126;
474
541
  font-family: "Inter Variable", Inter, sans-serif;
475
- font-size: 11px;
542
+ font-size: 10px;
476
543
  color: #242424;
477
544
  }
478
545
  /* The list scrolls itself so opening it can bring the selected color into view. */
@@ -550,12 +617,12 @@
550
617
  color: #b8362c;
551
618
  display: block;
552
619
  margin-top: 4px;
553
- font-size: 11px;
620
+ font-size: 10px;
554
621
  }
555
622
  .studio-preview {
556
623
  background: #f7f7f7;
557
624
  border-left: 1px solid #eaeaea;
558
- padding: 20px;
625
+ padding: 12px;
559
626
  overflow: auto;
560
627
  min-width: 0;
561
628
  }
@@ -573,7 +640,7 @@
573
640
  gap: 8px;
574
641
  }
575
642
  .studio-preview-heading > span {
576
- font-size: 9px;
643
+ font-size: 10px;
577
644
  font-weight: 600;
578
645
  letter-spacing: 1.1px;
579
646
  color: #8d8d8d;
@@ -601,7 +668,7 @@
601
668
  .studio-preview-note {
602
669
  text-align: center;
603
670
  color: #a7a7a7;
604
- font-size: 11px;
671
+ font-size: 10px;
605
672
  line-height: 1.7;
606
673
  margin-top: 20px;
607
674
  }
@@ -617,8 +684,8 @@
617
684
  grid-row: 3;
618
685
  display: flex;
619
686
  align-items: center;
620
- gap: 10px;
621
- padding: 10px 20px;
687
+ gap: 4px;
688
+ padding: 6px 8px;
622
689
  border-top: 1px solid #eaeaea;
623
690
  flex-shrink: 0;
624
691
  }
@@ -631,14 +698,35 @@
631
698
  color: #717171;
632
699
  border: 1px solid #e7e7e7;
633
700
  border-radius: 6px;
634
- padding: 9px 12px;
701
+ padding: 6px 10px;
635
702
  background: white;
636
- font-size: 11px;
703
+ font-size: 10px;
637
704
  }
638
705
  .studio-footer > span {
639
706
  flex: 1;
707
+ min-width: 0;
708
+ padding-inline: 4px;
709
+ overflow: hidden;
640
710
  color: #929292;
641
- font-size: 11px;
711
+ font-size: 10px;
712
+ text-overflow: ellipsis;
713
+ white-space: nowrap;
714
+ }
715
+ .studio-footer > button {
716
+ height: 24px;
717
+ flex-shrink: 0;
718
+ white-space: nowrap;
719
+ }
720
+ .studio-footer > .studio-primary {
721
+ gap: 4px;
722
+ padding: 0 10px;
723
+ }
724
+ .studio-footer > button:not(.studio-primary) {
725
+ padding: 0 8px;
726
+ }
727
+ .studio-footer > button.studio-footer-reset {
728
+ width: 24px;
729
+ padding: 0;
642
730
  }
643
731
  /* Confirmation dialogs sit above the full-page configurator. */
644
732
  .studio-overlay.studio-confirm-overlay {
@@ -655,18 +743,18 @@
655
743
  box-shadow: 0 25px 90px #21212140;
656
744
  }
657
745
  .studio-confirm-dialog {
658
- padding: 22px;
746
+ padding: 16px;
659
747
  outline: none;
660
748
  }
661
749
  .studio-confirm-dialog h2 {
662
750
  margin: 0 0 8px;
663
- font-size: 14px;
751
+ font-size: 10px;
664
752
  font-weight: 650;
665
753
  }
666
754
  .studio-confirm-dialog p {
667
755
  margin: 0;
668
756
  color: #717171;
669
- font-size: 12px;
757
+ font-size: 10px;
670
758
  }
671
759
  .studio-confirm-actions {
672
760
  display: flex;
@@ -675,26 +763,26 @@
675
763
  margin-top: 20px;
676
764
  }
677
765
  .studio-confirm-actions > button:not(.studio-danger) {
678
- padding: 9px 12px;
766
+ padding: 6px 10px;
679
767
  border: 1px solid #e7e7e7;
680
768
  border-radius: 6px;
681
769
  background: #fff;
682
770
  color: #717171;
683
- font-size: 11px;
771
+ font-size: 10px;
684
772
  }
685
773
  .studio-confirm-actions > button.studio-danger {
686
774
  display: flex;
687
775
  align-items: center;
688
776
  gap: 7px;
689
- padding: 9px 12px;
777
+ padding: 6px 10px;
690
778
  border: 1px solid #b8362c;
691
779
  border-radius: 6px;
692
780
  background: #b8362c;
693
781
  color: #fff;
694
- font-size: 11px;
782
+ font-size: 10px;
695
783
  }
696
784
  .studio-settings h3 {
697
- font-size: 11px;
785
+ font-size: 10px;
698
786
  font-weight: 650;
699
787
  margin: 18px 0 6px;
700
788
  }
@@ -703,15 +791,15 @@
703
791
  justify-content: space-between;
704
792
  align-items: center;
705
793
  gap: 10px;
706
- padding: 10px 0;
794
+ padding: 6px 0;
707
795
  border-bottom: 1px solid #efefef;
708
- font-size: 11px;
796
+ font-size: 10px;
709
797
  }
710
798
  .studio-setting select {
711
799
  background: white;
712
800
  border: 1px solid #e2e2e2;
713
801
  border-radius: 5px;
714
- padding: 7px;
802
+ padding: 4px 6px;
715
803
  color: #676767;
716
804
  }
717
805
  .studio-setting input {
@@ -720,13 +808,13 @@
720
808
  .studio-setting small {
721
809
  display: block;
722
810
  color: #9e9e9e;
723
- font-size: 11px;
811
+ font-size: 10px;
724
812
  margin-top: 4px;
725
813
  }
726
814
  .studio-help,
727
815
  .studio-export > p {
728
816
  color: #929292;
729
- font-size: 11px;
817
+ font-size: 10px;
730
818
  line-height: 1.7;
731
819
  margin-top: 20px;
732
820
  }
@@ -734,7 +822,7 @@
734
822
  background: #f8f8f8;
735
823
  border: 1px solid #e5e5e5;
736
824
  border-radius: 7px;
737
- font-size: 11px;
825
+ font-size: 10px;
738
826
  font-family: monospace;
739
827
  padding: 15px;
740
828
  width: 100%;
@@ -748,10 +836,10 @@
748
836
  grid-template-columns: var(--studio-editor-track, minmax(260px, 0.8fr)) minmax(280px, 1.25fr);
749
837
  }
750
838
  .studio-editor {
751
- --studio-editor-pad: 18px;
839
+ --studio-editor-pad: 12px;
752
840
  }
753
841
  .studio-preview {
754
- padding: 18px;
842
+ padding: 12px;
755
843
  }
756
844
  .studio-sample {
757
845
  padding: 8px;
@@ -768,6 +856,8 @@
768
856
  position: sticky;
769
857
  bottom: 0;
770
858
  z-index: 3;
859
+ /* Short tabs leave the footer at the window's bottom edge instead of under their last row. */
860
+ margin-top: auto;
771
861
  background: #fff;
772
862
  }
773
863
  .studio-resize-handle {
@@ -781,14 +871,6 @@
781
871
  .studio-preview {
782
872
  border-top: 1px solid #eaeaea;
783
873
  }
784
- .studio-footer {
785
- flex-wrap: wrap;
786
- padding: 12px;
787
- gap: 8px;
788
- }
789
- .studio-footer > span {
790
- flex-basis: 60%;
791
- }
792
874
  }
793
875
 
794
876
  .studio-token-group {
@@ -800,7 +882,7 @@
800
882
  }
801
883
  .studio-token-group legend {
802
884
  padding: 0 6px;
803
- font-size: 11px;
885
+ font-size: 10px;
804
886
  font-weight: 600;
805
887
  text-transform: capitalize;
806
888
  color: #434343;
@@ -832,7 +914,7 @@
832
914
  flex: 1;
833
915
  align-self: stretch;
834
916
  min-width: 0;
835
- padding: 7px 0 7px var(--studio-editor-pad);
917
+ padding: 6px 0 6px var(--studio-editor-pad);
836
918
  text-align: left;
837
919
  }
838
920
  :is(.studio-token-list-rows, .studio-token-list-inline) .studio-token-group:first-child legend {
@@ -859,7 +941,7 @@
859
941
  border: 0;
860
942
  }
861
943
  .studio-type-fields .studio-token label > span {
862
- font-size: 11px;
944
+ font-size: 10px;
863
945
  white-space: nowrap;
864
946
  text-transform: none;
865
947
  margin-bottom: 0;
@@ -887,7 +969,7 @@
887
969
  }
888
970
  .studio-type-fields .studio-token-value input:not([type="color"]) {
889
971
  padding-left: 6px;
890
- font-size: 11px;
972
+ font-size: 10px;
891
973
  }
892
974
  }
893
975
 
@@ -924,6 +1006,24 @@
924
1006
  gap: 6px 10px;
925
1007
  }
926
1008
  }
1009
+ /*
1010
+ * Inside a group the rows share one label column sized to its longest name, so short names such as palette steps
1011
+ * leave the width to the values; long names keep one line while the values keep the 168px their controls need.
1012
+ */
1013
+ .studio-token-list-inline .studio-token-group > div {
1014
+ display: grid;
1015
+ grid-template-columns: fit-content(calc(100% - 168px)) minmax(168px, 1fr);
1016
+ }
1017
+ .studio-token-list-inline .studio-token-group > div > * {
1018
+ grid-column: 1 / -1;
1019
+ }
1020
+ .studio-token-list-inline .studio-token-group > div > .studio-token {
1021
+ grid-template-columns: subgrid;
1022
+ column-gap: 0;
1023
+ }
1024
+ .studio-token-list-inline .studio-token-group > div > .studio-token label {
1025
+ padding-right: 16px;
1026
+ }
927
1027
 
928
1028
  /* A compact select that shows only a chevron; its text is hidden so the placeholder never shows. */
929
1029
  .studio-size-presets {
@@ -938,7 +1038,7 @@
938
1038
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a6a6a' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
939
1039
  center / 12px no-repeat;
940
1040
  color: transparent;
941
- font-size: 11px;
1041
+ font-size: 10px;
942
1042
  cursor: pointer;
943
1043
  }
944
1044
  .studio-size-presets:hover {
@@ -971,7 +1071,7 @@
971
1071
  top: 50%;
972
1072
  transform: translateY(-50%);
973
1073
  color: #939393;
974
- font-size: 11px;
1074
+ font-size: 10px;
975
1075
  font-variant-numeric: tabular-nums;
976
1076
  pointer-events: none;
977
1077
  }
@@ -1035,7 +1135,7 @@
1035
1135
  border-radius: 4px;
1036
1136
  background: transparent;
1037
1137
  color: #6a6a6a;
1038
- font-size: 11px;
1138
+ font-size: 10px;
1039
1139
  line-height: 1;
1040
1140
  cursor: pointer;
1041
1141
  }
@@ -1065,7 +1165,7 @@
1065
1165
  gap: 0;
1066
1166
  padding-block: 0;
1067
1167
  padding-right: 0;
1068
- min-height: 32px;
1168
+ min-height: 28px;
1069
1169
  border-bottom-color: var(--studio-cell-line);
1070
1170
  }
1071
1171
  .studio-token-list-inline .studio-token-group .studio-token:hover {
@@ -1077,7 +1177,7 @@
1077
1177
  .studio-token-list-inline .studio-token-group .studio-token label {
1078
1178
  display: flex;
1079
1179
  align-items: center;
1080
- padding: 6px 12px 6px 0;
1180
+ padding: 4px 8px 4px 0;
1081
1181
  }
1082
1182
  .studio-token-list-inline .studio-token-group .studio-token-value {
1083
1183
  gap: 0;
@@ -1089,7 +1189,7 @@
1089
1189
  }
1090
1190
  .studio-token-list-inline .studio-token-group .studio-token-value input:not([type="color"]) {
1091
1191
  height: 100%;
1092
- min-height: 32px;
1192
+ min-height: 28px;
1093
1193
  padding: 0 8px;
1094
1194
  border: 0;
1095
1195
  border-radius: 0;
@@ -1101,8 +1201,8 @@
1101
1201
  }
1102
1202
  .studio-token-list-inline .studio-token-group .studio-token-value input[type="color"] {
1103
1203
  align-self: center;
1104
- width: 32px;
1105
- height: 32px;
1204
+ width: 28px;
1205
+ height: 28px;
1106
1206
  padding: 8px;
1107
1207
  border: 0;
1108
1208
  border-radius: 0;
@@ -1125,10 +1225,10 @@
1125
1225
  margin: 0 7px;
1126
1226
  }
1127
1227
  .studio-token-list-inline .studio-token-group .studio-palette-trigger {
1128
- min-height: 32px;
1228
+ min-height: 28px;
1129
1229
  }
1130
1230
  .studio-token-list-inline .studio-token-group .studio-size-presets {
1131
- width: 28px;
1231
+ width: 24px;
1132
1232
  height: auto;
1133
1233
  border: 0;
1134
1234
  border-radius: 0;
@@ -1139,7 +1239,7 @@
1139
1239
  border-left: 1px solid var(--studio-cell-line);
1140
1240
  }
1141
1241
  .studio-token-list-inline .studio-token-group .studio-token-value > button {
1142
- width: 32px;
1242
+ width: 28px;
1143
1243
  height: auto;
1144
1244
  border-radius: 0;
1145
1245
  }
@@ -1160,7 +1260,7 @@
1160
1260
  margin: 0;
1161
1261
  padding: 24px;
1162
1262
  color: #8d8d8d;
1163
- font-size: 11px;
1263
+ font-size: 10px;
1164
1264
  text-align: center;
1165
1265
  }
1166
1266
  .studio-gallery {
@@ -1170,7 +1270,7 @@
1170
1270
  .studio-gallery-group h3 {
1171
1271
  margin: 0 0 8px;
1172
1272
  font:
1173
- 600 9px "Inter Variable",
1273
+ 600 10px "Inter Variable",
1174
1274
  Inter,
1175
1275
  sans-serif;
1176
1276
  letter-spacing: 1.1px;
@@ -1211,7 +1311,7 @@
1211
1311
  }
1212
1312
  .studio-gallery-card-title {
1213
1313
  font:
1214
- 500 11px "Inter Variable",
1314
+ 500 10px "Inter Variable",
1215
1315
  Inter,
1216
1316
  sans-serif;
1217
1317
  color: rgb(var(--surface-default-foreground-base));
@@ -1241,7 +1341,7 @@
1241
1341
  align-items: center;
1242
1342
  gap: 10px;
1243
1343
  font:
1244
- 600 11px "Inter Variable",
1344
+ 600 10px "Inter Variable",
1245
1345
  Inter,
1246
1346
  sans-serif;
1247
1347
  color: rgb(var(--surface-default-card-foreground-base));
@@ -1250,13 +1350,13 @@
1250
1350
  display: inline-flex;
1251
1351
  align-items: center;
1252
1352
  gap: 5px;
1253
- padding: 5px 9px;
1353
+ padding: 3px 8px;
1254
1354
  border: 1px solid #e5e5e5;
1255
1355
  border-radius: 6px;
1256
1356
  background: #fff;
1257
1357
  color: #6a6a6a;
1258
1358
  font:
1259
- 400 11px "Inter Variable",
1359
+ 400 10px "Inter Variable",
1260
1360
  Inter,
1261
1361
  sans-serif;
1262
1362
  cursor: pointer;
@@ -1322,7 +1422,7 @@
1322
1422
  background: #272727;
1323
1423
  color: #fff;
1324
1424
  font:
1325
- 400 11px "Inter Variable",
1425
+ 400 10px "Inter Variable",
1326
1426
  Inter,
1327
1427
  sans-serif;
1328
1428
  white-space: nowrap;
@@ -1347,25 +1447,30 @@
1347
1447
  margin: 14px 0 0;
1348
1448
  color: #8d8d8d;
1349
1449
  font:
1350
- 400 11px "Inter Variable",
1450
+ 400 10px "Inter Variable",
1351
1451
  Inter,
1352
1452
  sans-serif;
1353
1453
  text-align: center;
1354
1454
  }
1355
1455
 
1356
1456
  /* Token picked in the inspector */
1357
- .studio-token.is-highlighted {
1358
- background: #f1f1f1;
1359
- box-shadow: inset 3px 0 0 #797979;
1457
+ /* The row an inspector link opened: the same purple as the inspector's token chips. */
1458
+ .studio-token.is-highlighted,
1459
+ .studio-font-role.is-highlighted {
1460
+ background: #f3effb;
1461
+ box-shadow: inset 3px 0 0 #7655d7;
1360
1462
  animation: studio-token-flash 1.2s ease-out;
1361
1463
  }
1362
1464
  .studio-token-list-inline .studio-token-group .studio-token.is-highlighted:hover {
1363
- background: #ececec;
1465
+ background: #ebe4f8;
1466
+ }
1467
+ .studio-token.is-highlighted label > span {
1468
+ color: #6a46a8;
1364
1469
  }
1365
1470
  @keyframes studio-token-flash {
1366
1471
  0%,
1367
1472
  30% {
1368
- background: #dfdfdf;
1473
+ background: #e2d8f6;
1369
1474
  }
1370
1475
  }
1371
1476
  .studio-gallery-card.is-wide {
@@ -1383,28 +1488,28 @@
1383
1488
  margin: 8px 0;
1384
1489
  }
1385
1490
  .studio-cva-field > span {
1386
- font-size: 11px;
1491
+ font-size: 10px;
1387
1492
  color: #6a6a6a;
1388
1493
  overflow-wrap: anywhere;
1389
1494
  }
1390
1495
  .studio-cva-field input {
1391
1496
  width: 100%;
1392
1497
  min-width: 0;
1393
- height: 26px;
1498
+ height: 24px;
1394
1499
  padding: 3px 7px;
1395
1500
  border: 1px solid #e6e6e6;
1396
1501
  border-radius: 5px;
1397
1502
  background: white;
1398
1503
  color: #414141;
1399
- font: 11px monospace;
1504
+ font: 10px monospace;
1400
1505
  }
1401
1506
  .studio-cva-reset {
1402
- padding: 5px 9px;
1507
+ padding: 3px 8px;
1403
1508
  border: 1px solid #e6e6e6;
1404
1509
  border-radius: 5px;
1405
1510
  background: white;
1406
1511
  color: #414141;
1407
- font-size: 12px;
1512
+ font-size: 10px;
1408
1513
  }
1409
1514
 
1410
1515
  .studio-context-preview {
@@ -1416,7 +1521,7 @@
1416
1521
  }
1417
1522
  .studio-context-preview > h3,
1418
1523
  .studio-context-preview [data-testid="cva-preview"] > h3 {
1419
- font: 600 14px sans-serif;
1524
+ font: 600 10px sans-serif;
1420
1525
  text-transform: capitalize;
1421
1526
  margin: 0 0 14px;
1422
1527
  }
@@ -1432,12 +1537,12 @@
1432
1537
  justify-content: space-between;
1433
1538
  gap: 5px;
1434
1539
  min-width: 0;
1435
- font: 11px sans-serif;
1540
+ font: 10px sans-serif;
1436
1541
  }
1437
1542
  .studio-preview-controls select {
1438
1543
  min-width: 0;
1439
1544
  max-width: 110px;
1440
- height: 26px;
1545
+ height: 24px;
1441
1546
  border: 1px solid #e1e1e1;
1442
1547
  border-radius: 4px;
1443
1548
  background: white;
@@ -1472,7 +1577,7 @@
1472
1577
  .studio-token-sample > span {
1473
1578
  display: block;
1474
1579
  margin-bottom: 4px;
1475
- font: 11px sans-serif;
1580
+ font: 10px sans-serif;
1476
1581
  text-transform: capitalize;
1477
1582
  }
1478
1583
  .studio-token-specimen {
@@ -1512,7 +1617,7 @@
1512
1617
  flex-direction: column;
1513
1618
  gap: 12px;
1514
1619
  margin: 0 10px 10px;
1515
- padding: 10px;
1620
+ padding: 8px;
1516
1621
  border: 1px solid #e3e3e3;
1517
1622
  border-radius: 8px;
1518
1623
  background: #fbfbfb;
@@ -1523,7 +1628,7 @@
1523
1628
  gap: 8px;
1524
1629
  }
1525
1630
  .studio-shades-input label {
1526
- font-size: 11px;
1631
+ font-size: 10px;
1527
1632
  font-weight: 550;
1528
1633
  white-space: nowrap;
1529
1634
  }
@@ -1571,7 +1676,7 @@
1571
1676
  align-items: center;
1572
1677
  gap: 10px;
1573
1678
  margin-bottom: 12px;
1574
- padding: 10px;
1679
+ padding: 8px;
1575
1680
  border: 1px solid #e3e3e3;
1576
1681
  border-radius: 8px;
1577
1682
  background: #fbfbfb;
@@ -1621,7 +1726,7 @@
1621
1726
  min-width: 0;
1622
1727
  }
1623
1728
  .studio-rounding-text strong {
1624
- font-size: 11px;
1729
+ font-size: 10px;
1625
1730
  font-weight: 550;
1626
1731
  }
1627
1732
  .studio-rounding-text span {
@@ -1640,8 +1745,8 @@
1640
1745
  display: inline-flex;
1641
1746
  align-items: center;
1642
1747
  justify-content: center;
1643
- width: 26px;
1644
- height: 26px;
1748
+ width: 24px;
1749
+ height: 24px;
1645
1750
  padding: 0;
1646
1751
  border: 0;
1647
1752
  background: none;
@@ -1653,7 +1758,7 @@
1653
1758
  }
1654
1759
  .studio-rounding-stepper output {
1655
1760
  min-width: 56px;
1656
- font-size: 11px;
1761
+ font-size: 10px;
1657
1762
  font-weight: 550;
1658
1763
  text-align: center;
1659
1764
  font-variant-numeric: tabular-nums;
@@ -1702,7 +1807,7 @@
1702
1807
  outline: none;
1703
1808
  background: transparent;
1704
1809
  font: inherit;
1705
- font-size: 11px;
1810
+ font-size: 10px;
1706
1811
  text-transform: uppercase;
1707
1812
  }
1708
1813
  .studio-alpha-opacity {
@@ -1721,7 +1826,7 @@
1721
1826
  outline: none;
1722
1827
  background: transparent;
1723
1828
  font: inherit;
1724
- font-size: 11px;
1829
+ font-size: 10px;
1725
1830
  text-align: right;
1726
1831
  }
1727
1832
  .studio-alpha-opacity:focus-within,
@@ -1765,7 +1870,7 @@
1765
1870
  background: #fafafa;
1766
1871
  color: #393939;
1767
1872
  font:
1768
- 600 11px "Inter Variable",
1873
+ 600 10px "Inter Variable",
1769
1874
  Inter,
1770
1875
  sans-serif;
1771
1876
  }
@@ -2090,6 +2195,123 @@
2090
2195
  gap: 8px;
2091
2196
  }
2092
2197
 
2198
+ /* Text styles: one table with a row per style under a shared header, divided like the token tables. */
2199
+ .studio-type-row {
2200
+ display: grid;
2201
+ grid-template-columns: minmax(56px, 0.7fr) repeat(3, minmax(0, 1fr));
2202
+ margin: 0 calc(-1 * var(--studio-editor-pad));
2203
+ border-bottom: 1px solid var(--studio-cell-line);
2204
+ }
2205
+ .studio-type-row > * {
2206
+ display: flex;
2207
+ align-items: center;
2208
+ min-width: 0;
2209
+ min-height: 28px;
2210
+ }
2211
+ .studio-type-row > * + * {
2212
+ border-left: 1px solid var(--studio-cell-line);
2213
+ }
2214
+ .studio-type-row > :first-child {
2215
+ padding: 0 8px 0 var(--studio-editor-pad);
2216
+ }
2217
+ .studio-type-row:not(.studio-type-head):hover {
2218
+ background: #fbfbfb;
2219
+ }
2220
+ .studio-type-head {
2221
+ background: #f7f7f7;
2222
+ border-top: 1px solid var(--studio-cell-line);
2223
+ color: #707070;
2224
+ font-weight: 550;
2225
+ }
2226
+ .studio-type-head > * {
2227
+ min-height: 24px;
2228
+ overflow: hidden;
2229
+ text-overflow: ellipsis;
2230
+ white-space: nowrap;
2231
+ }
2232
+ .studio-type-head > * + * {
2233
+ padding-inline: 8px;
2234
+ }
2235
+ .studio-type-name {
2236
+ gap: 4px;
2237
+ color: #434343;
2238
+ font-weight: 550;
2239
+ text-transform: capitalize;
2240
+ overflow-wrap: anywhere;
2241
+ }
2242
+ .studio-type-cell .studio-token {
2243
+ display: flex;
2244
+ flex-wrap: wrap;
2245
+ flex: 1;
2246
+ align-self: stretch;
2247
+ min-width: 0;
2248
+ padding: 0;
2249
+ border: 0;
2250
+ }
2251
+ .studio-type-cell .studio-token:focus-within {
2252
+ box-shadow: inset 0 0 0 1px #8e8e8e;
2253
+ }
2254
+ /* Each input keeps its accessible name; the column header carries the visible label. */
2255
+ .studio-type-cell .studio-token > label {
2256
+ position: absolute;
2257
+ width: 1px;
2258
+ height: 1px;
2259
+ margin: 0;
2260
+ overflow: hidden;
2261
+ clip-path: inset(50%);
2262
+ white-space: nowrap;
2263
+ }
2264
+ .studio-type-cell .studio-token-value {
2265
+ display: flex;
2266
+ flex: 1;
2267
+ align-items: stretch;
2268
+ gap: 0;
2269
+ min-width: 0;
2270
+ }
2271
+ .studio-type-cell .studio-token-value input:not([type="color"]) {
2272
+ width: 100%;
2273
+ height: 100%;
2274
+ min-height: 28px;
2275
+ padding: 0 20px 0 8px;
2276
+ border: 0;
2277
+ border-radius: 0;
2278
+ background: transparent;
2279
+ font-variant-numeric: tabular-nums;
2280
+ }
2281
+ .studio-type-cell .studio-token-value input[aria-invalid="true"] {
2282
+ background: #fdf1ef;
2283
+ }
2284
+ .studio-type-cell .studio-token-unit {
2285
+ right: 4px;
2286
+ }
2287
+ .studio-type-cell .studio-size-presets {
2288
+ align-self: stretch;
2289
+ width: 16px;
2290
+ height: auto;
2291
+ border: 0;
2292
+ border-radius: 0;
2293
+ background-color: transparent;
2294
+ }
2295
+ .studio-type-cell .studio-token-value > button {
2296
+ display: grid;
2297
+ place-items: center;
2298
+ width: 20px;
2299
+ height: auto;
2300
+ padding: 0;
2301
+ border: 0;
2302
+ background: transparent;
2303
+ color: #8e8e8e;
2304
+ }
2305
+ /* Reset appears once a value differs from the theme, so unchanged rows spend their width on the values. */
2306
+ .studio-type-cell .studio-token-value > button:disabled {
2307
+ display: none;
2308
+ }
2309
+ .studio-type-cell .studio-error {
2310
+ flex-basis: 100%;
2311
+ margin: 0;
2312
+ padding: 4px 8px;
2313
+ }
2314
+
2093
2315
  .studio-token-list-rows .studio-type-fields {
2094
2316
  padding: 12px var(--studio-editor-pad) 14px;
2095
2317
  border-bottom: 1px solid var(--studio-cell-line);
@@ -2136,7 +2358,7 @@
2136
2358
  display: flex;
2137
2359
  align-items: center;
2138
2360
  gap: 12px;
2139
- padding: 10px 14px;
2361
+ padding: 8px 10px;
2140
2362
  border: 1px solid #e5e5e5;
2141
2363
  border-radius: 10px;
2142
2364
  background: #fff;
@@ -2163,7 +2385,7 @@
2163
2385
  .studio-font-role-text strong {
2164
2386
  overflow: hidden;
2165
2387
  color: #2f2f2f;
2166
- font-size: 13px;
2388
+ font-size: 10px;
2167
2389
  font-weight: 600;
2168
2390
  text-overflow: ellipsis;
2169
2391
  white-space: nowrap;
@@ -2226,14 +2448,14 @@
2226
2448
  .studio-presets-intro {
2227
2449
  margin: 0 0 4px;
2228
2450
  color: #8e8e8e;
2229
- font-size: 11px;
2451
+ font-size: 10px;
2230
2452
  line-height: 1.5;
2231
2453
  }
2232
2454
  .studio-preset {
2233
2455
  display: flex;
2234
2456
  align-items: center;
2235
2457
  gap: 12px;
2236
- padding: 12px 14px;
2458
+ padding: 8px 10px;
2237
2459
  border: 1px solid #e5e5e5;
2238
2460
  border-radius: 10px;
2239
2461
  background: #fff;
@@ -2262,7 +2484,7 @@
2262
2484
  }
2263
2485
  .studio-preset-text strong {
2264
2486
  color: #2f2f2f;
2265
- font-size: 12px;
2487
+ font-size: 10px;
2266
2488
  font-weight: 600;
2267
2489
  }
2268
2490
  .studio-preset-text span {
@@ -2277,7 +2499,7 @@
2277
2499
  border-radius: 6px;
2278
2500
  background: #fff;
2279
2501
  color: #707070;
2280
- font-size: 11px;
2502
+ font-size: 10px;
2281
2503
  }
2282
2504
  .studio-preset button:disabled {
2283
2505
  cursor: default;
@@ -2383,10 +2605,14 @@
2383
2605
  gap: 8px;
2384
2606
  }
2385
2607
 
2608
+ /*
2609
+ * The header drags the window, so the grip is only a keyboard control: hidden until it has focus, then shown left
2610
+ * of the pop-out button, where arrow keys move the window.
2611
+ */
2386
2612
  .studio-window-grip {
2387
2613
  position: absolute;
2388
2614
  top: 20px;
2389
- right: 18px;
2615
+ right: 82px;
2390
2616
  z-index: 5;
2391
2617
  display: grid;
2392
2618
  place-items: center;
@@ -2398,6 +2624,13 @@
2398
2624
  flex-shrink: 0;
2399
2625
  border-radius: 5px;
2400
2626
  }
2627
+ .studio-window-grip:not(:focus-visible) {
2628
+ width: 1px;
2629
+ height: 1px;
2630
+ padding: 0;
2631
+ overflow: hidden;
2632
+ clip-path: inset(50%);
2633
+ }
2401
2634
  .studio-overlay .studio-window-grip {
2402
2635
  cursor: grab;
2403
2636
  }
@@ -2480,10 +2713,6 @@
2480
2713
  }
2481
2714
  }
2482
2715
 
2483
- /* The grip belongs to the window, so scrolling or hiding the preview cannot hide it. */
2484
- .studio-preview-actions {
2485
- padding-right: 36px;
2486
- }
2487
2716
  @container (max-width: 1050px) {
2488
2717
  .studio-window-grip {
2489
2718
  top: 18px;
@@ -2492,13 +2721,7 @@
2492
2721
  @container (max-width: 800px) {
2493
2722
  .studio-window-grip {
2494
2723
  top: 10px;
2495
- right: 12px;
2496
- }
2497
- .studio-topbar {
2498
- padding-right: 48px;
2499
- }
2500
- .studio-preview-actions {
2501
- padding-right: 0;
2724
+ right: 76px;
2502
2725
  }
2503
2726
  }
2504
2727
 
@@ -2554,8 +2777,8 @@
2554
2777
  z-index: 5;
2555
2778
  display: grid;
2556
2779
  place-items: center;
2557
- width: 28px;
2558
- height: 28px;
2780
+ width: 24px;
2781
+ height: 24px;
2559
2782
  border: 0;
2560
2783
  border-radius: 5px;
2561
2784
  color: #858585;
@@ -2565,6 +2788,7 @@
2565
2788
  outline: 2px solid #555;
2566
2789
  outline-offset: -2px;
2567
2790
  }
2791
+ /* Pop-out and minimize share the top-right corner (minimize outermost); the preview heading leaves them room. */
2568
2792
  .studio-preview-actions {
2569
2793
  padding-right: 68px;
2570
2794
  }
@@ -2594,31 +2818,15 @@
2594
2818
  border-radius: 0;
2595
2819
  box-shadow: none;
2596
2820
  }
2597
- .studio-modal-popout .studio-window-popout {
2598
- right: 18px;
2599
- }
2600
- .studio-modal-popout .studio-preview-actions {
2601
- padding-right: 36px;
2602
- }
2603
- @container (max-width: 800px) {
2604
- .studio-modal-popout .studio-topbar {
2605
- padding-right: 48px;
2606
- }
2607
- .studio-modal-popout .studio-preview-actions {
2608
- padding-right: 0;
2609
- }
2610
- }
2611
2821
 
2612
2822
  @container (max-width: 800px) {
2613
2823
  .studio-topbar,
2614
2824
  .studio-modal-popout .studio-topbar {
2615
2825
  padding-right: 16px;
2616
2826
  }
2827
+ /* Leaves the window controls' corner free with the same 8px gap they keep between themselves. */
2617
2828
  .studio-topbar-controls {
2618
- margin-right: 64px;
2619
- }
2620
- .studio-modal-popout .studio-topbar-controls {
2621
- margin-right: 32px;
2829
+ margin-right: 54px;
2622
2830
  }
2623
2831
  }
2624
2832
  .studio-palette-native {
@@ -2641,12 +2849,12 @@
2641
2849
  .studio-window-minimize {
2642
2850
  position: absolute;
2643
2851
  top: 20px;
2644
- right: 82px;
2852
+ right: 18px;
2645
2853
  z-index: 5;
2646
2854
  display: grid;
2647
2855
  place-items: center;
2648
- width: 28px;
2649
- height: 28px;
2856
+ width: 24px;
2857
+ height: 24px;
2650
2858
  padding: 0;
2651
2859
  border: 0;
2652
2860
  border-radius: 5px;
@@ -2657,15 +2865,6 @@
2657
2865
  outline: 2px solid #555;
2658
2866
  outline-offset: -2px;
2659
2867
  }
2660
- .studio-preview-actions {
2661
- padding-right: 100px;
2662
- }
2663
- .studio-modal-popout .studio-window-minimize {
2664
- right: 50px;
2665
- }
2666
- .studio-modal-popout .studio-preview-actions {
2667
- padding-right: 68px;
2668
- }
2669
2868
  @container (max-width: 1050px) {
2670
2869
  .studio-window-minimize {
2671
2870
  top: 18px;
@@ -2674,16 +2873,9 @@
2674
2873
  @container (max-width: 800px) {
2675
2874
  .studio-window-minimize {
2676
2875
  top: 10px;
2677
- right: 76px;
2678
- }
2679
- .studio-topbar-controls {
2680
- margin-right: 96px;
2681
- }
2682
- .studio-modal-popout .studio-topbar-controls {
2683
- margin-right: 64px;
2876
+ right: 12px;
2684
2877
  }
2685
- .studio-preview-actions,
2686
- .studio-modal-popout .studio-preview-actions {
2878
+ .studio-preview-actions {
2687
2879
  padding-right: 0;
2688
2880
  }
2689
2881
  }
@@ -2693,14 +2885,14 @@
2693
2885
  display: flex;
2694
2886
  align-items: center;
2695
2887
  gap: 10px;
2696
- padding: 12px 16px;
2888
+ padding: 6px 10px;
2697
2889
  border: 1px solid #555;
2698
2890
  border-radius: 999px;
2699
2891
  background: #292929;
2700
2892
  color: #fff;
2701
2893
  box-shadow: 0 4px 16px #0003;
2702
2894
  font:
2703
- 600 13px/1.4 "Inter Variable",
2895
+ 600 10px/1.4 "Inter Variable",
2704
2896
  Inter,
2705
2897
  sans-serif;
2706
2898
  cursor: grab;
@@ -2807,7 +2999,7 @@
2807
2999
  background: #fff;
2808
3000
  color: #292730;
2809
3001
  font:
2810
- 11px/1.5 "Inter Variable",
3002
+ 10px/1.5 "Inter Variable",
2811
3003
  Inter,
2812
3004
  sans-serif;
2813
3005
  overscroll-behavior: contain;
@@ -2819,13 +3011,13 @@
2819
3011
  display: flex;
2820
3012
  align-items: center;
2821
3013
  gap: 4px;
2822
- padding: 9px 12px;
3014
+ padding: 6px 12px;
2823
3015
  border-bottom: 1px solid #efedf3;
2824
3016
  background: #fff;
2825
3017
  }
2826
3018
  .studio-inspector-panel > header > strong {
2827
3019
  flex: 1;
2828
- font-size: 11px;
3020
+ font-size: 10px;
2829
3021
  }
2830
3022
  .studio-inspector-panel button {
2831
3023
  border: 0;
@@ -2849,11 +3041,11 @@
2849
3041
  }
2850
3042
  .studio-inspector-panel section {
2851
3043
  border-top: 1px solid #efedf3;
2852
- padding: 10px 12px;
3044
+ padding: 8px 12px;
2853
3045
  }
2854
3046
  .studio-inspector-panel h3 {
2855
3047
  margin: 0 0 7px;
2856
- font-size: 9px;
3048
+ font-size: 10px;
2857
3049
  font-weight: 600;
2858
3050
  color: #928a9d;
2859
3051
  text-transform: uppercase;
@@ -2880,37 +3072,68 @@
2880
3072
  }
2881
3073
  .studio-inspector-panel dl > div {
2882
3074
  display: grid;
2883
- grid-template-columns: 85px minmax(0, 1fr);
2884
- gap: 6px;
2885
- padding: 3px 0;
3075
+ grid-template-columns: 56px minmax(0, 1fr);
3076
+ align-items: center;
3077
+ gap: 4px;
3078
+ padding: 1px 0;
2886
3079
  }
2887
3080
  .studio-inspector-panel dt {
2888
3081
  color: #817b8b;
2889
3082
  }
2890
3083
  .studio-inspector-panel dd {
2891
3084
  display: flex;
2892
- flex-wrap: wrap;
3085
+ margin: 0;
3086
+ min-width: 0;
3087
+ }
3088
+ /* A single-line chip: swatch, variable name (shortened first), then the value (shortened last). */
3089
+ .studio-inspector-panel .studio-inspector-chip {
3090
+ display: flex;
2893
3091
  align-items: center;
2894
3092
  gap: 4px;
2895
- margin: 0;
3093
+ width: 100%;
2896
3094
  min-width: 0;
2897
- overflow-wrap: anywhere;
3095
+ height: 22px;
3096
+ padding: 0 6px;
3097
+ border: 0;
3098
+ border-radius: 4px;
3099
+ background: #f5f5f6;
3100
+ color: #3e3c42;
3101
+ font-size: 10px;
3102
+ text-align: left;
3103
+ white-space: nowrap;
3104
+ }
3105
+ .studio-inspector-panel button.studio-inspector-chip {
3106
+ background: #f3effb;
3107
+ color: #6a46a8;
2898
3108
  }
2899
- .studio-inspector-panel dd > i {
3109
+ .studio-inspector-panel button.studio-inspector-chip:hover {
3110
+ background: #ebe4f8;
3111
+ }
3112
+ .studio-inspector-chip > i {
2900
3113
  width: 12px;
2901
3114
  height: 12px;
2902
3115
  border: 1px solid #0002;
2903
3116
  border-radius: 3px;
2904
3117
  flex-shrink: 0;
2905
3118
  }
2906
- .studio-inspector-panel dd > button {
2907
- max-width: 100%;
2908
- padding: 2px 5px;
2909
- background: #f3effb;
2910
- color: #7752ae;
2911
- font-size: 9px;
2912
- text-align: left;
2913
- overflow-wrap: anywhere;
3119
+ .studio-inspector-chip > span {
3120
+ min-width: 0;
3121
+ overflow: hidden;
3122
+ text-overflow: ellipsis;
3123
+ }
3124
+ .studio-inspector-chip-name {
3125
+ flex: 0 3 auto;
3126
+ }
3127
+ .studio-inspector-chip-value {
3128
+ flex: 0 1 auto;
3129
+ font-variant-numeric: tabular-nums;
3130
+ }
3131
+ /* Beside a variable the value never truncates; the variable name gives way, and its full name is in the tooltip. */
3132
+ .studio-inspector-chip-name + .studio-inspector-chip-value {
3133
+ flex-shrink: 0;
3134
+ margin-left: auto;
3135
+ padding-left: 4px;
3136
+ color: #8a8492;
2914
3137
  }
2915
3138
  .studio-inspector-empty {
2916
3139
  margin: 0;
@@ -2928,7 +3151,7 @@
2928
3151
  margin-top: 6px;
2929
3152
  text-align: center;
2930
3153
  color: #8b8b8b;
2931
- font-size: 9px;
3154
+ font-size: 10px;
2932
3155
  }
2933
3156
  .studio-box-layer {
2934
3157
  position: relative;
@@ -2958,7 +3181,7 @@
2958
3181
  padding: 0 3px;
2959
3182
  background: #fafafa;
2960
3183
  color: #747474;
2961
- font-size: 9px;
3184
+ font-size: 10px;
2962
3185
  }
2963
3186
  .studio-box-layer.is-padding > .studio-box-name {
2964
3187
  background: #e9e9e9;
@@ -3004,7 +3227,7 @@
3004
3227
  border-radius: 3px;
3005
3228
  background: #f5f5f5;
3006
3229
  color: #777;
3007
- font-size: 8px;
3230
+ font-size: 10px;
3008
3231
  line-height: 1;
3009
3232
  }
3010
3233
  .studio-box-radius.is-topLeft {
@@ -3026,7 +3249,7 @@
3026
3249
  .studio-inspector-panel .studio-box-radius {
3027
3250
  padding: 1px;
3028
3251
  color: #777;
3029
- font-size: 8px;
3252
+ font-size: 10px;
3030
3253
  line-height: 1;
3031
3254
  }
3032
3255
  .studio-inspector-panel button.studio-box-radius[data-token] {
@@ -3046,7 +3269,7 @@
3046
3269
  align-items: center;
3047
3270
  flex-wrap: wrap;
3048
3271
  gap: 2px;
3049
- font-size: 9px;
3272
+ font-size: 10px;
3050
3273
  }
3051
3274
  .studio-box-gaps {
3052
3275
  display: flex;
@@ -3247,7 +3470,7 @@
3247
3470
  .studio-inspector-panel .studio-box-dimension-value {
3248
3471
  padding: 0;
3249
3472
  font: inherit;
3250
- font-size: 9px;
3473
+ font-size: 10px;
3251
3474
  line-height: 1.3;
3252
3475
  color: inherit;
3253
3476
  }
@@ -3278,3 +3501,35 @@
3278
3501
  0 16px 64px #17102030,
3279
3502
  0 0 0 1px #17102018;
3280
3503
  }
3504
+
3505
+ /* Chrome icons follow the 10px type: 12px beside a label, 14px in icon-only controls. Specimens keep their own sizes. */
3506
+ .studio-overlay
3507
+ svg.lucide:not(
3508
+ :is(
3509
+ .studio-inspector-canvas,
3510
+ .studio-cva-stage,
3511
+ .studio-context-preview,
3512
+ .studio-layout-fullscreen-stage,
3513
+ .studio-gallery-zoom-stage,
3514
+ .studio-sample
3515
+ )
3516
+ *
3517
+ ) {
3518
+ width: 12px;
3519
+ height: 12px;
3520
+ flex-shrink: 0;
3521
+ }
3522
+ .studio-overlay
3523
+ :is(
3524
+ .studio-window-grip,
3525
+ .studio-window-minimize,
3526
+ .studio-window-popout,
3527
+ .studio-palette-reset,
3528
+ .studio-token-value > button,
3529
+ .studio-inspector-panel > header button,
3530
+ .studio-floating-launcher
3531
+ )
3532
+ svg.lucide {
3533
+ width: 14px;
3534
+ height: 14px;
3535
+ }