@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.
@@ -10,7 +10,7 @@
10
10
  background: #ececee;
11
11
  color: #242428;
12
12
  font:
13
- 12px/1.45 Inter,
13
+ 10px/16px Inter,
14
14
  system-ui,
15
15
  sans-serif;
16
16
  isolation: isolate;
@@ -18,41 +18,41 @@
18
18
  .povio-app-canvas * {
19
19
  box-sizing: border-box;
20
20
  }
21
- .povio-app-canvas button,
22
- .povio-app-canvas select,
23
- .povio-app-canvas input {
21
+ .povio-app-canvas button:not(:where(.povio-canvas-workspace-select *)),
22
+ .povio-app-canvas select:not(:where(.povio-canvas-workspace-select *)),
23
+ .povio-app-canvas input:not(:where(.povio-canvas-workspace-select *)) {
24
24
  font: inherit;
25
25
  }
26
- .povio-app-canvas button {
26
+ .povio-app-canvas button:not(:where(.povio-canvas-workspace-select *)) {
27
27
  cursor: pointer;
28
28
  background: #fff;
29
29
  color: #45454d;
30
30
  border: 1px solid transparent;
31
- border-radius: 6px;
32
- padding: 7px 9px;
31
+ border-radius: 5px;
32
+ padding: 4px 6px;
33
33
  }
34
- .povio-app-canvas button:hover {
34
+ .povio-app-canvas button:not(:where(.povio-canvas-workspace-select *)):hover {
35
35
  background: #f1f1f4;
36
36
  }
37
- .povio-app-canvas button:disabled {
37
+ .povio-app-canvas button:not(:where(.povio-canvas-workspace-select *)):disabled {
38
38
  opacity: 0.45;
39
39
  cursor: default;
40
40
  }
41
- .povio-app-canvas button:focus-visible,
42
- .povio-app-canvas input:focus-visible,
43
- .povio-app-canvas select:focus-visible {
41
+ .povio-app-canvas button:not(:where(.povio-canvas-workspace-select *)):focus-visible,
42
+ .povio-app-canvas input:not(:where(.povio-canvas-workspace-select *)):focus-visible,
43
+ .povio-app-canvas select:not(:where(.povio-canvas-workspace-select *)):focus-visible {
44
44
  outline: 2px solid var(--canvas-accent);
45
45
  outline-offset: 2px;
46
46
  }
47
- .povio-app-canvas button[aria-pressed="true"] {
47
+ .povio-app-canvas button:not(:where(.povio-canvas-workspace-select *))[aria-pressed="true"] {
48
48
  background: #eee8ff;
49
49
  color: #6540c2;
50
50
  }
51
- .povio-app-canvas input,
52
- .povio-app-canvas select {
51
+ .povio-app-canvas input:not(:where(.povio-canvas-workspace-select *)),
52
+ .povio-app-canvas select:not(:where(.povio-canvas-workspace-select *)) {
53
53
  border: 1px solid var(--canvas-border);
54
- border-radius: 6px;
55
- padding: 7px;
54
+ border-radius: 5px;
55
+ padding: 4px 6px;
56
56
  min-width: 0;
57
57
  background: #f7f7f8;
58
58
  color: #333;
@@ -62,11 +62,11 @@
62
62
  align-items: center;
63
63
  gap: 6px;
64
64
  background: #fff;
65
- padding: 10px 16px;
65
+ padding: 6px 12px;
66
66
  border-bottom: 1px solid var(--canvas-border);
67
67
  flex-shrink: 0;
68
68
  z-index: 5;
69
- min-height: 64px;
69
+ min-height: 40px;
70
70
  }
71
71
  .povio-canvas-brand {
72
72
  display: flex;
@@ -77,14 +77,14 @@
77
77
  }
78
78
  .povio-canvas-brand strong {
79
79
  display: block;
80
- font-size: 13px;
81
- font-weight: 650;
80
+ font-size: 10px;
81
+ font-weight: 600;
82
82
  }
83
83
  .povio-canvas-brand small {
84
84
  display: block;
85
85
  color: #73737c;
86
86
  font-size: 10px;
87
- margin-top: 2px;
87
+ margin-top: 0;
88
88
  }
89
89
  .povio-canvas-brand small span {
90
90
  padding: 0 5px;
@@ -93,11 +93,11 @@
93
93
  .povio-canvas-logo {
94
94
  display: grid;
95
95
  place-items: center;
96
- width: 32px;
97
- height: 32px;
96
+ width: 24px;
97
+ height: 24px;
98
98
  background: #252329;
99
99
  color: #fff;
100
- border-radius: 9px;
100
+ border-radius: 6px;
101
101
  }
102
102
  .povio-canvas-breakpoint {
103
103
  display: flex;
@@ -114,13 +114,13 @@
114
114
  display: inline-flex;
115
115
  align-items: center;
116
116
  justify-content: center;
117
- gap: 7px;
118
- min-height: 34px;
117
+ gap: 4px;
118
+ min-height: 24px;
119
119
  }
120
120
  .povio-canvas-toolbar .povio-canvas-configure {
121
121
  background: var(--canvas-accent);
122
122
  color: white;
123
- padding-inline: 13px;
123
+ padding-inline: 8px;
124
124
  }
125
125
  .povio-canvas-toolbar .povio-canvas-configure:hover {
126
126
  background: #6545c4;
@@ -131,7 +131,7 @@
131
131
  gap: 6px;
132
132
  color: #77717e;
133
133
  font-size: 10px;
134
- padding-left: 10px;
134
+ padding-left: 8px;
135
135
  white-space: nowrap;
136
136
  }
137
137
  .povio-canvas-ready i,
@@ -149,8 +149,8 @@
149
149
  min-height: 0;
150
150
  }
151
151
  .povio-canvas-catalog {
152
- width: 232px;
153
- flex: 0 0 232px;
152
+ width: 240px;
153
+ flex: 0 0 240px;
154
154
  background: #fff;
155
155
  display: flex;
156
156
  flex-direction: column;
@@ -165,9 +165,9 @@
165
165
  display: flex;
166
166
  align-items: center;
167
167
  gap: 8px;
168
- padding: 17px 16px;
168
+ padding: 8px 12px;
169
169
  border-bottom: 1px solid var(--canvas-border);
170
- min-height: 52px;
170
+ min-height: 40px;
171
171
  }
172
172
  .povio-canvas-panel-heading > span {
173
173
  font-size: 10px;
@@ -179,35 +179,35 @@
179
179
  .povio-canvas-search {
180
180
  display: flex;
181
181
  align-items: center;
182
- gap: 7px;
183
- margin: 14px 12px;
182
+ gap: 6px;
183
+ margin: 0 8px 8px;
184
184
  padding: 0 8px;
185
185
  background: #f6f6f8;
186
186
  color: #88838e;
187
- border-radius: 6px;
187
+ border-radius: 5px;
188
188
  }
189
189
  .povio-canvas-search input {
190
190
  width: 100%;
191
191
  background: transparent;
192
192
  border: 0;
193
- padding: 8px 0;
194
- font-size: 11px;
193
+ padding: 4px 0;
194
+ font-size: 10px;
195
195
  }
196
196
  .povio-canvas-page-list {
197
197
  flex: 1;
198
198
  overflow-y: auto;
199
- padding: 0 8px 12px;
199
+ padding: 0 8px 8px;
200
200
  }
201
- .povio-canvas-page-list > button {
201
+ .povio-canvas-page-entry > button {
202
202
  display: flex;
203
203
  align-items: flex-start;
204
- gap: 9px;
204
+ gap: 6px;
205
205
  width: 100%;
206
206
  text-align: left;
207
- margin-bottom: 3px;
208
- padding: 10px 8px;
207
+ margin-bottom: 1px;
208
+ padding: 4px 8px;
209
209
  }
210
- .povio-canvas-page-list > button > svg {
210
+ .povio-canvas-page-entry > button > svg {
211
211
  flex-shrink: 0;
212
212
  margin-top: 2px;
213
213
  color: #8d859b;
@@ -216,10 +216,10 @@
216
216
  display: flex;
217
217
  flex-direction: column;
218
218
  min-width: 0;
219
- gap: 2px;
219
+ gap: 0;
220
220
  }
221
221
  .povio-canvas-page-label strong {
222
- font-weight: 550;
222
+ font-weight: 500;
223
223
  overflow: hidden;
224
224
  text-overflow: ellipsis;
225
225
  white-space: nowrap;
@@ -231,13 +231,13 @@
231
231
  }
232
232
  .povio-canvas-page-label small:last-child {
233
233
  color: #76727f;
234
- font-size: 9px;
234
+ font-size: 10px;
235
235
  }
236
236
  .povio-canvas-catalog-footer {
237
237
  border-top: 1px solid var(--canvas-border);
238
- padding: 14px 16px;
238
+ padding: 8px 12px;
239
239
  color: #5a5963;
240
- font-size: 11px;
240
+ font-size: 10px;
241
241
  }
242
242
  .povio-canvas-catalog-footer .povio-canvas-live-dot {
243
243
  margin-right: 6px;
@@ -246,25 +246,25 @@
246
246
  display: block;
247
247
  color: #76727f;
248
248
  font-size: 10px;
249
- padding-left: 13px;
250
- margin-top: 3px;
249
+ padding-left: 12px;
250
+ margin-top: 0;
251
251
  }
252
252
 
253
253
  .povio-canvas-connections {
254
254
  display: grid;
255
- gap: 8px;
256
- padding: 18px 16px;
255
+ gap: 6px;
256
+ padding: 12px;
257
257
  }
258
258
  .povio-canvas-connections label {
259
259
  display: grid;
260
- gap: 12px;
261
- font-size: 11px;
260
+ gap: 6px;
261
+ font-size: 10px;
262
262
  font-weight: 600;
263
263
  }
264
264
  .povio-canvas-connections button {
265
265
  text-align: left;
266
266
  background: #f6f6f8;
267
- font-size: 11px;
267
+ font-size: 10px;
268
268
  overflow-wrap: anywhere;
269
269
  }
270
270
  .povio-canvas-connections select {
@@ -292,29 +292,53 @@
292
292
  }
293
293
  .povio-canvas-node {
294
294
  position: absolute;
295
- box-shadow: 0 2px 8px #24202d16;
295
+ }
296
+ .povio-canvas-node > :is(.povio-canvas-frame, .povio-canvas-unresolved) {
297
+ box-shadow: 0 1px 4px #24202d16;
296
298
  background: #fff;
297
299
  }
298
- .povio-canvas-node.is-selected {
299
- outline: 3px solid var(--canvas-accent);
300
- outline-offset: 2px;
300
+ .povio-canvas-node.is-selected > :is(.povio-canvas-frame, .povio-canvas-unresolved) {
301
+ outline: calc(2px / var(--canvas-zoom, 1)) solid var(--canvas-accent);
302
+ outline-offset: 0;
301
303
  }
304
+ /* The header keeps its 48px slot in world space; its label divides by the zoom to stay 10px on screen. */
302
305
  .povio-canvas-node-header {
306
+ user-select: none;
307
+ -webkit-user-select: none;
303
308
  position: relative;
304
309
  display: flex;
305
- align-items: center;
306
- gap: 16px;
310
+ align-items: flex-end;
311
+ gap: calc(8px / var(--canvas-zoom, 1));
307
312
  height: 48px;
308
- padding: 6px 12px;
309
- background: #fafafa;
310
- border-bottom: 1px solid #eee;
313
+ padding: 0 0 calc(4px / var(--canvas-zoom, 1));
314
+ color: #77717e;
311
315
  cursor: move;
312
- font-size: 16px;
316
+ font-size: calc(10px / var(--canvas-zoom, 1));
317
+ line-height: 1.2;
318
+ white-space: nowrap;
319
+ }
320
+ .povio-canvas-node-header > strong {
321
+ overflow: hidden;
322
+ text-overflow: ellipsis;
323
+ font-weight: 500;
324
+ }
325
+ .povio-canvas-node.is-selected .povio-canvas-node-header > strong {
326
+ color: var(--canvas-accent);
313
327
  }
314
328
  .povio-canvas-node-header > span {
315
- color: #76727f;
329
+ color: #9a96a3;
316
330
  margin-left: auto;
317
331
  }
332
+ .povio-app-canvas .povio-canvas-node-header > button {
333
+ padding: 0 calc(2px / var(--canvas-zoom, 1));
334
+ border-radius: calc(3px / var(--canvas-zoom, 1));
335
+ background: transparent;
336
+ color: inherit;
337
+ line-height: inherit;
338
+ }
339
+ .povio-app-canvas .povio-canvas-node-header > button:hover {
340
+ background: #e3e1e8;
341
+ }
318
342
  .povio-canvas-frame {
319
343
  display: block;
320
344
  border: 0;
@@ -352,61 +376,63 @@
352
376
  .povio-canvas-camera,
353
377
  .povio-canvas-tool-dock {
354
378
  position: absolute;
355
- bottom: 16px;
379
+ bottom: 12px;
356
380
  display: flex;
357
381
  align-items: center;
358
- gap: 3px;
359
- padding: 5px;
382
+ gap: 2px;
383
+ padding: 4px;
360
384
  background: #fff;
361
385
  border: 1px solid #e3e1e8;
362
- border-radius: 10px;
386
+ border-radius: 8px;
363
387
  cursor: default;
364
388
  box-shadow: 0 4px 16px #24202d12;
365
389
  z-index: 2;
366
390
  }
367
391
  .povio-canvas-camera {
368
- right: 16px;
392
+ right: 12px;
369
393
  }
370
394
  .povio-canvas-tool-dock {
371
- left: 16px;
395
+ left: 12px;
372
396
  }
397
+ .povio-canvas-camera button,
373
398
  .povio-canvas-tool-dock button {
374
399
  display: flex;
375
400
  align-items: center;
376
- gap: 6px;
377
- font-size: 11px;
401
+ gap: 4px;
402
+ min-height: 24px;
403
+ font-size: 10px;
378
404
  }
379
405
  .povio-canvas-dock-divider {
380
406
  width: 1px;
381
- height: 20px;
407
+ height: 16px;
382
408
  background: var(--canvas-border);
383
- margin: 0 3px;
409
+ margin: 0 2px;
384
410
  }
385
411
  .povio-canvas-camera output {
386
- min-width: 44px;
412
+ min-width: 36px;
387
413
  text-align: center;
388
- font-size: 11px;
414
+ font-size: 10px;
389
415
  font-variant-numeric: tabular-nums;
390
416
  }
391
417
  .povio-canvas-unresolved {
392
- padding: 24px;
418
+ padding: 12px;
393
419
  min-height: 200px;
394
420
  display: flex;
395
421
  flex-direction: column;
396
- gap: 12px;
422
+ gap: 8px;
397
423
  }
398
424
  .povio-canvas-unresolved label {
399
425
  display: grid;
400
- gap: 6px;
426
+ gap: 4px;
401
427
  }
402
428
  .povio-canvas-page-note {
403
429
  background: #fff4d6;
404
430
  color: #6b501a;
405
- padding: 10px;
406
- font-size: 14px;
431
+ padding: 4px 8px;
432
+ font-size: 10px;
407
433
  }
408
434
  .povio-canvas-notice {
409
- padding: 8px 12px;
435
+ padding: 4px 12px;
410
436
  display: flex;
411
437
  justify-content: space-between;
412
438
  background: #fff4d6;
@@ -523,7 +549,7 @@
523
549
  .povio-canvas-camera .povio-canvas-breakpoint select {
524
550
  width: 135px;
525
551
  padding-inline: 3px;
526
- font-size: 11px;
552
+ font-size: 10px;
527
553
  }
528
554
  .povio-canvas-camera .povio-canvas-breakpoint > svg {
529
555
  display: none;
@@ -534,18 +560,18 @@
534
560
  }
535
561
 
536
562
  .povio-app-canvas .povio-canvas-inspector {
537
- flex: 0 0 320px;
538
- width: 320px;
563
+ flex: 0 0 272px;
564
+ width: 272px;
539
565
  border-radius: 0;
540
566
  border: 0;
541
567
  border-left: 1px solid var(--canvas-border);
542
568
  z-index: 4;
543
569
  }
544
570
  .povio-canvas-inspect-hint {
545
- margin: 12px;
571
+ margin: 8px 12px;
546
572
  color: #77717e;
547
- font-size: 11px;
548
- line-height: 1.6;
573
+ font-size: 10px;
574
+ line-height: 16px;
549
575
  }
550
576
  .povio-canvas-inspection-overlay {
551
577
  position: absolute;
@@ -569,7 +595,7 @@
569
595
  top: 0;
570
596
  bottom: 76px;
571
597
  height: auto;
572
- width: min(320px, 80%);
598
+ width: min(272px, 80%);
573
599
  box-shadow: -6px 0 24px #24202d16;
574
600
  }
575
601
  }
@@ -578,7 +604,7 @@
578
604
  top: auto;
579
605
  bottom: 124px;
580
606
  max-height: 48%;
581
- width: min(300px, 78%);
607
+ width: min(272px, 78%);
582
608
  border: 1px solid var(--canvas-border);
583
609
  border-radius: 8px;
584
610
  }
@@ -587,26 +613,28 @@
587
613
  .povio-canvas-catalog > .povio-canvas-brand {
588
614
  min-width: 0;
589
615
  margin: 0;
590
- padding: 17px 16px 4px;
591
- gap: 8px;
616
+ padding: 12px 12px 4px;
617
+ gap: 6px;
592
618
  }
593
619
  .povio-canvas-page-count {
594
620
  color: #76727f;
595
- font-size: 11px;
621
+ font-size: 10px;
622
+ line-height: 14px;
596
623
  background: #f1f1f4;
597
- padding: 1px 6px;
624
+ padding: 0 4px;
598
625
  border-radius: 4px;
599
626
  }
600
627
  .povio-canvas-sidebar-actions {
601
628
  display: flex;
602
629
  align-items: center;
603
- padding: 10px 8px;
630
+ padding: 4px 8px;
631
+ min-height: 40px;
604
632
  gap: 2px;
605
633
  border-top: 1px solid var(--canvas-border);
606
634
  }
607
635
  .povio-canvas-sidebar-actions button {
608
636
  display: inline-flex;
609
- padding: 7px;
637
+ padding: 5px;
610
638
  }
611
639
  .povio-canvas-sidebar-actions .povio-canvas-ready {
612
640
  display: flex;
@@ -625,15 +653,17 @@
625
653
  }
626
654
  .povio-canvas-layers {
627
655
  border-top: 1px solid var(--canvas-border);
628
- margin-top: 12px;
629
- padding-top: 8px;
656
+ margin-top: 8px;
657
+ padding-top: 4px;
630
658
  }
631
659
  .povio-canvas-layers > header {
632
660
  display: flex;
633
661
  align-items: center;
634
- gap: 7px;
635
- padding: 6px 8px 12px;
636
- font-size: 11px;
662
+ gap: 6px;
663
+ padding: 4px 8px;
664
+ min-height: 28px;
665
+ font-size: 10px;
666
+ font-weight: 600;
637
667
  }
638
668
  .povio-canvas-layers > header > span {
639
669
  color: #77717e;
@@ -647,7 +677,7 @@
647
677
  display: flex;
648
678
  align-items: center;
649
679
  min-width: 0;
650
- min-height: 28px;
680
+ min-height: 24px;
651
681
  border-radius: 4px;
652
682
  }
653
683
  [role="treeitem"][aria-selected="true"] > .povio-canvas-layer-row {
@@ -655,15 +685,15 @@
655
685
  color: #6540c2;
656
686
  }
657
687
  .povio-canvas-layer-row .povio-canvas-layer-toggle {
658
- flex: 0 0 18px;
659
- width: 18px;
660
- padding: 3px;
688
+ flex: 0 0 16px;
689
+ width: 16px;
690
+ padding: 2px;
661
691
  display: grid;
662
692
  place-items: center;
663
693
  background: transparent;
664
694
  }
665
695
  .povio-canvas-layer-spacer {
666
- flex: 0 0 18px;
696
+ flex: 0 0 16px;
667
697
  }
668
698
  .povio-canvas-layer-row .povio-canvas-layer-select {
669
699
  display: flex;
@@ -672,7 +702,7 @@
672
702
  flex: 1;
673
703
  min-width: 0;
674
704
  text-align: left;
675
- padding: 5px 3px;
705
+ padding: 4px 2px;
676
706
  background: transparent;
677
707
  font-size: 10px;
678
708
  }
@@ -687,13 +717,13 @@
687
717
  white-space: nowrap;
688
718
  }
689
719
  .povio-canvas-layers > p {
690
- padding: 8px;
720
+ padding: 4px 8px;
691
721
  color: #77717e;
692
- font-size: 11px;
722
+ font-size: 10px;
693
723
  }
694
724
  .povio-canvas-more-layers {
695
- margin: 8px;
696
- font-size: 11px;
725
+ margin: 4px 8px;
726
+ font-size: 10px;
697
727
  }
698
728
  @media (max-width: 900px) {
699
729
  .povio-canvas-viewport > .povio-canvas-mobile-tools {
@@ -738,3 +768,476 @@
738
768
  height: 100dvh;
739
769
  background: #eeeef0;
740
770
  }
771
+
772
+ /* Chrome icons follow the 10px type: 12px beside a label, 14px in icon-only controls. */
773
+ .povio-app-canvas svg.lucide:not(.povio-canvas-world *, .studio-inspector-canvas *) {
774
+ width: 12px;
775
+ height: 12px;
776
+ flex-shrink: 0;
777
+ }
778
+ .povio-app-canvas
779
+ :is(
780
+ .povio-canvas-file-action,
781
+ .povio-canvas-theme-toggle,
782
+ .povio-canvas-configure,
783
+ .povio-canvas-mode-switch > button,
784
+ .povio-canvas-tool-dock > button,
785
+ .povio-canvas-panel-close,
786
+ .povio-canvas-mobile-tools > button
787
+ )
788
+ > svg.lucide {
789
+ width: 14px;
790
+ height: 14px;
791
+ }
792
+
793
+ /* Pages | Components: what the canvas shows, as underlined tabs like the configurator's sub-tabs. */
794
+ .povio-canvas-catalog > .povio-canvas-content-switch {
795
+ gap: 12px;
796
+ margin: 0 12px 8px;
797
+ padding: 8px 0 0;
798
+ border-bottom: 1px solid var(--canvas-border);
799
+ }
800
+ .povio-app-canvas .povio-canvas-content-switch > button {
801
+ display: inline-flex;
802
+ align-items: center;
803
+ gap: 4px;
804
+ margin-bottom: -1px;
805
+ padding: 4px 0 6px;
806
+ border: 0;
807
+ border-bottom: 2px solid transparent;
808
+ border-radius: 0;
809
+ background: transparent;
810
+ color: #77717e;
811
+ font-weight: 500;
812
+ }
813
+ .povio-app-canvas .povio-canvas-content-switch > button:hover {
814
+ background: transparent;
815
+ color: #242428;
816
+ }
817
+ .povio-app-canvas .povio-canvas-content-switch > button[aria-pressed="true"] {
818
+ border-bottom-color: #242428;
819
+ background: transparent;
820
+ color: #242428;
821
+ font-weight: 600;
822
+ }
823
+ .povio-canvas-content-switch .povio-canvas-page-count {
824
+ font-weight: 500;
825
+ }
826
+ /* A Components artboard's own document: one gallery section on the page background. */
827
+ .povio-canvas-components-frame.studio-sample {
828
+ padding: 32px;
829
+ border-radius: 0;
830
+ }
831
+ /* The footer stays at the sidebar's bottom when the list is short. */
832
+ .povio-canvas-catalog > .povio-canvas-sidebar-actions {
833
+ margin-top: auto;
834
+ }
835
+
836
+ .povio-canvas-workspaces {
837
+ margin: 0;
838
+ border: 0;
839
+ padding: 12px 10px;
840
+ border-bottom: 1px solid var(--canvas-border);
841
+ min-width: 0;
842
+ }
843
+ .povio-canvas-workspace-picker,
844
+ .povio-canvas-workspace-actions {
845
+ display: flex;
846
+ align-items: center;
847
+ gap: 3px;
848
+ }
849
+ .povio-canvas-workspace-select {
850
+ flex: 1;
851
+ min-width: 0;
852
+ font-weight: 600;
853
+ }
854
+ .povio-canvas-workspace-picker > button {
855
+ display: grid;
856
+ place-items: center;
857
+ padding: 6px;
858
+ }
859
+ .povio-canvas-workspace-actions {
860
+ margin-top: 8px;
861
+ }
862
+ .povio-canvas-workspace-actions > button:first-child {
863
+ flex: 1;
864
+ display: flex;
865
+ justify-content: space-between;
866
+ font-size: 11px;
867
+ }
868
+ .povio-canvas-workspace-actions span {
869
+ color: #77717e;
870
+ }
871
+ .povio-canvas-storage-status {
872
+ padding: 0 12px 12px;
873
+ font-size: 10px;
874
+ color: #77717e;
875
+ overflow-wrap: anywhere;
876
+ }
877
+ .povio-canvas-storage-status p {
878
+ color: #9a461b;
879
+ margin: 6px 0;
880
+ }
881
+ .povio-canvas-storage-status button {
882
+ font-size: 10px;
883
+ border-color: var(--canvas-border);
884
+ }
885
+ .povio-canvas-inline-layers {
886
+ position: relative;
887
+ margin: 4px 0 12px 12px;
888
+ border-left: 1px solid var(--canvas-border);
889
+ }
890
+ .povio-canvas-inline-layers .povio-canvas-layers {
891
+ margin: 0;
892
+ border: 0;
893
+ padding-top: 0;
894
+ }
895
+ .povio-canvas-inline-layers .povio-canvas-layers > header {
896
+ padding-right: 28px;
897
+ }
898
+ .povio-canvas-inline-layers .povio-canvas-layers-close {
899
+ position: absolute;
900
+ top: 3px;
901
+ right: 0;
902
+ padding: 3px;
903
+ display: grid;
904
+ place-items: center;
905
+ }
906
+ .povio-canvas-empty {
907
+ position: absolute;
908
+ left: 50%;
909
+ top: 40%;
910
+ transform: translate(-50%, -50%);
911
+ max-width: 320px;
912
+ color: #77717e;
913
+ text-align: center;
914
+ font-size: 13px;
915
+ }
916
+
917
+ .povio-canvas-save-theme {
918
+ margin-top: 6px;
919
+ }
920
+ .povio-canvas-save-theme > button {
921
+ width: 100%;
922
+ }
923
+ .povio-canvas-save-theme > p {
924
+ margin: 6px 0 0;
925
+ overflow-wrap: anywhere;
926
+ }
927
+
928
+ /* Keep the workspace input aligned with the compact canvas controls. */
929
+ .povio-canvas-workspace-select .povio-canvas-workspace-input {
930
+ border: 1px solid var(--canvas-border);
931
+ border-radius: 6px;
932
+ min-height: 30px;
933
+ height: 30px;
934
+ font:
935
+ 500 11px/1.4 Inter,
936
+ system-ui,
937
+ sans-serif;
938
+ }
939
+ .povio-canvas-workspace-select .povio-canvas-workspace-input > div {
940
+ padding: 0 8px;
941
+ font: inherit;
942
+ min-width: 0;
943
+ }
944
+ .povio-canvas-workspace-select .povio-canvas-workspace-input button {
945
+ color: inherit;
946
+ font: inherit;
947
+ background: transparent;
948
+ }
949
+ .povio-canvas-workspace-select .povio-canvas-workspace-input[data-focused] {
950
+ border-color: var(--canvas-accent);
951
+ }
952
+
953
+ .povio-canvas-camera .povio-canvas-breakpoint {
954
+ flex: 0 1 155px;
955
+ width: 155px;
956
+ min-width: 120px;
957
+ }
958
+ .povio-canvas-workspace-select .povio-canvas-workspace-input > div {
959
+ gap: 6px;
960
+ }
961
+ .povio-canvas-workspace-select .povio-canvas-workspace-input > button {
962
+ flex: 0 0 24px;
963
+ width: 24px;
964
+ padding: 0 4px;
965
+ justify-content: center;
966
+ }
967
+ .povio-canvas-workspace-select .povio-canvas-workspace-input > button > span {
968
+ width: 16px;
969
+ height: 16px;
970
+ }
971
+ .povio-canvas-breakpoint .povio-canvas-workspace-input > div > div {
972
+ margin-left: 0;
973
+ }
974
+ .povio-canvas-camera .povio-canvas-breakpoint {
975
+ flex-shrink: 0;
976
+ width: 160px;
977
+ }
978
+
979
+ .povio-canvas-workspaces {
980
+ padding: 8px;
981
+ }
982
+ .povio-canvas-workspace-picker .povio-canvas-workspace-input {
983
+ height: 24px;
984
+ min-height: 24px;
985
+ font-size: 10px;
986
+ }
987
+ .povio-canvas-workspace-picker > button {
988
+ padding: 4px;
989
+ }
990
+ .povio-canvas-workspace-actions {
991
+ margin-top: 4px;
992
+ }
993
+ .povio-canvas-workspace-actions > button:first-child {
994
+ font-size: 10px;
995
+ }
996
+ .povio-canvas-workspaces {
997
+ padding: 6px 8px;
998
+ }
999
+ .povio-canvas-workspace-actions {
1000
+ margin-top: 2px;
1001
+ gap: 2px;
1002
+ }
1003
+ .povio-canvas-workspace-actions > button {
1004
+ min-height: 20px;
1005
+ padding: 3px 4px;
1006
+ line-height: 1.2;
1007
+ }
1008
+ .povio-canvas-workspace-picker > button {
1009
+ padding: 4px;
1010
+ }
1011
+
1012
+ .povio-canvas-workspace-picker .povio-canvas-workspace-input {
1013
+ height: 22px;
1014
+ min-height: 22px;
1015
+ }
1016
+
1017
+ .povio-canvas-workspace-popover {
1018
+ width: 240px;
1019
+ max-width: calc(100vw - 16px);
1020
+ padding: 10px;
1021
+ background: #fff;
1022
+ color: #45454d;
1023
+ border: 1px solid #e8e8eb;
1024
+ border-radius: 8px;
1025
+ box-shadow: 0 6px 24px #24202d20;
1026
+ font:
1027
+ 11px/1.4 Inter,
1028
+ system-ui,
1029
+ sans-serif;
1030
+ z-index: 10000;
1031
+ }
1032
+ .povio-canvas-workspace-popover [role="dialog"],
1033
+ .povio-canvas-workspace-popover [role="alertdialog"] {
1034
+ outline: none;
1035
+ }
1036
+ .povio-canvas-workspace-popover label {
1037
+ display: grid;
1038
+ gap: 5px;
1039
+ }
1040
+ .povio-canvas-workspace-popover input {
1041
+ width: 100%;
1042
+ min-width: 0;
1043
+ box-sizing: border-box;
1044
+ padding: 5px 7px;
1045
+ border: 1px solid #e8e8eb;
1046
+ border-radius: 5px;
1047
+ background: #fafafa;
1048
+ color: inherit;
1049
+ font: inherit;
1050
+ }
1051
+ .povio-canvas-workspace-popover-actions {
1052
+ display: flex;
1053
+ align-items: center;
1054
+ justify-content: flex-end;
1055
+ gap: 6px;
1056
+ margin-top: 8px;
1057
+ }
1058
+ .povio-canvas-workspace-popover button {
1059
+ display: inline-flex;
1060
+ align-items: center;
1061
+ gap: 4px;
1062
+ border: 1px solid #e8e8eb;
1063
+ border-radius: 5px;
1064
+ padding: 4px 7px;
1065
+ background: #fff;
1066
+ color: inherit;
1067
+ font: inherit;
1068
+ cursor: pointer;
1069
+ }
1070
+ .povio-canvas-workspace-popover button:disabled {
1071
+ opacity: 0.4;
1072
+ cursor: default;
1073
+ }
1074
+ .povio-canvas-workspace-popover .povio-canvas-workspace-delete {
1075
+ margin-right: auto;
1076
+ padding-left: 0;
1077
+ border: 0;
1078
+ color: #b52c39;
1079
+ }
1080
+ .povio-canvas-workspace-popover .is-primary {
1081
+ background: #7650cc;
1082
+ color: white;
1083
+ border-color: #7650cc;
1084
+ }
1085
+ .povio-canvas-workspace-popover .is-danger {
1086
+ background: #b52c39;
1087
+ color: white;
1088
+ border-color: #b52c39;
1089
+ }
1090
+ .povio-canvas-workspace-popover :focus-visible {
1091
+ outline: 2px solid #7650cc;
1092
+ outline-offset: 1px;
1093
+ }
1094
+ /* Reserve room for the 2px focus outline plus its 2px offset. */
1095
+ .povio-canvas-workspace-picker {
1096
+ gap: 6px;
1097
+ padding-bottom: 4px;
1098
+ }
1099
+ .povio-canvas-workspace-actions {
1100
+ gap: 6px;
1101
+ }
1102
+ .povio-canvas-workspace-popover {
1103
+ width: 260px;
1104
+ max-height: calc(100dvh - 24px);
1105
+ overflow: auto;
1106
+ }
1107
+ .povio-canvas-workspace-popover-heading {
1108
+ display: flex;
1109
+ align-items: center;
1110
+ justify-content: space-between;
1111
+ margin-bottom: 8px;
1112
+ }
1113
+ .povio-canvas-workspace-popover-heading h2 {
1114
+ margin: 0;
1115
+ font-size: 11px;
1116
+ font-weight: 600;
1117
+ }
1118
+ .povio-canvas-workspace-popover-heading button {
1119
+ padding: 2px;
1120
+ border: 0;
1121
+ }
1122
+ .povio-canvas-popover-pages {
1123
+ margin-top: 8px;
1124
+ }
1125
+ .povio-canvas-popover-page-tools {
1126
+ display: flex;
1127
+ align-items: center;
1128
+ gap: 4px;
1129
+ margin-bottom: 6px;
1130
+ }
1131
+ .povio-canvas-popover-page-tools > span {
1132
+ margin-right: auto;
1133
+ color: #77717e;
1134
+ }
1135
+ .povio-canvas-popover-page-tools button {
1136
+ border: 0;
1137
+ padding: 2px;
1138
+ font-size: 10px;
1139
+ }
1140
+ .povio-canvas-workspace-popover .povio-canvas-popover-search {
1141
+ position: relative;
1142
+ display: flex;
1143
+ align-items: center;
1144
+ }
1145
+ .povio-canvas-popover-search svg {
1146
+ position: absolute;
1147
+ left: 7px;
1148
+ color: #77717e;
1149
+ }
1150
+ .povio-canvas-workspace-popover .povio-canvas-popover-search input {
1151
+ padding-left: 24px;
1152
+ }
1153
+ .povio-canvas-popover-page-list {
1154
+ max-height: min(200px, 35dvh);
1155
+ overflow: auto;
1156
+ padding: 4px 3px;
1157
+ margin: 3px -3px 0;
1158
+ }
1159
+ .povio-canvas-workspace-popover .povio-canvas-popover-page-list label {
1160
+ display: flex;
1161
+ align-items: center;
1162
+ gap: 6px;
1163
+ padding: 4px 2px;
1164
+ }
1165
+ .povio-canvas-workspace-popover .povio-canvas-popover-page-list input {
1166
+ width: 12px;
1167
+ height: 12px;
1168
+ padding: 0;
1169
+ margin: 0;
1170
+ flex-shrink: 0;
1171
+ accent-color: #7650cc;
1172
+ }
1173
+ .povio-canvas-popover-page-list label span {
1174
+ overflow-wrap: anywhere;
1175
+ }
1176
+
1177
+ .povio-canvas-page-entry > button {
1178
+ margin-bottom: 6px;
1179
+ }
1180
+ .povio-canvas-page-list {
1181
+ padding: 4px 8px 8px;
1182
+ }
1183
+ .povio-canvas-search:has(input:focus-visible) {
1184
+ outline: 2px solid var(--canvas-accent);
1185
+ outline-offset: 2px;
1186
+ }
1187
+ .povio-app-canvas .povio-canvas-search input:focus-visible {
1188
+ outline: none;
1189
+ }
1190
+ .povio-canvas-layer-row {
1191
+ margin: 4px;
1192
+ }
1193
+ .povio-canvas-layer-row:has(> button:focus-visible) {
1194
+ outline: 2px solid var(--canvas-accent);
1195
+ outline-offset: 2px;
1196
+ }
1197
+ .povio-app-canvas .povio-canvas-layer-row > button:focus-visible {
1198
+ outline: none;
1199
+ }
1200
+ .povio-canvas-page-list {
1201
+ scroll-padding-block: 4px;
1202
+ }
1203
+ .povio-canvas-page-entry > button,
1204
+ .povio-canvas-layer-row > button {
1205
+ scroll-margin-block: 4px;
1206
+ }
1207
+ .povio-canvas-layer-row {
1208
+ min-height: 20px;
1209
+ margin: 1px 4px;
1210
+ }
1211
+ .povio-canvas-layer-row:has(> button:focus-visible) {
1212
+ outline-offset: -1px;
1213
+ }
1214
+ .povio-canvas-layer-row .povio-canvas-layer-select {
1215
+ height: 20px;
1216
+ min-height: 0;
1217
+ padding: 1px 2px;
1218
+ line-height: 16px;
1219
+ }
1220
+ .povio-canvas-layer-row .povio-canvas-layer-toggle {
1221
+ height: 18px;
1222
+ min-height: 0;
1223
+ padding: 1px;
1224
+ }
1225
+ .povio-canvas-layer-row {
1226
+ height: 22px;
1227
+ min-height: 22px;
1228
+ margin: 0 4px;
1229
+ font-size: 10px;
1230
+ }
1231
+ .povio-canvas-layer-row:has(> button:focus-visible) {
1232
+ outline-offset: -2px;
1233
+ }
1234
+ .povio-canvas-layer-row .povio-canvas-layer-select {
1235
+ height: 22px;
1236
+ font-size: 10px;
1237
+ }
1238
+ .povio-canvas-layer-highlight {
1239
+ z-index: 4;
1240
+ }
1241
+ .povio-canvas-layer-highlight .studio-hover-outline {
1242
+ background: #7655d71a;
1243
+ }