testomatio-editor-blocks 0.4.0 → 0.4.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.
@@ -28,7 +28,7 @@
28
28
  --color-selection: #f4d35e;
29
29
 
30
30
  /* Semantic tokens - these reference the palette above */
31
- --text-primary: var(--color-slate-900);
31
+ --text-primary: #262626;
32
32
  --text-muted: rgba(15, 23, 42, 0.65);
33
33
 
34
34
  --border-light: rgba(15, 23, 42, 0.1);
@@ -44,22 +44,35 @@
44
44
  --bg-muted: rgba(15, 23, 42, 0.05);
45
45
 
46
46
  /* Step block colors */
47
- --step-border: rgba(59, 130, 246, 0.65);
48
- --step-bg: rgba(59, 130, 246, 0.12);
49
- --step-shadow: rgba(37, 99, 235, 0.08);
50
- --step-border-light: rgba(37, 99, 235, 0.25);
51
- --step-border-medium: rgba(37, 99, 235, 0.35);
52
- --step-border-strong: rgba(37, 99, 235, 0.55);
53
- --step-border-focus: rgba(37, 99, 235, 0.7);
54
- --step-bg-hover: rgba(59, 130, 246, 0.18);
55
- --step-bg-light: rgba(59, 130, 246, 0.1);
56
- --step-bg-button: rgba(37, 99, 235, 0.12);
57
- --step-bg-button-hover: rgba(37, 99, 235, 0.2);
58
- --step-focus-ring: rgba(59, 130, 246, 0.2);
59
- --step-focus-outline: rgba(37, 99, 235, 0.4);
60
- --step-underline: rgba(37, 99, 235, 0.7);
61
- --step-shadow-hover: rgba(37, 99, 235, 0.18);
62
- --step-shadow-focus: rgba(37, 99, 235, 0.2);
47
+ --step-card-bg: #f7f7f8;
48
+ --step-card-border: #e5e7eb;
49
+ --step-card-shadow: rgba(15, 23, 42, 0.06);
50
+ --step-input-border: #d1d5db;
51
+ --step-input-border-focus: #4f46e5;
52
+ --step-input-shadow: rgba(79, 70, 229, 0.25);
53
+ --step-text: #1f2937;
54
+ --step-muted: #6b7280;
55
+ --step-action: #374151;
56
+ --step-bg-button: #ffffff;
57
+ --step-bg-button-hover: #f3f4f6;
58
+ --step-border-focus: rgba(79, 70, 229, 0.4);
59
+ --step-border-light: rgba(15, 23, 42, 0.12);
60
+ --step-bg-light: rgba(15, 23, 42, 0.04);
61
+ --step-shadow-hover: rgba(15, 23, 42, 0.1);
62
+
63
+ /* Step timeline design tokens */
64
+ --step-number-size: 24px;
65
+ --step-number-bg: #e5e5e5;
66
+ --step-number-text: #0a0a0a;
67
+ --step-label-color: #404040;
68
+ --step-column-gap: 16px;
69
+ --step-section-gap: 16px;
70
+ --step-input-radius: 8px;
71
+ --step-input-border: #d4d4d4;
72
+ --step-input-border-focus: #4f46e5;
73
+ --snippet-dropdown-bg: #fafafa;
74
+ --snippet-content-bg: #fafafa;
75
+ --snippet-content-border: #e5e5e5;
63
76
 
64
77
  /* Snippet block colors */
65
78
  --snippet-border: rgba(16, 185, 129, 0.75);
@@ -176,70 +189,173 @@
176
189
  background: var(--status-blocked-bg);
177
190
  }
178
191
 
192
+ .bn-teststep,
193
+ .bn-teststep button,
194
+ .bn-teststep input,
195
+ .bn-teststep textarea,
196
+ .bn-teststep select {
197
+ font-family: "Inter", system-ui, -apple-system, sans-serif;
198
+ }
199
+
179
200
  .bn-teststep {
180
- border-radius: 0.85rem;
181
- border-left: 5px solid var(--step-border);
182
- background: var(--step-bg);
183
- padding: 0.85rem 1.1rem 1rem;
184
201
  display: grid;
185
- gap: 0.75rem;
202
+ grid-template-columns: var(--step-number-size) 1fr;
203
+ gap: 0 var(--step-column-gap);
186
204
  position: relative;
187
205
  width: 100%;
188
206
  }
189
207
 
190
208
  .bn-teststep::after {
191
- content: "";
192
- position: absolute;
193
- inset: 0;
194
- border-radius: inherit;
195
- pointer-events: none;
196
- box-shadow: 0 0 0 1px var(--step-shadow);
209
+ display: none;
210
+ }
211
+
212
+ .bn-block-content.ProseMirror-selectednode > .bn-teststep,
213
+ .ProseMirror-selectednode > .bn-block-content > .bn-teststep {
214
+ outline: none;
197
215
  }
198
216
 
199
217
  .bn-snippet {
200
- border-left-color: var(--snippet-border);
218
+ border-color: var(--snippet-border);
201
219
  background: var(--snippet-bg);
202
220
  }
203
221
 
204
222
  .bn-snippet::after {
205
- box-shadow: 0 0 0 1px var(--snippet-shadow);
223
+ box-shadow: none;
206
224
  }
207
225
 
208
- .bn-snippet .bn-teststep__toggle {
209
- border-color: rgba(16, 185, 129, 0.45);
210
- background: var(--snippet-bg-light);
226
+ .bn-snippet .bn-step-field__label {
211
227
  color: var(--color-accent-700);
212
228
  }
213
229
 
214
- .bn-snippet .bn-teststep__toggle:hover {
215
- background: var(--snippet-bg-hover);
216
- border-color: var(--snippet-border-strong);
217
- box-shadow: 0 0 0 1px var(--snippet-focus-ring);
230
+ .bn-teststep__timeline {
231
+ grid-row: 1 / -1;
232
+ display: flex;
233
+ flex-direction: column;
234
+ align-items: center;
235
+ gap: 10px;
236
+ padding-top: 2px;
218
237
  }
219
238
 
220
- .bn-snippet .bn-step-field__label {
221
- color: var(--color-accent-700);
239
+ .bn-teststep__line {
240
+ flex: 1;
241
+ width: 1px;
242
+ background: var(--step-number-bg);
222
243
  }
223
244
 
224
- .bn-snippet .bn-step-toolbar__button {
225
- border-color: var(--snippet-border-medium);
226
- color: var(--color-accent-700);
245
+ .bn-teststep__content {
246
+ display: flex;
247
+ flex-direction: column;
248
+ gap: var(--step-section-gap);
249
+ padding-bottom: 8px;
227
250
  }
228
251
 
229
- .bn-snippet .bn-step-toolbar__button:hover {
230
- background: var(--snippet-bg);
231
- border-color: var(--snippet-border-strong);
252
+ .bn-teststep__header + .bn-step-field {
253
+ margin-top: calc(8px - var(--step-section-gap));
254
+ }
255
+
256
+ .bn-teststep__header {
257
+ display: flex;
258
+ align-items: center;
259
+ justify-content: space-between;
260
+ gap: 1rem;
261
+ min-height: 28px;
232
262
  }
233
263
 
234
- .bn-snippet .bn-step-editor {
264
+ .bn-teststep__meta {
265
+ display: flex;
266
+ align-items: center;
267
+ gap: 0.75rem;
268
+ }
269
+
270
+ .bn-teststep__number {
271
+ width: var(--step-number-size);
272
+ height: var(--step-number-size);
273
+ border-radius: 999px;
274
+ background: var(--step-number-bg);
275
+ color: var(--step-number-text);
276
+ font-weight: 500;
277
+ font-size: 14px;
278
+ line-height: 20px;
279
+ display: inline-flex;
280
+ align-items: center;
281
+ justify-content: center;
282
+ flex-shrink: 0;
283
+ }
284
+
285
+ .bn-teststep__title {
286
+ font-size: 14px;
287
+ font-weight: 600;
288
+ line-height: 20px;
289
+ color: var(--step-label-color);
290
+ }
291
+
292
+ .bn-teststep__view-toggle {
293
+ border: none;
294
+ background: transparent;
295
+ width: 28px;
296
+ height: 28px;
297
+ padding: 0;
298
+ border-radius: 8px;
299
+ cursor: pointer;
300
+ display: inline-flex;
301
+ align-items: center;
302
+ justify-content: center;
303
+ opacity: 0;
304
+ transition:
305
+ background-color 120ms ease,
306
+ opacity 120ms ease;
307
+ }
308
+
309
+ .bn-teststep:hover .bn-teststep__view-toggle,
310
+ .bn-teststep__view-toggle:focus-visible {
311
+ opacity: 1;
312
+ }
313
+
314
+ .bn-teststep__view-toggle:hover {
315
+ background: var(--step-bg-button-hover);
316
+ }
317
+
318
+ .bn-teststep__view-toggle svg {
319
+ display: block;
320
+ color: #0a0a0a;
321
+ }
322
+
323
+ .bn-teststep__view-toggle--horizontal {
324
+ transform: rotate(90deg);
325
+ }
326
+
327
+ .bn-teststep__horizontal-fields {
328
+ display: flex;
329
+ gap: 16px;
330
+ }
331
+
332
+ .bn-teststep__horizontal-col {
333
+ flex: 1 0 0%;
334
+ min-width: 0;
335
+ display: flex;
336
+ flex-direction: column;
337
+ gap: 4px;
338
+ }
339
+
340
+ @media (max-width: 860px) {
341
+ .bn-teststep__horizontal-fields {
342
+ flex-direction: column;
343
+ }
344
+ }
345
+
346
+ .bn-snippet .bn-step-field__input {
235
347
  border-color: var(--snippet-border-light);
236
348
  }
237
349
 
238
- .bn-snippet .bn-step-editor.bn-step-editor--focused {
350
+ .bn-snippet .bn-step-field__input--focused {
239
351
  border-color: var(--snippet-border-focus);
240
352
  box-shadow: 0 0 0 3px var(--snippet-focus-ring);
241
353
  }
242
354
 
355
+ .bn-snippet .bn-step-toolbar__button {
356
+ color: var(--color-accent-700);
357
+ }
358
+
243
359
  .bn-snippet .bn-step-suggestions {
244
360
  border-color: var(--snippet-border-light);
245
361
  }
@@ -253,61 +369,217 @@
253
369
  color: rgba(15, 118, 110, 0.65);
254
370
  }
255
371
 
372
+ .bn-snippet {
373
+ display: flex;
374
+ flex-direction: column;
375
+ gap: 12px;
376
+ background: transparent;
377
+ border-color: transparent;
378
+ }
379
+
380
+ .bn-snippet__header {
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 20px;
384
+ }
385
+
386
+ .bn-snippet__label {
387
+ font-size: 14px;
388
+ font-weight: 600;
389
+ line-height: 20px;
390
+ color: var(--step-label-color);
391
+ flex-shrink: 0;
392
+ }
393
+
394
+ .bn-snippet-dropdown {
395
+ position: relative;
396
+ }
397
+
398
+ .bn-snippet-dropdown__trigger {
399
+ display: inline-flex;
400
+ align-items: center;
401
+ gap: 4px;
402
+ height: 28px;
403
+ padding: 0 8px 0 12px;
404
+ background: var(--snippet-dropdown-bg);
405
+ border: 1px solid var(--step-input-border);
406
+ border-radius: 8px;
407
+ cursor: pointer;
408
+ font-family: inherit;
409
+ font-size: 14px;
410
+ font-weight: 500;
411
+ line-height: 20px;
412
+ color: var(--step-label-color);
413
+ transition: border-color 120ms ease;
414
+ }
415
+
416
+ .bn-snippet-dropdown__trigger:hover {
417
+ border-color: var(--snippet-border-medium);
418
+ }
419
+
420
+ .bn-snippet-dropdown__chevron {
421
+ flex-shrink: 0;
422
+ width: 16px;
423
+ height: 16px;
424
+ color: #737373;
425
+ }
426
+
427
+ .bn-snippet-dropdown__text {
428
+ white-space: nowrap;
429
+ overflow: hidden;
430
+ text-overflow: ellipsis;
431
+ max-width: 200px;
432
+ }
433
+
434
+ /* Dropdown panel */
435
+ .bn-snippet-dropdown__panel {
436
+ position: absolute;
437
+ left: 0;
438
+ top: calc(100% + 4px);
439
+ width: 260px;
440
+ background: white;
441
+ border: 1px solid #e5e5e5;
442
+ border-radius: 8px;
443
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
444
+ z-index: 10;
445
+ display: flex;
446
+ flex-direction: column;
447
+ padding: 8px 0;
448
+ }
449
+
450
+ .bn-snippet-dropdown__search {
451
+ display: flex;
452
+ align-items: center;
453
+ gap: 8px;
454
+ height: 32px;
455
+ padding: 0 12px;
456
+ margin: 0 16px 12px;
457
+ border: 1px solid #d4d4d4;
458
+ border-radius: 6px;
459
+ transition: border-color 120ms ease;
460
+ }
461
+
462
+ .bn-snippet-dropdown__search:focus-within {
463
+ border-color: #6366f1;
464
+ }
465
+
466
+ .bn-snippet-dropdown__search-icon {
467
+ flex-shrink: 0;
468
+ width: 24px;
469
+ height: 24px;
470
+ color: #a4a4a4;
471
+ }
472
+
473
+ .bn-snippet-dropdown__search-input {
474
+ border: none;
475
+ outline: none;
476
+ background: transparent;
477
+ font-family: inherit;
478
+ font-size: 14px;
479
+ font-weight: 500;
480
+ line-height: normal;
481
+ color: var(--text-primary);
482
+ width: 100%;
483
+ padding: 0;
484
+ }
485
+
486
+ .bn-snippet-dropdown__search-input::placeholder {
487
+ color: #a4a4a4;
488
+ }
489
+
490
+ .bn-snippet-dropdown__list {
491
+ max-height: 252px;
492
+ overflow-y: auto;
493
+ border-top: 1px solid #e5e5e5;
494
+ }
495
+
496
+ .bn-snippet-dropdown__item {
497
+ display: flex;
498
+ align-items: center;
499
+ gap: 8px;
500
+ width: 100%;
501
+ height: 36px;
502
+ padding: 8px 16px;
503
+ border: none;
504
+ background: transparent;
505
+ font-family: inherit;
506
+ font-size: 14px;
507
+ font-weight: 400;
508
+ line-height: 20px;
509
+ color: var(--text-primary);
510
+ text-align: left;
511
+ cursor: pointer;
512
+ white-space: nowrap;
513
+ overflow: hidden;
514
+ text-overflow: ellipsis;
515
+ }
516
+
517
+ .bn-snippet-dropdown__item:hover {
518
+ background: var(--step-bg-light);
519
+ }
520
+
521
+ .bn-snippet-dropdown__empty {
522
+ padding: 8px 16px;
523
+ font-size: 14px;
524
+ color: var(--text-muted);
525
+ }
526
+
527
+ .bn-snippet__content {
528
+ background: var(--snippet-content-bg);
529
+ border: 1px solid var(--snippet-content-border);
530
+ border-radius: 8px;
531
+ padding: 10px 16px;
532
+ min-height: 92px;
533
+ font-size: 14px;
534
+ font-weight: 400;
535
+ line-height: 24px;
536
+ color: var(--text-primary);
537
+ white-space: pre-wrap;
538
+ word-break: break-word;
539
+ }
540
+
256
541
  .bn-snippet__empty {
257
542
  margin: 0;
258
543
  font-size: 0.9rem;
259
544
  color: var(--text-muted);
260
545
  }
261
546
 
262
- .bn-step-add {
263
- align-self: flex-start;
264
- margin-top: 0.25rem;
547
+ .bn-step-actions {
548
+ display: flex;
549
+ flex-wrap: wrap;
550
+ gap: 0.75rem;
551
+ align-items: center;
552
+ }
553
+
554
+ .bn-step-action-btn {
265
555
  border: none;
266
- background: var(--step-bg-button);
267
- color: var(--color-primary-700);
268
- font-weight: 600;
269
- font-size: 0.85rem;
270
- padding: 0.35rem 0.65rem;
271
- border-radius: 0.5rem;
556
+ background: transparent;
557
+ color: #404040;
558
+ font-weight: 500;
559
+ font-size: 14px;
560
+ line-height: 20px;
561
+ height: 28px;
562
+ padding: 0 12px 0 8px;
563
+ border-radius: 8px;
272
564
  cursor: pointer;
273
- transition:
274
- background-color 120ms ease,
275
- box-shadow 120ms ease;
565
+ display: inline-flex;
566
+ align-items: center;
567
+ gap: 8px;
568
+ transition: background-color 120ms ease;
276
569
  }
277
570
 
278
- .bn-step-add:hover {
571
+ .bn-step-action-btn:hover {
279
572
  background: var(--step-bg-button-hover);
280
- box-shadow: 0 0 0 1px var(--step-shadow-hover);
281
- }
282
-
283
- .bn-teststep__toggle {
284
- align-self: flex-start;
285
- padding: 0.35rem 0.6rem;
286
- border-radius: 0.5rem;
287
- border: 1px dashed rgba(37, 99, 235, 0.45);
288
- background: var(--step-bg-light);
289
- color: var(--color-primary-700);
290
- font-size: 0.75rem;
291
- font-weight: 700;
292
- letter-spacing: 0.06em;
293
- text-transform: uppercase;
294
- cursor: pointer;
295
- transition:
296
- background-color 120ms ease,
297
- border-color 120ms ease,
298
- box-shadow 120ms ease;
299
573
  }
300
574
 
301
- .bn-teststep__toggle:hover {
302
- background: var(--step-bg-hover);
303
- border-color: var(--step-border-strong);
304
- box-shadow: 0 0 0 1px var(--step-shadow-focus);
575
+ .bn-step-action-btn__icon {
576
+ flex-shrink: 0;
305
577
  }
306
578
 
307
579
  .bn-step-field {
308
580
  display: flex;
309
581
  flex-direction: column;
310
- gap: 0.35rem;
582
+ gap: 8px;
311
583
  position: relative;
312
584
  }
313
585
 
@@ -332,11 +604,10 @@
332
604
  display: inline-flex;
333
605
  align-items: center;
334
606
  gap: 0.35rem;
335
- font-size: 0.8rem;
336
- text-transform: uppercase;
337
- letter-spacing: 0.08em;
338
- font-weight: 700;
339
- color: var(--color-primary-700);
607
+ font-size: 14px;
608
+ font-weight: 600;
609
+ line-height: 20px;
610
+ color: var(--step-label-color);
340
611
  }
341
612
 
342
613
  .bn-step-field__label--toggle {
@@ -347,20 +618,46 @@
347
618
  text-decoration-line: underline;
348
619
  text-decoration-style: dashed;
349
620
  text-underline-offset: 0.2em;
350
- text-decoration-color: var(--step-underline);
621
+ text-decoration-color: var(--step-muted);
351
622
  }
352
623
 
353
624
  .bn-step-field__label--toggle:hover {
354
- color: var(--color-primary-900);
625
+ color: var(--step-text);
626
+ }
627
+
628
+ .bn-step-field__label-action {
629
+ display: inline-flex;
630
+ align-items: center;
631
+ }
632
+
633
+ .bn-step-field__dismiss {
634
+ border: none;
635
+ background: transparent;
636
+ color: #737373;
637
+ width: 28px;
638
+ height: 28px;
639
+ display: inline-flex;
640
+ align-items: center;
641
+ justify-content: center;
642
+ border-radius: 8px;
643
+ cursor: pointer;
644
+ padding: 0;
645
+ font-size: 16px;
646
+ line-height: 1;
647
+ }
648
+
649
+ .bn-step-field__dismiss:hover {
650
+ color: var(--step-text);
651
+ background: var(--step-bg-button-hover);
355
652
  }
356
653
 
357
654
  .bn-step-suggestions-toggle {
358
655
  width: 1.75rem;
359
656
  height: 1.75rem;
360
657
  border-radius: 0.4rem;
361
- border: 1px solid var(--step-border-medium);
658
+ border: 1px solid var(--step-border-light);
362
659
  background: transparent;
363
- color: var(--color-primary-700);
660
+ color: var(--step-text);
364
661
  font-weight: 700;
365
662
  font-size: 1rem;
366
663
  display: flex;
@@ -374,64 +671,80 @@
374
671
  }
375
672
 
376
673
  .bn-step-suggestions-toggle:hover {
377
- background: var(--step-bg-button);
378
- border-color: var(--step-border-strong);
674
+ background: var(--step-bg-button-hover);
675
+ border-color: rgba(15, 23, 42, 0.2);
379
676
  }
380
677
 
381
- .bn-step-field__label--toggle {
382
- cursor: pointer;
383
- display: inline-flex;
384
- align-items: center;
385
- gap: 0.35rem;
386
- text-decoration-line: underline;
387
- text-decoration-style: dashed;
388
- text-underline-offset: 0.2em;
389
- text-decoration-color: rgba(37, 99, 235, 0.7);
678
+ .bn-step-field__input {
679
+ position: relative;
680
+ border: 1px solid var(--step-input-border);
681
+ border-radius: var(--step-input-radius);
682
+ background: transparent;
683
+ display: flex;
684
+ flex-direction: column;
685
+ gap: 0.25rem;
686
+ overflow: visible;
687
+ transition:
688
+ border-color 120ms ease,
689
+ box-shadow 120ms ease,
690
+ outline-color 120ms ease;
390
691
  }
391
692
 
392
- .bn-step-field__label--toggle:hover {
393
- color: #1e3a8a;
693
+ .bn-step-field__input--multiline {
694
+ min-height: 80px;
695
+ }
696
+
697
+ .bn-step-field__input--focused {
698
+ border-color: var(--step-input-border-focus);
699
+ box-shadow: 0 0 0 1px var(--step-input-border-focus);
394
700
  }
395
701
 
396
702
  .bn-step-toolbar {
397
703
  display: flex;
398
- gap: 0.35rem;
704
+ align-items: center;
705
+ gap: 4px;
706
+ padding: 0 16px 4px;
707
+ }
708
+
709
+ .bn-step-toolbar__divider {
710
+ width: 1px;
711
+ align-self: stretch;
712
+ background: #e5e5e5;
713
+ margin: 4px;
399
714
  }
400
715
 
401
716
  .bn-step-toolbar__button {
402
- width: 2rem;
403
- height: 2rem;
404
- border-radius: 0.4rem;
405
- border: 1px solid var(--step-border-medium);
406
- background: var(--bg-white);
407
- color: var(--color-primary-700);
408
- font-weight: 700;
409
- font-size: 0.9rem;
410
- display: flex;
717
+ border: none;
718
+ background: transparent;
719
+ color: #0a0a0a;
720
+ width: 28px;
721
+ height: 28px;
722
+ border-radius: 8px;
723
+ display: inline-flex;
411
724
  align-items: center;
412
725
  justify-content: center;
413
726
  cursor: pointer;
414
- transition:
415
- background-color 120ms ease,
416
- border-color 120ms ease,
417
- box-shadow 120ms ease;
727
+ padding: 0;
728
+ font-weight: 600;
729
+ font-size: 14px;
418
730
  }
419
731
 
420
732
  .bn-step-toolbar__button:hover {
421
- background: var(--step-bg-button);
422
- border-color: var(--step-border-strong);
733
+ background: var(--step-bg-button-hover);
423
734
  }
424
735
 
425
736
  .bn-step-editor {
426
737
  position: relative;
427
738
  border-radius: 0.6rem;
428
- border: 1px solid var(--step-border-light);
429
- background: var(--bg-white-solid);
430
- transition:
431
- border-color 120ms ease,
432
- box-shadow 120ms ease;
739
+ border: none;
740
+ background: transparent;
741
+ transition: none;
433
742
  min-height: 2.5rem;
434
- font-size: 0.95rem;
743
+ font-family: "Inter", system-ui, -apple-system, sans-serif;
744
+ font-size: 14px;
745
+ font-weight: 400;
746
+ line-height: 20px;
747
+ color: #262626;
435
748
  overflow: hidden;
436
749
  }
437
750
 
@@ -441,8 +754,7 @@
441
754
 
442
755
  .bn-step-editor.bn-step-editor--focused {
443
756
  outline: none;
444
- border-color: var(--step-border-focus);
445
- box-shadow: 0 0 0 3px var(--step-focus-ring);
757
+ box-shadow: none;
446
758
  }
447
759
 
448
760
  .bn-step-editor .overtype-container {
@@ -456,14 +768,125 @@
456
768
 
457
769
  .bn-step-editor .overtype-wrapper .overtype-input,
458
770
  .bn-step-editor .overtype-wrapper .overtype-preview {
459
- padding: 0.5rem 0.75rem !important;
771
+ padding: 10px 12px !important;
460
772
  min-height: inherit !important;
773
+ background: transparent !important;
774
+ font-family: "Inter", system-ui, -apple-system, sans-serif !important;
775
+ font-size: inherit !important;
776
+ font-weight: inherit !important;
777
+ line-height: inherit !important;
778
+ }
779
+
780
+ .bn-step-editor .overtype-wrapper .overtype-input {
781
+ color: transparent !important;
782
+ caret-color: #262626 !important;
783
+ }
784
+
785
+ .bn-step-editor .overtype-wrapper .overtype-input.bn-step-caret-hidden {
786
+ caret-color: transparent !important;
787
+ }
788
+
789
+ .bn-step-editor .overtype-wrapper .overtype-preview {
790
+ color: inherit !important;
791
+ }
792
+
793
+ .bn-step-editor .overtype-wrapper textarea.overtype-input::placeholder {
794
+ color: #a1a1a1 !important;
795
+ font-weight: 400 !important;
796
+ opacity: 1 !important;
797
+ }
798
+
799
+ .bn-step-editor .overtype-wrapper textarea.overtype-input::-webkit-input-placeholder {
800
+ color: #a1a1a1 !important;
801
+ font-weight: 400 !important;
461
802
  }
462
803
 
463
804
  .bn-step-editor .overtype-wrapper .overtype-preview {
464
805
  color: var(--text-primary) !important;
465
806
  }
466
807
 
808
+ .bn-step-editor .overtype-wrapper .overtype-preview a.step-preview-link {
809
+ color: #4f46e5 !important;
810
+ text-decoration: underline !important;
811
+ pointer-events: none !important;
812
+ }
813
+
814
+ .bn-step-editor .overtype-wrapper .overtype-preview strong.step-preview-bold {
815
+ font-weight: bold !important;
816
+ color: inherit !important;
817
+ }
818
+
819
+ .bn-step-editor .overtype-wrapper .overtype-preview em.step-preview-italic {
820
+ font-style: italic !important;
821
+ color: inherit !important;
822
+ }
823
+
824
+ .bn-step-custom-caret {
825
+ display: none;
826
+ position: absolute;
827
+ width: 1px;
828
+ background: #262626;
829
+ z-index: 2;
830
+ pointer-events: none;
831
+ animation: bn-step-caret-blink 1s step-end infinite;
832
+ }
833
+
834
+ @keyframes bn-step-caret-blink {
835
+ 0%, 100% { opacity: 1; }
836
+ 50% { opacity: 0; }
837
+ }
838
+
839
+ .bn-step-link-tooltip {
840
+ display: flex;
841
+ align-items: center;
842
+ gap: 6px;
843
+ padding: 4px 8px;
844
+ background: #fff;
845
+ border: 1px solid var(--step-input-border, #d4d4d4);
846
+ border-radius: 8px;
847
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
848
+ font-size: 12px;
849
+ position: absolute;
850
+ z-index: 20;
851
+ bottom: calc(100% + 4px);
852
+ left: 0;
853
+ white-space: nowrap;
854
+ }
855
+
856
+ .bn-step-link-tooltip__url {
857
+ color: #6b7280;
858
+ max-width: 200px;
859
+ overflow: hidden;
860
+ text-overflow: ellipsis;
861
+ white-space: nowrap;
862
+ }
863
+
864
+ .bn-step-link-tooltip__btn {
865
+ display: inline-flex;
866
+ align-items: center;
867
+ gap: 4px;
868
+ padding: 2px 6px;
869
+ border: none;
870
+ background: transparent;
871
+ color: #4f46e5;
872
+ font-size: 12px;
873
+ cursor: pointer;
874
+ border-radius: 4px;
875
+ text-decoration: none;
876
+ }
877
+
878
+ .bn-step-link-tooltip__btn:hover {
879
+ background: rgba(79, 70, 229, 0.08);
880
+ }
881
+
882
+ .bn-step-link-tooltip__btn--danger {
883
+ color: #ef4444;
884
+ }
885
+
886
+ .bn-step-link-tooltip__btn--danger:hover {
887
+ background: rgba(239, 68, 68, 0.08);
888
+ }
889
+
467
890
  .bn-step-editor .overtype-wrapper .overtype-preview img {
468
891
  display: block;
469
892
  max-width: 100%;
@@ -477,7 +900,12 @@
477
900
  }
478
901
 
479
902
  .bn-step-field:focus-within .overtype-wrapper .overtype-input::selection {
480
- background-color: rgba(244, 211, 94, 0.4) !important; /* var(--color-selection) with opacity */
903
+ background-color: rgba(244, 211, 94, 0.4) !important;
904
+ }
905
+
906
+ /* Hide OverType's built-in link tooltip — we use our own */
907
+ .bn-step-editor .overtype-link-tooltip {
908
+ display: none !important;
481
909
  }
482
910
 
483
911
  .bn-step-images {
@@ -620,7 +1048,7 @@
620
1048
  .bn-step-suggestion__meta {
621
1049
  font-size: 0.75rem;
622
1050
  font-weight: 600;
623
- color: var(--text-muted);
1051
+ color: var(--step-muted);
624
1052
  }
625
1053
 
626
1054
  .bn-inline-image {