@lijinmei-810/dev-inspector 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -53,186 +53,63 @@
53
53
  opacity: 1;
54
54
  transform: translateY(0);
55
55
  }
56
- .di-dl-btn {
57
- position: fixed;
58
- right: 72px;
59
- bottom: 24px;
60
- z-index: 99999;
61
- width: 48px;
62
- height: 48px;
63
- border-radius: 50%;
64
- border: none;
65
- background: #1a1a1a;
66
- color: #fff;
67
- font-size: 11px;
68
- font-weight: 700;
69
- font-family:
70
- "PingFang SC",
71
- system-ui,
72
- sans-serif;
73
- cursor: pointer;
74
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
75
- transition: background 0.15s, box-shadow 0.15s;
76
- }
77
- .di-dl-btn:hover {
78
- background: #333;
79
- box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
80
- }
81
- .di-dl-modal {
82
- position: fixed;
83
- right: 72px;
84
- bottom: 80px;
85
- z-index: 99999;
86
- width: 200px;
87
- background: #fff;
88
- border-radius: 12px;
89
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
90
- padding: 16px;
91
- display: flex;
92
- flex-direction: column;
93
- gap: 10px;
94
- font-family:
95
- "PingFang SC",
96
- system-ui,
97
- sans-serif;
98
- }
99
- .di-dl-title {
100
- font-size: 13px;
101
- font-weight: 700;
102
- color: #111;
103
- }
104
- .di-dl-row {
105
- display: flex;
106
- align-items: center;
107
- justify-content: space-between;
108
- gap: 8px;
109
- font-size: 13px;
110
- color: #333;
111
- }
112
- .di-dl-check-label {
113
- display: flex;
56
+ .di-match-badge {
57
+ position: relative;
58
+ display: inline-flex;
114
59
  align-items: center;
115
- gap: 8px;
116
- cursor: pointer;
117
- }
118
- .di-dl-row input[type=checkbox] {
119
- accent-color: #1a1a1a;
120
- cursor: pointer;
121
- }
122
- .di-dl-detail-btn {
123
- background: none;
124
- border: none;
125
- font-size: 11px;
126
- color: #888;
127
- cursor: pointer;
128
- padding: 0;
129
- white-space: nowrap;
130
- text-decoration: underline;
131
- }
132
- .di-dl-detail-btn:hover {
133
- color: #333;
134
- }
135
- .di-dl-file-list {
136
- margin: -4px 0 0 0;
137
- padding: 8px 10px;
138
- background: #f5f5f5;
139
- border-radius: 6px;
140
- list-style: none;
141
- display: flex;
142
- flex-direction: column;
143
- gap: 6px;
144
- }
145
- .di-dl-file-list li {
146
- display: flex;
147
- flex-direction: column;
148
- gap: 1px;
149
- }
150
- .di-dl-file-name {
151
- font-size: 11px;
152
- font-weight: 600;
153
- color: #222;
154
- font-family: "SF Mono", monospace;
155
- }
156
- .di-dl-file-desc {
60
+ justify-content: center;
61
+ height: 20px;
62
+ padding: 0 7px;
63
+ border-radius: 999px;
157
64
  font-size: 10px;
158
- color: #888;
159
- line-height: 1.4;
65
+ font-weight: 800;
66
+ line-height: 1;
67
+ white-space: nowrap;
68
+ cursor: default;
69
+ outline: none;
160
70
  }
161
- .di-dl-confirm {
162
- margin-top: 4px;
163
- padding: 7px 0;
164
- background: #1a1a1a;
71
+ .di-match-badge::after {
72
+ content: attr(data-tooltip);
73
+ position: absolute;
74
+ left: 50%;
75
+ bottom: calc(100% + 8px);
76
+ transform: translate(-50%, 4px);
77
+ width: max-content;
78
+ max-width: 220px;
79
+ padding: 7px 9px;
80
+ border-radius: 7px;
81
+ background: #0f172a;
165
82
  color: #fff;
166
- border: none;
167
- border-radius: 8px;
168
- font-size: 13px;
169
- font-weight: 600;
170
- cursor: pointer;
171
- transition: background 0.15s;
172
- }
173
- .di-dl-confirm:hover:not(:disabled) {
174
- background: #333;
175
- }
176
- .di-dl-confirm:disabled {
177
- background: #ccc;
178
- cursor: not-allowed;
179
- }
180
- .di-dl-status {
181
- display: flex;
182
- align-items: center;
183
- gap: 8px;
184
- font-size: 12px;
185
- color: #555;
186
- padding: 4px 0;
187
- }
188
- .di-dl-status--error {
189
- color: #dc2626;
190
- }
191
- .di-dl-spinner {
192
- width: 12px;
193
- height: 12px;
194
- border: 2px solid #ddd;
195
- border-top-color: #1a1a1a;
196
- border-radius: 50%;
197
- animation: di-spin 0.7s linear infinite;
198
- flex-shrink: 0;
199
- }
200
- @keyframes di-spin {
201
- to {
202
- transform: rotate(360deg);
203
- }
83
+ font-size: 11px;
84
+ line-height: 1.35;
85
+ font-weight: 650;
86
+ box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
87
+ opacity: 0;
88
+ pointer-events: none;
89
+ transition: opacity 0.12s, transform 0.12s;
90
+ white-space: normal;
91
+ z-index: 20;
204
92
  }
205
- .di-dl-done {
206
- display: flex;
207
- flex-direction: column;
208
- gap: 6px;
209
- padding: 4px 0;
93
+ .di-match-badge:hover::after,
94
+ .di-match-badge:focus-visible::after {
95
+ opacity: 1;
96
+ transform: translate(-50%, 0);
210
97
  }
211
- .di-dl-done-check {
212
- font-size: 13px;
213
- font-weight: 600;
214
- color: #1a1a1a;
98
+ .di-match-badge--matched {
99
+ background: #ede9fe;
100
+ color: #7c3aed;
215
101
  }
216
- .di-dl-done-path {
217
- font-size: 11px;
218
- color: #888;
219
- font-family: "SF Mono", monospace;
220
- word-break: break-all;
102
+ .di-match-badge--pending {
103
+ background: #f1f5f9;
104
+ color: #64748b;
221
105
  }
222
- .di-dl-reveal-btn {
223
- margin-top: 2px;
224
- padding: 6px 0;
225
- background: #f0f0f0;
226
- border: none;
227
- border-radius: 7px;
228
- font-size: 12px;
229
- font-weight: 500;
230
- color: #333;
231
- cursor: pointer;
232
- transition: background 0.15s;
106
+ .di-match-badge--token {
107
+ background: #ede9fe;
108
+ color: #7c3aed;
233
109
  }
234
- .di-dl-reveal-btn:hover {
235
- background: #e0e0e0;
110
+ .di-match-badge--raw {
111
+ background: #eef2f7;
112
+ color: #64748b;
236
113
  }
237
114
  .di-hover {
238
115
  outline: 2px solid rgba(124, 58, 237, 0.5) !important;
@@ -314,6 +191,9 @@
314
191
  sans-serif;
315
192
  overflow: hidden;
316
193
  }
194
+ .di-panel--workbench-open {
195
+ z-index: 2147483646;
196
+ }
317
197
  .di-panel--picking .di-body * {
318
198
  cursor: crosshair !important;
319
199
  }
@@ -388,12 +268,21 @@
388
268
  color: #111827;
389
269
  }
390
270
  .di-badge-dev {
391
- padding: 2px 8px;
271
+ display: inline-flex;
272
+ height: 22px;
273
+ align-items: center;
274
+ padding: 0 7px;
275
+ border: 1px solid #ede9fe;
392
276
  border-radius: 6px;
393
- background: rgba(124, 58, 237, 0.1);
277
+ background: #faf5ff;
394
278
  color: #7c3aed;
395
- font-size: 11px;
396
- font-weight: 600;
279
+ font-size: 10px;
280
+ font-weight: 850;
281
+ line-height: 1;
282
+ letter-spacing: 0;
283
+ white-space: nowrap;
284
+ cursor: default;
285
+ user-select: none;
397
286
  }
398
287
  .di-spec-link {
399
288
  background: none;
@@ -407,82 +296,3070 @@
407
296
  .di-spec-link:hover {
408
297
  text-decoration: underline;
409
298
  }
410
- .di-body {
411
- overflow-y: auto;
412
- flex: 1;
413
- padding: 2px 0 4px;
414
- }
415
- .di-body--readonly {
416
- pointer-events: none;
417
- opacity: 0.72;
418
- user-select: none;
299
+ .di-library-trigger {
300
+ display: inline-flex;
301
+ align-items: center;
302
+ justify-content: center;
303
+ gap: 4px;
304
+ height: 26px;
305
+ padding: 0 8px;
306
+ border: 1px solid #ede9fe;
307
+ border-radius: 7px;
308
+ background: #faf5ff;
309
+ color: #7c3aed;
310
+ font-family: inherit;
311
+ font-size: 11px;
312
+ font-weight: 800;
313
+ line-height: 1;
314
+ white-space: nowrap;
315
+ transition:
316
+ background 0.12s,
317
+ border-color 0.12s,
318
+ color 0.12s,
319
+ box-shadow 0.12s;
419
320
  }
420
- .di-section {
421
- padding: 8px 14px;
422
- border-bottom: 1px solid #f3f4f6;
321
+ .di-library-trigger:hover,
322
+ .di-library-trigger:focus-visible,
323
+ .di-library-trigger--on {
324
+ border-color: #c4b5fd;
325
+ background: #f5f3ff;
326
+ color: #6d28d9;
327
+ outline: none;
328
+ box-shadow: 0 1px 3px rgba(124, 58, 237, 0.12);
423
329
  }
424
- .di-section:last-child {
425
- border-bottom: none;
330
+ .di-library-layer {
331
+ position: absolute;
332
+ z-index: 4;
333
+ inset: 48px 0 0;
334
+ display: flex;
335
+ min-height: 0;
336
+ padding: 10px 14px;
337
+ background: rgba(255, 255, 255, 0.82);
338
+ backdrop-filter: blur(2px);
339
+ box-sizing: border-box;
340
+ overflow: hidden;
426
341
  }
427
- .di-section-title {
428
- font-size: 12px;
429
- font-weight: 700;
430
- color: #111827;
431
- margin-bottom: var(--di-section-title-gap);
342
+ .di-library-drawer {
343
+ display: flex;
344
+ flex-direction: column;
345
+ gap: 10px;
346
+ width: 100%;
347
+ height: 100%;
348
+ min-height: 0;
349
+ max-height: 100%;
350
+ overflow: hidden;
351
+ padding: 10px;
352
+ border: 1px solid #e5e7eb;
353
+ border-radius: 12px;
354
+ background: #fff;
355
+ box-shadow: 0 12px 34px rgba(15, 23, 42, 0.14), 0 2px 10px rgba(15, 23, 42, 0.08);
356
+ box-sizing: border-box;
432
357
  }
433
- .di-section-title-row {
358
+ .di-library-head {
434
359
  display: flex;
435
360
  align-items: center;
436
- gap: var(--di-control-gap-x);
437
- margin-bottom: var(--di-section-title-gap);
438
- }
439
- .di-section-title-row--action {
440
361
  justify-content: space-between;
441
- min-height: 24px;
442
- }
443
- .di-section-title-row--empty {
444
- margin-bottom: 0;
445
- }
446
- .di-section-title-row .di-section-title {
447
- margin-bottom: 0;
362
+ gap: 8px;
363
+ flex: 0 0 auto;
448
364
  }
449
- .di-section-title-group {
365
+ .di-library-title {
450
366
  display: inline-flex;
451
367
  align-items: center;
452
368
  gap: 6px;
453
369
  min-width: 0;
370
+ color: #7c3aed;
371
+ font-size: 13px;
372
+ font-weight: 850;
454
373
  }
455
- .di-section-icon-action {
456
- width: 24px;
457
- height: 24px;
374
+ .di-library-title span {
375
+ color: #94a3b8;
376
+ font-size: 11px;
377
+ font-weight: 800;
378
+ }
379
+ .di-library-head-actions {
380
+ display: flex;
381
+ align-items: center;
382
+ gap: 6px;
383
+ }
384
+ .di-library-workbench-trigger,
385
+ .di-library-workbench-soft-btn {
386
+ height: 26px;
387
+ padding: 0 9px;
458
388
  border: 1px solid #e5e7eb;
459
389
  border-radius: 7px;
460
390
  background: #fff;
461
391
  color: #64748b;
462
- display: inline-flex;
463
- align-items: center;
464
- justify-content: center;
465
- padding: 0;
392
+ font-family: inherit;
393
+ font-size: 11px;
394
+ font-weight: 850;
466
395
  cursor: pointer;
467
- transition:
468
- background 0.12s,
469
- border-color 0.12s,
470
- color 0.12s,
396
+ }
397
+ .di-library-workbench-trigger:hover,
398
+ .di-library-workbench-trigger:focus-visible,
399
+ .di-library-workbench-soft-btn:hover,
400
+ .di-library-workbench-soft-btn:focus-visible {
401
+ border-color: #c4b5fd;
402
+ background: #faf5ff;
403
+ color: #7c3aed;
404
+ outline: none;
405
+ }
406
+ .di-library-workbench-layer {
407
+ position: fixed;
408
+ z-index: 2147483647;
409
+ inset: 0;
410
+ display: flex;
411
+ min-width: 0;
412
+ min-height: 0;
413
+ padding: 0;
414
+ background: #f8fafc;
415
+ font-family:
416
+ "PingFang SC",
417
+ system-ui,
418
+ sans-serif;
419
+ box-sizing: border-box;
420
+ }
421
+ .di-library-workbench {
422
+ display: flex;
423
+ flex-direction: column;
424
+ width: 100%;
425
+ min-width: 0;
426
+ min-height: 0;
427
+ border: 0;
428
+ border-radius: 0;
429
+ background: #fff;
430
+ box-shadow: none;
431
+ overflow: hidden;
432
+ }
433
+ .di-library-workbench-head {
434
+ display: flex;
435
+ align-items: center;
436
+ justify-content: space-between;
437
+ gap: 16px;
438
+ flex: 0 0 auto;
439
+ min-height: 72px;
440
+ padding: 14px 22px;
441
+ border-bottom: 1px solid #eef2f7;
442
+ background: #fff;
443
+ }
444
+ .di-library-workbench-title {
445
+ display: flex;
446
+ align-items: center;
447
+ gap: 10px;
448
+ min-width: 0;
449
+ color: #7c3aed;
450
+ }
451
+ .di-library-workbench-title div {
452
+ display: grid;
453
+ gap: 2px;
454
+ min-width: 0;
455
+ }
456
+ .di-library-workbench-title strong {
457
+ color: #111827;
458
+ font-size: 18px;
459
+ font-weight: 900;
460
+ line-height: 1.1;
461
+ }
462
+ .di-library-workbench-title span {
463
+ color: #64748b;
464
+ font-size: 12px;
465
+ font-weight: 750;
466
+ }
467
+ .di-library-workbench-head-actions {
468
+ display: flex;
469
+ align-items: center;
470
+ gap: 8px;
471
+ }
472
+ .di-library-workbench-grid {
473
+ display: grid;
474
+ grid-template-columns: 220px minmax(0, 1fr) 286px;
475
+ gap: 0;
476
+ min-height: 0;
477
+ flex: 1 1 auto;
478
+ }
479
+ .di-library-workbench-nav,
480
+ .di-library-workbench-detail {
481
+ min-height: 0;
482
+ overflow-y: auto;
483
+ padding: 18px;
484
+ background: #f8fafc;
485
+ }
486
+ .di-library-workbench-nav {
487
+ border-right: 1px solid #eef2f7;
488
+ }
489
+ .di-library-workbench-detail {
490
+ border-left: 1px solid #eef2f7;
491
+ }
492
+ .di-library-workbench-main {
493
+ min-width: 0;
494
+ min-height: 0;
495
+ display: flex;
496
+ flex-direction: column;
497
+ gap: 12px;
498
+ padding: 18px;
499
+ overflow: hidden;
500
+ background: #fff;
501
+ }
502
+ .di-library-workbench-brand {
503
+ display: grid;
504
+ gap: 4px;
505
+ margin-bottom: 18px;
506
+ }
507
+ .di-library-workbench-brand strong {
508
+ color: #7c3aed;
509
+ font-size: 18px;
510
+ font-weight: 950;
511
+ line-height: 1.05;
512
+ }
513
+ .di-library-workbench-brand span {
514
+ color: #94a3b8;
515
+ font-size: 11px;
516
+ font-weight: 850;
517
+ }
518
+ .di-library-workbench-tabs,
519
+ .di-library-workbench-filter-list {
520
+ display: grid;
521
+ gap: 8px;
522
+ }
523
+ .di-library-workbench-tab,
524
+ .di-library-workbench-filter {
525
+ min-width: 0;
526
+ display: flex;
527
+ align-items: center;
528
+ justify-content: space-between;
529
+ gap: 8px;
530
+ min-height: 38px;
531
+ padding: 0 10px;
532
+ border: 1px solid #e5e7eb;
533
+ border-radius: 10px;
534
+ background: #fff;
535
+ color: #334155;
536
+ font-family: inherit;
537
+ font-size: 12px;
538
+ font-weight: 850;
539
+ cursor: pointer;
540
+ }
541
+ .di-library-workbench-tab > span {
542
+ display: grid;
543
+ gap: 2px;
544
+ min-width: 0;
545
+ color: inherit;
546
+ }
547
+ .di-library-workbench-tab small {
548
+ color: #94a3b8;
549
+ font-size: 10px;
550
+ font-weight: 800;
551
+ }
552
+ .di-library-workbench-tab > strong,
553
+ .di-library-workbench-filter strong {
554
+ color: #94a3b8;
555
+ font-size: 11px;
556
+ font-weight: 850;
557
+ }
558
+ .di-library-workbench-tab:hover,
559
+ .di-library-workbench-tab:focus-visible,
560
+ .di-library-workbench-tab--active,
561
+ .di-library-workbench-filter:hover,
562
+ .di-library-workbench-filter:focus-visible,
563
+ .di-library-workbench-filter--active {
564
+ border-color: #c4b5fd;
565
+ background: #faf5ff;
566
+ color: #7c3aed;
567
+ outline: none;
568
+ }
569
+ .di-library-workbench-search {
570
+ display: grid;
571
+ gap: 6px;
572
+ margin: 14px 0;
573
+ }
574
+ .di-library-workbench-search span,
575
+ .di-library-workbench-nav-title,
576
+ .di-library-edit-panel label span,
577
+ .di-library-detail-kicker {
578
+ color: #94a3b8;
579
+ font-size: 10px;
580
+ font-weight: 850;
581
+ line-height: 1.2;
582
+ }
583
+ .di-library-workbench-search input,
584
+ .di-library-edit-panel input,
585
+ .di-library-edit-panel select {
586
+ width: 100%;
587
+ min-width: 0;
588
+ height: 34px;
589
+ border: 1px solid #e5e7eb;
590
+ border-radius: 8px;
591
+ background: #fff;
592
+ color: #111827;
593
+ padding: 0 10px;
594
+ font-family: inherit;
595
+ font-size: 12px;
596
+ font-weight: 750;
597
+ outline: none;
598
+ box-sizing: border-box;
599
+ }
600
+ .di-library-workbench-search input:focus,
601
+ .di-library-edit-panel input:focus,
602
+ .di-library-edit-panel select:focus {
603
+ border-color: #c4b5fd;
604
+ box-shadow: 0 0 0 1px #c4b5fd;
605
+ }
606
+ .di-library-workbench-nav-title {
607
+ margin: 14px 0 8px;
608
+ }
609
+ .di-library-workbench-note {
610
+ margin-top: 14px;
611
+ padding: 10px;
612
+ border-radius: 10px;
613
+ background: #fff;
614
+ color: #64748b;
615
+ font-size: 11px;
616
+ font-weight: 700;
617
+ line-height: 1.4;
618
+ }
619
+ .di-library-workbench-toolbar {
620
+ display: flex;
621
+ align-items: center;
622
+ justify-content: space-between;
623
+ gap: 12px;
624
+ flex: 0 0 auto;
625
+ }
626
+ .di-library-workbench-toolbar div {
627
+ display: flex;
628
+ align-items: baseline;
629
+ gap: 6px;
630
+ min-width: 0;
631
+ }
632
+ .di-library-workbench-toolbar strong {
633
+ color: #111827;
634
+ font-size: 24px;
635
+ font-weight: 950;
636
+ line-height: 1;
637
+ }
638
+ .di-library-workbench-toolbar span {
639
+ color: #64748b;
640
+ font-size: 12px;
641
+ font-weight: 800;
642
+ }
643
+ .di-library-workbench-toolbar > .di-btn-save,
644
+ .di-library-workbench-toolbar > .di-library-workbench-soft-btn {
645
+ flex: 0 0 auto;
646
+ width: auto;
647
+ min-width: 104px;
648
+ height: 36px;
649
+ }
650
+ .di-library-toolbar-actions {
651
+ display: flex;
652
+ align-items: center;
653
+ justify-content: flex-end;
654
+ gap: 8px;
655
+ flex-wrap: wrap;
656
+ }
657
+ .di-library-toolbar-actions .di-btn-save,
658
+ .di-library-toolbar-actions .di-library-workbench-soft-btn {
659
+ flex: 0 0 auto;
660
+ width: auto;
661
+ min-width: 104px;
662
+ height: 36px;
663
+ }
664
+ .di-library-workbench-table {
665
+ display: grid;
666
+ gap: 8px;
667
+ min-height: 0;
668
+ overflow: auto;
669
+ padding-right: 2px;
670
+ }
671
+ .di-library-workbench-table-head,
672
+ .di-library-workbench-row {
673
+ display: grid;
674
+ grid-template-columns: minmax(190px, 1.2fr) minmax(190px, 1fr) 110px 62px 196px;
675
+ align-items: center;
676
+ gap: 10px;
677
+ min-width: 760px;
678
+ }
679
+ .di-library-workbench-table-head--components,
680
+ .di-library-workbench-row--components {
681
+ grid-template-columns: minmax(190px, 1.1fr) minmax(250px, 1.5fr) 120px 210px;
682
+ }
683
+ .di-library-workbench-table-head--changes,
684
+ .di-library-workbench-row--changes {
685
+ grid-template-columns: minmax(210px, 1fr) minmax(320px, 1.6fr) 120px 180px;
686
+ }
687
+ .di-library-workbench-table-head--usage,
688
+ .di-library-workbench-row--usage {
689
+ grid-template-columns: minmax(210px, 1fr) minmax(260px, 1.4fr) 70px 230px;
690
+ }
691
+ .di-library-workbench-table-head {
692
+ min-height: 30px;
693
+ padding: 0 10px;
694
+ color: #94a3b8;
695
+ font-size: 10px;
696
+ font-weight: 900;
697
+ }
698
+ .di-library-workbench-row {
699
+ min-height: 68px;
700
+ padding: 9px 10px;
701
+ border: 1px solid #eef2f7;
702
+ border-radius: 12px;
703
+ background: #f8fafc;
704
+ cursor: pointer;
705
+ box-sizing: border-box;
706
+ }
707
+ .di-library-workbench-row:hover,
708
+ .di-library-workbench-row--selected {
709
+ border-color: #c4b5fd;
710
+ background: #faf5ff;
711
+ }
712
+ .di-library-workbench-token-cell,
713
+ .di-library-workbench-copy-cell {
714
+ min-width: 0;
715
+ display: flex;
716
+ align-items: center;
717
+ gap: 10px;
718
+ }
719
+ .di-library-workbench-token-cell div,
720
+ .di-library-workbench-copy-cell {
721
+ display: grid;
722
+ gap: 3px;
723
+ }
724
+ .di-library-workbench-token-cell strong {
725
+ min-width: 0;
726
+ color: #111827;
727
+ font-size: 13px;
728
+ font-weight: 900;
729
+ overflow: hidden;
730
+ text-overflow: ellipsis;
731
+ white-space: nowrap;
732
+ }
733
+ .di-library-workbench-token-cell small,
734
+ .di-library-workbench-copy-cell span {
735
+ min-width: 0;
736
+ color: #64748b;
737
+ font-size: 11px;
738
+ font-weight: 750;
739
+ overflow: hidden;
740
+ text-overflow: ellipsis;
741
+ white-space: nowrap;
742
+ }
743
+ .di-library-workbench-copy-cell code {
744
+ min-width: 0;
745
+ color: #334155;
746
+ font-size: 12px;
747
+ font-weight: 850;
748
+ overflow: hidden;
749
+ text-overflow: ellipsis;
750
+ white-space: nowrap;
751
+ }
752
+ .di-library-workbench-status,
753
+ .di-library-workbench-count {
754
+ justify-self: start;
755
+ color: #64748b;
756
+ font-size: 11px;
757
+ font-weight: 850;
758
+ }
759
+ .di-library-workbench-count {
760
+ width: 44px;
761
+ height: 30px;
762
+ border: 1px solid #e5e7eb;
763
+ border-radius: 8px;
764
+ background: #fff;
765
+ cursor: pointer;
766
+ }
767
+ .di-library-workbench-count:hover,
768
+ .di-library-workbench-count:focus-visible {
769
+ border-color: #c4b5fd;
770
+ color: #7c3aed;
771
+ outline: none;
772
+ }
773
+ .di-library-change-index {
774
+ display: inline-flex;
775
+ width: 26px;
776
+ height: 26px;
777
+ align-items: center;
778
+ justify-content: center;
779
+ border-radius: 9px;
780
+ background: #ede9fe;
781
+ color: #7c3aed;
782
+ font-size: 11px;
783
+ font-weight: 950;
784
+ }
785
+ .di-library-workbench-actions,
786
+ .di-library-detail-actions {
787
+ display: flex;
788
+ align-items: center;
789
+ gap: 6px;
790
+ min-width: 0;
791
+ flex-wrap: wrap;
792
+ }
793
+ .di-library-workbench-actions button,
794
+ .di-library-detail-actions button {
795
+ height: 28px;
796
+ padding: 0 8px;
797
+ border: 1px solid #e5e7eb;
798
+ border-radius: 8px;
799
+ background: #fff;
800
+ color: #334155;
801
+ font-family: inherit;
802
+ font-size: 11px;
803
+ font-weight: 850;
804
+ cursor: pointer;
805
+ }
806
+ .di-library-workbench-actions button:hover,
807
+ .di-library-workbench-actions button:focus-visible,
808
+ .di-library-detail-actions button:hover,
809
+ .di-library-detail-actions button:focus-visible {
810
+ border-color: #c4b5fd;
811
+ background: #fff;
812
+ color: #7c3aed;
813
+ outline: none;
814
+ }
815
+ .di-library-component-preview-grid {
816
+ min-height: 0;
817
+ overflow: auto;
818
+ display: grid;
819
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
820
+ align-content: start;
821
+ gap: 12px;
822
+ padding-right: 2px;
823
+ }
824
+ .di-library-component-preview-card {
825
+ min-width: 0;
826
+ display: grid;
827
+ gap: 10px;
828
+ padding: 12px;
829
+ border: 1px solid #eef2f7;
830
+ border-radius: 14px;
831
+ background: #f8fafc;
832
+ color: #111827;
833
+ cursor: pointer;
834
+ box-sizing: border-box;
835
+ }
836
+ .di-library-component-preview-card:hover,
837
+ .di-library-component-preview-card:focus-visible,
838
+ .di-library-component-preview-card--selected {
839
+ border-color: #c4b5fd;
840
+ background: #faf5ff;
841
+ outline: none;
842
+ }
843
+ .di-library-component-preview-head {
844
+ min-width: 0;
845
+ display: flex;
846
+ align-items: flex-start;
847
+ justify-content: space-between;
848
+ gap: 10px;
849
+ }
850
+ .di-library-component-preview-head div {
851
+ min-width: 0;
852
+ display: grid;
853
+ gap: 3px;
854
+ }
855
+ .di-library-component-preview-head span {
856
+ color: #94a3b8;
857
+ font-size: 10px;
858
+ font-weight: 900;
859
+ line-height: 1.2;
860
+ }
861
+ .di-library-component-preview-head strong {
862
+ min-width: 0;
863
+ color: #111827;
864
+ font-size: 15px;
865
+ font-weight: 950;
866
+ line-height: 1.2;
867
+ overflow: hidden;
868
+ text-overflow: ellipsis;
869
+ white-space: nowrap;
870
+ }
871
+ .di-library-component-preview-head small {
872
+ flex: 0 0 auto;
873
+ max-width: 96px;
874
+ padding: 4px 7px;
875
+ border-radius: 999px;
876
+ background: #fff;
877
+ color: #64748b;
878
+ font-size: 10px;
879
+ font-weight: 850;
880
+ line-height: 1;
881
+ overflow: hidden;
882
+ text-overflow: ellipsis;
883
+ white-space: nowrap;
884
+ }
885
+ .di-library-component-preview-stage {
886
+ min-height: 128px;
887
+ display: grid;
888
+ place-items: center;
889
+ padding: 16px;
890
+ border: 1px solid #eef2f7;
891
+ border-radius: 12px;
892
+ background: #fff;
893
+ box-sizing: border-box;
894
+ }
895
+ .di-library-component-preview-copy {
896
+ min-width: 0;
897
+ display: grid;
898
+ gap: 4px;
899
+ }
900
+ .di-library-component-preview-copy span {
901
+ color: #7c3aed;
902
+ font-size: 11px;
903
+ font-weight: 950;
904
+ }
905
+ .di-library-component-preview-copy p {
906
+ min-width: 0;
907
+ margin: 0;
908
+ color: #334155;
909
+ font-size: 12px;
910
+ font-weight: 800;
911
+ line-height: 1.35;
912
+ overflow: hidden;
913
+ text-overflow: ellipsis;
914
+ white-space: nowrap;
915
+ }
916
+ .di-library-component-preview-copy code {
917
+ min-width: 0;
918
+ color: #64748b;
919
+ font-size: 11px;
920
+ font-weight: 800;
921
+ overflow: hidden;
922
+ text-overflow: ellipsis;
923
+ white-space: nowrap;
924
+ }
925
+ .di-library-component-preview-actions {
926
+ display: flex;
927
+ align-items: center;
928
+ gap: 6px;
929
+ flex-wrap: wrap;
930
+ }
931
+ .di-library-component-preview-actions button {
932
+ height: 28px;
933
+ padding: 0 8px;
934
+ border: 1px solid #e5e7eb;
935
+ border-radius: 8px;
936
+ background: #fff;
937
+ color: #334155;
938
+ font-family: inherit;
939
+ font-size: 11px;
940
+ font-weight: 850;
941
+ cursor: pointer;
942
+ }
943
+ .di-library-component-preview-actions button:hover,
944
+ .di-library-component-preview-actions button:focus-visible {
945
+ border-color: #c4b5fd;
946
+ color: #7c3aed;
947
+ outline: none;
948
+ }
949
+ .di-library-real-preview {
950
+ width: 100%;
951
+ min-width: 0;
952
+ display: grid;
953
+ gap: 10px;
954
+ }
955
+ .di-library-real-preview-group {
956
+ min-width: 0;
957
+ display: grid;
958
+ gap: 6px;
959
+ }
960
+ .di-library-real-preview-group-title {
961
+ color: #94a3b8;
962
+ font-size: 10px;
963
+ font-weight: 900;
964
+ line-height: 1.2;
965
+ }
966
+ .di-library-real-preview-grid {
967
+ min-width: 0;
968
+ display: grid;
969
+ grid-template-columns: repeat(auto-fit, minmax(112px, max-content));
970
+ align-items: start;
971
+ gap: 8px;
972
+ }
973
+ .di-library-real-preview--detail .di-library-real-preview-grid {
974
+ grid-template-columns: repeat(auto-fit, minmax(132px, max-content));
975
+ }
976
+ .di-library-real-preview-item {
977
+ min-width: 0;
978
+ display: grid;
979
+ gap: 6px;
980
+ padding: 6px;
981
+ border: 1px solid transparent;
982
+ border-radius: 10px;
983
+ cursor: pointer;
984
+ box-sizing: border-box;
985
+ }
986
+ .di-library-real-preview-item:hover,
987
+ .di-library-real-preview-item:focus-visible,
988
+ .di-library-real-preview-item--selected {
989
+ border-color: #c4b5fd;
990
+ background: #faf5ff;
991
+ outline: none;
992
+ }
993
+ .di-library-real-preview-item--selected {
994
+ box-shadow: inset 0 0 0 1px #8b5cf6;
995
+ }
996
+ .di-library-real-preview-slot {
997
+ min-width: 0;
998
+ min-height: 44px;
999
+ display: flex;
1000
+ align-items: center;
1001
+ justify-content: flex-start;
1002
+ }
1003
+ .di-library-real-preview-meta {
1004
+ min-width: 0;
1005
+ display: grid;
1006
+ gap: 2px;
1007
+ }
1008
+ .di-library-real-preview-meta span {
1009
+ color: #334155;
1010
+ font-size: 10px;
1011
+ font-weight: 850;
1012
+ line-height: 1.2;
1013
+ }
1014
+ .di-library-real-preview-meta small {
1015
+ max-width: 128px;
1016
+ color: #94a3b8;
1017
+ font-size: 9px;
1018
+ font-weight: 800;
1019
+ line-height: 1.2;
1020
+ overflow: hidden;
1021
+ text-overflow: ellipsis;
1022
+ white-space: nowrap;
1023
+ }
1024
+ .di-library-preview-matrix {
1025
+ width: 100%;
1026
+ min-width: 0;
1027
+ display: grid;
1028
+ gap: 8px;
1029
+ overflow-x: auto;
1030
+ padding-bottom: 1px;
1031
+ overscroll-behavior-x: contain;
1032
+ }
1033
+ .di-library-preview-matrix-head,
1034
+ .di-library-preview-matrix-row {
1035
+ display: grid;
1036
+ grid-template-columns: var(--di-library-matrix-columns);
1037
+ align-items: center;
1038
+ gap: 8px;
1039
+ min-width: max-content;
1040
+ }
1041
+ .di-library-preview-matrix-head span,
1042
+ .di-library-preview-matrix-label {
1043
+ color: #94a3b8;
1044
+ font-size: 10px;
1045
+ font-weight: 900;
1046
+ line-height: 1.2;
1047
+ white-space: nowrap;
1048
+ }
1049
+ .di-library-preview-matrix-label {
1050
+ color: #64748b;
1051
+ }
1052
+ .di-library-preview-matrix--detail {
1053
+ gap: 10px;
1054
+ }
1055
+ .di-library-preview-matrix--detail .di-library-preview-matrix-head,
1056
+ .di-library-preview-matrix--detail .di-library-preview-matrix-row {
1057
+ gap: 10px;
1058
+ }
1059
+ .di-library-preview-button {
1060
+ display: inline-flex;
1061
+ align-items: center;
1062
+ justify-content: center;
1063
+ border-radius: 9px;
1064
+ font-size: 12px;
1065
+ font-weight: 900;
1066
+ line-height: 1;
1067
+ white-space: nowrap;
1068
+ box-sizing: border-box;
1069
+ }
1070
+ .di-library-preview-button--primary {
1071
+ background: #7c3aed;
1072
+ color: #fff;
1073
+ }
1074
+ .di-library-preview-button--secondary {
1075
+ border: 1px solid #e2e8f0;
1076
+ background: #fff;
1077
+ color: #334155;
1078
+ }
1079
+ .di-library-preview-button--ghost {
1080
+ border: 1px solid #c4b5fd;
1081
+ background: #fff;
1082
+ color: #7c3aed;
1083
+ }
1084
+ .di-library-preview-button--text {
1085
+ color: #7c3aed;
1086
+ }
1087
+ .di-library-preview-badge {
1088
+ display: inline-flex;
1089
+ align-items: center;
1090
+ justify-content: center;
1091
+ min-height: 26px;
1092
+ padding: 0 10px;
1093
+ border-radius: 8px;
1094
+ font-size: 12px;
1095
+ font-weight: 900;
1096
+ white-space: nowrap;
1097
+ box-sizing: border-box;
1098
+ }
1099
+ .di-library-preview-badge--default {
1100
+ background: #f1f5f9;
1101
+ color: #64748b;
1102
+ }
1103
+ .di-library-preview-badge--progress {
1104
+ background: #dbeafe;
1105
+ color: #2563eb;
1106
+ }
1107
+ .di-library-preview-badge--success {
1108
+ background: #dcfce7;
1109
+ color: #16a34a;
1110
+ }
1111
+ .di-library-preview-badge--warning {
1112
+ background: #fef3c7;
1113
+ color: #d97706;
1114
+ }
1115
+ .di-library-preview-badge--danger {
1116
+ background: #fee2e2;
1117
+ color: #dc2626;
1118
+ }
1119
+ .di-library-preview-card-gallery {
1120
+ width: 100%;
1121
+ min-width: 0;
1122
+ display: grid;
1123
+ grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
1124
+ gap: 10px;
1125
+ }
1126
+ .di-library-preview-card-gallery--detail {
1127
+ grid-template-columns: 1fr;
1128
+ }
1129
+ .di-library-preview-card-sample {
1130
+ min-width: 0;
1131
+ display: grid;
1132
+ gap: 8px;
1133
+ padding: 14px;
1134
+ border: 1px solid #e2e8f0;
1135
+ border-radius: 12px;
1136
+ background: #fff;
1137
+ box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
1138
+ box-sizing: border-box;
1139
+ }
1140
+ .di-library-preview-card-sample span {
1141
+ justify-self: start;
1142
+ padding: 4px 8px;
1143
+ border-radius: 8px;
1144
+ background: #dbeafe;
1145
+ color: #2563eb;
1146
+ font-size: 11px;
1147
+ font-weight: 900;
1148
+ }
1149
+ .di-library-preview-card-sample strong {
1150
+ color: #111827;
1151
+ font-size: 15px;
1152
+ font-weight: 950;
1153
+ }
1154
+ .di-library-preview-card-sample p {
1155
+ margin: 0;
1156
+ color: #64748b;
1157
+ font-size: 12px;
1158
+ font-weight: 750;
1159
+ line-height: 1.4;
1160
+ }
1161
+ .di-library-preview-card-sample--compact {
1162
+ gap: 5px;
1163
+ padding: 10px 12px;
1164
+ }
1165
+ .di-library-preview-card-sample--floating {
1166
+ box-shadow: 0 22px 48px rgba(15, 23, 42, 0.16);
1167
+ }
1168
+ .di-library-preview-card-sample--emphasis {
1169
+ border-color: #c4b5fd;
1170
+ background: #faf5ff;
1171
+ }
1172
+ .di-library-preview-form-sample {
1173
+ width: min(100%, 240px);
1174
+ display: grid;
1175
+ grid-template-columns: minmax(0, 1fr) max-content;
1176
+ gap: 8px;
1177
+ align-items: center;
1178
+ }
1179
+ .di-library-preview-form-sample span {
1180
+ grid-column: 1 / -1;
1181
+ color: #64748b;
1182
+ font-size: 11px;
1183
+ font-weight: 850;
1184
+ }
1185
+ .di-library-preview-form-sample div {
1186
+ min-width: 0;
1187
+ height: 34px;
1188
+ display: flex;
1189
+ align-items: center;
1190
+ padding: 0 10px;
1191
+ border: 1px solid #e2e8f0;
1192
+ border-radius: 9px;
1193
+ color: #94a3b8;
1194
+ font-size: 12px;
1195
+ font-weight: 800;
1196
+ }
1197
+ .di-library-preview-form-sample strong {
1198
+ height: 34px;
1199
+ display: inline-flex;
1200
+ align-items: center;
1201
+ justify-content: center;
1202
+ padding: 0 12px;
1203
+ border-radius: 9px;
1204
+ background: #7c3aed;
1205
+ color: #fff;
1206
+ font-size: 12px;
1207
+ font-weight: 900;
1208
+ }
1209
+ .di-library-preview-icon-cell {
1210
+ width: 36px;
1211
+ height: 36px;
1212
+ display: inline-flex;
1213
+ align-items: center;
1214
+ justify-content: center;
1215
+ border: 1px solid #e2e8f0;
1216
+ border-radius: 10px;
1217
+ background: #fff;
1218
+ }
1219
+ .di-library-preview-generic {
1220
+ width: min(100%, 220px);
1221
+ display: grid;
1222
+ justify-items: center;
1223
+ gap: 8px;
1224
+ color: #64748b;
1225
+ }
1226
+ .di-library-preview-generic strong {
1227
+ color: #111827;
1228
+ font-size: 14px;
1229
+ font-weight: 950;
1230
+ }
1231
+ .di-library-preview-generic span {
1232
+ max-width: 100%;
1233
+ color: #94a3b8;
1234
+ font-size: 11px;
1235
+ font-weight: 800;
1236
+ overflow: hidden;
1237
+ text-overflow: ellipsis;
1238
+ white-space: nowrap;
1239
+ }
1240
+ .di-library-workbench-empty {
1241
+ padding: 18px;
1242
+ border-radius: 12px;
1243
+ background: #f8fafc;
1244
+ color: #64748b;
1245
+ font-size: 12px;
1246
+ font-weight: 750;
1247
+ text-align: center;
1248
+ }
1249
+ .di-library-edit-panel,
1250
+ .di-library-import-panel,
1251
+ .di-library-detail-card {
1252
+ display: grid;
1253
+ gap: 12px;
1254
+ min-width: 0;
1255
+ }
1256
+ .di-library-edit-head {
1257
+ display: flex;
1258
+ align-items: center;
1259
+ justify-content: space-between;
1260
+ gap: 8px;
1261
+ }
1262
+ .di-library-edit-head strong,
1263
+ .di-library-detail-card h3 {
1264
+ margin: 0;
1265
+ color: #111827;
1266
+ font-size: 16px;
1267
+ font-weight: 950;
1268
+ }
1269
+ .di-library-edit-panel label {
1270
+ display: grid;
1271
+ gap: 6px;
1272
+ }
1273
+ .di-library-import-option {
1274
+ display: grid;
1275
+ grid-template-columns: 22px minmax(0, 1fr) max-content;
1276
+ align-items: start;
1277
+ column-gap: 12px;
1278
+ row-gap: 8px;
1279
+ min-width: 0;
1280
+ padding: 14px;
1281
+ border: 1px solid #eef2f7;
1282
+ border-radius: 10px;
1283
+ background: #f8fafc;
1284
+ }
1285
+ .di-library-import-steps {
1286
+ display: flex;
1287
+ flex-wrap: wrap;
1288
+ gap: 6px;
1289
+ }
1290
+ .di-library-import-steps span {
1291
+ height: 24px;
1292
+ display: inline-flex;
1293
+ align-items: center;
1294
+ padding: 0 8px;
1295
+ border-radius: 999px;
1296
+ background: #f8fafc;
1297
+ color: #64748b;
1298
+ font-size: 10px;
1299
+ font-weight: 800;
1300
+ }
1301
+ .di-library-import-option--primary {
1302
+ border-color: #ede9fe;
1303
+ background: #faf5ff;
1304
+ }
1305
+ .di-library-import-option > div {
1306
+ min-width: 0;
1307
+ display: contents;
1308
+ }
1309
+ .di-library-import-option svg {
1310
+ grid-column: 1;
1311
+ grid-row: 1;
1312
+ align-self: center;
1313
+ justify-self: center;
1314
+ color: #7c3aed;
1315
+ }
1316
+ .di-library-import-option strong {
1317
+ grid-column: 2;
1318
+ grid-row: 1;
1319
+ align-self: center;
1320
+ min-width: 0;
1321
+ color: #111827;
1322
+ font-size: 13px;
1323
+ font-weight: 900;
1324
+ overflow: hidden;
1325
+ text-overflow: ellipsis;
1326
+ white-space: nowrap;
1327
+ }
1328
+ .di-library-import-option span {
1329
+ grid-column: 2;
1330
+ grid-row: 2;
1331
+ min-width: 0;
1332
+ color: #64748b;
1333
+ font-size: 11px;
1334
+ font-weight: 700;
1335
+ line-height: 1.4;
1336
+ }
1337
+ .di-library-import-option button,
1338
+ .di-library-import-option input::file-selector-button {
1339
+ grid-column: 3;
1340
+ grid-row: 1;
1341
+ align-self: center;
1342
+ justify-self: end;
1343
+ min-width: 72px;
1344
+ height: 28px;
1345
+ padding: 0 9px;
1346
+ border: 1px solid #e5e7eb;
1347
+ border-radius: 8px;
1348
+ background: #fff;
1349
+ color: #334155;
1350
+ font-family: inherit;
1351
+ font-size: 10px;
1352
+ font-weight: 850;
1353
+ cursor: pointer;
1354
+ }
1355
+ .di-library-import-option button:hover,
1356
+ .di-library-import-option button:focus-visible,
1357
+ .di-library-import-option input::file-selector-button:hover {
1358
+ border-color: #c4b5fd;
1359
+ color: #7c3aed;
1360
+ outline: none;
1361
+ }
1362
+ .di-library-import-option input {
1363
+ grid-column: 3;
1364
+ grid-row: 1;
1365
+ align-self: center;
1366
+ justify-self: end;
1367
+ width: 78px;
1368
+ max-width: 78px;
1369
+ color: transparent;
1370
+ }
1371
+ .di-library-import-format {
1372
+ margin: 0;
1373
+ padding: 0;
1374
+ border-radius: 9px;
1375
+ background: #f8fafc;
1376
+ color: #475569;
1377
+ overflow: auto;
1378
+ }
1379
+ .di-library-import-format summary {
1380
+ min-height: 32px;
1381
+ display: flex;
1382
+ align-items: center;
1383
+ padding: 0 10px;
1384
+ color: #64748b;
1385
+ font-size: 11px;
1386
+ font-weight: 850;
1387
+ cursor: pointer;
1388
+ }
1389
+ .di-library-import-format pre {
1390
+ margin: 0;
1391
+ padding: 10px;
1392
+ border-top: 1px solid #e5e7eb;
1393
+ color: #475569;
1394
+ font-size: 10px;
1395
+ line-height: 1.5;
1396
+ white-space: pre-wrap;
1397
+ }
1398
+ .di-library-import-msg {
1399
+ padding: 8px 10px;
1400
+ border-radius: 8px;
1401
+ background: #ede9fe;
1402
+ color: #7c3aed;
1403
+ font-size: 11px;
1404
+ font-weight: 800;
1405
+ }
1406
+ .di-library-detail-preview {
1407
+ display: grid;
1408
+ grid-template-columns: max-content minmax(0, 1fr);
1409
+ align-items: center;
1410
+ gap: 10px;
1411
+ padding: 10px;
1412
+ border-radius: 12px;
1413
+ background: #fff;
1414
+ border: 1px solid #eef2f7;
1415
+ }
1416
+ .di-library-detail-preview code {
1417
+ min-width: 0;
1418
+ color: #334155;
1419
+ font-size: 12px;
1420
+ font-weight: 850;
1421
+ overflow: hidden;
1422
+ text-overflow: ellipsis;
1423
+ white-space: nowrap;
1424
+ }
1425
+ .di-library-detail-preview--component {
1426
+ display: block;
1427
+ padding: 0;
1428
+ overflow-x: auto;
1429
+ overflow-y: hidden;
1430
+ overscroll-behavior-x: contain;
1431
+ }
1432
+ .di-library-detail-preview--component .di-library-component-preview-stage {
1433
+ min-height: 112px;
1434
+ border: 0;
1435
+ border-radius: 12px;
1436
+ }
1437
+ .di-library-spec-preview {
1438
+ min-width: 0;
1439
+ display: grid;
1440
+ gap: 8px;
1441
+ padding: 14px;
1442
+ border-radius: 12px;
1443
+ background: #fff;
1444
+ box-sizing: border-box;
1445
+ }
1446
+ .di-library-spec-preview-slot {
1447
+ min-width: 0;
1448
+ min-height: 56px;
1449
+ display: flex;
1450
+ align-items: center;
1451
+ }
1452
+ .di-library-spec-preview-meta {
1453
+ min-width: 0;
1454
+ display: grid;
1455
+ gap: 3px;
1456
+ }
1457
+ .di-library-spec-preview-meta span {
1458
+ color: #111827;
1459
+ font-size: 12px;
1460
+ font-weight: 900;
1461
+ line-height: 1.2;
1462
+ }
1463
+ .di-library-spec-preview-meta small {
1464
+ color: #94a3b8;
1465
+ font-size: 10px;
1466
+ font-weight: 850;
1467
+ line-height: 1.2;
1468
+ overflow-wrap: anywhere;
1469
+ }
1470
+ .di-library-spec-pills {
1471
+ min-width: 0;
1472
+ display: flex;
1473
+ align-items: center;
1474
+ gap: 6px;
1475
+ flex-wrap: wrap;
1476
+ }
1477
+ .di-library-spec-pills span {
1478
+ display: inline-flex;
1479
+ min-height: 24px;
1480
+ align-items: center;
1481
+ padding: 0 8px;
1482
+ border: 1px solid #ddd6fe;
1483
+ border-radius: 999px;
1484
+ background: #f5f0ff;
1485
+ color: #7c3aed;
1486
+ font-size: 10px;
1487
+ font-weight: 900;
1488
+ }
1489
+ .di-library-detail-card dl {
1490
+ display: grid;
1491
+ gap: 8px;
1492
+ margin: 0;
1493
+ }
1494
+ .di-library-detail-card dl div {
1495
+ display: grid;
1496
+ gap: 4px;
1497
+ padding: 9px 10px;
1498
+ border-radius: 10px;
1499
+ background: #fff;
1500
+ border: 1px solid #eef2f7;
1501
+ }
1502
+ .di-library-detail-card dt {
1503
+ color: #94a3b8;
1504
+ font-size: 10px;
1505
+ font-weight: 850;
1506
+ }
1507
+ .di-library-detail-card dd {
1508
+ margin: 0;
1509
+ color: #334155;
1510
+ font-size: 12px;
1511
+ font-weight: 800;
1512
+ line-height: 1.35;
1513
+ overflow-wrap: anywhere;
1514
+ }
1515
+ .di-library-basket-card {
1516
+ display: grid;
1517
+ gap: 10px;
1518
+ margin-top: 16px;
1519
+ padding: 14px;
1520
+ border: 1px solid #ddd6fe;
1521
+ border-radius: 14px;
1522
+ background: #f5f0ff;
1523
+ }
1524
+ .di-library-basket-card div {
1525
+ display: flex;
1526
+ align-items: center;
1527
+ justify-content: space-between;
1528
+ gap: 10px;
1529
+ }
1530
+ .di-library-basket-card span {
1531
+ color: #7c3aed;
1532
+ font-size: 12px;
1533
+ font-weight: 900;
1534
+ }
1535
+ .di-library-basket-card strong {
1536
+ color: #111827;
1537
+ font-size: 24px;
1538
+ font-weight: 950;
1539
+ line-height: 1;
1540
+ }
1541
+ .di-library-basket-card p {
1542
+ margin: 0;
1543
+ color: #64748b;
1544
+ font-size: 12px;
1545
+ font-weight: 750;
1546
+ line-height: 1.4;
1547
+ }
1548
+ @media (max-width: 720px) {
1549
+ .di-library-workbench-layer {
1550
+ padding: 0;
1551
+ }
1552
+ .di-library-workbench-grid {
1553
+ grid-template-columns: 1fr;
1554
+ }
1555
+ .di-library-workbench-nav,
1556
+ .di-library-workbench-detail {
1557
+ max-height: 220px;
1558
+ border: 0;
1559
+ border-bottom: 1px solid #eef2f7;
1560
+ }
1561
+ .di-library-workbench-detail {
1562
+ border-top: 1px solid #eef2f7;
1563
+ }
1564
+ }
1565
+ .di-library-tabs {
1566
+ display: grid;
1567
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1568
+ gap: var(--di-control-gap-x);
1569
+ flex: 0 0 auto;
1570
+ padding: 3px;
1571
+ border-radius: 10px;
1572
+ background: #f8fafc;
1573
+ }
1574
+ .di-library-tab {
1575
+ height: 30px;
1576
+ border: 0;
1577
+ border-radius: 8px;
1578
+ background: transparent;
1579
+ color: #64748b;
1580
+ font-family: inherit;
1581
+ font-size: 12px;
1582
+ font-weight: 850;
1583
+ cursor: pointer;
1584
+ }
1585
+ .di-library-tab:hover,
1586
+ .di-library-tab:focus-visible {
1587
+ color: #7c3aed;
1588
+ outline: none;
1589
+ }
1590
+ .di-library-tab--active {
1591
+ background: #fff;
1592
+ color: #7c3aed;
1593
+ box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
1594
+ }
1595
+ .di-library-content {
1596
+ display: flex;
1597
+ flex-direction: column;
1598
+ gap: 10px;
1599
+ min-height: 0;
1600
+ flex: 1 1 auto;
1601
+ }
1602
+ .di-library-tools {
1603
+ display: grid;
1604
+ gap: 8px;
1605
+ flex: 0 0 auto;
1606
+ }
1607
+ .di-library-search {
1608
+ display: grid;
1609
+ grid-template-columns: max-content minmax(0, 1fr);
1610
+ align-items: center;
1611
+ gap: var(--di-field-label-gap);
1612
+ min-height: 40px;
1613
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
1614
+ border-radius: 10px;
1615
+ background: #f8fafc;
1616
+ }
1617
+ .di-library-search span {
1618
+ color: #94a3b8;
1619
+ font-size: 10px;
1620
+ font-weight: 850;
1621
+ }
1622
+ .di-library-search input {
1623
+ width: 100%;
1624
+ min-width: 0;
1625
+ height: 30px;
1626
+ border: 1px solid #e5e7eb;
1627
+ border-radius: 7px;
1628
+ background: #fff;
1629
+ color: #111827;
1630
+ padding: 0 10px;
1631
+ font-family: inherit;
1632
+ font-size: 12px;
1633
+ font-weight: 750;
1634
+ outline: none;
1635
+ }
1636
+ .di-library-search input:focus {
1637
+ border-color: #c4b5fd;
1638
+ box-shadow: 0 0 0 1px #c4b5fd;
1639
+ }
1640
+ .di-library-categories {
1641
+ display: flex;
1642
+ gap: 6px;
1643
+ min-width: 0;
1644
+ overflow-x: auto;
1645
+ padding-bottom: 1px;
1646
+ }
1647
+ .di-library-category {
1648
+ flex: 0 0 auto;
1649
+ height: 28px;
1650
+ padding: 0 10px;
1651
+ border: 1px solid #e5e7eb;
1652
+ border-radius: 999px;
1653
+ background: #fff;
1654
+ color: #64748b;
1655
+ font-family: inherit;
1656
+ font-size: 11px;
1657
+ font-weight: 800;
1658
+ cursor: pointer;
1659
+ }
1660
+ .di-library-category-count {
1661
+ margin-left: 4px;
1662
+ color: #94a3b8;
1663
+ font-size: 10px;
1664
+ font-weight: 850;
1665
+ }
1666
+ .di-library-category:hover,
1667
+ .di-library-category:focus-visible,
1668
+ .di-library-category--active {
1669
+ border-color: #c4b5fd;
1670
+ background: #faf5ff;
1671
+ color: #7c3aed;
1672
+ outline: none;
1673
+ }
1674
+ .di-library-summary {
1675
+ display: grid;
1676
+ grid-template-columns: max-content max-content minmax(0, 1fr);
1677
+ align-items: center;
1678
+ gap: 6px;
1679
+ min-height: 32px;
1680
+ flex: 0 0 auto;
1681
+ padding: 0 2px;
1682
+ }
1683
+ .di-library-summary strong {
1684
+ color: #111827;
1685
+ font-size: 18px;
1686
+ font-weight: 900;
1687
+ line-height: 1;
1688
+ }
1689
+ .di-library-summary span,
1690
+ .di-library-summary small {
1691
+ color: #64748b;
1692
+ font-size: 11px;
1693
+ font-weight: 750;
1694
+ }
1695
+ .di-library-summary small {
1696
+ min-width: 0;
1697
+ overflow: hidden;
1698
+ text-overflow: ellipsis;
1699
+ white-space: nowrap;
1700
+ }
1701
+ .di-library-list {
1702
+ display: grid;
1703
+ gap: 8px;
1704
+ min-height: 0;
1705
+ overflow-y: auto;
1706
+ overscroll-behavior: contain;
1707
+ padding-right: 2px;
1708
+ }
1709
+ .di-library-token-row,
1710
+ .di-library-component-row {
1711
+ min-width: 0;
1712
+ display: grid;
1713
+ align-items: center;
1714
+ gap: var(--di-control-gap-x);
1715
+ padding: 9px 10px;
1716
+ border: 1px solid #f1f5f9;
1717
+ border-radius: 10px;
1718
+ background: #f8fafc;
1719
+ }
1720
+ .di-library-token-row {
1721
+ grid-template-columns: 30px minmax(0, 1fr) minmax(74px, max-content) 38px;
1722
+ }
1723
+ .di-library-token-preview {
1724
+ width: 30px;
1725
+ height: 30px;
1726
+ border-radius: 8px;
1727
+ border: 1px solid #e2e8f0;
1728
+ background: #fff;
1729
+ box-sizing: border-box;
1730
+ }
1731
+ .di-library-token-preview--color,
1732
+ .di-library-token-preview--appearance {
1733
+ background: var(--di-library-preview, #fff);
1734
+ }
1735
+ .di-library-token-preview--text {
1736
+ position: relative;
1737
+ background: #fff;
1738
+ }
1739
+ .di-library-token-preview--text::after {
1740
+ content: "T";
1741
+ position: absolute;
1742
+ inset: 0;
1743
+ display: grid;
1744
+ place-items: center;
1745
+ color: var(--di-library-preview, #111827);
1746
+ font-size: 16px;
1747
+ font-weight: 900;
1748
+ }
1749
+ .di-library-token-preview--space {
1750
+ background:
1751
+ linear-gradient(
1752
+ 90deg,
1753
+ transparent 0 7px,
1754
+ #7c3aed 7px 10px,
1755
+ transparent 10px 20px,
1756
+ #7c3aed 20px 23px,
1757
+ transparent 23px),
1758
+ #f8fafc;
1759
+ }
1760
+ .di-library-token-preview--radius {
1761
+ border-color: #c4b5fd;
1762
+ border-radius: 12px 4px 12px 4px;
1763
+ }
1764
+ .di-library-token-preview--shadow {
1765
+ background: #fff;
1766
+ box-shadow: var(--di-library-preview, 0 8px 20px rgba(15, 23, 42, 0.16));
1767
+ }
1768
+ .di-library-token-main,
1769
+ .di-library-component-main {
1770
+ min-width: 0;
1771
+ display: grid;
1772
+ gap: 3px;
1773
+ }
1774
+ .di-library-token-name,
1775
+ .di-library-component-title {
1776
+ min-width: 0;
1777
+ color: #111827;
1778
+ font-size: 12px;
1779
+ font-weight: 850;
1780
+ overflow: hidden;
1781
+ text-overflow: ellipsis;
1782
+ white-space: nowrap;
1783
+ }
1784
+ .di-library-token-meta,
1785
+ .di-library-component-summary {
1786
+ min-width: 0;
1787
+ color: #64748b;
1788
+ font-size: 10px;
1789
+ font-weight: 700;
1790
+ line-height: 1.25;
1791
+ overflow: hidden;
1792
+ text-overflow: ellipsis;
1793
+ white-space: nowrap;
1794
+ }
1795
+ .di-library-token-meta {
1796
+ display: flex;
1797
+ gap: 6px;
1798
+ }
1799
+ .di-library-token-meta span {
1800
+ min-width: 0;
1801
+ overflow: hidden;
1802
+ text-overflow: ellipsis;
1803
+ white-space: nowrap;
1804
+ }
1805
+ .di-library-token-side {
1806
+ min-width: 0;
1807
+ display: grid;
1808
+ justify-items: end;
1809
+ gap: 2px;
1810
+ }
1811
+ .di-library-token-side code {
1812
+ max-width: 120px;
1813
+ color: #334155;
1814
+ font-size: 10px;
1815
+ font-weight: 800;
1816
+ overflow: hidden;
1817
+ text-overflow: ellipsis;
1818
+ white-space: nowrap;
1819
+ }
1820
+ .di-library-token-side span,
1821
+ .di-library-token-usage span,
1822
+ .di-library-component-status {
1823
+ color: #94a3b8;
1824
+ font-size: 10px;
1825
+ font-weight: 800;
1826
+ }
1827
+ .di-library-token-usage {
1828
+ display: grid;
1829
+ justify-items: center;
1830
+ gap: 1px;
1831
+ min-width: 0;
1832
+ padding: 0;
1833
+ border: 0;
1834
+ background: transparent;
1835
+ font-family: inherit;
1836
+ cursor: pointer;
1837
+ }
1838
+ .di-library-token-usage:hover strong,
1839
+ .di-library-token-usage:focus-visible strong {
1840
+ color: #7c3aed;
1841
+ }
1842
+ .di-library-token-usage:focus-visible {
1843
+ outline: 2px solid #c4b5fd;
1844
+ outline-offset: 2px;
1845
+ border-radius: 8px;
1846
+ }
1847
+ .di-library-token-usage strong {
1848
+ color: #111827;
1849
+ font-size: 12px;
1850
+ font-weight: 900;
1851
+ line-height: 1;
1852
+ }
1853
+ .di-library-component-row {
1854
+ grid-template-columns: 30px minmax(0, 1fr) max-content;
1855
+ }
1856
+ .di-library-component-icon {
1857
+ width: 30px;
1858
+ height: 30px;
1859
+ display: inline-flex;
1860
+ align-items: center;
1861
+ justify-content: center;
1862
+ border-radius: 8px;
1863
+ background: #faf5ff;
1864
+ color: #7c3aed;
1865
+ }
1866
+ .di-library-component-title {
1867
+ display: flex;
1868
+ align-items: baseline;
1869
+ gap: 6px;
1870
+ }
1871
+ .di-library-component-title span {
1872
+ color: #94a3b8;
1873
+ font-size: 10px;
1874
+ font-weight: 800;
1875
+ }
1876
+ .di-library-component-status {
1877
+ padding: 4px 7px;
1878
+ border-radius: 999px;
1879
+ background: #fff;
1880
+ }
1881
+ .di-library-note,
1882
+ .di-library-empty,
1883
+ .di-library-more {
1884
+ padding: 10px;
1885
+ border-radius: 10px;
1886
+ background: #f8fafc;
1887
+ color: #64748b;
1888
+ font-size: 11px;
1889
+ font-weight: 700;
1890
+ line-height: 1.35;
1891
+ }
1892
+ .di-library-empty,
1893
+ .di-library-more {
1894
+ text-align: center;
1895
+ }
1896
+ .di-component-create-layer {
1897
+ position: absolute;
1898
+ z-index: 4;
1899
+ inset: 48px 0 0;
1900
+ display: flex;
1901
+ min-height: 0;
1902
+ padding: 10px 14px;
1903
+ background: rgba(255, 255, 255, 0.82);
1904
+ backdrop-filter: blur(2px);
1905
+ box-sizing: border-box;
1906
+ overflow: hidden;
1907
+ }
1908
+ .di-component-create-drawer {
1909
+ display: flex;
1910
+ flex-direction: column;
1911
+ gap: 10px;
1912
+ width: 100%;
1913
+ height: 100%;
1914
+ min-height: 0;
1915
+ max-height: 100%;
1916
+ overflow: hidden;
1917
+ padding: 10px;
1918
+ border: 1px solid #e5e7eb;
1919
+ border-radius: 12px;
1920
+ background: #fff;
1921
+ box-shadow: 0 12px 34px rgba(15, 23, 42, 0.14), 0 2px 10px rgba(15, 23, 42, 0.08);
1922
+ box-sizing: border-box;
1923
+ }
1924
+ .di-component-create-head {
1925
+ display: flex;
1926
+ align-items: center;
1927
+ justify-content: space-between;
1928
+ gap: 8px;
1929
+ flex: 0 0 auto;
1930
+ }
1931
+ .di-component-create-title {
1932
+ display: inline-flex;
1933
+ align-items: center;
1934
+ gap: 6px;
1935
+ color: #7c3aed;
1936
+ font-size: 13px;
1937
+ font-weight: 850;
1938
+ }
1939
+ .di-component-create-scroll {
1940
+ min-height: 0;
1941
+ display: grid;
1942
+ gap: 10px;
1943
+ overflow-y: auto;
1944
+ overscroll-behavior: contain;
1945
+ padding-right: 2px;
1946
+ }
1947
+ .di-component-create-summary {
1948
+ display: grid;
1949
+ gap: 6px;
1950
+ min-width: 0;
1951
+ padding: 10px;
1952
+ border-radius: 10px;
1953
+ background: #f8fafc;
1954
+ }
1955
+ .di-component-create-summary div {
1956
+ display: flex;
1957
+ align-items: center;
1958
+ gap: 8px;
1959
+ min-width: 0;
1960
+ }
1961
+ .di-component-create-summary span,
1962
+ .di-component-create-field > span,
1963
+ .di-component-create-rules-title {
1964
+ color: #94a3b8;
1965
+ font-size: 11px;
1966
+ font-weight: 800;
1967
+ white-space: nowrap;
1968
+ }
1969
+ .di-component-create-summary strong {
1970
+ min-width: 0;
1971
+ color: #111827;
1972
+ font-size: 13px;
1973
+ font-weight: 850;
1974
+ overflow: hidden;
1975
+ text-overflow: ellipsis;
1976
+ white-space: nowrap;
1977
+ }
1978
+ .di-component-create-summary code,
1979
+ .di-component-create-summary p {
1980
+ margin: 0;
1981
+ min-width: 0;
1982
+ color: #64748b;
1983
+ font-size: 11px;
1984
+ font-weight: 650;
1985
+ line-height: 1.35;
1986
+ overflow: hidden;
1987
+ text-overflow: ellipsis;
1988
+ white-space: nowrap;
1989
+ }
1990
+ .di-component-create-form {
1991
+ display: grid;
1992
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1993
+ gap: var(--di-control-gap-y);
1994
+ }
1995
+ .di-component-create-field {
1996
+ display: grid;
1997
+ grid-template-columns: max-content minmax(0, 1fr);
1998
+ align-items: center;
1999
+ gap: var(--di-field-label-gap);
2000
+ min-height: 44px;
2001
+ min-width: 0;
2002
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
2003
+ border-radius: 10px;
2004
+ background: #f8fafc;
2005
+ }
2006
+ .di-component-create-field > span {
2007
+ color: #9ca3af;
2008
+ font-size: 10px;
2009
+ font-weight: 800;
2010
+ line-height: 1.2;
2011
+ }
2012
+ .di-component-create-field--wide {
2013
+ grid-column: 1 / -1;
2014
+ }
2015
+ .di-component-create-field input {
2016
+ min-width: 0;
2017
+ width: 100%;
2018
+ height: 30px;
2019
+ border: 1px solid #e5e7eb;
2020
+ border-radius: 7px;
2021
+ background: #fff;
2022
+ color: #111827;
2023
+ padding: 0 10px;
2024
+ font: inherit;
2025
+ font-size: 12px;
2026
+ font-weight: 750;
2027
+ outline: none;
2028
+ }
2029
+ .di-component-create-field input:focus {
2030
+ border-color: #c4b5fd;
2031
+ box-shadow: 0 0 0 1px #c4b5fd;
2032
+ }
2033
+ .di-component-type-combobox {
2034
+ position: relative;
2035
+ min-width: 0;
2036
+ }
2037
+ .di-component-type-combobox input {
2038
+ padding-right: 30px;
2039
+ }
2040
+ .di-component-type-trigger {
2041
+ width: 100%;
2042
+ min-width: 0;
2043
+ height: 30px;
2044
+ display: flex;
2045
+ align-items: center;
2046
+ justify-content: space-between;
2047
+ gap: var(--di-control-gap-x);
2048
+ padding: 0 9px;
2049
+ border: 1px solid #e5e7eb;
2050
+ border-radius: 7px;
2051
+ background: #fff;
2052
+ color: #111827;
2053
+ font-family: inherit;
2054
+ cursor: pointer;
2055
+ }
2056
+ .di-component-type-trigger:hover,
2057
+ .di-component-type-trigger[aria-expanded=true] {
2058
+ border-color: #c4b5fd;
2059
+ box-shadow: 0 0 0 1px #c4b5fd;
2060
+ }
2061
+ .di-component-create-field .di-component-type-trigger-value {
2062
+ min-width: 0;
2063
+ color: #111827;
2064
+ font-size: 12px;
2065
+ font-weight: 750;
2066
+ overflow: hidden;
2067
+ text-overflow: ellipsis;
2068
+ white-space: nowrap;
2069
+ }
2070
+ .di-component-type-trigger svg {
2071
+ color: #94a3b8;
2072
+ flex-shrink: 0;
2073
+ }
2074
+ .di-component-type-toggle {
2075
+ position: absolute;
2076
+ top: 4px;
2077
+ right: 4px;
2078
+ width: 22px;
2079
+ height: 22px;
2080
+ display: inline-flex;
2081
+ align-items: center;
2082
+ justify-content: center;
2083
+ border: 0;
2084
+ border-radius: 6px;
2085
+ background: transparent;
2086
+ color: #94a3b8;
2087
+ cursor: pointer;
2088
+ }
2089
+ .di-component-type-toggle:hover {
2090
+ background: #f5f3ff;
2091
+ color: #7c3aed;
2092
+ }
2093
+ .di-component-create-existing {
2094
+ grid-column: 1 / -1;
2095
+ display: grid;
2096
+ gap: var(--di-control-gap-y);
2097
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
2098
+ border: 1px solid #ede9fe;
2099
+ border-radius: 10px;
2100
+ background: #faf5ff;
2101
+ }
2102
+ .di-component-create-existing-copy {
2103
+ display: grid;
2104
+ grid-template-columns: max-content max-content minmax(0, 1fr);
2105
+ align-items: center;
2106
+ gap: var(--di-field-label-gap);
2107
+ min-width: 0;
2108
+ }
2109
+ .di-component-create-existing-copy span {
2110
+ color: #94a3b8;
2111
+ font-size: 10px;
2112
+ font-weight: 850;
2113
+ }
2114
+ .di-component-create-existing-copy strong {
2115
+ color: #111827;
2116
+ font-size: 12px;
2117
+ font-weight: 850;
2118
+ }
2119
+ .di-component-create-existing-copy small {
2120
+ min-width: 0;
2121
+ color: #64748b;
2122
+ font-size: 10px;
2123
+ font-weight: 700;
2124
+ overflow: hidden;
2125
+ text-overflow: ellipsis;
2126
+ white-space: nowrap;
2127
+ }
2128
+ .di-component-create-existing-actions {
2129
+ display: grid;
2130
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2131
+ gap: var(--di-control-gap-x);
2132
+ }
2133
+ .di-segment-pill {
2134
+ height: 30px;
2135
+ min-width: 0;
2136
+ border: 1px solid #e5e7eb;
2137
+ border-radius: 8px;
2138
+ background: #fff;
2139
+ color: #334155;
2140
+ font-family: inherit;
2141
+ font-size: 12px;
2142
+ font-weight: 850;
2143
+ cursor: pointer;
2144
+ }
2145
+ .di-segment-pill:hover {
2146
+ border-color: #c4b5fd;
2147
+ color: #7c3aed;
2148
+ }
2149
+ .di-segment-pill--active {
2150
+ border-color: #c4b5fd;
2151
+ background: #f5f3ff;
2152
+ color: #7c3aed;
2153
+ }
2154
+ .di-component-type-menu {
2155
+ position: absolute;
2156
+ z-index: 6;
2157
+ top: calc(100% + 4px);
2158
+ left: 0;
2159
+ right: 0;
2160
+ max-height: 220px;
2161
+ overflow: auto;
2162
+ padding: 4px;
2163
+ border: 1px solid #e5e7eb;
2164
+ border-radius: 10px;
2165
+ background: #fff;
2166
+ box-shadow: 0 14px 30px rgba(15, 23, 42, 0.14), 0 2px 8px rgba(15, 23, 42, 0.08);
2167
+ }
2168
+ .di-component-type-menu-head {
2169
+ padding: 6px 9px 7px;
2170
+ color: #94a3b8;
2171
+ font-size: 10px;
2172
+ font-weight: 800;
2173
+ line-height: 1.25;
2174
+ }
2175
+ .di-component-type-option {
2176
+ width: 100%;
2177
+ display: grid;
2178
+ gap: 2px;
2179
+ padding: 8px 9px;
2180
+ border: 0;
2181
+ border-radius: 8px;
2182
+ background: transparent;
2183
+ text-align: left;
2184
+ cursor: pointer;
2185
+ font-family: inherit;
2186
+ }
2187
+ .di-component-type-option:hover,
2188
+ .di-component-type-option--active {
2189
+ background: #f5f3ff;
2190
+ }
2191
+ .di-component-type-option strong {
2192
+ color: #111827;
2193
+ font-size: 12px;
2194
+ font-weight: 850;
2195
+ }
2196
+ .di-component-type-option--active strong,
2197
+ .di-component-type-option--new strong {
2198
+ color: #7c3aed;
2199
+ }
2200
+ .di-component-type-option span,
2201
+ .di-component-type-empty {
2202
+ color: #64748b;
2203
+ font-size: 10px;
2204
+ font-weight: 650;
2205
+ line-height: 1.3;
2206
+ }
2207
+ .di-component-type-empty {
2208
+ padding: 10px;
2209
+ text-align: center;
2210
+ }
2211
+ .di-component-create-rules {
2212
+ display: grid;
2213
+ gap: 6px;
2214
+ padding: 10px;
2215
+ border-radius: 10px;
2216
+ background: #faf5ff;
2217
+ border: 1px solid #ede9fe;
2218
+ }
2219
+ .di-component-create-rules ul {
2220
+ margin: 0;
2221
+ padding-left: 16px;
2222
+ display: grid;
2223
+ gap: 4px;
2224
+ }
2225
+ .di-component-create-rules li {
2226
+ color: #475569;
2227
+ font-size: 11px;
2228
+ font-weight: 650;
2229
+ line-height: 1.35;
2230
+ }
2231
+ .di-component-create-actions {
2232
+ display: grid;
2233
+ grid-template-columns: minmax(0, 1fr);
2234
+ gap: var(--di-control-gap-x);
2235
+ flex: 0 0 auto;
2236
+ padding-top: 8px;
2237
+ border-top: 1px solid #f3f4f6;
2238
+ background: #fff;
2239
+ }
2240
+ .di-body {
2241
+ overflow-y: auto;
2242
+ flex: 1;
2243
+ padding: 2px 0 4px;
2244
+ }
2245
+ .di-body--plugin-page {
2246
+ padding-top: 0;
2247
+ }
2248
+ .di-body--plugin-page > .di-section:not(.di-plugin-section--page) {
2249
+ display: none;
2250
+ }
2251
+ .di-body--readonly {
2252
+ pointer-events: none;
2253
+ opacity: 0.72;
2254
+ user-select: none;
2255
+ }
2256
+ .di-section {
2257
+ padding: 8px 14px;
2258
+ border-bottom: 1px solid #f3f4f6;
2259
+ }
2260
+ .di-section:last-child {
2261
+ border-bottom: none;
2262
+ }
2263
+ .di-section-title {
2264
+ font-size: 12px;
2265
+ font-weight: 700;
2266
+ color: #111827;
2267
+ margin-bottom: var(--di-section-title-gap);
2268
+ }
2269
+ .di-section-title-row {
2270
+ display: flex;
2271
+ align-items: center;
2272
+ gap: var(--di-control-gap-x);
2273
+ margin-bottom: var(--di-section-title-gap);
2274
+ }
2275
+ .di-section-title-row--action {
2276
+ justify-content: space-between;
2277
+ min-height: 24px;
2278
+ }
2279
+ .di-section-title-row--empty {
2280
+ margin-bottom: 0;
2281
+ }
2282
+ .di-section-title-row .di-section-title {
2283
+ margin-bottom: 0;
2284
+ }
2285
+ .di-section-title-group {
2286
+ display: inline-flex;
2287
+ align-items: center;
2288
+ gap: 6px;
2289
+ min-width: 0;
2290
+ }
2291
+ .di-section-icon-action {
2292
+ width: 24px;
2293
+ height: 24px;
2294
+ border: 1px solid #e5e7eb;
2295
+ border-radius: 7px;
2296
+ background: #fff;
2297
+ color: #64748b;
2298
+ display: inline-flex;
2299
+ align-items: center;
2300
+ justify-content: center;
2301
+ padding: 0;
2302
+ cursor: pointer;
2303
+ transition:
2304
+ background 0.12s,
2305
+ border-color 0.12s,
2306
+ color 0.12s,
2307
+ box-shadow 0.12s;
2308
+ }
2309
+ .di-section-icon-action:hover,
2310
+ .di-section-icon-action:focus-visible {
2311
+ background: #faf5ff;
2312
+ border-color: #c4b5fd;
2313
+ color: #7c3aed;
2314
+ outline: none;
2315
+ box-shadow: 0 1px 3px rgba(124, 58, 237, 0.12);
2316
+ }
2317
+ .di-section-icon-action svg {
2318
+ width: 14px;
2319
+ height: 14px;
2320
+ }
2321
+ .di-section-icon-action--reset {
2322
+ color: #64748b;
2323
+ }
2324
+ .di-plugin-section {
2325
+ padding-top: 6px;
2326
+ padding-bottom: 6px;
2327
+ }
2328
+ .di-plugin-section--page {
2329
+ display: grid;
2330
+ gap: 8px;
2331
+ min-height: 100%;
2332
+ padding-top: 8px;
2333
+ padding-bottom: 10px;
2334
+ border-bottom: none;
2335
+ }
2336
+ .di-structure-section {
2337
+ padding-top: 8px;
2338
+ padding-bottom: 8px;
2339
+ }
2340
+ .di-structure-callout {
2341
+ display: grid;
2342
+ grid-template-columns: minmax(0, 1fr) max-content;
2343
+ align-items: center;
2344
+ gap: var(--di-control-gap-x);
2345
+ padding: 9px 10px;
2346
+ border-radius: 10px;
2347
+ background: #f5f3ff;
2348
+ }
2349
+ .di-page-shell-callout {
2350
+ border: 1px solid #dbeafe;
2351
+ background: #eff6ff;
2352
+ }
2353
+ .di-layout-container-callout {
2354
+ grid-template-columns: minmax(0, 1fr);
2355
+ border: 1px solid #e2e8f0;
2356
+ background: #f8fafc;
2357
+ }
2358
+ .di-page-shell-section .di-structure-action {
2359
+ border-color: #bfdbfe;
2360
+ background: #fff;
2361
+ color: #2563eb;
2362
+ }
2363
+ .di-page-shell-section .di-structure-action:hover,
2364
+ .di-page-shell-section .di-structure-action:focus-visible {
2365
+ background: #dbeafe;
2366
+ }
2367
+ .di-page-shell-section .di-structure-link {
2368
+ color: #2563eb;
2369
+ }
2370
+ .di-page-shell-section .di-structure-child-group-head small {
2371
+ background: #dbeafe;
2372
+ color: #2563eb;
2373
+ }
2374
+ .di-layout-container-section .di-structure-link {
2375
+ color: #475569;
2376
+ }
2377
+ .di-layout-container-section .di-structure-link:hover,
2378
+ .di-layout-container-section .di-structure-link:focus-visible {
2379
+ background: #f1f5f9;
2380
+ border-color: #cbd5e1;
2381
+ }
2382
+ .di-layout-container-section .di-structure-child-group-head small {
2383
+ background: #e2e8f0;
2384
+ color: #475569;
2385
+ }
2386
+ .di-layout-container-section .di-structure-child-item:hover,
2387
+ .di-layout-container-section .di-structure-child-item:focus-visible {
2388
+ border-color: #cbd5e1;
2389
+ }
2390
+ .di-structure-callout-copy {
2391
+ min-width: 0;
2392
+ }
2393
+ .di-structure-title {
2394
+ font-size: 13px;
2395
+ font-weight: 800;
2396
+ line-height: 1.25;
2397
+ color: #111827;
2398
+ }
2399
+ .di-structure-desc {
2400
+ margin-top: 3px;
2401
+ font-size: 11px;
2402
+ font-weight: 600;
2403
+ line-height: 1.35;
2404
+ color: #64748b;
2405
+ }
2406
+ .di-structure-action {
2407
+ height: 30px;
2408
+ padding: 0 10px;
2409
+ border: 1px solid #c4b5fd;
2410
+ border-radius: 8px;
2411
+ background: #faf5ff;
2412
+ color: #7c3aed;
2413
+ font-family: inherit;
2414
+ font-size: 12px;
2415
+ font-weight: 800;
2416
+ white-space: nowrap;
2417
+ cursor: pointer;
2418
+ }
2419
+ .di-structure-action:hover,
2420
+ .di-structure-action:focus-visible {
2421
+ background: #f3e8ff;
2422
+ outline: none;
2423
+ }
2424
+ .di-structure-summary-grid {
2425
+ display: grid;
2426
+ gap: 8px;
2427
+ margin-top: 8px;
2428
+ }
2429
+ .di-structure-summary-card {
2430
+ display: grid;
2431
+ grid-template-columns: minmax(0, 1fr) max-content;
2432
+ align-items: center;
2433
+ gap: var(--di-control-gap-x);
2434
+ min-width: 0;
2435
+ padding: 9px 10px;
2436
+ border-radius: 10px;
2437
+ background: #f8fafc;
2438
+ }
2439
+ .di-structure-summary-main {
2440
+ display: grid;
2441
+ gap: 2px;
2442
+ min-width: 0;
2443
+ }
2444
+ .di-structure-summary-label {
2445
+ color: #94a3b8;
2446
+ font-size: 11px;
2447
+ font-weight: 800;
2448
+ line-height: 1.2;
2449
+ }
2450
+ .di-structure-summary-main strong {
2451
+ min-width: 0;
2452
+ color: #111827;
2453
+ font-size: 12px;
2454
+ font-weight: 850;
2455
+ line-height: 1.25;
2456
+ overflow: hidden;
2457
+ text-overflow: ellipsis;
2458
+ white-space: nowrap;
2459
+ }
2460
+ .di-structure-summary-main small {
2461
+ min-width: 0;
2462
+ color: #64748b;
2463
+ font-size: 11px;
2464
+ font-weight: 650;
2465
+ line-height: 1.35;
2466
+ overflow: hidden;
2467
+ text-overflow: ellipsis;
2468
+ white-space: nowrap;
2469
+ }
2470
+ .di-structure-link {
2471
+ height: 28px;
2472
+ border: 1px solid #e5e7eb;
2473
+ border-radius: 8px;
2474
+ background: #fff;
2475
+ color: #7c3aed;
2476
+ padding: 0 10px;
2477
+ font-family: inherit;
2478
+ font-size: 12px;
2479
+ font-weight: 800;
2480
+ white-space: nowrap;
2481
+ cursor: pointer;
2482
+ }
2483
+ .di-structure-link:hover,
2484
+ .di-structure-link:focus-visible {
2485
+ background: #faf5ff;
2486
+ border-color: #c4b5fd;
2487
+ outline: none;
2488
+ }
2489
+ .di-structure-child-groups {
2490
+ display: grid;
2491
+ gap: 6px;
2492
+ min-width: 0;
2493
+ }
2494
+ .di-structure-child-group {
2495
+ display: grid;
2496
+ gap: 5px;
2497
+ min-width: 0;
2498
+ padding: 8px;
2499
+ border-radius: 10px;
2500
+ background: #f8fafc;
2501
+ }
2502
+ .di-structure-child-group-head {
2503
+ display: flex;
2504
+ align-items: center;
2505
+ gap: 6px;
2506
+ min-width: 0;
2507
+ }
2508
+ .di-structure-child-group-head span {
2509
+ color: #111827;
2510
+ font-size: 12px;
2511
+ font-weight: 850;
2512
+ }
2513
+ .di-structure-child-group-head small {
2514
+ border-radius: 999px;
2515
+ background: #f4efff;
2516
+ color: #7c3aed;
2517
+ padding: 1px 6px;
2518
+ font-size: 11px;
2519
+ font-weight: 850;
2520
+ line-height: 1.3;
2521
+ }
2522
+ .di-structure-child-list {
2523
+ display: grid;
2524
+ gap: 4px;
2525
+ min-width: 0;
2526
+ }
2527
+ .di-structure-child-item {
2528
+ display: grid;
2529
+ grid-template-columns: minmax(64px, max-content) minmax(0, 1fr);
2530
+ align-items: center;
2531
+ gap: 8px;
2532
+ min-width: 0;
2533
+ height: 30px;
2534
+ border: 1px solid #e5e7eb;
2535
+ border-radius: 8px;
2536
+ background: #fff;
2537
+ padding: 0 9px;
2538
+ font-family: inherit;
2539
+ text-align: left;
2540
+ cursor: pointer;
2541
+ }
2542
+ .di-structure-child-item:hover,
2543
+ .di-structure-child-item:focus-visible {
2544
+ border-color: #c4b5fd;
2545
+ outline: none;
2546
+ }
2547
+ .di-structure-child-item span {
2548
+ color: #334155;
2549
+ font-size: 12px;
2550
+ font-weight: 800;
2551
+ }
2552
+ .di-structure-child-item small {
2553
+ min-width: 0;
2554
+ color: #64748b;
2555
+ font-size: 11px;
2556
+ font-weight: 650;
2557
+ overflow: hidden;
2558
+ text-overflow: ellipsis;
2559
+ white-space: nowrap;
2560
+ }
2561
+ .di-plugin-page-head {
2562
+ display: flex;
2563
+ align-items: center;
2564
+ gap: 8px;
2565
+ min-width: 0;
2566
+ }
2567
+ .di-plugin-back {
2568
+ height: 28px;
2569
+ border: 1px solid #e5e7eb;
2570
+ border-radius: 8px;
2571
+ background: #fff;
2572
+ color: #334155;
2573
+ display: inline-flex;
2574
+ align-items: center;
2575
+ gap: 5px;
2576
+ padding: 0 9px;
2577
+ font-family: inherit;
2578
+ font-size: 12px;
2579
+ font-weight: 800;
2580
+ white-space: nowrap;
2581
+ cursor: pointer;
2582
+ transition:
2583
+ background 0.12s,
2584
+ border-color 0.12s,
2585
+ color 0.12s,
2586
+ box-shadow 0.12s;
2587
+ }
2588
+ .di-plugin-back:hover,
2589
+ .di-plugin-back:focus-visible {
2590
+ background: #faf5ff;
2591
+ border-color: #c4b5fd;
2592
+ color: #7c3aed;
2593
+ outline: none;
2594
+ box-shadow: 0 1px 3px rgba(124, 58, 237, 0.12);
2595
+ }
2596
+ .di-plugin-page-title {
2597
+ min-width: 0;
2598
+ display: inline-flex;
2599
+ align-items: center;
2600
+ gap: 5px;
2601
+ color: #7c3aed;
2602
+ font-size: 12px;
2603
+ font-weight: 850;
2604
+ overflow: hidden;
2605
+ text-overflow: ellipsis;
2606
+ white-space: nowrap;
2607
+ }
2608
+ .di-plugin-toolbar {
2609
+ display: flex;
2610
+ align-items: center;
2611
+ gap: 6px;
2612
+ min-width: 0;
2613
+ }
2614
+ .di-plugin-tab {
2615
+ height: 28px;
2616
+ border: 1px solid #e5e7eb;
2617
+ border-radius: 8px;
2618
+ background: #fff;
2619
+ color: #334155;
2620
+ display: inline-flex;
2621
+ align-items: center;
2622
+ gap: 5px;
2623
+ padding: 0 10px;
2624
+ font-size: 12px;
2625
+ font-weight: 700;
2626
+ font-family: inherit;
2627
+ line-height: 1;
2628
+ white-space: nowrap;
2629
+ cursor: pointer;
2630
+ transition:
2631
+ background 0.12s,
2632
+ border-color 0.12s,
2633
+ color 0.12s,
2634
+ box-shadow 0.12s;
2635
+ }
2636
+ .di-plugin-tab:hover,
2637
+ .di-plugin-tab:focus-visible {
2638
+ background: #faf5ff;
2639
+ border-color: #c4b5fd;
2640
+ color: #7c3aed;
2641
+ outline: none;
2642
+ }
2643
+ .di-plugin-tab--on {
2644
+ background: #f4efff;
2645
+ border-color: #c4b5fd;
2646
+ color: #7c3aed;
2647
+ }
2648
+ .di-plugin-msg {
2649
+ margin-left: auto;
2650
+ color: #7c3aed;
2651
+ font-size: 11px;
2652
+ font-weight: 700;
2653
+ white-space: nowrap;
2654
+ }
2655
+ .di-plugin-panel {
2656
+ margin-top: 6px;
2657
+ padding: 8px;
2658
+ border-radius: 10px;
2659
+ background: #f8fafc;
2660
+ display: grid;
2661
+ gap: 6px;
2662
+ }
2663
+ .di-plugin-panel--maker {
2664
+ background: transparent;
2665
+ padding: 0;
2666
+ gap: 8px;
2667
+ }
2668
+ .di-plugin-context-card,
2669
+ .di-plugin-maker-compact,
2670
+ .di-plugin-control-card {
2671
+ display: grid;
2672
+ gap: 6px;
2673
+ min-width: 0;
2674
+ padding: 8px;
2675
+ border-radius: 10px;
2676
+ background: #f8fafc;
2677
+ }
2678
+ .di-plugin-maker-compact {
2679
+ gap: 7px;
2680
+ }
2681
+ .di-plugin-maker-compact--variant {
2682
+ background: #fff;
2683
+ border: 1px solid #eef2f7;
2684
+ }
2685
+ .di-plugin-row {
2686
+ display: flex;
2687
+ align-items: center;
2688
+ gap: 8px;
2689
+ min-width: 0;
2690
+ }
2691
+ .di-plugin-label {
2692
+ flex: 0 0 auto;
2693
+ color: #94a3b8;
2694
+ font-size: 11px;
2695
+ font-weight: 700;
2696
+ }
2697
+ .di-plugin-value,
2698
+ .di-plugin-code {
2699
+ min-width: 0;
2700
+ color: #111827;
2701
+ font-size: 12px;
2702
+ font-weight: 700;
2703
+ overflow: hidden;
2704
+ text-overflow: ellipsis;
2705
+ white-space: nowrap;
2706
+ }
2707
+ .di-plugin-code {
2708
+ color: #64748b;
2709
+ font-family:
2710
+ ui-monospace,
2711
+ SFMono-Regular,
2712
+ Menlo,
2713
+ Monaco,
2714
+ Consolas,
2715
+ "Liberation Mono",
2716
+ monospace;
2717
+ font-weight: 600;
2718
+ }
2719
+ .di-plugin-control-row {
2720
+ display: flex;
2721
+ align-items: center;
2722
+ gap: 8px;
2723
+ min-width: 0;
2724
+ }
2725
+ .di-plugin-control-row--input {
2726
+ align-items: stretch;
2727
+ }
2728
+ .di-plugin-component-main {
2729
+ display: flex;
2730
+ align-items: baseline;
2731
+ gap: 6px;
2732
+ min-width: 0;
2733
+ }
2734
+ .di-plugin-component-main strong {
2735
+ min-width: 0;
2736
+ color: #111827;
2737
+ font-size: 13px;
2738
+ font-weight: 850;
2739
+ overflow: hidden;
2740
+ text-overflow: ellipsis;
2741
+ white-space: nowrap;
2742
+ }
2743
+ .di-plugin-component-main span {
2744
+ color: #64748b;
2745
+ font-size: 11px;
2746
+ font-weight: 750;
2747
+ }
2748
+ .di-plugin-source-toggle,
2749
+ .di-plugin-action-tiles {
2750
+ display: flex;
2751
+ align-items: center;
2752
+ gap: 6px;
2753
+ min-width: 0;
2754
+ flex-wrap: wrap;
2755
+ }
2756
+ .di-plugin-choice,
2757
+ .di-plugin-action-tile {
2758
+ height: 28px;
2759
+ border: 1px solid #e5e7eb;
2760
+ border-radius: 8px;
2761
+ background: #fff;
2762
+ color: #334155;
2763
+ padding: 0 10px;
2764
+ font-family: inherit;
2765
+ font-size: 12px;
2766
+ font-weight: 800;
2767
+ white-space: nowrap;
2768
+ cursor: pointer;
2769
+ transition:
2770
+ background 0.12s,
2771
+ border-color 0.12s,
2772
+ color 0.12s;
2773
+ }
2774
+ .di-plugin-choice:hover:not(:disabled),
2775
+ .di-plugin-choice:focus-visible:not(:disabled),
2776
+ .di-plugin-action-tile:hover,
2777
+ .di-plugin-action-tile:focus-visible {
2778
+ background: #faf5ff;
2779
+ border-color: #c4b5fd;
2780
+ color: #7c3aed;
2781
+ outline: none;
2782
+ }
2783
+ .di-plugin-choice--on,
2784
+ .di-plugin-action-tile--on {
2785
+ background: #fff;
2786
+ border-color: #c4b5fd;
2787
+ color: #7c3aed;
2788
+ box-shadow: inset 0 0 0 1px #c4b5fd;
2789
+ }
2790
+ .di-plugin-choice:disabled {
2791
+ color: #cbd5e1;
2792
+ cursor: not-allowed;
2793
+ }
2794
+ .di-plugin-inline-input {
2795
+ height: 30px;
2796
+ min-width: 0;
2797
+ flex: 1 1 auto;
2798
+ border: 1px solid #e5e7eb;
2799
+ border-radius: 8px;
2800
+ background: #fff;
2801
+ color: #111827;
2802
+ padding: 0 10px;
2803
+ font-family: inherit;
2804
+ font-size: 12px;
2805
+ font-weight: 750;
2806
+ outline: none;
2807
+ }
2808
+ .di-plugin-inline-input:focus {
2809
+ border-color: #c4b5fd;
2810
+ box-shadow: 0 0 0 1px #c4b5fd;
2811
+ }
2812
+ .di-plugin-code-name-input {
2813
+ font-family:
2814
+ ui-monospace,
2815
+ SFMono-Regular,
2816
+ Menlo,
2817
+ Monaco,
2818
+ Consolas,
2819
+ "Liberation Mono",
2820
+ monospace;
2821
+ font-weight: 750;
2822
+ }
2823
+ .di-plugin-empty-note,
2824
+ .di-plugin-action-hint {
2825
+ color: #94a3b8;
2826
+ font-size: 11px;
2827
+ font-weight: 700;
2828
+ line-height: 1.35;
2829
+ }
2830
+ .di-plugin-action-hint {
2831
+ padding-left: 58px;
2832
+ }
2833
+ .di-plugin-preview {
2834
+ display: flex;
2835
+ flex-wrap: wrap;
2836
+ gap: 5px;
2837
+ min-width: 0;
2838
+ }
2839
+ .di-plugin-preview span {
2840
+ max-width: 100%;
2841
+ padding: 4px 7px;
2842
+ border-radius: 7px;
2843
+ background: #fff;
2844
+ color: #64748b;
2845
+ font-size: 11px;
2846
+ font-weight: 600;
2847
+ line-height: 1.25;
2848
+ overflow: hidden;
2849
+ text-overflow: ellipsis;
2850
+ white-space: nowrap;
2851
+ }
2852
+ .di-plugin-subtitle {
2853
+ color: #111827;
2854
+ font-size: 12px;
2855
+ font-weight: 800;
2856
+ line-height: 1.2;
2857
+ }
2858
+ .di-plugin-spec-grid {
2859
+ display: grid;
2860
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2861
+ gap: 6px;
2862
+ min-width: 0;
2863
+ }
2864
+ .di-plugin-spec-field {
2865
+ display: grid;
2866
+ grid-template-columns: max-content minmax(0, 1fr);
2867
+ align-items: center;
2868
+ gap: 8px;
2869
+ min-width: 0;
2870
+ padding: 6px 8px;
2871
+ border-radius: 8px;
2872
+ background: #fff;
2873
+ }
2874
+ .di-plugin-spec-field--wide {
2875
+ grid-column: 1 / -1;
2876
+ align-items: start;
2877
+ }
2878
+ .di-plugin-spec-field span {
2879
+ color: #94a3b8;
2880
+ font-size: 11px;
2881
+ font-weight: 800;
2882
+ white-space: nowrap;
2883
+ }
2884
+ .di-plugin-spec-field input,
2885
+ .di-plugin-spec-field select,
2886
+ .di-plugin-spec-field textarea {
2887
+ min-width: 0;
2888
+ width: 100%;
2889
+ border: 0;
2890
+ padding: 0;
2891
+ background: transparent;
2892
+ color: #111827;
2893
+ font: inherit;
2894
+ font-size: 12px;
2895
+ font-weight: 650;
2896
+ outline: none;
2897
+ }
2898
+ .di-plugin-spec-field select {
2899
+ appearance: none;
2900
+ cursor: pointer;
2901
+ }
2902
+ .di-plugin-spec-field textarea {
2903
+ min-height: 34px;
2904
+ resize: vertical;
2905
+ line-height: 1.35;
2906
+ }
2907
+ .di-plugin-variant-builder {
2908
+ display: grid;
2909
+ gap: 8px;
2910
+ min-width: 0;
2911
+ }
2912
+ .di-plugin-variant-base,
2913
+ .di-plugin-variant-head {
2914
+ display: flex;
2915
+ align-items: center;
2916
+ justify-content: space-between;
2917
+ gap: 8px;
2918
+ min-width: 0;
2919
+ }
2920
+ .di-plugin-variant-base {
2921
+ min-height: 34px;
2922
+ padding: 6px 8px;
2923
+ border-radius: 9px;
2924
+ background: #fff;
2925
+ }
2926
+ .di-plugin-variant-base-copy {
2927
+ display: flex;
2928
+ align-items: center;
2929
+ gap: 6px;
2930
+ min-width: 0;
2931
+ color: #94a3b8;
2932
+ font-size: 11px;
2933
+ font-weight: 800;
2934
+ }
2935
+ .di-plugin-variant-base-copy strong {
2936
+ min-width: 0;
2937
+ color: #111827;
2938
+ font-size: 12px;
2939
+ overflow: hidden;
2940
+ text-overflow: ellipsis;
2941
+ white-space: nowrap;
2942
+ }
2943
+ .di-plugin-variant-count {
2944
+ flex: 0 0 auto;
2945
+ padding: 3px 7px;
2946
+ border-radius: 999px;
2947
+ background: #f3e8ff;
2948
+ color: #7c3aed;
2949
+ font-size: 11px;
2950
+ font-weight: 850;
2951
+ line-height: 1.2;
2952
+ }
2953
+ .di-plugin-variant-head {
2954
+ color: #64748b;
2955
+ font-size: 11px;
2956
+ font-weight: 800;
2957
+ }
2958
+ .di-plugin-variant-tools {
2959
+ display: inline-flex;
2960
+ align-items: center;
2961
+ gap: 4px;
2962
+ }
2963
+ .di-plugin-variant-tools button {
2964
+ border: 0;
2965
+ background: transparent;
2966
+ color: #7c3aed;
2967
+ padding: 2px 4px;
2968
+ font-family: inherit;
2969
+ font-size: 11px;
2970
+ font-weight: 800;
2971
+ cursor: pointer;
2972
+ }
2973
+ .di-plugin-variant-tools button:hover,
2974
+ .di-plugin-variant-tools button:focus-visible {
2975
+ text-decoration: underline;
2976
+ outline: none;
2977
+ }
2978
+ .di-plugin-variant-grid {
2979
+ display: grid;
2980
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2981
+ gap: 6px;
2982
+ min-width: 0;
2983
+ }
2984
+ .di-plugin-variant-card {
2985
+ position: relative;
2986
+ display: grid;
2987
+ grid-template-columns: 22px minmax(0, 1fr);
2988
+ align-items: center;
2989
+ column-gap: 7px;
2990
+ row-gap: 4px;
2991
+ min-width: 0;
2992
+ min-height: 52px;
2993
+ border: 1px solid #e5e7eb;
2994
+ border-radius: 9px;
2995
+ background: #fff;
2996
+ color: #111827;
2997
+ padding: 7px 8px;
2998
+ font-family: inherit;
2999
+ text-align: left;
3000
+ cursor: pointer;
3001
+ transition:
3002
+ background 0.12s,
3003
+ border-color 0.12s,
3004
+ color 0.12s,
471
3005
  box-shadow 0.12s;
472
3006
  }
473
- .di-section-icon-action:hover,
474
- .di-section-icon-action:focus-visible {
3007
+ .di-plugin-variant-card:hover,
3008
+ .di-plugin-variant-card:focus-visible {
3009
+ border-color: #c4b5fd;
3010
+ outline: none;
3011
+ }
3012
+ .di-plugin-variant-card--on {
3013
+ border-color: #c4b5fd;
3014
+ background: #faf5ff;
3015
+ box-shadow: inset 0 0 0 1px #c4b5fd;
3016
+ }
3017
+ .di-plugin-variant-swatch {
3018
+ width: 22px;
3019
+ height: 22px;
3020
+ border-radius: 7px;
3021
+ background: #f8fafc;
3022
+ border: 1px solid #e2e8f0;
3023
+ }
3024
+ .di-plugin-variant-swatch--brand {
3025
+ background:
3026
+ linear-gradient(
3027
+ 135deg,
3028
+ #7c3aed,
3029
+ #6d5dfc);
3030
+ }
3031
+ .di-plugin-variant-swatch--compact {
3032
+ background:
3033
+ linear-gradient(
3034
+ 135deg,
3035
+ #fff,
3036
+ #eef2ff);
3037
+ }
3038
+ .di-plugin-variant-swatch--floating {
3039
+ background: #fff;
3040
+ box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
3041
+ }
3042
+ .di-plugin-variant-swatch--emphasis {
3043
+ background: #111827;
3044
+ }
3045
+ .di-plugin-variant-swatch--success {
3046
+ background: #bbf7d0;
3047
+ border-color: #86efac;
3048
+ }
3049
+ .di-plugin-variant-swatch--warning {
3050
+ background: #fef3c7;
3051
+ border-color: #fde68a;
3052
+ }
3053
+ .di-plugin-variant-swatch--danger {
3054
+ background: #fee2e2;
3055
+ border-color: #fecaca;
3056
+ }
3057
+ .di-plugin-variant-swatch--disabled {
3058
+ background: #f1f5f9;
3059
+ border-color: #e2e8f0;
3060
+ opacity: 0.72;
3061
+ }
3062
+ .di-plugin-variant-swatch--size {
3063
+ background:
3064
+ linear-gradient(
3065
+ 90deg,
3066
+ transparent 0 5px,
3067
+ #7c3aed 5px 9px,
3068
+ transparent 9px 13px,
3069
+ #7c3aed 13px 17px,
3070
+ transparent 17px),
3071
+ #faf5ff;
3072
+ }
3073
+ .di-plugin-variant-card-copy {
3074
+ display: grid;
3075
+ gap: 1px;
3076
+ min-width: 0;
3077
+ }
3078
+ .di-plugin-variant-card-copy strong {
3079
+ color: #7c3aed;
3080
+ font-size: 12px;
3081
+ font-weight: 850;
3082
+ line-height: 1.15;
3083
+ overflow: hidden;
3084
+ text-overflow: ellipsis;
3085
+ white-space: nowrap;
3086
+ }
3087
+ .di-plugin-variant-card-copy span {
3088
+ color: #64748b;
3089
+ font-size: 10.5px;
3090
+ font-weight: 700;
3091
+ line-height: 1.15;
3092
+ overflow: hidden;
3093
+ text-overflow: ellipsis;
3094
+ white-space: nowrap;
3095
+ }
3096
+ .di-plugin-variant-card-desc {
3097
+ grid-column: 1 / -1;
3098
+ color: #94a3b8;
3099
+ font-size: 10.5px;
3100
+ font-weight: 650;
3101
+ line-height: 1.2;
3102
+ overflow: hidden;
3103
+ text-overflow: ellipsis;
3104
+ white-space: nowrap;
3105
+ }
3106
+ .di-plugin-variant-sandbox {
3107
+ display: grid;
3108
+ gap: 8px;
3109
+ min-width: 0;
3110
+ }
3111
+ .di-plugin-control-card--variant-flow {
3112
+ gap: 8px;
3113
+ }
3114
+ .di-plugin-variant-workflow {
3115
+ display: grid;
3116
+ gap: 8px;
3117
+ min-width: 0;
3118
+ }
3119
+ .di-plugin-library-row,
3120
+ .di-plugin-sandbox-row,
3121
+ .di-plugin-selected-variants {
3122
+ display: grid;
3123
+ grid-template-columns: max-content minmax(0, 1fr);
3124
+ align-items: center;
3125
+ gap: 8px;
3126
+ min-width: 0;
3127
+ }
3128
+ .di-plugin-library-pills,
3129
+ .di-plugin-sandbox-options,
3130
+ .di-plugin-selected-chip-row {
3131
+ display: flex;
3132
+ flex-wrap: wrap;
3133
+ align-items: center;
3134
+ gap: 6px;
3135
+ min-width: 0;
3136
+ }
3137
+ .di-plugin-library-pill,
3138
+ .di-plugin-sandbox-option,
3139
+ .di-plugin-selected-chip {
3140
+ min-width: 0;
3141
+ height: 28px;
3142
+ border: 1px solid #e5e7eb;
3143
+ border-radius: 8px;
3144
+ background: #fff;
3145
+ color: #334155;
3146
+ padding: 0 9px;
3147
+ font-family: inherit;
3148
+ font-size: 12px;
3149
+ font-weight: 800;
3150
+ line-height: 1;
3151
+ cursor: pointer;
3152
+ }
3153
+ .di-plugin-library-pill {
3154
+ max-width: 128px;
3155
+ overflow: hidden;
3156
+ text-overflow: ellipsis;
3157
+ white-space: nowrap;
3158
+ }
3159
+ .di-plugin-library-pill:hover,
3160
+ .di-plugin-library-pill:focus-visible,
3161
+ .di-plugin-sandbox-option:hover,
3162
+ .di-plugin-sandbox-option:focus-visible,
3163
+ .di-plugin-selected-chip:hover,
3164
+ .di-plugin-selected-chip:focus-visible {
3165
+ border-color: #c4b5fd;
3166
+ outline: none;
3167
+ }
3168
+ .di-plugin-library-pill--on,
3169
+ .di-plugin-sandbox-option--on {
3170
+ border-color: #c4b5fd;
3171
+ background: #f5f3ff;
3172
+ color: #7c3aed;
3173
+ }
3174
+ .di-plugin-sandbox-option--preview {
3175
+ box-shadow: inset 0 0 0 1px #a78bfa;
3176
+ }
3177
+ .di-plugin-live-preview {
3178
+ display: grid;
3179
+ gap: 7px;
3180
+ min-width: 0;
3181
+ padding: 8px;
3182
+ border-radius: 10px;
3183
+ background: #fff;
3184
+ border: 1px solid #e5e7eb;
3185
+ }
3186
+ .di-plugin-live-preview--floating {
3187
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
3188
+ }
3189
+ .di-plugin-live-preview--emphasis {
3190
+ background: #f8fafc;
3191
+ border-color: #cbd5e1;
3192
+ }
3193
+ .di-plugin-live-preview--brand {
3194
+ border-color: #c4b5fd;
3195
+ background: #faf5ff;
3196
+ }
3197
+ .di-plugin-live-preview--compact {
3198
+ padding: 6px;
3199
+ }
3200
+ .di-plugin-live-preview--disabled {
3201
+ opacity: 0.72;
3202
+ }
3203
+ .di-plugin-live-preview-head,
3204
+ .di-plugin-live-base,
3205
+ .di-plugin-preview-meta {
3206
+ display: flex;
3207
+ align-items: center;
3208
+ justify-content: space-between;
3209
+ gap: 8px;
3210
+ min-width: 0;
3211
+ }
3212
+ .di-plugin-real-preview-frame {
3213
+ min-width: 0;
3214
+ max-height: 180px;
3215
+ overflow: hidden;
3216
+ border-radius: 9px;
3217
+ background: #fff;
3218
+ }
3219
+ .di-plugin-real-preview-inner {
3220
+ min-width: 0;
3221
+ padding: 8px;
3222
+ overflow: hidden;
3223
+ }
3224
+ .di-plugin-real-preview-inner > * {
3225
+ max-width: 100%;
3226
+ margin-left: 0 !important;
3227
+ margin-right: 0 !important;
3228
+ pointer-events: none;
3229
+ }
3230
+ .di-plugin-live-preview--compact .di-plugin-real-preview-inner {
3231
+ padding: 6px;
3232
+ }
3233
+ .di-plugin-preview-meta {
3234
+ color: #64748b;
3235
+ font-size: 11px;
3236
+ font-weight: 750;
3237
+ }
3238
+ .di-plugin-preview-meta strong {
3239
+ min-width: 0;
3240
+ color: #7c3aed;
3241
+ overflow: hidden;
3242
+ text-overflow: ellipsis;
3243
+ white-space: nowrap;
3244
+ }
3245
+ .di-plugin-live-card {
3246
+ display: grid;
3247
+ grid-template-columns: 24px minmax(0, 1fr);
3248
+ align-items: center;
3249
+ column-gap: 8px;
3250
+ row-gap: 3px;
3251
+ min-width: 0;
3252
+ min-height: 56px;
3253
+ padding: 8px;
3254
+ border-radius: 9px;
3255
+ background: #f8fafc;
3256
+ }
3257
+ .di-plugin-live-preview--compact .di-plugin-live-card {
3258
+ min-height: 46px;
3259
+ padding: 6px;
3260
+ }
3261
+ .di-plugin-live-preview--emphasis .di-plugin-live-card {
3262
+ background: #0f172a;
3263
+ }
3264
+ .di-plugin-live-card-copy {
3265
+ display: grid;
3266
+ gap: 1px;
3267
+ min-width: 0;
3268
+ }
3269
+ .di-plugin-live-card-copy strong {
3270
+ color: #7c3aed;
3271
+ font-size: 13px;
3272
+ font-weight: 850;
3273
+ line-height: 1.15;
3274
+ overflow: hidden;
3275
+ text-overflow: ellipsis;
3276
+ white-space: nowrap;
3277
+ }
3278
+ .di-plugin-live-preview--emphasis .di-plugin-live-card-copy strong {
3279
+ color: #fff;
3280
+ }
3281
+ .di-plugin-live-card-copy span,
3282
+ .di-plugin-live-card p,
3283
+ .di-plugin-live-base {
3284
+ color: #64748b;
3285
+ font-size: 11px;
3286
+ font-weight: 700;
3287
+ line-height: 1.2;
3288
+ }
3289
+ .di-plugin-live-preview--emphasis .di-plugin-live-card-copy span,
3290
+ .di-plugin-live-preview--emphasis .di-plugin-live-card p {
3291
+ color: #cbd5e1;
3292
+ }
3293
+ .di-plugin-live-card p {
3294
+ grid-column: 1 / -1;
3295
+ margin: 0;
3296
+ overflow: hidden;
3297
+ text-overflow: ellipsis;
3298
+ white-space: nowrap;
3299
+ }
3300
+ .di-plugin-live-base strong {
3301
+ min-width: 0;
3302
+ color: #111827;
3303
+ overflow: hidden;
3304
+ text-overflow: ellipsis;
3305
+ white-space: nowrap;
3306
+ }
3307
+ .di-plugin-sandbox-controls {
3308
+ display: grid;
3309
+ gap: 6px;
3310
+ min-width: 0;
3311
+ }
3312
+ .di-plugin-sandbox-controls--single .di-plugin-sandbox-row {
3313
+ align-items: center;
3314
+ }
3315
+ .di-plugin-sandbox-controls--single .di-plugin-sandbox-option {
3316
+ min-width: 54px;
3317
+ }
3318
+ .di-plugin-selected-variants {
3319
+ align-items: start;
3320
+ }
3321
+ .di-plugin-selected-chip {
3322
+ color: #7c3aed;
3323
+ }
3324
+ .di-plugin-selected-variants .di-plugin-variant-tools {
3325
+ grid-column: 2;
3326
+ justify-content: flex-start;
3327
+ }
3328
+ .di-plugin-actions {
3329
+ display: flex;
3330
+ flex-wrap: wrap;
3331
+ gap: 6px;
3332
+ align-items: center;
3333
+ }
3334
+ .di-plugin-action {
3335
+ justify-self: start;
3336
+ height: 28px;
3337
+ border: 1px solid #e5e7eb;
3338
+ border-radius: 8px;
3339
+ background: #fff;
3340
+ color: #334155;
3341
+ padding: 0 10px;
3342
+ font-family: inherit;
3343
+ font-size: 12px;
3344
+ font-weight: 700;
3345
+ cursor: pointer;
3346
+ transition:
3347
+ background 0.12s,
3348
+ border-color 0.12s,
3349
+ color 0.12s;
3350
+ }
3351
+ .di-plugin-action:hover:not(:disabled),
3352
+ .di-plugin-action:focus-visible:not(:disabled) {
475
3353
  background: #faf5ff;
476
3354
  border-color: #c4b5fd;
477
3355
  color: #7c3aed;
478
3356
  outline: none;
479
- box-shadow: 0 1px 3px rgba(124, 58, 237, 0.12);
480
3357
  }
481
- .di-section-icon-action svg {
482
- width: 14px;
483
- height: 14px;
3358
+ .di-plugin-action:disabled {
3359
+ color: #cbd5e1;
3360
+ cursor: not-allowed;
484
3361
  }
485
- .di-section-icon-action--reset {
3362
+ .di-plugin-action--secondary {
486
3363
  color: #64748b;
487
3364
  }
488
3365
  .di-source-action {
@@ -578,54 +3455,170 @@
578
3455
  background: #faf5ff;
579
3456
  font-size: 11px;
580
3457
  line-height: 1.5;
581
- color: #6b7280;
3458
+ color: #94a3b8;
3459
+ }
3460
+ .di-component-card {
3461
+ display: flex;
3462
+ flex-direction: column;
3463
+ gap: 8px;
3464
+ padding: 10px 12px;
3465
+ border: 1px solid #e5e7eb;
3466
+ border-radius: 8px;
3467
+ background: #fff;
3468
+ box-sizing: border-box;
3469
+ }
3470
+ .di-component-head {
3471
+ display: flex;
3472
+ align-items: center;
3473
+ justify-content: space-between;
3474
+ gap: 10px;
3475
+ }
3476
+ .di-component-main {
3477
+ min-width: 0;
3478
+ display: flex;
3479
+ flex-direction: column;
3480
+ gap: 2px;
3481
+ }
3482
+ .di-component-name {
3483
+ min-width: 0;
3484
+ color: #111827;
3485
+ font-size: 14px;
3486
+ font-weight: 800;
3487
+ line-height: 1.25;
3488
+ overflow: hidden;
3489
+ text-overflow: ellipsis;
3490
+ white-space: nowrap;
3491
+ }
3492
+ .di-component-title-row {
3493
+ display: flex;
3494
+ align-items: center;
3495
+ gap: 8px;
3496
+ min-width: 0;
3497
+ }
3498
+ .di-component-meta-row {
3499
+ display: flex;
3500
+ align-items: center;
3501
+ justify-content: space-between;
3502
+ gap: 8px;
3503
+ }
3504
+ .di-component-meta-block {
3505
+ display: flex;
3506
+ flex-direction: column;
3507
+ gap: 6px;
3508
+ }
3509
+ .di-component-meta-toggle {
3510
+ height: 26px;
3511
+ padding: 0 9px;
3512
+ border: 1px solid #e5e7eb;
3513
+ border-radius: 7px;
3514
+ background: #fff;
3515
+ color: #64748b;
3516
+ font-family: inherit;
3517
+ font-size: 11px;
3518
+ font-weight: 800;
3519
+ cursor: pointer;
3520
+ display: inline-flex;
3521
+ align-items: center;
3522
+ gap: 6px;
3523
+ justify-self: end;
3524
+ transition:
3525
+ border-color 0.12s,
3526
+ background 0.12s,
3527
+ color 0.12s;
3528
+ }
3529
+ .di-component-meta-toggle:hover,
3530
+ .di-component-meta-toggle:focus-visible,
3531
+ .di-component-meta-toggle--on {
3532
+ border-color: #c4b5fd;
3533
+ background: #faf5ff;
3534
+ color: #7c3aed;
3535
+ outline: none;
3536
+ }
3537
+ .di-component-meta-toggle svg {
3538
+ transition: transform 0.12s ease;
3539
+ }
3540
+ .di-component-meta-toggle--on svg {
3541
+ transform: rotate(180deg);
3542
+ }
3543
+ .di-component-info-panel {
3544
+ margin: 0;
3545
+ padding: 0;
3546
+ border: none;
3547
+ border-radius: 0;
3548
+ background: transparent;
3549
+ display: flex;
3550
+ flex-direction: column;
3551
+ gap: 8px;
3552
+ }
3553
+ .di-component-info-row {
3554
+ display: grid;
3555
+ grid-template-columns: 48px minmax(0, 1fr);
3556
+ align-items: start;
3557
+ gap: 8px;
3558
+ }
3559
+ .di-component-info-row dt {
3560
+ color: #64748b;
3561
+ font-size: 11px;
3562
+ font-weight: 700;
3563
+ line-height: 1.35;
3564
+ }
3565
+ .di-component-info-row dd {
3566
+ margin: 0;
3567
+ min-width: 0;
3568
+ color: #111827;
3569
+ font-size: 12px;
3570
+ font-weight: 650;
3571
+ line-height: 1.35;
3572
+ word-break: break-word;
3573
+ }
3574
+ .di-component-info-elements {
3575
+ display: flex;
3576
+ flex-direction: column;
3577
+ gap: 8px;
582
3578
  }
583
- .di-component-card {
3579
+ .di-component-info-element-list {
584
3580
  display: flex;
585
3581
  flex-direction: column;
586
3582
  gap: 8px;
587
- padding: 10px 12px;
3583
+ }
3584
+ .di-component-info-element-card {
3585
+ padding: 8px;
588
3586
  border: 1px solid #e5e7eb;
589
- border-radius: 8px;
3587
+ border-radius: 7px;
590
3588
  background: #fff;
591
- box-sizing: border-box;
592
- }
593
- .di-component-head {
594
3589
  display: flex;
595
- align-items: center;
596
- justify-content: space-between;
597
- gap: 10px;
3590
+ flex-direction: column;
3591
+ gap: 7px;
598
3592
  }
599
- .di-component-main {
600
- min-width: 0;
3593
+ .di-component-info-element-head {
601
3594
  display: flex;
602
3595
  flex-direction: column;
603
3596
  gap: 2px;
604
3597
  }
605
- .di-component-name {
606
- min-width: 0;
3598
+ .di-component-info-element-label {
607
3599
  color: #111827;
608
- font-size: 14px;
3600
+ font-size: 12px;
609
3601
  font-weight: 800;
610
- line-height: 1.25;
611
- overflow: hidden;
612
- text-overflow: ellipsis;
613
- white-space: nowrap;
614
- }
615
- .di-component-meta-row {
616
- display: grid;
617
- grid-template-columns: repeat(2, minmax(0, 1fr));
618
- gap: 6px;
3602
+ line-height: 1.35;
619
3603
  }
620
- .di-component-meta-row span {
621
- min-width: 0;
622
- color: #64748b;
3604
+ .di-component-info-element-selector {
3605
+ color: #94a3b8;
623
3606
  font-size: 11px;
624
- font-weight: 600;
3607
+ font-weight: 650;
625
3608
  line-height: 1.35;
626
- overflow: hidden;
627
- text-overflow: ellipsis;
628
- white-space: nowrap;
3609
+ word-break: break-all;
3610
+ }
3611
+ .di-component-info-element-meta {
3612
+ margin: 0;
3613
+ display: flex;
3614
+ flex-direction: column;
3615
+ gap: 6px;
3616
+ }
3617
+ .di-component-info-inline {
3618
+ display: inline-flex;
3619
+ align-items: center;
3620
+ flex-wrap: wrap;
3621
+ gap: 6px;
629
3622
  }
630
3623
  .di-component-fields {
631
3624
  display: flex;
@@ -689,6 +3682,10 @@
689
3682
  .di-component-child-item--with-label {
690
3683
  grid-template-columns: auto minmax(0, 1fr) auto;
691
3684
  }
3685
+ .di-component-child-item:has(.di-component-child-variant-grid) {
3686
+ grid-template-columns: auto minmax(0, 1fr);
3687
+ align-items: start;
3688
+ }
692
3689
  .di-component-child-label {
693
3690
  color: #64748b;
694
3691
  font-size: 11px;
@@ -706,6 +3703,46 @@
706
3703
  text-overflow: ellipsis;
707
3704
  white-space: nowrap;
708
3705
  }
3706
+ .di-component-child-variant-grid {
3707
+ min-width: 0;
3708
+ display: grid;
3709
+ grid-template-columns: repeat(3, minmax(0, 1fr));
3710
+ gap: 6px;
3711
+ }
3712
+ .di-component-child-variant-tile {
3713
+ min-width: 0;
3714
+ min-height: 28px;
3715
+ padding: 0 8px;
3716
+ border: 0;
3717
+ border-radius: 6px;
3718
+ background: transparent;
3719
+ color: #64748b;
3720
+ font-family: inherit;
3721
+ font-size: 12px;
3722
+ font-weight: 750;
3723
+ line-height: 1.2;
3724
+ cursor: pointer;
3725
+ white-space: nowrap;
3726
+ overflow: hidden;
3727
+ text-overflow: ellipsis;
3728
+ transition:
3729
+ background 0.12s,
3730
+ color 0.12s,
3731
+ box-shadow 0.12s;
3732
+ }
3733
+ .di-component-child-variant-tile:hover,
3734
+ .di-component-child-variant-tile:focus-visible {
3735
+ background: #ede9fe;
3736
+ color: #7c3aed;
3737
+ outline: none;
3738
+ }
3739
+ .di-component-child-variant-tile--on,
3740
+ .di-component-child-variant-tile--on:hover,
3741
+ .di-component-child-variant-tile--on:focus-visible {
3742
+ background: #fff;
3743
+ color: #7c3aed;
3744
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
3745
+ }
709
3746
  .di-component-child-select {
710
3747
  height: 24px;
711
3748
  padding: 0 8px;
@@ -740,6 +3777,51 @@
740
3777
  .di-component-segment--tone {
741
3778
  grid-template-columns: repeat(3, minmax(0, 1fr));
742
3779
  }
3780
+ .di-component-variant-grid {
3781
+ min-width: 0;
3782
+ display: grid;
3783
+ grid-template-columns: repeat(3, minmax(0, 1fr));
3784
+ gap: 6px;
3785
+ padding: 8px;
3786
+ border: 1px solid #e5e7eb;
3787
+ border-radius: 8px;
3788
+ background: #f8fafc;
3789
+ box-sizing: border-box;
3790
+ }
3791
+ .di-component-variant-tile {
3792
+ min-width: 0;
3793
+ min-height: 32px;
3794
+ padding: 0 8px;
3795
+ border: 0;
3796
+ border-radius: 6px;
3797
+ background: transparent;
3798
+ color: #64748b;
3799
+ font-family: inherit;
3800
+ font-size: 12px;
3801
+ font-weight: 750;
3802
+ line-height: 1.2;
3803
+ cursor: pointer;
3804
+ white-space: nowrap;
3805
+ overflow: hidden;
3806
+ text-overflow: ellipsis;
3807
+ transition:
3808
+ background 0.12s,
3809
+ color 0.12s,
3810
+ box-shadow 0.12s;
3811
+ }
3812
+ .di-component-variant-tile:hover,
3813
+ .di-component-variant-tile:focus-visible {
3814
+ background: #ede9fe;
3815
+ color: #7c3aed;
3816
+ outline: none;
3817
+ }
3818
+ .di-component-variant-tile--on,
3819
+ .di-component-variant-tile--on:hover,
3820
+ .di-component-variant-tile--on:focus-visible {
3821
+ background: #fff;
3822
+ color: #7c3aed;
3823
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
3824
+ }
743
3825
  .di-component-segment-btn {
744
3826
  min-width: 0;
745
3827
  height: 26px;
@@ -1424,6 +4506,33 @@
1424
4506
  grid-template-columns: repeat(3, minmax(0, 1fr));
1425
4507
  row-gap: 6px;
1426
4508
  }
4509
+ .di-appearance-toolbar.di-container-toolbar--custom {
4510
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4511
+ gap: var(--di-control-gap-y) var(--di-control-gap-x);
4512
+ }
4513
+ .di-appearance-field {
4514
+ display: grid;
4515
+ grid-template-columns: max-content minmax(0, 1fr);
4516
+ align-items: center;
4517
+ gap: var(--di-field-label-gap);
4518
+ min-width: 0;
4519
+ }
4520
+ .di-appearance-field-label {
4521
+ align-self: center;
4522
+ color: #9ca3af;
4523
+ font-size: 10px;
4524
+ font-weight: 800;
4525
+ line-height: 1.2;
4526
+ white-space: nowrap;
4527
+ }
4528
+ .di-appearance-field .di-custom-select {
4529
+ min-width: 0;
4530
+ }
4531
+ .di-appearance-field .di-typography-control-wrap,
4532
+ .di-appearance-field .di-color-select,
4533
+ .di-appearance-field .di-typography-control {
4534
+ min-width: 0;
4535
+ }
1427
4536
  .di-border-control--width,
1428
4537
  .di-border-control--line,
1429
4538
  .di-border-control--radius {
@@ -1946,11 +5055,40 @@
1946
5055
  color: #6b7280;
1947
5056
  }
1948
5057
  .di-custom-bottom {
5058
+ --di-custom-color-control-height: 28px;
1949
5059
  border-top: 1px solid #f3f4f6;
1950
- padding: 8px 12px;
5060
+ margin: 0 -12px;
5061
+ padding: 12px;
5062
+ min-height: 52px;
1951
5063
  display: flex;
1952
5064
  align-items: center;
1953
5065
  gap: 6px;
5066
+ flex: 0 0 auto;
5067
+ box-sizing: border-box;
5068
+ }
5069
+ .di-custom-bottom .di-custom-color-trigger {
5070
+ box-sizing: border-box;
5071
+ width: var(--di-custom-color-control-height);
5072
+ height: var(--di-custom-color-control-height);
5073
+ border-radius: 6px;
5074
+ padding: 0;
5075
+ appearance: none;
5076
+ display: block;
5077
+ }
5078
+ .di-custom-bottom .di-custom-color-trigger:hover {
5079
+ transform: none;
5080
+ }
5081
+ .di-custom-color-input {
5082
+ position: absolute;
5083
+ width: 1px;
5084
+ height: 1px;
5085
+ opacity: 0;
5086
+ pointer-events: none;
5087
+ }
5088
+ .di-custom-bottom .di-field-wrap {
5089
+ box-sizing: border-box;
5090
+ height: var(--di-custom-color-control-height);
5091
+ border-radius: 6px;
1954
5092
  }
1955
5093
  .di-field-wrap {
1956
5094
  display: flex;
@@ -2084,15 +5222,24 @@
2084
5222
  border: 1px solid #e5e7eb;
2085
5223
  border-radius: 12px;
2086
5224
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
2087
- padding: 10px 12px 4px;
5225
+ padding: 12px 12px 0;
2088
5226
  min-width: 200px;
2089
5227
  max-width: 240px;
2090
5228
  max-height: 280px;
5229
+ display: flex;
5230
+ flex-direction: column;
5231
+ overflow: hidden;
5232
+ }
5233
+ .di-palette-scroll {
5234
+ min-height: 0;
2091
5235
  overflow-y: auto;
2092
5236
  }
2093
5237
  .di-palette-group {
2094
5238
  margin-bottom: 8px;
2095
5239
  }
5240
+ .di-palette-group--last {
5241
+ margin-bottom: 12px;
5242
+ }
2096
5243
  .di-palette-group-label {
2097
5244
  font-size: 10px;
2098
5245
  font-weight: 700;
@@ -2107,17 +5254,30 @@
2107
5254
  gap: 5px;
2108
5255
  }
2109
5256
  .di-palette-swatch {
2110
- width: 22px;
2111
- height: 22px;
2112
- border-radius: 5px;
2113
- border: 1px solid rgba(0, 0, 0, 0.15);
5257
+ box-sizing: border-box;
5258
+ width: 26px;
5259
+ height: 26px;
5260
+ border-radius: 7px;
5261
+ border: 0;
5262
+ background: transparent;
2114
5263
  cursor: pointer;
2115
- transition: transform 0.1s, box-shadow 0.1s;
5264
+ padding: 0;
5265
+ display: flex;
5266
+ align-items: center;
5267
+ justify-content: center;
5268
+ transition: box-shadow 0.1s, background 0.1s;
2116
5269
  flex-shrink: 0;
2117
5270
  }
2118
5271
  .di-palette-swatch:hover {
2119
- transform: scale(1.15);
2120
- box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
5272
+ background: #f8fafc;
5273
+ }
5274
+ .di-palette-swatch-fill {
5275
+ box-sizing: border-box;
5276
+ width: 22px;
5277
+ height: 22px;
5278
+ border-radius: 5px;
5279
+ border: 1px solid rgba(0, 0, 0, 0.15);
5280
+ flex: 0 0 auto;
2121
5281
  }
2122
5282
  .di-palette-none {
2123
5283
  width: 22px;
@@ -2143,8 +5303,11 @@
2143
5303
  transform-origin: center;
2144
5304
  }
2145
5305
  .di-palette-swatch--on {
2146
- outline: 2px solid #7c3aed;
2147
- outline-offset: 1px;
5306
+ box-shadow: inset 0 0 0 2px #7c3aed;
5307
+ }
5308
+ .di-palette-swatch--on:hover {
5309
+ background: transparent;
5310
+ box-shadow: inset 0 0 0 2px #7c3aed;
2148
5311
  }
2149
5312
  .di-layout-grid {
2150
5313
  display: grid;
@@ -3088,14 +6251,24 @@
3088
6251
  }
3089
6252
  .di-foot {
3090
6253
  display: flex;
6254
+ align-items: center;
3091
6255
  gap: 8px;
3092
6256
  padding: 8px 14px;
3093
6257
  border-top: 1px solid #f3f4f6;
3094
6258
  flex-shrink: 0;
3095
6259
  }
6260
+ .di-foot-secondary-actions {
6261
+ display: flex;
6262
+ align-items: center;
6263
+ flex: 0 0 auto;
6264
+ gap: 8px;
6265
+ min-width: 0;
6266
+ }
3096
6267
  .di-btn-cancel {
3097
- flex: 1;
3098
- padding: 7px 0;
6268
+ flex: 0 0 auto;
6269
+ min-width: 70px;
6270
+ height: 42px;
6271
+ padding: 0 10px;
3099
6272
  border-radius: 8px;
3100
6273
  border: 1px solid #e5e7eb;
3101
6274
  background: #fff;
@@ -3109,6 +6282,16 @@
3109
6282
  .di-btn-cancel:hover {
3110
6283
  background: #f9fafb;
3111
6284
  }
6285
+ .di-btn-maker {
6286
+ flex: 0 0 auto;
6287
+ color: #7c3aed;
6288
+ border-color: #c4b5fd;
6289
+ background: #faf5ff;
6290
+ white-space: nowrap;
6291
+ }
6292
+ .di-btn-maker:hover {
6293
+ background: #f3e8ff;
6294
+ }
3112
6295
  .di-btn-submit {
3113
6296
  flex: 1.3;
3114
6297
  padding: 7px 0;
@@ -3151,8 +6334,10 @@
3151
6334
  background: #ede9fe;
3152
6335
  }
3153
6336
  .di-btn-save {
3154
- flex: 1.6;
3155
- padding: 7px 12px;
6337
+ flex: 1 1 auto;
6338
+ min-width: 112px;
6339
+ height: 42px;
6340
+ padding: 0 16px;
3156
6341
  border-radius: 8px;
3157
6342
  border: none;
3158
6343
  background: #7c3aed;
@@ -3165,9 +6350,30 @@
3165
6350
  transition: background 0.12s;
3166
6351
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.3);
3167
6352
  }
6353
+ .di-foot > .di-btn-save {
6354
+ flex: 0 0 102px;
6355
+ width: 102px;
6356
+ min-width: 102px;
6357
+ padding: 0 12px;
6358
+ }
6359
+ .di-foot--without-maker > .di-btn-save {
6360
+ flex: 1 1 auto;
6361
+ width: auto;
6362
+ min-width: 112px;
6363
+ padding: 0 16px;
6364
+ }
3168
6365
  .di-btn-save:hover {
3169
6366
  background: #6d28d9;
3170
6367
  }
6368
+ .di-btn-save-content {
6369
+ display: inline-flex;
6370
+ align-items: center;
6371
+ justify-content: center;
6372
+ gap: 6px;
6373
+ width: 100%;
6374
+ min-width: 0;
6375
+ white-space: nowrap;
6376
+ }
3171
6377
  .di-section-title--spaced {
3172
6378
  margin-top: 16px;
3173
6379
  }
@@ -3410,6 +6616,54 @@
3410
6616
  grid-template-columns: 24px minmax(0, 1fr);
3411
6617
  padding-left: 3px;
3412
6618
  }
6619
+ .di-annotation-card {
6620
+ display: flex;
6621
+ flex-direction: column;
6622
+ gap: var(--di-control-gap-y);
6623
+ padding: var(--di-tool-row-padding-block) var(--di-tool-row-padding-inline);
6624
+ border-radius: 10px;
6625
+ background: #f8fafc;
6626
+ }
6627
+ .di-annotation-count {
6628
+ height: 20px;
6629
+ padding: 0 7px;
6630
+ border-radius: 999px;
6631
+ background: #ede9fe;
6632
+ color: #7c3aed;
6633
+ font-size: 10px;
6634
+ font-weight: 800;
6635
+ line-height: 20px;
6636
+ white-space: nowrap;
6637
+ }
6638
+ .di-annotation-textarea {
6639
+ width: 100%;
6640
+ min-width: 0;
6641
+ min-height: 58px;
6642
+ max-height: 128px;
6643
+ padding: 8px 9px;
6644
+ border: 1px solid #e5e7eb;
6645
+ border-radius: 7px;
6646
+ background: #fff;
6647
+ color: var(--di-text-body-color, #6b7280);
6648
+ font-family: inherit;
6649
+ font-size: var(--di-text-body-size, 12px);
6650
+ font-weight: var(--di-text-body-weight, 400);
6651
+ line-height: var(--di-text-body-line-height, 1.5);
6652
+ box-sizing: border-box;
6653
+ outline: none;
6654
+ resize: none;
6655
+ transition: border-color 0.12s, background 0.12s;
6656
+ }
6657
+ .di-annotation-textarea::placeholder {
6658
+ color: var(--di-text-meta-color, #94a3b8);
6659
+ font-size: var(--di-text-meta-size, 11px);
6660
+ font-weight: var(--di-text-meta-weight, 600);
6661
+ line-height: var(--di-text-meta-line-height, 1.35);
6662
+ }
6663
+ .di-annotation-textarea:focus {
6664
+ border-color: #a78bfa;
6665
+ background: #fff;
6666
+ }
3413
6667
  .di-layout-section .di-section-title,
3414
6668
  .di-shadow-section .di-section-title,
3415
6669
  .di-space-section .di-section-title {
@@ -3535,6 +6789,17 @@
3535
6789
  .di-border-control--radius {
3536
6790
  grid-template-columns: minmax(0, 1fr);
3537
6791
  }
6792
+ .di-border-control--radius {
6793
+ display: inline-flex;
6794
+ align-items: center;
6795
+ justify-content: flex-start;
6796
+ gap: 4px;
6797
+ }
6798
+ .di-border-control--radius .di-border-style-label,
6799
+ .di-border-control--radius .di-typography-control-value {
6800
+ flex: 0 0 auto;
6801
+ line-height: 1;
6802
+ }
3538
6803
  .di-typography-control--size-token,
3539
6804
  .di-typography-control--weight,
3540
6805
  .di-border-control--line {