@lijinmei-810/dev-inspector 0.1.0 → 0.1.2

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.
@@ -21,6 +21,32 @@
21
21
  }
22
22
  .di-trigger--on { background: #5b21b6; box-shadow: 0 4px 16px rgba(91,33,182,0.45); }
23
23
  .di-trigger:hover { box-shadow: 0 6px 20px rgba(124,58,237,0.5); }
24
+ .di-trigger::after {
25
+ content: attr(data-tooltip);
26
+ position: absolute;
27
+ right: 0;
28
+ bottom: calc(100% + 10px);
29
+ width: max-content;
30
+ max-width: 220px;
31
+ padding: 7px 9px;
32
+ border-radius: 7px;
33
+ background: #0f172a;
34
+ color: #fff;
35
+ font-size: 11px;
36
+ line-height: 1.35;
37
+ font-weight: 650;
38
+ box-shadow: 0 8px 24px rgba(15,23,42,0.18);
39
+ opacity: 0;
40
+ pointer-events: none;
41
+ transform: translateY(4px);
42
+ transition: opacity 0.12s, transform 0.12s;
43
+ white-space: normal;
44
+ }
45
+ .di-trigger:hover::after,
46
+ .di-trigger:focus-visible::after {
47
+ opacity: 1;
48
+ transform: translateY(0);
49
+ }
24
50
 
25
51
  /* ── 下载按钮 ── */
26
52
  .di-dl-btn {
@@ -185,13 +211,22 @@
185
211
  .di-dl-reveal-btn:hover { background: #e0e0e0; }
186
212
 
187
213
  /* ── 高亮 ── */
188
- .di-hover { box-shadow: inset 0 0 0 2px rgba(124,58,237,0.5) !important; }
189
- .di-selected { box-shadow: inset 0 0 0 2px #7c3aed !important; }
214
+ .di-hover {
215
+ outline: 2px solid rgba(124,58,237,0.5) !important;
216
+ outline-offset: 2px !important;
217
+ }
218
+ .di-selected {
219
+ outline: 2px solid #7c3aed !important;
220
+ outline-offset: 2px !important;
221
+ }
190
222
 
191
223
  /* 面板和触发按钮内的元素不参与高亮 */
192
224
  .di-panel .di-hover,
193
225
  .di-panel .di-selected,
194
- .di-trigger.di-hover { box-shadow: none !important; }
226
+ .di-trigger.di-hover {
227
+ outline: none !important;
228
+ box-shadow: none !important;
229
+ }
195
230
 
196
231
  /* ── 已选中标签 ── */
197
232
  .di-label {
@@ -220,8 +255,26 @@
220
255
  background: #7c3aed;
221
256
  border-radius: 1px;
222
257
  }
258
+ .di-label--bottom::after {
259
+ top: -5px;
260
+ bottom: auto;
261
+ }
262
+ .di-label--inside {
263
+ padding: 4px 10px;
264
+ font-size: 11px;
265
+ box-shadow: 0 2px 8px rgba(124,58,237,0.22);
266
+ }
267
+ .di-label--inside::after {
268
+ display: none;
269
+ }
223
270
  /* ── 面板容器 ── */
224
271
  .di-panel {
272
+ --di-section-title-gap: 6px;
273
+ --di-field-label-gap: 8px;
274
+ --di-control-gap-x: 6px;
275
+ --di-control-gap-y: 6px;
276
+ --di-tool-row-padding-block: 6px;
277
+ --di-tool-row-padding-inline: 8px;
225
278
  position: fixed;
226
279
  z-index: 99997;
227
280
  width: 380px;
@@ -255,23 +308,41 @@
255
308
  .di-head:active { cursor: grabbing; }
256
309
  .di-head button { cursor: pointer; }
257
310
  .di-head-left { display: flex; align-items: center; gap: 8px; }
258
- .di-layer-btn {
311
+ .di-head-icon-btn {
259
312
  display: inline-flex;
260
313
  align-items: center;
261
314
  justify-content: center;
262
- width: 22px;
263
- height: 22px;
315
+ width: 26px;
316
+ height: 26px;
264
317
  border: 1px solid #e5e7eb;
265
- border-radius: 6px;
266
- background: #f9fafb;
267
- color: #374151;
268
- font-size: 12px;
318
+ border-radius: 7px;
319
+ background: #fff;
320
+ color: #64748b;
269
321
  cursor: pointer;
270
- transition: background 0.12s, color 0.12s;
322
+ transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s;
271
323
  line-height: 1;
324
+ padding: 0;
325
+ }
326
+ .di-head-icon-btn:hover:not(:disabled),
327
+ .di-head-icon-btn:focus-visible:not(:disabled) {
328
+ background: #faf5ff;
329
+ border-color: #c4b5fd;
330
+ color: #7c3aed;
331
+ outline: none;
332
+ box-shadow: 0 1px 3px rgba(124,58,237,0.12);
333
+ }
334
+ .di-head-icon-btn:disabled {
335
+ background: #fff;
336
+ border-color: #eef2f7;
337
+ color: #cbd5e1;
338
+ cursor: not-allowed;
339
+ box-shadow: none;
340
+ }
341
+ .di-head-icon-btn svg {
342
+ width: 15px;
343
+ height: 15px;
344
+ flex: 0 0 auto;
272
345
  }
273
- .di-layer-btn:hover:not(:disabled) { background: #111; color: #fff; border-color: #111; }
274
- .di-layer-btn:disabled { opacity: 0.3; cursor: not-allowed; }
275
346
  .di-head-right { display: flex; align-items: center; gap: 8px; }
276
347
  .di-title { font-size: 15px; font-weight: 700; color: #111827; }
277
348
  .di-badge-dev {
@@ -292,21 +363,6 @@
292
363
  padding: 0;
293
364
  }
294
365
  .di-spec-link:hover { text-decoration: underline; }
295
- .di-close {
296
- width: 24px;
297
- height: 24px;
298
- border-radius: 6px;
299
- border: 1px solid #e5e7eb;
300
- background: #fff;
301
- color: #6b7280;
302
- font-size: 16px;
303
- line-height: 1;
304
- cursor: pointer;
305
- display: flex; align-items: center; justify-content: center;
306
- padding: 0;
307
- }
308
- .di-close:hover { background: #f9fafb; }
309
-
310
366
  /* ── 主体 ── */
311
367
  .di-body {
312
368
  overflow-y: auto;
@@ -329,17 +385,114 @@
329
385
  font-size: 12px;
330
386
  font-weight: 700;
331
387
  color: #111827;
332
- margin-bottom: 6px;
388
+ margin-bottom: var(--di-section-title-gap);
333
389
  }
334
390
  .di-section-title-row {
335
391
  display: flex;
336
392
  align-items: center;
337
- gap: 6px;
338
- margin-bottom: 6px;
393
+ gap: var(--di-control-gap-x);
394
+ margin-bottom: var(--di-section-title-gap);
395
+ }
396
+ .di-section-title-row--action {
397
+ justify-content: space-between;
398
+ min-height: 24px;
399
+ }
400
+ .di-section-title-row--empty {
401
+ margin-bottom: 0;
339
402
  }
340
403
  .di-section-title-row .di-section-title {
341
404
  margin-bottom: 0;
342
405
  }
406
+ .di-section-title-group {
407
+ display: inline-flex;
408
+ align-items: center;
409
+ gap: 6px;
410
+ min-width: 0;
411
+ }
412
+ .di-section-icon-action {
413
+ width: 24px;
414
+ height: 24px;
415
+ border: 1px solid #e5e7eb;
416
+ border-radius: 7px;
417
+ background: #fff;
418
+ color: #64748b;
419
+ display: inline-flex;
420
+ align-items: center;
421
+ justify-content: center;
422
+ padding: 0;
423
+ cursor: pointer;
424
+ transition: background 0.12s, border-color 0.12s, color 0.12s, box-shadow 0.12s;
425
+ }
426
+ .di-section-icon-action:hover,
427
+ .di-section-icon-action:focus-visible {
428
+ background: #faf5ff;
429
+ border-color: #c4b5fd;
430
+ color: #7c3aed;
431
+ outline: none;
432
+ box-shadow: 0 1px 3px rgba(124, 58, 237, 0.12);
433
+ }
434
+ .di-section-icon-action svg {
435
+ width: 14px;
436
+ height: 14px;
437
+ }
438
+ .di-section-icon-action--reset {
439
+ color: #64748b;
440
+ }
441
+ .di-source-action {
442
+ width: 18px;
443
+ height: 18px;
444
+ min-width: 18px;
445
+ border: 0;
446
+ border-radius: 5px;
447
+ background: transparent;
448
+ color: #94a3b8;
449
+ display: inline-flex;
450
+ align-items: center;
451
+ justify-content: center;
452
+ padding: 0;
453
+ cursor: pointer;
454
+ transition: background 0.12s, color 0.12s, opacity 0.12s, width 0.12s, min-width 0.12s, transform 0.12s;
455
+ }
456
+ .di-source-action:hover,
457
+ .di-source-action:focus-visible {
458
+ background: #faf5ff;
459
+ color: #7c3aed;
460
+ outline: none;
461
+ transform: translateY(-0.5px);
462
+ }
463
+ .di-source-action--field {
464
+ position: absolute;
465
+ top: 50%;
466
+ right: 0;
467
+ width: 0;
468
+ min-width: 0;
469
+ opacity: 0;
470
+ pointer-events: none;
471
+ overflow: hidden;
472
+ transform: translateY(-50%);
473
+ }
474
+ .di-space-card:hover .di-source-action--field,
475
+ .di-space-card:focus-within .di-source-action--field,
476
+ .di-text-card:hover .di-source-action--field,
477
+ .di-text-card:focus-within .di-source-action--field,
478
+ .di-shadow-card:hover .di-source-action--field,
479
+ .di-shadow-card:focus-within .di-source-action--field {
480
+ width: 18px;
481
+ min-width: 18px;
482
+ opacity: 1;
483
+ pointer-events: auto;
484
+ }
485
+ .di-source-action--field:hover,
486
+ .di-source-action--field:focus-visible {
487
+ transform: translateY(calc(-50% - 0.5px));
488
+ }
489
+ .di-token-empty-state {
490
+ padding: 12px 14px;
491
+ color: #94a3b8;
492
+ font-size: 11px;
493
+ font-weight: 650;
494
+ text-align: center;
495
+ }
343
496
  .di-help-icon {
344
497
  width: 18px;
345
498
  height: 18px;
@@ -375,6 +528,232 @@
375
528
  color: #6b7280;
376
529
  }
377
530
 
531
+ .di-component-card {
532
+ display: flex;
533
+ flex-direction: column;
534
+ gap: 8px;
535
+ padding: 10px 12px;
536
+ border: 1px solid #e5e7eb;
537
+ border-radius: 8px;
538
+ background: #fff;
539
+ box-sizing: border-box;
540
+ }
541
+ .di-component-head {
542
+ display: flex;
543
+ align-items: center;
544
+ justify-content: space-between;
545
+ gap: 10px;
546
+ }
547
+ .di-component-main {
548
+ min-width: 0;
549
+ display: flex;
550
+ flex-direction: column;
551
+ gap: 2px;
552
+ }
553
+ .di-component-name {
554
+ min-width: 0;
555
+ color: #111827;
556
+ font-size: 14px;
557
+ font-weight: 800;
558
+ line-height: 1.25;
559
+ overflow: hidden;
560
+ text-overflow: ellipsis;
561
+ white-space: nowrap;
562
+ }
563
+ .di-component-meta-row {
564
+ display: grid;
565
+ grid-template-columns: repeat(2, minmax(0, 1fr));
566
+ gap: 6px;
567
+ }
568
+ .di-component-meta-row span {
569
+ min-width: 0;
570
+ color: #64748b;
571
+ font-size: 11px;
572
+ font-weight: 600;
573
+ line-height: 1.35;
574
+ overflow: hidden;
575
+ text-overflow: ellipsis;
576
+ white-space: nowrap;
577
+ }
578
+ .di-component-fields {
579
+ display: flex;
580
+ flex-direction: column;
581
+ gap: 8px;
582
+ }
583
+ .di-component-field {
584
+ display: grid;
585
+ grid-template-columns: 42px minmax(0, 1fr);
586
+ align-items: center;
587
+ gap: 8px;
588
+ }
589
+ .di-component-field > span {
590
+ color: #64748b;
591
+ font-size: 11px;
592
+ font-weight: 700;
593
+ line-height: 1.2;
594
+ }
595
+ .di-component-text-input {
596
+ width: 100%;
597
+ min-width: 0;
598
+ height: 32px;
599
+ padding: 0 9px;
600
+ border: 1px solid #e5e7eb;
601
+ border-radius: 7px;
602
+ background: #fff;
603
+ color: #111827;
604
+ font: inherit;
605
+ font-size: 12px;
606
+ font-weight: 650;
607
+ box-sizing: border-box;
608
+ outline: none;
609
+ transition: border-color 0.12s, background 0.12s;
610
+ }
611
+ .di-component-text-input:focus {
612
+ border-color: #a78bfa;
613
+ background: #faf5ff;
614
+ }
615
+ .di-component-field--children {
616
+ align-items: center;
617
+ }
618
+ .di-component-child-list {
619
+ min-width: 0;
620
+ display: flex;
621
+ flex-direction: column;
622
+ gap: 6px;
623
+ }
624
+ .di-component-child-item {
625
+ min-width: 0;
626
+ display: grid;
627
+ grid-template-columns: minmax(0, 1fr) auto;
628
+ align-items: center;
629
+ gap: 8px;
630
+ min-height: 30px;
631
+ padding: 0 9px;
632
+ border: 1px solid #eef2f7;
633
+ border-radius: 7px;
634
+ background: #f8fafc;
635
+ box-sizing: border-box;
636
+ }
637
+ .di-component-child-item--with-label {
638
+ grid-template-columns: auto minmax(0, 1fr) auto;
639
+ }
640
+ .di-component-child-label {
641
+ color: #64748b;
642
+ font-size: 11px;
643
+ font-weight: 700;
644
+ line-height: 1.2;
645
+ white-space: nowrap;
646
+ }
647
+ .di-component-child-value {
648
+ min-width: 0;
649
+ color: #111827;
650
+ font-size: 12px;
651
+ font-weight: 700;
652
+ line-height: 1.2;
653
+ overflow: hidden;
654
+ text-overflow: ellipsis;
655
+ white-space: nowrap;
656
+ }
657
+ .di-component-child-select {
658
+ height: 24px;
659
+ padding: 0 8px;
660
+ border: 1px solid #ddd6fe;
661
+ border-radius: 6px;
662
+ background: #fff;
663
+ color: #7c3aed;
664
+ font-family: inherit;
665
+ font-size: 11px;
666
+ font-weight: 800;
667
+ cursor: pointer;
668
+ }
669
+ .di-component-child-select:hover,
670
+ .di-component-child-select:focus-visible {
671
+ border-color: #a78bfa;
672
+ background: #faf5ff;
673
+ outline: none;
674
+ }
675
+ .di-component-segment {
676
+ display: grid;
677
+ grid-template-columns: repeat(4, minmax(0, 1fr));
678
+ min-width: 0;
679
+ padding: 3px;
680
+ border: 1px solid #e5e7eb;
681
+ border-radius: 8px;
682
+ background: #f8fafc;
683
+ gap: 3px;
684
+ }
685
+ .di-component-segment--size {
686
+ grid-template-columns: repeat(3, minmax(0, 1fr));
687
+ }
688
+ .di-component-segment--tone {
689
+ grid-template-columns: repeat(3, minmax(0, 1fr));
690
+ }
691
+ .di-component-segment-btn {
692
+ min-width: 0;
693
+ height: 26px;
694
+ padding: 0 4px;
695
+ border: 0;
696
+ border-radius: 6px;
697
+ background: transparent;
698
+ color: #64748b;
699
+ font-family: inherit;
700
+ font-size: 11px;
701
+ font-weight: 750;
702
+ cursor: pointer;
703
+ white-space: nowrap;
704
+ overflow: hidden;
705
+ text-overflow: ellipsis;
706
+ }
707
+ .di-component-segment-btn:hover,
708
+ .di-component-segment-btn:focus-visible {
709
+ background: #ede9fe;
710
+ color: #7c3aed;
711
+ outline: none;
712
+ }
713
+ .di-component-segment-btn--on,
714
+ .di-component-segment-btn--on:hover,
715
+ .di-component-segment-btn--on:focus-visible {
716
+ background: #fff;
717
+ color: #7c3aed;
718
+ box-shadow: 0 1px 3px rgba(15,23,42,0.08);
719
+ }
720
+ .di-advanced-section {
721
+ background: #fbfdff;
722
+ }
723
+ .di-advanced-toggle {
724
+ width: 100%;
725
+ display: flex;
726
+ align-items: center;
727
+ justify-content: space-between;
728
+ gap: 10px;
729
+ padding: 0;
730
+ border: 0;
731
+ background: transparent;
732
+ color: #111827;
733
+ font-family: inherit;
734
+ font-size: 12px;
735
+ font-weight: 800;
736
+ cursor: pointer;
737
+ text-align: left;
738
+ }
739
+ .di-advanced-toggle:hover,
740
+ .di-advanced-toggle:focus-visible {
741
+ color: #7c3aed;
742
+ outline: none;
743
+ }
744
+ .di-advanced-chevron {
745
+ color: #7c3aed;
746
+ font-size: 11px;
747
+ font-weight: 800;
748
+ }
749
+ .di-advanced-desc {
750
+ margin-top: 4px;
751
+ color: #64748b;
752
+ font-size: 11px;
753
+ font-weight: 600;
754
+ line-height: 1.4;
755
+ }
756
+
378
757
  /* ── 颜色行 ── */
379
758
  .di-color-row {
380
759
  position: relative;
@@ -546,11 +925,6 @@
546
925
  border-top: 1px solid #f3f4f6;
547
926
  background: #fff;
548
927
  }
549
- .di-dropdown-custom-label {
550
- font-size: 11px;
551
- color: #6b7280;
552
- flex-shrink: 0;
553
- }
554
928
  .di-dropdown-custom-input {
555
929
  min-width: 0;
556
930
  flex: 1;
@@ -597,9 +971,13 @@
597
971
  min-height: 52px;
598
972
  height: auto;
599
973
  margin-bottom: 8px;
974
+ display: block;
600
975
  overflow: hidden;
601
976
  field-sizing: content;
602
977
  }
978
+ .di-text-section .di-typography-toolbar {
979
+ margin-top: 0;
980
+ }
603
981
  .di-empty {
604
982
  font-size: 12px;
605
983
  color: #9ca3af;
@@ -655,8 +1033,15 @@
655
1033
  transition: all 0.1s;
656
1034
  }
657
1035
  .di-weight-btn:hover { border-color: #c4b5fd; background: #faf5ff; }
658
- .di-weight-btn--on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
659
- .di-weight-btn--on:hover { background: #6d28d9; border-color: #6d28d9; }
1036
+ .di-weight-btn--on {
1037
+ background: #f5f3ff;
1038
+ border-color: #c4b5fd;
1039
+ color: #7c3aed;
1040
+ }
1041
+ .di-weight-btn--on:hover {
1042
+ background: #ede9fe;
1043
+ border-color: #a78bfa;
1044
+ }
660
1045
 
661
1046
  /* ── Boxing 盒模型视图 ── */
662
1047
  .di-boxing {
@@ -874,54 +1259,26 @@
874
1259
  .di-side-step-item--on { color: #7c3aed; font-weight: 700; background: #f5f3ff; }
875
1260
  .di-side-step-sub { font-size: 9px; color: #9ca3af; }
876
1261
 
877
- /* ── 边框区 ── */
878
- .di-border-row {
879
- display: grid;
880
- grid-template-columns: repeat(3, 1fr);
881
- gap: 8px;
882
- }
883
- .di-border-card {
884
- display: flex;
885
- flex-direction: column;
886
- gap: 6px;
887
- border: 1px solid #e5e7eb;
888
- border-radius: 10px;
889
- padding: 8px 10px 10px;
890
- position: relative;
891
- min-width: 0;
892
- overflow: hidden;
893
- }
894
- .di-border-card-title {
895
- font-size: 11px;
896
- font-weight: 700;
897
- color: #374151;
898
- margin-bottom: 0;
899
- }
900
- .di-border-color-body {
901
- display: flex;
902
- flex-direction: row;
903
- align-items: center;
904
- gap: 8px;
905
- margin-top: 0 !important;
906
- }
907
- .di-border-color-info {
908
- min-width: 0;
909
- overflow: hidden;
910
- flex: 1;
911
- display: flex;
912
- flex-direction: column;
913
- gap: 1px;
914
- }
915
- .di-border-styles {
916
- display: grid;
917
- grid-template-columns: 1fr 1fr;
918
- gap: 4px;
919
- margin-top: 6px;
920
- }
921
- /* 棋盘格透明底 */
1262
+ /* 透明 / 无色:棋盘格 + 斜线,避免被误认为白色 */
1263
+ .di-color-swatch--empty,
922
1264
  .di-swatch-btn--empty {
1265
+ position: relative;
923
1266
  background: repeating-conic-gradient(#e5e7eb 0% 25%, #fff 0% 50%) 0 0 / 8px 8px !important;
924
1267
  border: 1px solid #e5e7eb !important;
1268
+ overflow: hidden;
1269
+ }
1270
+ .di-color-swatch--empty::after,
1271
+ .di-swatch-btn--empty::after {
1272
+ content: '';
1273
+ position: absolute;
1274
+ left: 3px;
1275
+ right: 3px;
1276
+ top: 50%;
1277
+ height: 1.5px;
1278
+ border-radius: 999px;
1279
+ background: #94a3b8;
1280
+ transform: rotate(-45deg);
1281
+ pointer-events: none;
925
1282
  }
926
1283
 
927
1284
  /* 样式单值 + 下拉 */
@@ -941,6 +1298,11 @@
941
1298
  }
942
1299
  .di-border-style-single:hover { border-color: #c4b5fd; background: #faf5ff; }
943
1300
  .di-border-style-label { font-size: 11px; font-weight: 600; color: #7c3aed; }
1301
+ .di-custom-option-label {
1302
+ font-size: 11px;
1303
+ font-weight: 650;
1304
+ color: #111827;
1305
+ }
944
1306
  .di-border-style-name { font-size: 10px; color: #111827; }
945
1307
  .di-border-style-name--custom {
946
1308
  font-size: 11px;
@@ -969,20 +1331,261 @@
969
1331
  .di-border-style-drop-item:hover { background: #f5f3ff; }
970
1332
  .di-border-style-drop-item--on { color: #7c3aed; font-weight: 700; background: #f5f3ff; }
971
1333
 
972
- .di-border-style-btn {
973
- padding: 4px 0;
1334
+ .di-dropdown--border { left: 0; width: 220px; }
1335
+
1336
+ .di-container-toolbar {
1337
+ display: grid;
1338
+ grid-template-columns: minmax(112px, max-content) minmax(0, 1fr);
1339
+ align-items: center;
1340
+ gap: 6px;
1341
+ width: 100%;
1342
+ margin-top: 8px;
1343
+ padding: 0;
1344
+ border: 0;
1345
+ background: transparent;
1346
+ box-sizing: border-box;
1347
+ }
1348
+ .di-container-toolbar--custom {
1349
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1350
+ row-gap: 6px;
1351
+ }
1352
+ .di-border-control--width,
1353
+ .di-border-control--line,
1354
+ .di-border-control--radius {
1355
+ grid-template-columns: minmax(0, 1fr) 8px;
1356
+ }
1357
+ .di-border-control--line {
1358
+ grid-template-columns: auto minmax(0, 1fr) 8px;
1359
+ }
1360
+ .di-border-control--radius {
1361
+ grid-template-columns: auto minmax(0, 1fr) 8px;
1362
+ }
1363
+ .di-container-preset-drop {
1364
+ min-width: 260px;
1365
+ max-width: 340px;
1366
+ }
1367
+ .di-radius-drop {
1368
+ min-width: 178px;
1369
+ max-width: 240px;
1370
+ }
1371
+
1372
+ .di-typography-toolbar {
1373
+ display: grid;
1374
+ grid-template-columns: minmax(112px, max-content) minmax(0, 1fr);
1375
+ align-items: center;
1376
+ gap: 6px;
1377
+ width: 100%;
1378
+ margin-top: 8px;
1379
+ padding: 0;
1380
+ border: 0;
1381
+ background: transparent;
1382
+ box-sizing: border-box;
1383
+ }
1384
+ .di-typography-toolbar--custom {
1385
+ grid-template-columns: minmax(64px, max-content) minmax(78px, max-content) minmax(92px, 1fr);
1386
+ }
1387
+ .di-typography-control-wrap {
1388
+ position: relative;
1389
+ min-width: 0;
1390
+ }
1391
+ .di-typography-control {
1392
+ display: grid;
1393
+ align-items: center;
1394
+ gap: 4px;
1395
+ width: 100%;
1396
+ min-width: 0;
1397
+ height: 32px;
1398
+ padding: 0 6px;
1399
+ border: 1px solid #e5e7eb;
974
1400
  border-radius: 6px;
1401
+ background: #fff;
1402
+ color: #111827;
1403
+ cursor: pointer;
1404
+ font-family: inherit;
1405
+ text-align: left;
1406
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
1407
+ }
1408
+ .di-typography-control:hover,
1409
+ .di-typography-control:focus-visible {
1410
+ border-color: #c4b5fd;
1411
+ background: #faf5ff;
1412
+ outline: none;
1413
+ }
1414
+ .di-typography-control--style-compact {
1415
+ grid-template-columns: minmax(0, 1fr) 8px;
1416
+ }
1417
+ .di-typography-control--size {
1418
+ grid-template-columns: minmax(0, 1fr) 8px;
1419
+ }
1420
+ .di-typography-control--size-token {
1421
+ grid-template-columns: auto minmax(0, 1fr) 8px;
1422
+ }
1423
+ .di-typography-control--weight {
1424
+ grid-template-columns: auto minmax(0, 1fr) 8px;
1425
+ }
1426
+ .di-typography-control--color {
1427
+ grid-template-columns: 24px minmax(0, 1fr);
1428
+ padding-left: 4px;
1429
+ }
1430
+ .di-typography-control-value {
1431
+ min-width: 0;
1432
+ overflow: hidden;
1433
+ text-overflow: ellipsis;
1434
+ white-space: nowrap;
1435
+ }
1436
+ .di-typography-control-value {
1437
+ color: #111827;
1438
+ font-size: 11px;
1439
+ font-weight: 500;
1440
+ }
1441
+ .di-typography-style-drop {
1442
+ min-width: 260px;
1443
+ max-width: 340px;
1444
+ }
1445
+ .di-typography-custom-action,
1446
+ .di-typography-custom-note {
1447
+ width: 100%;
1448
+ border: none;
1449
+ border-top: 1px solid #eef2f7;
1450
+ background: #fff;
1451
+ padding: 9px 12px;
1452
+ display: flex;
1453
+ flex-direction: column;
1454
+ align-items: flex-start;
1455
+ gap: 2px;
1456
+ font-family: inherit;
1457
+ text-align: left;
1458
+ }
1459
+ .di-typography-custom-action {
1460
+ cursor: pointer;
1461
+ }
1462
+ .di-typography-custom-action:hover,
1463
+ .di-typography-custom-action:focus-visible {
1464
+ background: #faf5ff;
1465
+ outline: none;
1466
+ }
1467
+ .di-typography-custom-note {
1468
+ background: #f8fafc;
1469
+ }
1470
+ .di-typography-size-drop {
1471
+ min-width: 178px;
1472
+ max-width: 240px;
1473
+ }
1474
+ .di-typography-style-drop-meta {
1475
+ min-width: 0;
1476
+ display: flex;
1477
+ flex-direction: column;
1478
+ align-items: flex-start;
1479
+ gap: 1px;
1480
+ }
1481
+ .di-typography-readout {
1482
+ min-width: 0;
1483
+ display: flex;
1484
+ flex-direction: column;
1485
+ justify-content: center;
1486
+ min-height: 32px;
1487
+ padding: 2px 6px;
1488
+ color: #111827;
1489
+ }
1490
+ .di-typography-readout-line {
1491
+ color: #111827;
1492
+ font-size: 12px;
1493
+ font-weight: 700;
1494
+ line-height: 1.25;
1495
+ }
1496
+ .di-typography-readout-token {
1497
+ min-width: 0;
1498
+ color: #64748b;
1499
+ font-size: 11px;
1500
+ font-weight: 600;
1501
+ line-height: 1.25;
1502
+ overflow: hidden;
1503
+ text-overflow: ellipsis;
1504
+ white-space: nowrap;
1505
+ }
1506
+ .di-custom-select {
1507
+ display: inline-flex;
1508
+ align-items: center;
1509
+ justify-content: center;
1510
+ width: max-content;
1511
+ min-width: max-content;
1512
+ height: 30px;
1513
+ padding: 0 10px;
975
1514
  border: 1px solid #e5e7eb;
1515
+ border-radius: 7px;
976
1516
  background: #fff;
977
- color: #374151;
978
- font-size: 13px;
1517
+ color: #111827;
979
1518
  cursor: pointer;
980
- transition: all 0.1s;
1519
+ font-family: inherit;
1520
+ font-size: 12px;
1521
+ font-weight: 700;
1522
+ text-align: center;
1523
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
1524
+ }
1525
+ .di-custom-select:hover,
1526
+ .di-custom-select:focus-visible {
1527
+ border-color: #c4b5fd;
1528
+ background: #faf5ff;
1529
+ outline: none;
1530
+ }
1531
+ .di-custom-select-label {
1532
+ white-space: nowrap;
1533
+ overflow: hidden;
1534
+ text-overflow: ellipsis;
1535
+ }
1536
+ .di-color-select {
1537
+ display: grid;
1538
+ grid-template-columns: 24px minmax(0, 1fr);
1539
+ align-items: center;
1540
+ gap: 6px;
1541
+ width: 100%;
1542
+ min-width: 0;
1543
+ height: 32px;
1544
+ padding: 0 8px 0 4px;
1545
+ border: 1px solid #e5e7eb;
1546
+ border-radius: 6px;
1547
+ background: #fff;
1548
+ color: #111827;
1549
+ cursor: pointer;
1550
+ font-family: inherit;
1551
+ text-align: left;
1552
+ transition: border-color 0.12s, background 0.12s, color 0.12s;
1553
+ }
1554
+ .di-color-select:hover,
1555
+ .di-color-select:focus-visible {
1556
+ border-color: #c4b5fd;
1557
+ background: #faf5ff;
1558
+ outline: none;
1559
+ }
1560
+ .di-color-select--fill {
1561
+ height: 30px;
1562
+ border-radius: 7px;
1563
+ }
1564
+ .di-color-select--shadow {
1565
+ min-width: 0;
1566
+ }
1567
+ .di-color-select-swatch {
1568
+ display: flex;
1569
+ align-items: center;
1570
+ justify-content: center;
1571
+ width: 24px;
1572
+ height: 24px;
1573
+ border: 1px solid rgba(0,0,0,0.08);
1574
+ border-radius: 6px;
1575
+ box-sizing: border-box;
1576
+ flex-shrink: 0;
1577
+ }
1578
+ .di-color-select-swatch--shadow {
1579
+ background: #fff;
1580
+ border-color: #e5e7eb;
1581
+ border-radius: 8px;
1582
+ }
1583
+ .di-color-select-copy {
1584
+ min-width: 0;
1585
+ display: flex;
1586
+ align-items: center;
1587
+ overflow: hidden;
981
1588
  }
982
- .di-border-style-btn:hover { border-color: #c4b5fd; background: #faf5ff; }
983
- .di-border-style-btn--on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
984
- .di-border-style-btn--on:hover { background: #6d28d9; border-color: #6d28d9; }
985
- .di-dropdown--border { left: 0; width: 220px; }
986
1589
 
987
1590
  /* ── Spinner(上下箭头步进) ── */
988
1591
  .di-spinner {
@@ -1068,7 +1671,12 @@
1068
1671
  border: 1px solid #e5e7eb; background: #fff;
1069
1672
  font-size: 13px; font-family: inherit; cursor: pointer; color: #6b7280;
1070
1673
  }
1071
- .di-modal-tab.--on { background: #7c3aed; border-color: #7c3aed; color: #fff; font-weight: 600; }
1674
+ .di-modal-tab.--on {
1675
+ background: #f5f3ff;
1676
+ border-color: #c4b5fd;
1677
+ color: #7c3aed;
1678
+ font-weight: 600;
1679
+ }
1072
1680
  .di-modal-field { display: flex; flex-direction: column; gap: 8px; }
1073
1681
  .di-modal-field-label { font-size: 12px; font-weight: 700; color: #374151; display: flex; align-items: center; gap: 6px; }
1074
1682
  .di-modal-auto-tag {
@@ -1082,7 +1690,11 @@
1082
1690
  transition: all 0.1s;
1083
1691
  }
1084
1692
  .di-modal-opt-btn:hover { border-color: #c4b5fd; color: #7c3aed; }
1085
- .di-modal-opt-btn.--on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
1693
+ .di-modal-opt-btn.--on {
1694
+ background: #f5f3ff;
1695
+ border-color: #c4b5fd;
1696
+ color: #7c3aed;
1697
+ }
1086
1698
  .di-modal-select {
1087
1699
  width: 100%; padding: 8px 10px; border: 1px solid #e5e7eb;
1088
1700
  border-radius: 6px; font-size: 12px; font-family: inherit; outline: none;
@@ -1183,7 +1795,11 @@
1183
1795
  color: #374151;
1184
1796
  }
1185
1797
  .di-add-token-usage-btn:hover { border-color: #c4b5fd; color: #7c3aed; }
1186
- .di-add-token-usage-btn.--on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
1798
+ .di-add-token-usage-btn.--on {
1799
+ background: #f5f3ff;
1800
+ border-color: #c4b5fd;
1801
+ color: #7c3aed;
1802
+ }
1187
1803
  .di-add-token-input {
1188
1804
  flex: 1;
1189
1805
  min-width: 0;
@@ -1269,40 +1885,154 @@
1269
1885
  /* ── 布局控制:位置 + 尺寸 ── */
1270
1886
  .di-layout-grid {
1271
1887
  display: grid;
1272
- grid-template-columns: 132px 1fr;
1273
- gap: 8px;
1888
+ grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
1889
+ gap: 6px;
1890
+ align-items: stretch;
1274
1891
  }
1275
1892
  .di-layout-card {
1276
1893
  min-width: 0;
1277
1894
  border: 1px solid #e5e7eb;
1278
- border-radius: 10px;
1279
- padding: 8px 10px 10px;
1895
+ border-radius: 8px;
1896
+ padding: 6px;
1280
1897
  background: #fff;
1281
1898
  overflow: hidden;
1282
1899
  }
1900
+ .di-layout-card--position,
1901
+ .di-layout-card--size {
1902
+ display: flex;
1903
+ flex-direction: column;
1904
+ gap: 5px;
1905
+ }
1283
1906
  .di-layout-card-title {
1284
- margin-bottom: 6px;
1285
- color: #374151;
1286
- font-size: 11px;
1907
+ margin: 0;
1908
+ color: #9ca3af;
1909
+ font-size: 10px;
1287
1910
  font-weight: 700;
1911
+ line-height: 1;
1912
+ white-space: nowrap;
1288
1913
  }
1289
- .di-shadow-grid {
1290
- display: grid;
1291
- grid-template-columns: 1fr 1fr;
1292
- gap: 6px;
1914
+ .di-shadow-panel {
1915
+ display: flex;
1916
+ flex-direction: column;
1917
+ gap: var(--di-control-gap-y);
1918
+ }
1919
+ .di-shadow-panel .di-section-title-row {
1920
+ margin-bottom: 0;
1293
1921
  }
1294
1922
  .di-shadow-card {
1295
1923
  min-width: 0;
1296
- border: 1px solid #e5e7eb;
1297
- border-radius: 10px;
1298
- padding: 8px 10px 10px;
1924
+ display: flex;
1925
+ flex-direction: column;
1926
+ gap: var(--di-control-gap-y);
1927
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
1928
+ border-radius: 10px;
1929
+ background: #f8fafc;
1930
+ }
1931
+ .di-shadow-card--empty {
1932
+ display: flex;
1933
+ }
1934
+ .di-shadow-card--with-reset {
1935
+ display: flex;
1936
+ }
1937
+ .di-shadow-field-row {
1938
+ display: grid;
1939
+ grid-template-columns: max-content minmax(0, 1fr);
1940
+ align-items: center;
1941
+ gap: var(--di-field-label-gap);
1942
+ min-width: 0;
1943
+ }
1944
+ .di-shadow-field-row--params {
1945
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
1946
+ border-radius: 10px;
1947
+ background: #f8fafc;
1948
+ }
1949
+ .di-shadow-add-action {
1950
+ justify-self: end;
1951
+ }
1952
+ .di-shadow-toolbar {
1953
+ display: grid;
1954
+ grid-template-columns: minmax(0, 1.35fr) 34px minmax(0, 1fr);
1955
+ align-items: center;
1956
+ gap: var(--di-field-label-gap);
1957
+ }
1958
+ .di-shadow-token-trigger {
1959
+ display: grid;
1960
+ grid-template-columns: minmax(0, 1fr) 8px;
1961
+ align-items: center;
1962
+ gap: var(--di-control-gap-x);
1963
+ min-width: 0;
1964
+ height: 32px;
1965
+ padding: 0 8px;
1966
+ border: 1px solid #e5e7eb;
1967
+ border-radius: 6px;
1299
1968
  background: #fff;
1969
+ color: #111827;
1970
+ font-family: inherit;
1971
+ cursor: pointer;
1972
+ text-align: left;
1300
1973
  }
1301
- .di-shadow-card-title {
1302
- margin-bottom: 6px;
1303
- color: #374151;
1974
+ .di-shadow-token-trigger:hover,
1975
+ .di-shadow-token-trigger:focus-visible {
1976
+ border-color: #c4b5fd;
1977
+ background: #faf5ff;
1978
+ outline: none;
1979
+ }
1980
+ .di-shadow-token-label {
1981
+ color: #7c3aed;
1982
+ font-size: 12px;
1983
+ font-weight: 800;
1984
+ overflow: hidden;
1985
+ text-overflow: ellipsis;
1986
+ white-space: nowrap;
1987
+ }
1988
+ .di-shadow-token-trigger--custom .di-shadow-token-label {
1989
+ color: #111827;
1990
+ }
1991
+ .di-shadow-token-trigger--merged {
1992
+ grid-template-columns: 28px minmax(0, 1fr) 8px;
1993
+ gap: var(--di-field-label-gap);
1994
+ }
1995
+ .di-shadow-inline-chip {
1996
+ width: 28px;
1997
+ height: 28px;
1998
+ border-radius: 8px;
1999
+ border: 1px solid #e5e7eb;
2000
+ background: #fff;
2001
+ box-sizing: border-box;
2002
+ }
2003
+ .di-shadow-inline-copy {
2004
+ min-width: 0;
2005
+ display: flex;
2006
+ align-items: baseline;
2007
+ gap: var(--di-field-label-gap);
2008
+ }
2009
+ .di-shadow-inline-sub {
2010
+ min-width: 0;
2011
+ color: #94a3b8;
2012
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
1304
2013
  font-size: 11px;
1305
- font-weight: 700;
2014
+ font-weight: 650;
2015
+ overflow: hidden;
2016
+ text-overflow: ellipsis;
2017
+ white-space: nowrap;
2018
+ }
2019
+ .di-shadow-custom-toolbar {
2020
+ position: relative;
2021
+ min-width: 0;
2022
+ display: grid;
2023
+ grid-template-columns: minmax(0, 1fr);
2024
+ align-items: center;
2025
+ gap: var(--di-control-gap-x);
2026
+ transition: padding-right 0.12s;
2027
+ }
2028
+ .di-shadow-token-meta {
2029
+ min-width: 0;
2030
+ color: #64748b;
2031
+ font-size: 11px;
2032
+ font-weight: 650;
2033
+ overflow: hidden;
2034
+ text-overflow: ellipsis;
2035
+ white-space: nowrap;
1306
2036
  }
1307
2037
  .di-shadow-drop {
1308
2038
  min-width: 240px;
@@ -1343,69 +2073,187 @@
1343
2073
  flex-direction: column;
1344
2074
  gap: 2px;
1345
2075
  }
1346
- .di-hex--wrap {
1347
- white-space: normal;
1348
- word-break: break-word;
1349
- line-height: 1.3;
1350
- }
1351
- .di-nudge-pad {
2076
+ .di-shadow-custom-grid {
1352
2077
  display: grid;
1353
- grid-template-columns: 30px 30px 30px;
1354
- grid-template-rows: 30px 30px 30px;
1355
- gap: 4px;
1356
- align-items: center;
1357
- justify-items: center;
1358
- justify-content: center;
2078
+ grid-template-columns: repeat(4, minmax(52px, 1fr));
2079
+ gap: var(--di-control-gap-x);
2080
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
2081
+ border: 0;
2082
+ border-radius: 10px;
2083
+ background: #f8fafc;
1359
2084
  }
1360
- .di-nudge-btn {
1361
- width: 30px;
1362
- height: 30px;
1363
- padding: 0;
2085
+ .di-shadow-custom-row {
2086
+ display: block;
2087
+ min-width: 0;
2088
+ }
2089
+ .di-shadow-custom-row--color {
2090
+ grid-column: 1 / -1;
2091
+ }
2092
+ .di-shadow-custom-label {
2093
+ color: #6b7280;
2094
+ font-size: 11px;
2095
+ font-weight: 700;
2096
+ line-height: 1.1;
2097
+ white-space: nowrap;
2098
+ }
2099
+ .di-shadow-custom-input {
2100
+ min-width: 0;
2101
+ width: 100%;
2102
+ height: 28px;
2103
+ padding: 0 8px 0 28px;
1364
2104
  border: 1px solid #e5e7eb;
1365
2105
  border-radius: 6px;
1366
2106
  background: #fff;
1367
- color: #45556c;
1368
- font-size: 14px;
1369
- font-weight: 700;
1370
- cursor: pointer;
1371
- transition: background 0.12s, border-color 0.12s, color 0.12s;
2107
+ color: #374151;
2108
+ font-family: monospace;
2109
+ font-size: 11px;
2110
+ box-sizing: border-box;
2111
+ outline: none;
1372
2112
  }
1373
- .di-nudge-btn:hover,
1374
- .di-nudge-btn:focus-visible {
2113
+ .di-shadow-custom-input:hover,
2114
+ .di-shadow-custom-input:focus-visible {
1375
2115
  border-color: #c4b5fd;
1376
2116
  background: #faf5ff;
1377
2117
  color: #7c3aed;
1378
2118
  outline: none;
1379
2119
  }
1380
- .di-nudge-btn--up,
1381
- .di-nudge-btn--down { grid-column: 2; justify-self: center; }
1382
- .di-nudge-btn--left { grid-column: 1; grid-row: 2; }
1383
- .di-nudge-btn--right { grid-column: 3; grid-row: 2; }
1384
- .di-nudge-readout {
1385
- grid-column: 2;
1386
- grid-row: 2;
2120
+ .di-hex--wrap {
2121
+ white-space: normal;
2122
+ word-break: break-word;
2123
+ line-height: 1.3;
2124
+ }
2125
+ .di-position-fields {
1387
2126
  display: flex;
1388
2127
  flex-direction: column;
2128
+ gap: 6px;
2129
+ min-width: 0;
2130
+ }
2131
+ .di-position-row {
2132
+ display: grid;
2133
+ grid-template-columns: minmax(0, 1fr);
2134
+ gap: 5px;
1389
2135
  align-items: center;
1390
- justify-content: center;
1391
- width: 30px;
1392
- height: 30px;
1393
- box-sizing: border-box;
2136
+ }
2137
+ .di-position-axis {
2138
+ color: #6b7280;
2139
+ font-size: 12px;
2140
+ font-weight: 700;
2141
+ }
2142
+ .di-position-value {
2143
+ min-width: 0;
2144
+ height: 28px;
2145
+ padding: 0 8px;
1394
2146
  border: 1px solid #e5e7eb;
1395
2147
  border-radius: 6px;
1396
2148
  background: #fff;
1397
- color: #6b7280;
2149
+ color: #374151;
1398
2150
  font-family: monospace;
1399
- font-size: 10px;
1400
- line-height: 1.2;
2151
+ font-size: 11px;
2152
+ text-align: left;
2153
+ cursor: text;
2154
+ overflow: hidden;
2155
+ text-overflow: clip;
2156
+ white-space: nowrap;
2157
+ outline: none;
2158
+ width: 100%;
2159
+ box-sizing: border-box;
2160
+ }
2161
+ .di-position-value:hover,
2162
+ .di-position-value:focus-visible {
2163
+ border-color: #c4b5fd;
2164
+ background: #faf5ff;
2165
+ color: #7c3aed;
2166
+ outline: none;
2167
+ }
2168
+ .di-number-stepper {
2169
+ position: relative;
2170
+ min-width: 0;
2171
+ }
2172
+ .di-number-stepper .di-number-stepper-input {
2173
+ padding-right: 8px;
2174
+ }
2175
+ .di-number-stepper--with-axis .di-number-stepper-input {
2176
+ padding-left: 28px;
2177
+ }
2178
+ .di-number-stepper--wide-axis .di-number-stepper-input {
2179
+ padding-left: 42px;
2180
+ }
2181
+ .di-field-axis {
2182
+ position: absolute;
2183
+ left: 9px;
2184
+ top: 50%;
2185
+ z-index: 1;
2186
+ transform: translateY(-50%);
2187
+ color: #94a3b8;
2188
+ font-family: monospace;
2189
+ font-size: 11px;
2190
+ font-weight: 500;
2191
+ line-height: 1;
2192
+ pointer-events: none;
2193
+ }
2194
+ .di-field-axis--wide {
2195
+ left: 9px;
2196
+ }
2197
+ .di-number-stepper-buttons {
2198
+ display: none;
2199
+ }
2200
+ .di-number-stepper-buttons button {
2201
+ position: relative;
2202
+ border: 0;
2203
+ padding: 0;
2204
+ background: transparent;
2205
+ color: #94a3b8;
2206
+ font-family: inherit;
2207
+ font-size: 0;
2208
+ line-height: 1;
2209
+ cursor: pointer;
2210
+ }
2211
+ .di-number-stepper-buttons button + button {
2212
+ border-top: 1px solid #eef2f7;
2213
+ }
2214
+ .di-number-stepper-buttons button::before {
2215
+ content: '';
2216
+ display: block;
2217
+ width: 8px;
2218
+ height: 5px;
2219
+ margin: auto;
2220
+ background-color: currentColor;
2221
+ mask: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / 8px 5px no-repeat;
2222
+ -webkit-mask: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / 8px 5px no-repeat;
2223
+ }
2224
+ .di-number-stepper-buttons button:first-child::before {
2225
+ transform: rotate(180deg);
2226
+ }
2227
+ .di-number-stepper-buttons button:last-child::before {
2228
+ transform: none;
2229
+ }
2230
+ .di-number-stepper-buttons button:hover,
2231
+ .di-number-stepper-buttons button:focus-visible {
2232
+ background: #f5f3ff;
2233
+ color: #7c3aed;
2234
+ outline: none;
1401
2235
  }
1402
2236
  .di-size-row {
1403
2237
  display: grid;
1404
- grid-template-columns: 16px minmax(0, 1fr) 86px;
1405
- gap: 6px;
2238
+ grid-template-columns: minmax(0, 1fr);
2239
+ gap: 5px;
1406
2240
  align-items: center;
1407
2241
  }
1408
- .di-size-row + .di-size-row { margin-top: 6px; }
2242
+ .di-size-row + .di-size-row { margin-top: 0; }
2243
+ .di-size-field {
2244
+ position: relative;
2245
+ min-width: 0;
2246
+ --di-size-mode-inset: 9px;
2247
+ --di-size-mode-reserve: 23px;
2248
+ --di-size-mode-gap: 2px;
2249
+ }
2250
+ .di-size-field .di-number-stepper {
2251
+ width: 100%;
2252
+ min-width: 0;
2253
+ }
2254
+ .di-size-field .di-number-stepper--with-axis .di-size-value {
2255
+ padding-left: 24px;
2256
+ }
1409
2257
  .di-size-axis {
1410
2258
  color: #6b7280;
1411
2259
  font-size: 12px;
@@ -1413,7 +2261,7 @@
1413
2261
  }
1414
2262
  .di-size-value {
1415
2263
  min-width: 0;
1416
- height: 30px;
2264
+ height: 28px;
1417
2265
  padding: 0 8px;
1418
2266
  border: 1px solid #e5e7eb;
1419
2267
  border-radius: 6px;
@@ -1424,12 +2272,15 @@
1424
2272
  text-align: left;
1425
2273
  cursor: text;
1426
2274
  overflow: hidden;
1427
- text-overflow: ellipsis;
2275
+ text-overflow: clip;
1428
2276
  white-space: nowrap;
1429
2277
  outline: none;
1430
2278
  width: 100%;
1431
2279
  box-sizing: border-box;
1432
2280
  }
2281
+ .di-size-field .di-size-value {
2282
+ padding-right: calc(var(--di-size-mode-inset) + var(--di-size-mode-reserve) + var(--di-size-mode-gap));
2283
+ }
1433
2284
  .di-size-value:hover,
1434
2285
  .di-size-value:focus-visible {
1435
2286
  border-color: #c4b5fd;
@@ -1438,29 +2289,36 @@
1438
2289
  outline: none;
1439
2290
  }
1440
2291
  .di-size-mode-select {
1441
- height: 30px;
1442
- border-radius: 6px;
1443
- border: 1px solid #e5e7eb;
2292
+ position: absolute;
2293
+ top: 50%;
2294
+ right: var(--di-size-mode-inset);
2295
+ z-index: 2;
2296
+ transform: translateY(-50%);
2297
+ height: 22px;
2298
+ border-radius: 0;
2299
+ border: 0;
1444
2300
  min-width: 0;
1445
- width: 100%;
1446
- padding: 0 28px 0 10px;
1447
- background: #fff;
1448
- background-image: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%239ca3af' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
1449
- background-repeat: no-repeat;
1450
- background-position: right 10px center;
1451
- background-size: 8px 5px;
1452
- color: #111827;
1453
- font-size: 11px;
2301
+ width: fit-content;
2302
+ max-width: max-content;
2303
+ padding: 2px;
2304
+ background: transparent;
2305
+ color: #64748b;
2306
+ font-size: 10px;
2307
+ font-weight: 650;
1454
2308
  font-family: inherit;
1455
2309
  cursor: pointer;
1456
2310
  outline: none;
2311
+ text-align: center;
2312
+ text-align-last: center;
1457
2313
  appearance: none;
1458
2314
  -webkit-appearance: none;
2315
+ field-sizing: content;
2316
+ box-sizing: border-box;
2317
+ overflow: hidden;
1459
2318
  }
1460
2319
  .di-size-mode-select:hover,
1461
2320
  .di-size-mode-select:focus-visible {
1462
- border-color: #c4b5fd;
1463
- background: #faf5ff;
2321
+ background: transparent;
1464
2322
  color: #7c3aed;
1465
2323
  }
1466
2324
 
@@ -1686,48 +2544,191 @@
1686
2544
  line-height: 1.2;
1687
2545
  }
1688
2546
 
1689
- /* ── 预设选项 ── */
1690
- .di-preset-row {
2547
+ /* ── 间距:紧凑 token 表 + 自定义展开 ── */
2548
+ .di-space-row {
1691
2549
  display: flex;
2550
+ flex-direction: column;
1692
2551
  gap: 6px;
1693
- flex-wrap: nowrap;
1694
- overflow-x: auto;
1695
- padding-bottom: 4px;
1696
- scrollbar-width: thin;
1697
2552
  }
1698
- .di-preset {
2553
+ .di-space-card {
2554
+ min-width: 0;
1699
2555
  display: flex;
1700
2556
  flex-direction: column;
1701
- align-items: center;
1702
- justify-content: center;
1703
- flex: 0 0 60px;
1704
- min-width: 60px;
1705
- padding: 6px 10px;
1706
- border-radius: 8px;
1707
- border: 1px solid #e5e7eb;
1708
- background: #fff;
1709
- cursor: pointer;
1710
- transition: all 0.12s;
1711
- gap: 1px;
2557
+ gap: 6px;
2558
+ padding: 0;
2559
+ border: 0;
2560
+ border-radius: 0;
2561
+ background: transparent;
1712
2562
  }
1713
- .di-preset:hover { border-color: #c4b5fd; background: #faf5ff; }
1714
- .di-preset--on {
1715
- border-color: #7c3aed;
1716
- background: #7c3aed;
1717
- color: #fff;
2563
+ .di-space-row-head {
2564
+ display: grid;
2565
+ grid-template-columns: 52px minmax(106px, 132px) minmax(0, 1fr);
2566
+ align-items: center;
2567
+ gap: 8px;
2568
+ min-width: 0;
1718
2569
  }
1719
- .di-preset--on:hover { background: #6d28d9; border-color: #6d28d9; }
1720
- .di-preset-label { font-size: 11px; font-weight: 600; font-family: "PingFang SC", system-ui, sans-serif; }
1721
- .di-preset-sub { font-size: 10px; opacity: 0.75; }
1722
- .di-preset--on .di-preset-sub { opacity: 0.85; }
1723
-
1724
- /* ── 作用范围 ── */
1725
- .di-scope-row {
2570
+ .di-space-control-line {
2571
+ position: relative;
2572
+ min-width: 0;
1726
2573
  display: flex;
1727
- gap: 8px;
2574
+ align-items: center;
2575
+ gap: 6px;
2576
+ transition: padding-right 0.12s;
1728
2577
  }
1729
- .di-section-desc {
1730
- margin-bottom: 8px;
2578
+ .di-space-title {
2579
+ color: #374151;
2580
+ font-size: 11px;
2581
+ font-weight: 700;
2582
+ white-space: nowrap;
2583
+ }
2584
+ .di-space-token-trigger {
2585
+ display: grid;
2586
+ grid-template-columns: auto minmax(0, 1fr) 8px;
2587
+ align-items: center;
2588
+ gap: 5px;
2589
+ min-width: 0;
2590
+ height: 30px;
2591
+ padding: 0 8px;
2592
+ border: 1px solid #e5e7eb;
2593
+ border-radius: 6px;
2594
+ background: #fff;
2595
+ color: #111827;
2596
+ font-family: inherit;
2597
+ cursor: pointer;
2598
+ text-align: left;
2599
+ }
2600
+ .di-space-token-trigger:hover,
2601
+ .di-space-token-trigger:focus-visible {
2602
+ border-color: #c4b5fd;
2603
+ background: #faf5ff;
2604
+ outline: none;
2605
+ }
2606
+ .di-space-token-label {
2607
+ color: #7c3aed;
2608
+ font-size: 12px;
2609
+ font-weight: 800;
2610
+ white-space: nowrap;
2611
+ }
2612
+ .di-space-token-trigger--empty .di-space-token-label,
2613
+ .di-token-name--empty {
2614
+ color: #9ca3af;
2615
+ }
2616
+ .di-space-token-meta {
2617
+ min-width: 0;
2618
+ color: #64748b;
2619
+ font-size: 11px;
2620
+ font-weight: 650;
2621
+ overflow: hidden;
2622
+ text-overflow: ellipsis;
2623
+ white-space: nowrap;
2624
+ }
2625
+ .di-space-summary {
2626
+ min-width: 0;
2627
+ color: #64748b;
2628
+ font-size: 11px;
2629
+ font-weight: 600;
2630
+ overflow: hidden;
2631
+ text-overflow: ellipsis;
2632
+ white-space: nowrap;
2633
+ }
2634
+ .di-space-token-menu {
2635
+ min-width: 220px;
2636
+ max-width: 300px;
2637
+ }
2638
+ .di-space-custom-grid {
2639
+ display: grid;
2640
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2641
+ gap: 6px;
2642
+ padding: 6px;
2643
+ border: 1px solid #eef2f7;
2644
+ border-radius: 8px;
2645
+ background: #fbfdff;
2646
+ }
2647
+ .di-space-custom-grid--gap {
2648
+ grid-template-columns: minmax(0, 1fr);
2649
+ }
2650
+ .di-space-custom-row {
2651
+ display: grid;
2652
+ grid-template-columns: minmax(0, 1fr);
2653
+ align-items: center;
2654
+ gap: 5px;
2655
+ min-width: 0;
2656
+ }
2657
+ .di-space-custom-label {
2658
+ color: #6b7280;
2659
+ font-size: 11px;
2660
+ font-weight: 700;
2661
+ line-height: 1.1;
2662
+ white-space: nowrap;
2663
+ }
2664
+ .di-space-custom-input {
2665
+ min-width: 0;
2666
+ width: 100%;
2667
+ height: 28px;
2668
+ padding: 0 8px;
2669
+ border: 1px solid #e5e7eb;
2670
+ border-radius: 6px;
2671
+ background: #fff;
2672
+ color: #374151;
2673
+ font-family: monospace;
2674
+ font-size: 11px;
2675
+ box-sizing: border-box;
2676
+ outline: none;
2677
+ }
2678
+ .di-space-custom-input:hover,
2679
+ .di-space-custom-input:focus-visible {
2680
+ border-color: #c4b5fd;
2681
+ background: #faf5ff;
2682
+ color: #7c3aed;
2683
+ outline: none;
2684
+ }
2685
+
2686
+ /* ── 预设选项 ── */
2687
+ .di-preset-row {
2688
+ display: flex;
2689
+ gap: 6px;
2690
+ flex-wrap: nowrap;
2691
+ overflow-x: auto;
2692
+ padding-bottom: 4px;
2693
+ scrollbar-width: thin;
2694
+ }
2695
+ .di-preset {
2696
+ display: flex;
2697
+ flex-direction: column;
2698
+ align-items: center;
2699
+ justify-content: center;
2700
+ flex: 0 0 60px;
2701
+ min-width: 60px;
2702
+ padding: 6px 10px;
2703
+ border-radius: 8px;
2704
+ border: 1px solid #e5e7eb;
2705
+ background: #fff;
2706
+ cursor: pointer;
2707
+ transition: all 0.12s;
2708
+ gap: 1px;
2709
+ }
2710
+ .di-preset:hover { border-color: #c4b5fd; background: #faf5ff; }
2711
+ .di-preset--on {
2712
+ border-color: #c4b5fd;
2713
+ background: #f5f3ff;
2714
+ color: #7c3aed;
2715
+ box-shadow: inset 0 0 0 1px #c4b5fd;
2716
+ }
2717
+ .di-preset--on:hover {
2718
+ background: #ede9fe;
2719
+ border-color: #a78bfa;
2720
+ }
2721
+ .di-preset-label { font-size: 11px; font-weight: 600; font-family: "PingFang SC", system-ui, sans-serif; }
2722
+ .di-preset-sub { font-size: 10px; opacity: 0.75; }
2723
+ .di-preset--on .di-preset-sub { opacity: 0.9; color: #8b5cf6; }
2724
+
2725
+ /* ── 作用范围 ── */
2726
+ .di-scope-row {
2727
+ display: flex;
2728
+ gap: 8px;
2729
+ }
2730
+ .di-section-desc {
2731
+ margin-bottom: 8px;
1731
2732
  font-size: 11px;
1732
2733
  line-height: 1.45;
1733
2734
  color: #6b7280;
@@ -1748,13 +2749,14 @@
1748
2749
  }
1749
2750
  .di-scope-btn:hover { border-color: #c4b5fd; background: #faf5ff; }
1750
2751
  .di-scope-btn--on {
1751
- border-color: #7c3aed;
1752
- background: #7c3aed;
1753
- color: #fff;
2752
+ border-color: #c4b5fd;
2753
+ background: #f5f3ff;
2754
+ color: #7c3aed;
2755
+ box-shadow: inset 0 0 0 1px #c4b5fd;
1754
2756
  }
1755
2757
  .di-scope-btn--on:hover {
1756
- background: #6d28d9;
1757
- border-color: #6d28d9;
2758
+ background: #ede9fe;
2759
+ border-color: #a78bfa;
1758
2760
  }
1759
2761
  .di-scope-count {
1760
2762
  display: inline-flex;
@@ -1771,8 +2773,8 @@
1771
2773
  margin-left: 4px;
1772
2774
  }
1773
2775
  .di-scope-btn--on .di-scope-count {
1774
- background: rgba(255,255,255,0.25);
1775
- color: #fff;
2776
+ background: rgba(124,58,237,0.12);
2777
+ color: #7c3aed;
1776
2778
  }
1777
2779
 
1778
2780
  /* ── 备注 ── */
@@ -1880,14 +2882,9 @@
1880
2882
  gap: 10px;
1881
2883
  }
1882
2884
 
1883
- .di-inbox-pill {
1884
- align-self: flex-start;
1885
- padding: 5px 10px;
1886
- border-radius: 999px;
1887
- background: rgba(124,58,237,0.1);
1888
- color: #7c3aed;
1889
- font-size: 12px;
1890
- font-weight: 700;
2885
+ .di-inbox-list--stored {
2886
+ padding-top: 2px;
2887
+ border-top: 1px dashed #e5e7eb;
1891
2888
  }
1892
2889
 
1893
2890
  .di-inbox-card {
@@ -1902,7 +2899,7 @@
1902
2899
 
1903
2900
  .di-inbox-card-head {
1904
2901
  display: flex;
1905
- align-items: flex-start;
2902
+ align-items: center;
1906
2903
  justify-content: space-between;
1907
2904
  gap: 10px;
1908
2905
  }
@@ -1914,7 +2911,15 @@
1914
2911
  .di-inbox-target {
1915
2912
  font-size: 13px;
1916
2913
  font-weight: 700;
1917
- color: #312e81;
2914
+ color: var(--color-text-strong, #0f172a);
2915
+ word-break: break-word;
2916
+ }
2917
+
2918
+ .di-inbox-meta {
2919
+ margin-top: 2px;
2920
+ font-size: 11px;
2921
+ line-height: 1.35;
2922
+ color: #94a3b8;
1918
2923
  word-break: break-word;
1919
2924
  }
1920
2925
 
@@ -1936,7 +2941,7 @@
1936
2941
 
1937
2942
  .di-inbox-change-item {
1938
2943
  display: flex;
1939
- align-items: flex-start;
2944
+ align-items: center;
1940
2945
  justify-content: space-between;
1941
2946
  gap: 10px;
1942
2947
  color: #4b5563;
@@ -1969,3 +2974,587 @@
1969
2974
  font-size: 11px;
1970
2975
  line-height: 1.4;
1971
2976
  }
2977
+
2978
+ .di-inbox-icon-btn {
2979
+ flex: 0 0 auto;
2980
+ width: 24px;
2981
+ height: 24px;
2982
+ border: 1px solid #e2e8f0;
2983
+ border-radius: 7px;
2984
+ background: #fff;
2985
+ color: #64748b;
2986
+ font-size: 18px;
2987
+ line-height: 1;
2988
+ font-weight: 800;
2989
+ cursor: pointer;
2990
+ display: inline-flex;
2991
+ align-items: center;
2992
+ justify-content: center;
2993
+ box-sizing: border-box;
2994
+ }
2995
+
2996
+ .di-inbox-icon-btn:hover {
2997
+ border-color: #c4b5fd;
2998
+ color: #7c3aed;
2999
+ }
3000
+
3001
+ .di-inbox-icon-btn svg {
3002
+ width: 14px;
3003
+ height: 14px;
3004
+ flex: 0 0 auto;
3005
+ }
3006
+
3007
+ .di-inbox-icon-btn--mini {
3008
+ width: 24px;
3009
+ height: 24px;
3010
+ }
3011
+
3012
+ /* ── 方案 F:微型工具条密度 ── */
3013
+ .di-tool-row {
3014
+ display: grid;
3015
+ grid-template-columns: 52px minmax(0, 1fr);
3016
+ align-items: center;
3017
+ gap: var(--di-field-label-gap);
3018
+ min-height: 44px;
3019
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
3020
+ border-radius: 10px;
3021
+ background: #f8fafc;
3022
+ box-sizing: border-box;
3023
+ }
3024
+
3025
+ .di-tool-row--empty {
3026
+ grid-template-columns: minmax(0, 1fr) 24px;
3027
+ }
3028
+
3029
+ .di-tool-row--with-reset {
3030
+ grid-template-columns: 52px minmax(0, 1fr) 24px;
3031
+ }
3032
+
3033
+ .di-tool-row .di-section-title {
3034
+ margin-bottom: 0;
3035
+ }
3036
+
3037
+ .di-text-section .di-note--sm {
3038
+ min-height: 44px;
3039
+ margin-bottom: 6px;
3040
+ border-radius: 10px;
3041
+ }
3042
+
3043
+ .di-text-section .di-typography-toolbar {
3044
+ gap: var(--di-control-gap-x);
3045
+ padding: 6px;
3046
+ border-radius: 10px;
3047
+ background: #f8fafc;
3048
+ }
3049
+
3050
+ .di-text-section .di-typography-control {
3051
+ height: 30px;
3052
+ border-radius: 7px;
3053
+ }
3054
+
3055
+ .di-text-card {
3056
+ display: flex;
3057
+ flex-direction: column;
3058
+ gap: var(--di-control-gap-y);
3059
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
3060
+ border: 0;
3061
+ border-radius: 10px;
3062
+ background: #f8fafc;
3063
+ }
3064
+
3065
+ .di-text-field-row {
3066
+ display: grid;
3067
+ grid-template-columns: max-content minmax(0, 1fr);
3068
+ align-items: center;
3069
+ gap: var(--di-field-label-gap);
3070
+ min-width: 0;
3071
+ }
3072
+
3073
+ .di-text-field-row--style {
3074
+ align-items: center;
3075
+ }
3076
+
3077
+ .di-text-field-label {
3078
+ color: #9ca3af;
3079
+ font-size: 10px;
3080
+ font-weight: 800;
3081
+ line-height: 1.2;
3082
+ white-space: nowrap;
3083
+ }
3084
+
3085
+ .di-text-card .di-note--sm {
3086
+ min-height: 30px;
3087
+ margin-bottom: 0;
3088
+ padding: 6px 9px;
3089
+ border-radius: 7px;
3090
+ font-size: 12px;
3091
+ font-weight: 650;
3092
+ }
3093
+
3094
+ .di-text-card .di-typography-toolbar {
3095
+ min-width: 0;
3096
+ gap: var(--di-control-gap-x);
3097
+ padding: 0;
3098
+ border-radius: 0;
3099
+ background: transparent;
3100
+ }
3101
+
3102
+ .di-text-card .di-typography-toolbar:not(.di-typography-toolbar--custom) {
3103
+ grid-template-columns: max-content;
3104
+ justify-content: start;
3105
+ }
3106
+
3107
+ .di-text-card .di-typography-toolbar:not(.di-typography-toolbar--custom) .di-typography-control-wrap {
3108
+ width: max-content;
3109
+ }
3110
+
3111
+ .di-text-card .di-typography-toolbar--custom {
3112
+ position: relative;
3113
+ grid-template-columns: max-content max-content minmax(64px, 1fr);
3114
+ transition: padding-right 0.12s;
3115
+ }
3116
+
3117
+ .di-text-card:hover .di-typography-toolbar--custom,
3118
+ .di-text-card:focus-within .di-typography-toolbar--custom,
3119
+ .di-shadow-card:hover .di-shadow-custom-toolbar,
3120
+ .di-shadow-card:focus-within .di-shadow-custom-toolbar {
3121
+ padding-right: 24px;
3122
+ }
3123
+
3124
+ .di-text-card .di-typography-toolbar--custom .di-typography-control-wrap:first-child,
3125
+ .di-text-card .di-typography-toolbar--custom .di-typography-control-wrap:nth-child(2) {
3126
+ justify-self: start;
3127
+ width: max-content;
3128
+ }
3129
+
3130
+ .di-text-card .di-typography-control {
3131
+ height: 30px;
3132
+ padding: 0 6px;
3133
+ border-radius: 7px;
3134
+ }
3135
+
3136
+ .di-text-card .di-typography-control--style-compact {
3137
+ grid-template-columns: max-content 8px;
3138
+ width: max-content;
3139
+ min-width: max-content;
3140
+ padding-inline: 10px;
3141
+ }
3142
+
3143
+ .di-text-card .di-typography-control--size,
3144
+ .di-text-card .di-typography-control--weight {
3145
+ width: auto;
3146
+ padding-inline: 10px;
3147
+ }
3148
+
3149
+ .di-text-card .di-typography-control--color {
3150
+ grid-template-columns: 24px minmax(0, 1fr);
3151
+ padding-left: 3px;
3152
+ }
3153
+
3154
+ .di-layout-section .di-section-title,
3155
+ .di-shadow-section .di-section-title,
3156
+ .di-space-section .di-section-title {
3157
+ margin-bottom: var(--di-section-title-gap);
3158
+ }
3159
+
3160
+ .di-layout-section .di-section-title-row .di-section-title,
3161
+ .di-shadow-section .di-section-title-row .di-section-title,
3162
+ .di-space-section .di-section-title-row .di-section-title {
3163
+ margin-bottom: 0;
3164
+ }
3165
+
3166
+ .di-layout-section .di-layout-grid {
3167
+ grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr);
3168
+ gap: var(--di-control-gap-x);
3169
+ }
3170
+
3171
+ .di-layout-section .di-layout-card {
3172
+ border: 0;
3173
+ border-radius: 10px;
3174
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
3175
+ background: #f8fafc;
3176
+ }
3177
+
3178
+ .di-layout-section .di-layout-card--position,
3179
+ .di-layout-section .di-layout-card--size {
3180
+ gap: var(--di-control-gap-y);
3181
+ }
3182
+
3183
+ .di-layout-section .di-layout-card--size {
3184
+ display: grid;
3185
+ grid-template-columns: minmax(0, 1fr);
3186
+ align-content: start;
3187
+ }
3188
+
3189
+ .di-layout-section .di-layout-card--alignment {
3190
+ grid-column: 1 / -1;
3191
+ display: grid;
3192
+ grid-template-columns: max-content minmax(0, 1fr);
3193
+ align-items: center;
3194
+ gap: var(--di-field-label-gap);
3195
+ }
3196
+
3197
+ .di-layout-section .di-layout-card-title {
3198
+ grid-column: 1 / -1;
3199
+ color: #9ca3af;
3200
+ font-size: 10px;
3201
+ font-weight: 800;
3202
+ line-height: 1;
3203
+ }
3204
+
3205
+ .di-layout-section .di-position-fields {
3206
+ display: grid;
3207
+ grid-template-columns: repeat(auto-fit, minmax(min(72px, 100%), 1fr));
3208
+ gap: var(--di-control-gap-y);
3209
+ min-width: 0;
3210
+ }
3211
+
3212
+ .di-layout-section .di-position-row,
3213
+ .di-layout-section .di-size-row {
3214
+ gap: var(--di-control-gap-x);
3215
+ }
3216
+
3217
+ .di-layout-section .di-position-value,
3218
+ .di-layout-section .di-size-value {
3219
+ height: 28px;
3220
+ border-radius: 7px;
3221
+ }
3222
+
3223
+ .di-layout-section .di-size-row {
3224
+ grid-template-columns: minmax(0, 1fr);
3225
+ }
3226
+
3227
+ .di-layout-section .di-size-mode-select {
3228
+ height: 22px;
3229
+ }
3230
+
3231
+ .di-alignment-fields {
3232
+ display: grid;
3233
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3234
+ gap: var(--di-control-gap-x);
3235
+ min-width: 0;
3236
+ }
3237
+
3238
+ .di-alignment-field {
3239
+ position: relative;
3240
+ display: block;
3241
+ min-width: 0;
3242
+ }
3243
+
3244
+ .di-alignment-label {
3245
+ position: absolute;
3246
+ left: 9px;
3247
+ top: 50%;
3248
+ z-index: 1;
3249
+ transform: translateY(-50%);
3250
+ color: #94a3b8;
3251
+ font-size: 11px;
3252
+ font-weight: 600;
3253
+ line-height: 1;
3254
+ pointer-events: none;
3255
+ }
3256
+
3257
+ .di-alignment-select {
3258
+ width: 100%;
3259
+ min-width: 0;
3260
+ height: 28px;
3261
+ padding: 0 8px 0 42px;
3262
+ border: 1px solid #e5e7eb;
3263
+ border-radius: 7px;
3264
+ background: #fff;
3265
+ color: #374151;
3266
+ font-size: 11px;
3267
+ font-family: inherit;
3268
+ font-weight: 650;
3269
+ outline: none;
3270
+ cursor: pointer;
3271
+ appearance: none;
3272
+ -webkit-appearance: none;
3273
+ }
3274
+
3275
+ .di-alignment-select:hover,
3276
+ .di-alignment-select:focus-visible {
3277
+ border-color: #c4b5fd;
3278
+ background: #faf5ff;
3279
+ color: #7c3aed;
3280
+ }
3281
+
3282
+ .di-typography-control > svg,
3283
+ .di-shadow-token-trigger > svg,
3284
+ .di-space-token-trigger > svg,
3285
+ .di-border-control--width > svg,
3286
+ .di-border-control--line > svg,
3287
+ .di-border-control--radius > svg,
3288
+ .di-color-select-swatch svg {
3289
+ display: none;
3290
+ }
3291
+
3292
+ .di-typography-control--style-compact,
3293
+ .di-typography-control--size,
3294
+ .di-border-control--width,
3295
+ .di-border-control--radius {
3296
+ grid-template-columns: minmax(0, 1fr);
3297
+ }
3298
+
3299
+ .di-typography-control--size-token,
3300
+ .di-typography-control--weight,
3301
+ .di-border-control--line {
3302
+ grid-template-columns: auto minmax(0, 1fr);
3303
+ }
3304
+
3305
+ .di-shadow-token-trigger--merged {
3306
+ grid-template-columns: 28px minmax(0, 1fr);
3307
+ }
3308
+
3309
+ .di-space-token-trigger {
3310
+ grid-template-columns: auto minmax(0, 1fr);
3311
+ }
3312
+
3313
+ .di-shadow-section .di-shadow-panel {
3314
+ gap: var(--di-control-gap-y);
3315
+ }
3316
+
3317
+ .di-shadow-section .di-shadow-card {
3318
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
3319
+ border-radius: 10px;
3320
+ background: #f8fafc;
3321
+ gap: var(--di-control-gap-y);
3322
+ }
3323
+
3324
+ .di-shadow-section .di-shadow-field-row--params {
3325
+ padding: 0;
3326
+ border-radius: 0;
3327
+ background: transparent;
3328
+ }
3329
+
3330
+ .di-shadow-section .di-shadow-field-row {
3331
+ grid-template-columns: max-content minmax(0, 1fr);
3332
+ gap: var(--di-field-label-gap);
3333
+ }
3334
+
3335
+ .di-shadow-section .di-shadow-field-row .di-text-field-label {
3336
+ color: #9ca3af;
3337
+ font-size: 10px;
3338
+ font-weight: 800;
3339
+ line-height: 1.2;
3340
+ }
3341
+
3342
+ .di-shadow-section .di-shadow-toolbar {
3343
+ grid-template-columns: minmax(0, 1fr);
3344
+ }
3345
+
3346
+ .di-shadow-section .di-shadow-custom-toolbar {
3347
+ position: relative;
3348
+ grid-template-columns: minmax(0, 1fr);
3349
+ transition: padding-right 0.12s;
3350
+ }
3351
+
3352
+ .di-shadow-section .di-shadow-token-trigger {
3353
+ height: 30px;
3354
+ border-radius: 7px;
3355
+ }
3356
+
3357
+ .di-shadow-section .di-shadow-token-trigger--custom {
3358
+ width: max-content;
3359
+ max-width: 100%;
3360
+ justify-self: start;
3361
+ }
3362
+
3363
+ .di-shadow-section .di-shadow-preview-chip {
3364
+ width: 30px;
3365
+ height: 30px;
3366
+ flex-basis: 30px;
3367
+ border-radius: 9px;
3368
+ }
3369
+
3370
+ .di-shadow-section .di-shadow-custom-grid,
3371
+ .di-space-section .di-space-custom-grid {
3372
+ border: 0;
3373
+ border-radius: 10px;
3374
+ background: #f8fafc;
3375
+ }
3376
+
3377
+ .di-shadow-section .di-shadow-field-row--params .di-shadow-custom-grid {
3378
+ padding: 0;
3379
+ border-radius: 0;
3380
+ background: transparent;
3381
+ }
3382
+
3383
+ .di-shadow-section .di-shadow-custom-input,
3384
+ .di-shadow-section .di-color-select,
3385
+ .di-space-section .di-space-custom-input {
3386
+ height: 28px;
3387
+ border-radius: 7px;
3388
+ }
3389
+
3390
+ .di-shadow-section .di-color-select--fill {
3391
+ height: 30px;
3392
+ }
3393
+
3394
+ .di-space-section .di-space-row {
3395
+ display: flex;
3396
+ flex-direction: column;
3397
+ --di-space-row-gap: 4px;
3398
+ --di-space-row-padding-block: 4px;
3399
+ gap: var(--di-space-row-gap);
3400
+ }
3401
+
3402
+ .di-space-section .di-space-card {
3403
+ display: grid;
3404
+ grid-template-columns: max-content minmax(0, 1fr);
3405
+ align-items: start;
3406
+ column-gap: var(--di-field-label-gap);
3407
+ row-gap: var(--di-control-gap-y);
3408
+ padding: var(--di-space-row-padding-block) var(--di-tool-row-padding-inline);
3409
+ border-radius: 10px;
3410
+ background: #f8fafc;
3411
+ }
3412
+
3413
+ .di-space-section .di-space-card--gap {
3414
+ grid-column: auto;
3415
+ }
3416
+
3417
+ .di-space-section .di-space-row-head {
3418
+ display: contents;
3419
+ }
3420
+
3421
+ .di-space-section .di-space-title {
3422
+ align-self: center;
3423
+ color: #9ca3af;
3424
+ font-size: 10px;
3425
+ font-weight: 800;
3426
+ line-height: 1.2;
3427
+ }
3428
+
3429
+ .di-space-section .di-space-control-line {
3430
+ grid-column: 2;
3431
+ align-self: center;
3432
+ flex-wrap: wrap;
3433
+ }
3434
+
3435
+ .di-space-section .di-space-control-line--custom {
3436
+ display: flex;
3437
+ align-items: center;
3438
+ flex-wrap: wrap;
3439
+ width: 100%;
3440
+ gap: var(--di-control-gap-x);
3441
+ }
3442
+
3443
+ .di-space-card:hover .di-space-control-line--custom,
3444
+ .di-space-card:focus-within .di-space-control-line--custom {
3445
+ padding-right: 0;
3446
+ }
3447
+
3448
+ .di-space-section .di-space-control-line--sides {
3449
+ justify-content: start;
3450
+ }
3451
+
3452
+ .di-space-section .di-space-control-line--gap {
3453
+ justify-content: start;
3454
+ }
3455
+
3456
+ .di-space-section .di-source-action--field {
3457
+ position: static;
3458
+ flex: 0 0 0;
3459
+ width: 0;
3460
+ min-width: 0;
3461
+ opacity: 0;
3462
+ overflow: hidden;
3463
+ pointer-events: none;
3464
+ transform: none;
3465
+ }
3466
+
3467
+ .di-space-card:hover .di-source-action--field,
3468
+ .di-space-card:focus-within .di-source-action--field {
3469
+ flex-basis: 18px;
3470
+ width: 18px;
3471
+ min-width: 18px;
3472
+ opacity: 1;
3473
+ pointer-events: auto;
3474
+ }
3475
+
3476
+ .di-space-section .di-source-action--field:hover,
3477
+ .di-space-section .di-source-action--field:focus-visible {
3478
+ transform: none;
3479
+ }
3480
+
3481
+ .di-space-section .di-space-token-trigger {
3482
+ height: 30px;
3483
+ border-radius: 7px;
3484
+ width: max-content;
3485
+ min-width: max-content;
3486
+ max-width: 100%;
3487
+ justify-self: start;
3488
+ grid-template-columns: max-content;
3489
+ }
3490
+
3491
+ .di-space-section .di-space-token-trigger:not(.di-space-token-trigger--empty) {
3492
+ grid-template-columns: max-content max-content;
3493
+ gap: var(--di-field-label-gap);
3494
+ }
3495
+
3496
+ .di-space-section .di-space-token-trigger--empty {
3497
+ grid-template-columns: max-content;
3498
+ width: max-content;
3499
+ min-width: max-content;
3500
+ }
3501
+
3502
+ .di-space-section .di-space-summary {
3503
+ display: none;
3504
+ }
3505
+
3506
+ .di-space-section .di-space-token-meta {
3507
+ display: block;
3508
+ color: #94a3b8;
3509
+ font-size: 11px;
3510
+ font-weight: 650;
3511
+ }
3512
+
3513
+ .di-space-section .di-space-custom-grid {
3514
+ flex: 1 1 260px;
3515
+ min-width: 0;
3516
+ grid-template-columns: repeat(4, minmax(0, 1fr));
3517
+ padding: 0;
3518
+ border-radius: 0;
3519
+ background: transparent;
3520
+ gap: var(--di-control-gap-x);
3521
+ }
3522
+
3523
+ .di-space-section .di-space-control-line--custom .di-space-custom-grid {
3524
+ display: contents;
3525
+ }
3526
+
3527
+ .di-space-section .di-space-control-line--sides .di-space-custom-row {
3528
+ flex: 0 0 var(--di-space-input-width, 60px);
3529
+ }
3530
+
3531
+ .di-space-section .di-space-control-line--gap .di-space-custom-row {
3532
+ flex: 0 0 var(--di-space-input-width, 72px);
3533
+ }
3534
+
3535
+ .di-space-section .di-space-custom-grid--gap {
3536
+ flex: 0 1 136px;
3537
+ grid-template-columns: minmax(0, 1fr);
3538
+ }
3539
+
3540
+ .di-space-section .di-space-custom-row {
3541
+ grid-template-columns: minmax(0, 1fr);
3542
+ gap: 0;
3543
+ }
3544
+
3545
+ .di-space-section .di-space-custom-label {
3546
+ font-size: 10px;
3547
+ }
3548
+
3549
+ .di-space-section .di-space-custom-input {
3550
+ padding-right: 9px;
3551
+ min-width: 0;
3552
+ }
3553
+
3554
+ .di-space-section .di-number-stepper--with-axis .di-space-custom-input {
3555
+ padding-left: 25px;
3556
+ }
3557
+
3558
+ .di-space-section .di-space-custom-grid--gap .di-number-stepper--with-axis .di-space-custom-input {
3559
+ padding-left: 42px;
3560
+ }