@likec4/styles 1.36.1 → 1.38.0

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.
Files changed (37) hide show
  1. package/dist/css/conditions.mjs +1 -1
  2. package/dist/css/css.mjs +1 -1
  3. package/dist/css/sva.mjs +9 -4
  4. package/dist/helpers.mjs +11 -22
  5. package/dist/jsx/create-style-context.d.ts +47 -0
  6. package/dist/jsx/create-style-context.mjs +94 -0
  7. package/dist/jsx/factory.mjs +5 -2
  8. package/dist/jsx/index.d.ts +1 -0
  9. package/dist/jsx/index.mjs +1 -0
  10. package/dist/jsx/is-valid-prop.mjs +1 -1
  11. package/dist/recipes/action-btn.d.ts +3 -0
  12. package/dist/recipes/compound-node.d.ts +33 -0
  13. package/dist/recipes/compound-node.mjs +39 -0
  14. package/dist/recipes/edge-action-btn.d.ts +3 -0
  15. package/dist/recipes/edge-label.d.ts +8 -1
  16. package/dist/recipes/edge-label.mjs +8 -1
  17. package/dist/recipes/element-node-data.d.ts +4 -1
  18. package/dist/recipes/element-node-data.mjs +1 -0
  19. package/dist/recipes/element-node-icon.d.ts +3 -0
  20. package/dist/recipes/element-shape-recipe.d.ts +33 -0
  21. package/dist/recipes/element-shape-recipe.mjs +29 -0
  22. package/dist/recipes/index.d.ts +2 -0
  23. package/dist/recipes/index.mjs +2 -0
  24. package/dist/recipes/likec4tag.d.ts +3 -0
  25. package/dist/recipes/markdown-block.d.ts +3 -0
  26. package/dist/recipes/navigation-link.d.ts +4 -1
  27. package/dist/recipes/navigation-link.mjs +1 -0
  28. package/dist/recipes/navigation-panel-action-icon.d.ts +3 -0
  29. package/dist/styles.css +886 -760
  30. package/dist/tokens/index.mjs +5 -5
  31. package/dist/types/conditions.d.ts +13 -9
  32. package/dist/types/jsx.d.ts +2 -1
  33. package/dist/types/prop-type.d.ts +4 -2
  34. package/dist/types/style-props.d.ts +9 -2
  35. package/package.json +6 -6
  36. package/preset.d.mts +23 -1
  37. package/preset.mjs +544 -86
package/dist/styles.css CHANGED
@@ -99,34 +99,39 @@
99
99
  --likec4-palette-relation-stroke: #3b82f6;
100
100
  --likec4-palette-relation-label: #60a5fa;
101
101
  --likec4-palette-relation-label-bg: #172554;
102
+ --likec4-palette-outline: var(--likec4-palette-loContrast);
102
103
  }
103
104
 
104
105
  @property --likec4-text-size {
105
106
  syntax: '<length> | <percentage>';
106
107
 
107
108
  inherits: false;
108
-
109
+
110
+ initial-value: initial;
109
111
  }
110
112
 
111
113
  @property --likec4-spacing {
112
114
  syntax: '<length> | <percentage>';
113
115
 
114
116
  inherits: false;
115
-
117
+
118
+ initial-value: initial;
116
119
  }
117
120
 
118
121
  @property --text-fz {
119
122
  syntax: '<length> | <percentage>';
120
123
 
121
124
  inherits: false;
122
-
125
+
126
+ initial-value: initial;
123
127
  }
124
128
 
125
129
  @property --likec4-icon-size {
126
130
  syntax: '<length> | <percentage>';
127
131
 
128
132
  inherits: false;
129
-
133
+
134
+ initial-value: initial;
130
135
  }
131
136
  }
132
137
 
@@ -357,11 +362,11 @@
357
362
  --durations-slower: 400ms;
358
363
  --durations-slowest: 500ms;
359
364
  --shadows-none: none;
360
- --shadows-xs: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.1);
361
- --shadows-sm: 0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 10px 15px -5px, rgba(0, 0, 0, 0.04) 0 7px 7px -5px;
362
- --shadows-md: 0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 20px 25px -5px, rgba(0, 0, 0, 0.04) 0 10px 10px -5px;
363
- --shadows-lg: 0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 28px 23px -7px, rgba(0, 0, 0, 0.04) 0 12px 12px -7px;
364
- --shadows-xl: 0 1px 3px rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 36px 28px -7px, rgba(0, 0, 0, 0.04) 0 17px 17px -7px;
365
+ --shadows-xs: 0 1px 3px rgb(0 0 0/5%), 0 1px 2px rgb(0 0 0/10%);
366
+ --shadows-sm: 0 1px 3px rgb(0 0 0/5%), 0 10px 15px -5px rgb(0 0 0/5%), 0 7px 7px -5px rgb(0 0 0/4%);
367
+ --shadows-md: 0 1px 3px rgb(0 0 0/5%), 0 20px 25px -5px rgb(0 0 0/5%), 0 10px 10px -5px rgb(0 0 0/4%);
368
+ --shadows-lg: 0 1px 3px rgb(0 0 0/5%), 0 28px 23px -7px rgb(0 0 0/5%), 0 12px 12px -7px rgb(0 0 0/4%);
369
+ --shadows-xl: 0 1px 3px rgb(0 0 0/5%), 0 36px 28px -7px rgb(0 0 0/5%), 0 17px 17px -7px rgb(0 0 0/4%);
365
370
  --breakpoints-xs: 36em;
366
371
  --breakpoints-sm: 48em;
367
372
  --breakpoints-md: 62em;
@@ -3286,6 +3291,16 @@
3286
3291
  --colors-likec4-panel-border: color-mix(in srgb, var(--colors-mantine-colors-default-border) 30%, transparent)
3287
3292
  }
3288
3293
 
3294
+ @keyframes indicatorOpacity {
3295
+ 0% {
3296
+ opacity: 0.9;
3297
+ }
3298
+
3299
+ 100% {
3300
+ opacity: 0.6;
3301
+ }
3302
+ }
3303
+
3289
3304
  @keyframes indicatorStrokeOpacity {
3290
3305
  0% {
3291
3306
  stroke-opacity: 0.8;
@@ -3325,19 +3340,29 @@
3325
3340
 
3326
3341
  .likec4-markdown-block {
3327
3342
  --text-fz: 1rem;
3328
- --typography-spacing: calc(0.75 * var(--text-fz) * var(--mantine-scale, 1));
3329
3343
  --text-fz-sm: calc(var(--text-fz) * var(--mantine-scale, 1) / 1.125);
3330
3344
  --text-fz-md: calc(var(--text-fz) * var(--mantine-scale, 1));
3345
+ --typography-spacing: calc(0.75 * var(--text-fz-md));
3331
3346
  --text-fw-headings: 600;
3332
- pointer-events: all;
3333
3347
  font-size: var(--text-fz-md);
3334
- padding-bottom: calc(.5 * var(--typography-spacing) + 1px);
3348
+ line-height: var(--mantine-line-height);
3349
+ }
3350
+
3351
+ [data-mantine-color-scheme="light"] .likec4-markdown-block {
3352
+ --code-background: var(--mantine-color-gray-2);
3353
+ --code-color: var(--mantine-color-black);
3354
+ }
3355
+
3356
+ [data-mantine-color-scheme="dark"] .likec4-markdown-block {
3357
+ --code-background: var(--mantine-color-dark-8);
3358
+ --code-color: var(--mantine-color-white);
3335
3359
  }
3336
3360
 
3337
3361
  .likec4-markdown-block :where(hr) {
3338
- margin: var(--typography-spacing);
3339
3362
  border: var(--borders-none);
3340
3363
  border-bottom: 1px solid;
3364
+ margin-top: calc(var(--typography-spacing) / 2);
3365
+ margin-bottom: calc(var(--typography-spacing) / 2);
3341
3366
  }
3342
3367
 
3343
3368
  [data-mantine-color-scheme="light"] .likec4-markdown-block :where(hr) {
@@ -3349,49 +3374,36 @@
3349
3374
  }
3350
3375
 
3351
3376
  .likec4-markdown-block :where(pre) {
3352
- padding: var(--mantine-spacing-xs);
3353
3377
  margin: var(--spacing-0);
3354
- border-radius: var(--mantine-radius-xs);
3355
- line-height: var(--mantine-line-height);
3378
+ padding-inline: var(--spacing-3);
3379
+ padding-block: var(--spacing-2);
3380
+ border-radius: var(--radii-sm);
3381
+ line-height: var(--mantine-line-height-xs);
3356
3382
  font-family: var(--mantine-font-family-monospace);
3357
3383
  font-size: var(--text-fz-sm);
3358
- margin-top: var(--mantine-spacing-md);
3359
- margin-bottom: var(--mantine-spacing-md);
3384
+ background-color: var(--code-background);
3385
+ color: var(--code-color);
3386
+ margin-top: var(--typography-spacing);
3387
+ margin-bottom: var(--typography-spacing);
3360
3388
  overflow-x: auto;
3361
3389
  }
3362
3390
 
3363
- .likec4-markdown-block :where(pre) :where(code) {
3364
- padding: var(--spacing-0);
3365
- border: 0;
3366
- border-radius: var(--radii-0);
3367
- background-color: var(--colors-transparent);
3368
- color: inherit;
3369
- }
3370
-
3371
- [data-mantine-color-scheme="light"] .likec4-markdown-block :where(pre) {
3372
- background-color: var(--colors-mantine-colors-gray\[0\]);
3373
- }
3374
-
3375
- [data-mantine-color-scheme="dark"] .likec4-markdown-block :where(pre) {
3376
- background-color: var(--colors-mantine-colors-dark\[8\]);
3377
- }
3378
-
3379
3391
  .likec4-markdown-block :where(code) {
3380
3392
  padding: 1px 4px;
3381
- border-radius: 2px;
3393
+ border-radius: var(--radii-xs);
3382
3394
  line-height: var(--line-heights-1);
3383
3395
  font-family: var(--mantine-font-family-monospace);
3384
3396
  font-size: var(--text-fz-sm);
3397
+ background-color: var(--code-background);
3398
+ color: var(--code-color);
3385
3399
  }
3386
3400
 
3387
- [data-mantine-color-scheme="light"] .likec4-markdown-block :where(code) {
3388
- background-color: var(--colors-mantine-colors-gray\[0\]);
3389
- color: mantine.colors.black;
3390
- }
3391
-
3392
- [data-mantine-color-scheme="dark"] .likec4-markdown-block :where(code) {
3393
- background-color: var(--colors-mantine-colors-dark\[5\]);
3394
- color: var(--colors-mantine-colors-white);
3401
+ .likec4-markdown-block :where(pre code) {
3402
+ padding: var(--spacing-0);
3403
+ border: 0;
3404
+ border-radius: var(--radii-0);
3405
+ background-color: var(--colors-transparent);
3406
+ color: inherit;
3395
3407
  }
3396
3408
 
3397
3409
  .likec4-markdown-block :where(blockquote) {
@@ -3399,15 +3411,14 @@
3399
3411
  padding: var(--spacing-xs);
3400
3412
  border-radius: var(--mantine-radius-sm);
3401
3413
  font-size: var(--text-fz-md);
3402
- line-height: var(--mantine-line-height);
3403
3414
  }
3404
3415
 
3405
3416
  [data-mantine-color-scheme="light"] .likec4-markdown-block :where(blockquote) {
3406
- background-color: var(--colors-mantine-colors-gray\[1\]);
3417
+ background-color: var(--mantine-color-gray-1);
3407
3418
  }
3408
3419
 
3409
3420
  [data-mantine-color-scheme="dark"] .likec4-markdown-block :where(blockquote) {
3410
- background-color: var(--colors-mantine-colors-dark\[5\]);
3421
+ background-color: var(--mantine-color-dark-5);
3411
3422
  }
3412
3423
 
3413
3424
  .likec4-markdown-block :where(blockquote):not(:first-child) {
@@ -3433,38 +3444,37 @@
3433
3444
  }
3434
3445
 
3435
3446
  .likec4-markdown-block :is(h1) {
3436
- font-size: calc(1.476 * var(--text-fz) * var(--mantine-scale, 1));
3447
+ font-size: calc(1.476 * var(--text-fz-md));
3437
3448
  font-weight: var(--text-fw-headings);
3438
3449
  }
3439
3450
 
3440
3451
  .likec4-markdown-block :is(h2) {
3441
- font-size: calc(1.383 * var(--text-fz) * var(--mantine-scale, 1));
3452
+ font-size: calc(1.383 * var(--text-fz-md));
3442
3453
  font-weight: var(--text-fw-headings);
3443
3454
  }
3444
3455
 
3445
3456
  .likec4-markdown-block :is(h3) {
3446
- font-size: calc(1.296 * var(--text-fz) * var(--mantine-scale, 1));
3457
+ font-size: calc(1.296 * var(--text-fz-md));
3447
3458
  font-weight: var(--text-fw-headings);
3448
3459
  }
3449
3460
 
3450
3461
  .likec4-markdown-block :is(h4) {
3451
- font-size: calc(1.215 * var(--text-fz) * var(--mantine-scale, 1));
3462
+ font-size: calc(1.215 * var(--text-fz-md));
3452
3463
  font-weight: var(--text-fw-headings);
3453
3464
  }
3454
3465
 
3455
3466
  .likec4-markdown-block :is(h5) {
3456
- font-size: calc(1.138 * var(--text-fz) * var(--mantine-scale, 1));
3467
+ font-size: calc(1.138 * var(--text-fz-md));
3457
3468
  font-weight: var(--text-fw-headings);
3458
3469
  }
3459
3470
 
3460
3471
  .likec4-markdown-block :is(h6) {
3461
- font-size: calc(1.067 * var(--text-fz) * var(--mantine-scale, 1));
3472
+ font-size: calc(1.067 * var(--text-fz-md));
3462
3473
  font-weight: var(--text-fw-headings);
3463
3474
  }
3464
3475
 
3465
3476
  .likec4-markdown-block :where(p) {
3466
3477
  font-size: var(--text-fz-md);
3467
- white-space: preserve-breaks;
3468
3478
  margin-top: var(--spacing-0);
3469
3479
  margin-bottom: var(--typography-spacing);
3470
3480
  }
@@ -3497,7 +3507,7 @@
3497
3507
  border-collapse: collapse;
3498
3508
  caption-side: bottom;
3499
3509
  width: 100%;
3500
- margin-bottom: var(--mantine-spacing-md);
3510
+ margin-bottom: var(--typography-spacing);
3501
3511
  }
3502
3512
 
3503
3513
  [data-mantine-color-scheme="light"] .likec4-markdown-block :where(table) {
@@ -3509,14 +3519,14 @@
3509
3519
  }
3510
3520
 
3511
3521
  .likec4-markdown-block :where(table) :where(th) {
3512
- padding: var(--mantine-spacing-xs) var(--mantine-spacing-xs);
3522
+ padding: var(--typography-spacing);
3513
3523
  text-align: left;
3514
3524
  font-weight: bold;
3515
3525
  font-size: var(--text-fz-sm);
3516
3526
  }
3517
3527
 
3518
3528
  .likec4-markdown-block :where(table) :where(td) {
3519
- padding: var(--mantine-spacing-xs) var(--mantine-spacing-xs);
3529
+ padding: var(--typography-spacing);
3520
3530
  border-bottom: 1px solid;
3521
3531
  border-color: var(--table-border-color);
3522
3532
  font-size: var(--text-fz-sm);
@@ -3539,7 +3549,7 @@
3539
3549
  .likec4-markdown-block :where(table) :where(caption) {
3540
3550
  font-size: var(--text-fz-sm);
3541
3551
  color: var(--mantine-color-dimmed);
3542
- margin-top: var(--mantine-spacing-xs);
3552
+ margin-top: calc(.5 * var(--typography-spacing) + 1px);
3543
3553
  }
3544
3554
 
3545
3555
  .likec4-markdown-block :first-child {
@@ -3574,17 +3584,17 @@
3574
3584
  opacity: 0.75;
3575
3585
  }
3576
3586
 
3577
- :where([data-likec4-hovered="true"]) .action-btn {
3587
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .action-btn {
3578
3588
  --ai-bg: var(--actionbtn-bg-hovered);
3579
3589
  opacity: 1;
3580
3590
  color: var(--actionbtn-color-hovered);
3581
3591
  }
3582
3592
 
3583
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .action-btn {
3593
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .action-btn {
3584
3594
  display: none;
3585
3595
  }
3586
3596
 
3587
- :where([data-likec4-zoom-small]) .action-btn {
3597
+ :where([data-likec4-zoom-small="true"]) .action-btn {
3588
3598
  display: none;
3589
3599
  }
3590
3600
 
@@ -3598,6 +3608,177 @@
3598
3608
  color: var(--actionbtn-color-hovered-btn);
3599
3609
  }
3600
3610
 
3611
+ .likec4-compound-node {
3612
+ --_border-width: 3px;
3613
+ --_border-radius: 6px;
3614
+ --_compound-transparency: 100%;
3615
+ --_border-transparency: 100%;
3616
+ --_indicator-spacing: calc(var(--_border-width) + 2px);
3617
+ --_compound-color: var(--likec4-palette-loContrast);
3618
+ padding: var(--spacing-0);
3619
+ margin: var(--spacing-0);
3620
+ border-style: solid;
3621
+ border-width: var(--_border-width);
3622
+ border-radius: var(--_border-radius);
3623
+ position: relative;
3624
+ pointer-events: none;
3625
+ background-clip: padding-box;
3626
+ -webkit-background-clip: padding-box;
3627
+ box-sizing: border-box;
3628
+ color: var(--_compound-color);
3629
+ width: 100%;
3630
+ height: 100%;
3631
+ }
3632
+
3633
+ [data-mantine-color-scheme="light"] .likec4-compound-node {
3634
+ --likec4-palette-outline: color-mix(in srgb, var(--likec4-palette-stroke) 80%, var(--likec4-palette-hiContrast));
3635
+ }
3636
+
3637
+ [data-mantine-color-scheme="dark"] .likec4-compound-node {
3638
+ --likec4-palette-outline: color-mix(in srgb, var(--likec4-palette-stroke) 60%, var(--likec4-palette-hiContrast));
3639
+ }
3640
+
3641
+ .likec4-compound-node::after {
3642
+ border-style: solid;
3643
+ border-width: calc(var(--_border-width) + 1px);
3644
+ border-radius: calc(var(--_border-radius) + 4px);
3645
+ border-color: var(--likec4-palette-outline);
3646
+ position: absolute;
3647
+ content: " ";
3648
+ pointer-events: none;
3649
+ display: none;
3650
+ animation-duration: 1s;
3651
+ animation-iteration-count: infinite;
3652
+ animation-direction: alternate;
3653
+ animation-name: indicatorOpacity;
3654
+ animation-play-state: paused;
3655
+ top: calc(-1 * var(--_indicator-spacing));
3656
+ left: calc(-1 * var(--_indicator-spacing));
3657
+ width: calc(100% + 2 * var(--_indicator-spacing));
3658
+ height: calc(100% + 2 * var(--_indicator-spacing));
3659
+ }
3660
+
3661
+ :where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) .likec4-compound-node::after {
3662
+ display: block;
3663
+ animation-play-state: running;
3664
+ }
3665
+
3666
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-compound-node::after {
3667
+ display: block;
3668
+ animation-play-state: running;
3669
+ }
3670
+
3671
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .likec4-compound-node::after {
3672
+ animation-play-state: paused;
3673
+ }
3674
+
3675
+ .likec4-compound-node:has(.likec4-compound-navigation) .likec4-compound-title-container {
3676
+ padding-left: 24px;
3677
+ }
3678
+
3679
+ .likec4-compound-node .action-btn {
3680
+ --actionbtn-color: var(--_compound-color);
3681
+ --actionbtn-color-hovered: var(--_compound-color);
3682
+ --actionbtn-color-hovered-btn: color-mix(in srgb, var(--_compound-color) 80%, #fff);
3683
+ opacity: 0.6;
3684
+ }
3685
+
3686
+ .likec4-root:not([data-likec4-reduced-graphics]) .likec4-compound-node .action-btn {
3687
+ transition: all var(--durations-fast) var(--easings-in-out);
3688
+ }
3689
+
3690
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .likec4-compound-node .action-btn {
3691
+ opacity: 0.75;
3692
+ }
3693
+
3694
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-compound-node .action-btn {
3695
+ opacity: 0.75;
3696
+ }
3697
+
3698
+ .likec4-compound-node .action-btn:is(:hover, [data-hover]) {
3699
+ opacity: 1;
3700
+ }
3701
+
3702
+ .likec4-compound-node .likec4-compound-title-container {
3703
+ gap: var(--spacing-1\.5);
3704
+ position: absolute;
3705
+ display: flex;
3706
+ align-items: center;
3707
+ left: var(--spacing-2\.5);
3708
+ top: var(--spacing-0\.5);
3709
+ right: 30px;
3710
+ width: auto;
3711
+ min-height: 30px;
3712
+ }
3713
+
3714
+ :where(.react-flow__node.draggable) .likec4-compound-node .likec4-compound-title-container {
3715
+ pointer-events: all;
3716
+ cursor: grab;
3717
+ }
3718
+
3719
+ .likec4-compound-node .likec4-compound-title {
3720
+ flex: 1 1 0%;
3721
+ font-family: var(--fonts-likec4-compound);
3722
+ font-weight: 600;
3723
+ font-size: 15px;
3724
+ text-transform: uppercase;
3725
+ letter-spacing: 0.25px;
3726
+ line-height: var(--line-heights-1);
3727
+ color: var(--_compound-color);
3728
+ }
3729
+
3730
+ .likec4-compound-node .likec4-compound-icon {
3731
+ flex: 0 0 20px;
3732
+ display: flex;
3733
+ align-items: center;
3734
+ justify-content: center;
3735
+ mix-blend-mode: hard-light;
3736
+ height: 20px;
3737
+ width: 20px;
3738
+ }
3739
+
3740
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-compound-node .likec4-compound-icon {
3741
+ mix-blend-mode: normal;
3742
+ }
3743
+
3744
+ .likec4-compound-node .likec4-compound-icon svg,.likec4-compound-node .likec4-compound-icon img {
3745
+ pointer-events: none;
3746
+ filter: drop-shadow(0 0 3px rgb(0 0 0 / 12%))
3747
+ drop-shadow(0 1px 8px rgb(0 0 0 / 8%))
3748
+ drop-shadow(1px 1px 16px rgb(0 0 0 / 3%));
3749
+ width: 100%;
3750
+ height: auto;
3751
+ max-height: 100%;
3752
+ }
3753
+
3754
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-compound-node .likec4-compound-icon svg,.likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-compound-node .likec4-compound-icon img {
3755
+ filter: none;
3756
+ }
3757
+
3758
+ .likec4-compound-node .likec4-compound-icon img {
3759
+ object-fit: contain;
3760
+ }
3761
+
3762
+ .likec4-compound-node .likec4-compound-navigation {
3763
+ position: absolute;
3764
+ top: var(--spacing-1);
3765
+ left: var(--spacing-0\.5);
3766
+ }
3767
+
3768
+ :where([data-likec4-zoom-small="true"]) .likec4-compound-node .likec4-compound-navigation {
3769
+ display: none;
3770
+ }
3771
+
3772
+ .likec4-compound-node .likec4-compound-details {
3773
+ position: absolute;
3774
+ top: var(--spacing-0\.5);
3775
+ right: var(--spacing-0\.5);
3776
+ }
3777
+
3778
+ :where([data-likec4-zoom-small="true"]) .likec4-compound-node .likec4-compound-details {
3779
+ display: none;
3780
+ }
3781
+
3601
3782
  .likec4-edge-action-btn {
3602
3783
  --ai-bg: transparent;
3603
3784
  --ai-hover: color-mix(in srgb , var(--xy-edge-label-background-color), var(--colors-likec4-mix-color) 10%);
@@ -3611,7 +3792,7 @@
3611
3792
  translate: var(--translate-x) var(--translate-y);
3612
3793
  }
3613
3794
 
3614
- :where([data-likec4-hovered="true"]) .likec4-edge-action-btn {
3795
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .likec4-edge-action-btn {
3615
3796
  --ai-bg: var(--xy-edge-label-background-color);
3616
3797
  opacity: 1;
3617
3798
  }
@@ -3632,6 +3813,53 @@
3632
3813
  scale: 0.9;
3633
3814
  }
3634
3815
 
3816
+ .likec4-element-shape {
3817
+ overflow: visible;
3818
+ position: absolute;
3819
+ pointer-events: none;
3820
+ top: var(--spacing-0);
3821
+ left: var(--spacing-0);
3822
+ width: 100%;
3823
+ height: 100%;
3824
+ }
3825
+
3826
+ [data-mantine-color-scheme="light"] .likec4-element-shape {
3827
+ --likec4-palette-outline: color-mix(in srgb, var(--likec4-palette-stroke) 60%, var(--likec4-palette-hiContrast));
3828
+ }
3829
+
3830
+ [data-mantine-color-scheme="dark"] .likec4-element-shape {
3831
+ --likec4-palette-outline: color-mix(in srgb, var(--likec4-palette-stroke) 30%, var(--likec4-palette-loContrast));
3832
+ }
3833
+
3834
+ .likec4-element-shape .likec4-shape-outline {
3835
+ visibility: hidden;
3836
+ animation-play-state: paused;
3837
+ pointer-events: none;
3838
+ }
3839
+
3840
+ :where([data-likec4-zoom-small="true"]) .likec4-element-shape .likec4-shape-outline {
3841
+ visibility: hidden;
3842
+ }
3843
+
3844
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-element-shape .likec4-shape-outline {
3845
+ visibility: visible;
3846
+ animation-play-state: running;
3847
+ }
3848
+
3849
+ :where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) .likec4-element-shape .likec4-shape-outline {
3850
+ visibility: visible;
3851
+ animation-play-state: running;
3852
+ }
3853
+
3854
+ .group:is(:focus-visible, [data-focus-visible]) .likec4-element-shape .likec4-shape-outline {
3855
+ visibility: visible;
3856
+ animation-play-state: running;
3857
+ }
3858
+
3859
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .likec4-element-shape .likec4-shape-outline {
3860
+ animation-play-state: paused;
3861
+ }
3862
+
3635
3863
  .likec4-tag {
3636
3864
  transition: all var(--durations-fast) var(--easings-in-out);
3637
3865
  gap: 1px;
@@ -3672,7 +3900,7 @@
3672
3900
  width: var(--likec4-icon-size);
3673
3901
  }
3674
3902
 
3675
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .likec4-element-node-icon {
3903
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-element-node-icon {
3676
3904
  mix-blend-mode: normal;
3677
3905
  }
3678
3906
 
@@ -3684,7 +3912,7 @@
3684
3912
  max-height: 100%;
3685
3913
  }
3686
3914
 
3687
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .likec4-element-node-icon svg,.likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .likec4-element-node-icon img {
3915
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-element-node-icon svg,.likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-element-node-icon img {
3688
3916
  filter: none;
3689
3917
  }
3690
3918
 
@@ -3722,21 +3950,20 @@
3722
3950
  }
3723
3951
 
3724
3952
  .likec4-markdown-block--uselikec4palette_true {
3725
- --typography-spacing: calc(0.25rem * var(--mantine-scale, 1));
3953
+ --code-background: color-mix(in srgb , var(--likec4-palette-stroke) 70%, transparent);
3954
+ --code-color: var(--likec4-palette-loContrast);
3955
+ --typography-spacing: calc(0.5 * var(--text-fz-md));
3726
3956
  }
3727
3957
 
3728
3958
  .likec4-markdown-block--uselikec4palette_true :where(blockquote) {
3729
- padding: 2xs;
3959
+ padding: var(--spacing-xxs);
3730
3960
  --mix-backgroundColor: color-mix(in srgb, var(--likec4-palette-stroke) 65%, transparent);
3731
3961
  background-color: var(--mix-backgroundColor, var(--likec4-palette-stroke));
3732
3962
  }
3733
3963
 
3734
- .likec4-markdown-block--uselikec4palette_true :where(code) {
3964
+ .likec4-markdown-block--uselikec4palette_true :where(hr) {
3735
3965
  --mix-borderColor: color-mix(in srgb, var(--likec4-palette-stroke) 85%, transparent);
3736
3966
  border-color: var(--mix-borderColor, var(--likec4-palette-stroke));
3737
- color: var(--likec4-palette-loContrast);
3738
- --mix-backgroundColor: color-mix(in srgb, var(--likec4-palette-stroke) 70%, transparent);
3739
- background-color: var(--mix-backgroundColor, var(--likec4-palette-stroke));
3740
3967
  }
3741
3968
 
3742
3969
  .likec4-markdown-block--uselikec4palette_true :where(a) {
@@ -3757,11 +3984,15 @@
3757
3984
  --ai-radius: var(--mantine-radius-md);
3758
3985
  }
3759
3986
 
3987
+ .action-btn--variant_transparent {
3988
+ --actionbtn-bg-hovered: var(--actionbtn-bg-idle);
3989
+ }
3990
+
3760
3991
  .action-btn--variant_filled {
3761
3992
  box-shadow: 1px 1px 3px 0px transparent;
3762
3993
  }
3763
3994
 
3764
- :where([data-likec4-hovered="true"]) .action-btn--variant_filled {
3995
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .action-btn--variant_filled {
3765
3996
  box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.2);
3766
3997
  }
3767
3998
 
@@ -3769,124 +4000,350 @@
3769
4000
  box-shadow: var(--shadows-none);
3770
4001
  }
3771
4002
 
3772
- .action-btn--variant_transparent {
3773
- --actionbtn-bg-hovered: var(--actionbtn-bg-idle);
4003
+ .likec4-compound-node--borderStyle_dashed {
4004
+ border-style: dashed;
3774
4005
  }
3775
4006
 
3776
- .likec4-tag--autoTextColor_false > span {
3777
- color: var(--colors-likec4-tag-text);
4007
+ .likec4-compound-node--borderStyle_none {
4008
+ --_indicator-spacing: calc(var(--_border-width) * 2);
4009
+ border-color: var(--colors-transparent) !important;
4010
+ background-clip: border-box !important;
4011
+ -webkit-background-clip: border-box !important;
3778
4012
  }
3779
4013
 
3780
- .likec4-tag--autoTextColor_false > span:first-child {
3781
- opacity: 0.65;
4014
+ .likec4-compound-node--isTransparent_false {
4015
+ border-color: var(--likec4-palette-stroke);
4016
+ background-color: var(--likec4-palette-fill);
3782
4017
  }
3783
4018
 
3784
- .likec4-tag--autoTextColor_true > span {
3785
- background: inherit;
3786
- color: var(--colors-transparent);
3787
- filter: invert(1) grayscale(1) brightness(1.3) contrast(1000);
3788
- background-clip: text;
3789
- -webkit-background-clip: text;
3790
- mix-blend-mode: plus-lighter;
4019
+ .likec4-root:not([data-likec4-reduced-graphics]) .likec4-compound-node--isTransparent_false {
4020
+ box-shadow: 0 4px 10px 0.5px rgb(0 0 0/10%) , 0 2px 2px -1px rgb(0 0 0/40%);
3791
4021
  }
3792
4022
 
3793
- .hover\:likec4-tag--autoTextColor_true:is(:hover, [data-hover]) > span {
3794
- background: inherit;
3795
- color: var(--colors-transparent);
3796
- filter: invert(1) grayscale(1) brightness(1.3) contrast(1000);
3797
- background-clip: text;
3798
- -webkit-background-clip: text;
3799
- mix-blend-mode: plus-lighter;
4023
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-compound-node--isTransparent_false {
4024
+ box-shadow: var(--shadows-none);
3800
4025
  }
3801
4026
 
3802
- .hover\:likec4-tag--autoTextColor_false:is(:hover, [data-hover]) > span {
3803
- color: var(--colors-likec4-tag-text);
4027
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .likec4-compound-node--isTransparent_false {
4028
+ box-shadow: var(--shadows-none) !important;
3804
4029
  }
3805
4030
 
3806
- .hover\:likec4-tag--autoTextColor_false:is(:hover, [data-hover]) > span:first-child {
3807
- opacity: 0.65;
3808
- }
4031
+ .likec4-compound-node--isTransparent_true {
4032
+ border-color: color-mix(in srgb, var(--likec4-palette-stroke) var(--_border-transparency), transparent);
4033
+ background-color: color-mix(in srgb, var(--likec4-palette-fill) var(--_compound-transparency), transparent);
3809
4034
  }
3810
4035
 
3811
- @layer recipes.slots{
3812
- @layer _base{
3813
-
3814
- .likec4-navlink__root {
3815
- border-radius: var(--radii-sm);
3816
- padding-inline: var(--spacing-xs);
3817
- padding-block: var(--spacing-xxs);
4036
+ .likec4-compound-node--inverseColor_true {
4037
+ --_compound-color: var(--likec4-palette-stroke);
3818
4038
  }
3819
4039
 
3820
- .likec4-navlink__root:is(:hover, [data-hover]):not([data-active]) {
3821
- background-color: var(--colors-mantine-colors-gray\[1\]);
4040
+ [data-mantine-color-scheme="dark"] .likec4-compound-node--inverseColor_true {
4041
+ --_compound-color: color-mix(in srgb, var(--likec4-palette-loContrast) 60%, var(--likec4-palette-fill));
3822
4042
  }
3823
4043
 
3824
- [data-mantine-color-scheme="dark"] .likec4-navlink__root:is(:hover, [data-hover]):not([data-active]) {
3825
- background-color: var(--colors-mantine-colors-dark\[5\]);
4044
+ [data-mantine-color-scheme="dark"] .likec4-compound-node--inverseColor_true .action-btn {
4045
+ --actionbtn-color-hovered-btn: var(--likec4-palette-loContrast);
3826
4046
  }
3827
4047
 
3828
- .likec4-navlink__body {
3829
- gap: var(--spacing-0\.5);
3830
- display: flex;
3831
- flex-direction: column;
4048
+ [data-mantine-color-scheme="light"] .likec4-compound-node--inverseColor_true .action-btn {
4049
+ --actionbtn-color: var(--likec4-palette-stroke);
4050
+ --actionbtn-color-hovered: var(--likec4-palette-stroke);
4051
+ --actionbtn-color-hovered-btn: var(--likec4-palette-hiContrast);
4052
+ --actionbtn-bg-hovered: var(--likec4-palette-fill)/50;
4053
+ --actionbtn-bg-hovered-btn: var(--likec4-palette-fill);
3832
4054
  }
3833
4055
 
3834
- .likec4-navlink__section:where([data-position="left"]) {
3835
- margin-inline-end: var(--spacing-xxs);
4056
+ .likec4-compound-node--borderStyle_solid {
4057
+ border-style: solid;
3836
4058
  }
3837
4059
 
3838
- .likec4-navlink__label {
3839
- display: block;
3840
- font-size: var(--font-sizes-sm);
3841
- font-weight: 500;
3842
- line-height: 1.2;
4060
+ .likec4-compound-node--borderStyle_dotted {
4061
+ border-style: dotted;
3843
4062
  }
3844
4063
 
3845
- .likec4-navlink__description {
3846
- display: block;
3847
- font-size: var(--font-sizes-xxs);
3848
- line-height: 1.2;
4064
+ .likec4-element-shape--shapetype_html {
4065
+ --likec4-outline-size: 4px;
4066
+ border-radius: 6px;
4067
+ transition: background-color 120ms linear, box-shadow 130ms var(--easings-in-out);
4068
+ background-color: var(--likec4-palette-fill);
4069
+ box-shadow: 0 2px 1px 0 rgb(0 0 0 / 21%),0 1px 1px 0 color-mix(in srgb, var(--likec4-palette-stroke) 40%, transparent),0 5px 3px 0 rgb(0 0 0 / 10%);
4070
+ transition-delay: 0ms;
3849
4071
  }
3850
4072
 
3851
- .likec4-edge-label__root {
3852
- padding-block: var(--spacing-1);
3853
- padding-inline: var(--spacing-1\.5);
3854
- gap: var(--spacing-0\.5);
3855
- pointer-events: all;
3856
- font-family: var(--fonts-likec4-relation);
3857
- display: flex;
3858
- flex-direction: column;
3859
- align-items: center;
3860
- line-height: 1.2;
3861
- color: var(--xy-edge-label-color);
3862
- width: max-content;
3863
- max-width: 100%;
4073
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-element-shape--shapetype_html {
4074
+ transition: none;
3864
4075
  }
3865
4076
 
3866
- .likec4-edge-label__stepNumber {
3867
- padding: var(--spacing-1);
3868
- background: color-mix(in srgb, var(--likec4-palette-relation-label-bg), var(--colors-likec4-mix-color) 10%);
3869
- flex: 0 0 auto;
3870
- align-self: stretch;
3871
- font-weight: 600;
3872
- font-size: 14px;
3873
- text-align: center;
3874
- font-variant-numeric: tabular-nums;
3875
- min-width: 22px;
3876
- border-top-left-radius: 4px;
3877
- border-bottom-left-radius: 4px;
4077
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .likec4-element-shape--shapetype_html {
4078
+ box-shadow: 0 2px 1px 0 rgb(0 0 0 / 25%),0 8px 3px 0 rgb(0 0 0 / 10%),0 10px 10px 0 rgb(0 0 0 / 8%);
3878
4079
  }
3879
4080
 
3880
- [data-mantine-color-scheme="dark"] :where([data-likec4-color="gray"]) .likec4-edge-label__stepNumber {
3881
- background: color-mix(in srgb, var(--likec4-palette-relation-label-bg), var(--colors-likec4-mix-color) 15%);
4081
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-element-shape--shapetype_html {
4082
+ box-shadow: var(--shadows-none);
3882
4083
  }
3883
4084
 
3884
- .likec4-edge-label__labelContents {
3885
- display: contents;
4085
+ :where([data-likec4-zoom-small="true"]) .likec4-element-shape--shapetype_html {
4086
+ box-shadow: var(--shadows-none);
3886
4087
  }
3887
4088
 
3888
- .likec4-edge-label__labelContents:is(:empty, [data-empty]) {
3889
- display: none !important;
4089
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .likec4-element-shape--shapetype_html {
4090
+ box-shadow: var(--shadows-none);
4091
+ }
4092
+
4093
+ .likec4-element-shape--shapetype_html .likec4-shape-multiple {
4094
+ border-radius: 6px;
4095
+ position: absolute;
4096
+ content: " ";
4097
+ background-color: var(--likec4-palette-fill);
4098
+ z-index: -1;
4099
+ filter: brightness(0.65);
4100
+ visibility: visible;
4101
+ top: 14px;
4102
+ left: 14px;
4103
+ width: calc(100% - 6px);
4104
+ height: calc(100% - 6px);
4105
+ }
4106
+
4107
+ :where([data-likec4-zoom-small="true"]) .likec4-element-shape--shapetype_html .likec4-shape-multiple {
4108
+ visibility: hidden;
4109
+ }
4110
+
4111
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-element-shape--shapetype_html .likec4-shape-multiple {
4112
+ visibility: hidden;
4113
+ }
4114
+
4115
+ :where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) .likec4-element-shape--shapetype_html .likec4-shape-multiple {
4116
+ visibility: hidden;
4117
+ }
4118
+
4119
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-element-shape--shapetype_html .likec4-shape-multiple {
4120
+ visibility: hidden;
4121
+ }
4122
+
4123
+ .likec4-element-shape--shapetype_html .likec4-shape-outline {
4124
+ border-style: solid;
4125
+ border-width: var(--likec4-outline-size);
4126
+ border-radius: 10px;
4127
+ border-color: var(--likec4-palette-outline);
4128
+ position: absolute;
4129
+ content: " ";
4130
+ animation-duration: 1s;
4131
+ animation-iteration-count: infinite;
4132
+ animation-direction: alternate;
4133
+ animation-name: indicatorOpacity;
4134
+ top: calc(-1 * var(--likec4-outline-size));
4135
+ left: calc(-1 * var(--likec4-outline-size));
4136
+ width: calc(100% + 2 * var(--likec4-outline-size));
4137
+ height: calc(100% + 2 * var(--likec4-outline-size));
4138
+ }
4139
+
4140
+ .likec4-element-shape--shapetype_svg {
4141
+ transition: fill 120ms linear, filter 130ms var(--easings-in-out);
4142
+ fill: var(--likec4-palette-fill);
4143
+ stroke: var(--likec4-palette-stroke);
4144
+ transition-delay: 0ms;
4145
+ filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.21))
4146
+ drop-shadow(0 1px 1px color-mix(in srgb, var(--likec4-palette-stroke) 40%, transparent))
4147
+ drop-shadow(0 5px 3px rgba(0, 0, 0, 0.1));
4148
+ }
4149
+
4150
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .likec4-element-shape--shapetype_svg {
4151
+ filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.25))
4152
+ drop-shadow(0 8px 3px rgba(0, 0, 0, 0.1))
4153
+ drop-shadow(0 10px 10px rgba(0, 0, 0, 0.05));
4154
+ }
4155
+
4156
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-element-shape--shapetype_svg {
4157
+ filter: none;
4158
+ }
4159
+
4160
+ :where([data-likec4-zoom-small="true"]) .likec4-element-shape--shapetype_svg {
4161
+ filter: none;
4162
+ }
4163
+
4164
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .likec4-element-shape--shapetype_svg {
4165
+ filter: none;
4166
+ }
4167
+
4168
+ .likec4-element-shape--shapetype_svg [data-likec4-fill="fill"] {
4169
+ fill: var(--likec4-palette-fill);
4170
+ }
4171
+
4172
+ .likec4-element-shape--shapetype_svg [data-likec4-fill="stroke"] {
4173
+ fill: var(--likec4-palette-stroke);
4174
+ }
4175
+
4176
+ .likec4-element-shape--shapetype_svg [data-likec4-fill="mix-stroke"] {
4177
+ fill: color-mix(in srgb, var(--likec4-palette-stroke) 90%, var(--likec4-palette-fill));
4178
+ }
4179
+
4180
+ .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4181
+ transform-origin: 50% 50%;
4182
+ transform: translate(14px, 14px) perspective(300px) translateZ(-8px);
4183
+ filter: brightness(0.65);
4184
+ stroke: none;
4185
+ }
4186
+
4187
+ :where([data-likec4-shape='queue']) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4188
+ transform-origin: 75% 25%;
4189
+ }
4190
+
4191
+ :where([data-likec4-shape='cylinder']) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4192
+ transform-origin: 50% 100%;
4193
+ }
4194
+
4195
+ :where([data-likec4-shape='storage']) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4196
+ transform-origin: 50% 100%;
4197
+ }
4198
+
4199
+ :where([data-likec4-zoom-small="true"]) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4200
+ display: none;
4201
+ }
4202
+
4203
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4204
+ display: none;
4205
+ }
4206
+
4207
+ :where(.react-flow__node.selected, .react-flow__edge.selected) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4208
+ display: none;
4209
+ }
4210
+
4211
+ :where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) {
4212
+ display: none;
4213
+ }
4214
+
4215
+ .likec4-element-shape--shapetype_svg:is([data-likec4-shape-multiple="true"]) [data-likec4-fill="mix-stroke"] {
4216
+ fill: var(--likec4-palette-fill);
4217
+ }
4218
+
4219
+ .likec4-element-shape--shapetype_svg .likec4-shape-outline {
4220
+ stroke: var(--likec4-palette-outline);
4221
+ fill: none;
4222
+ stroke-width: 8;
4223
+ stroke-opacity: 0.8;
4224
+ animation-duration: 1s;
4225
+ animation-iteration-count: infinite;
4226
+ animation-direction: alternate;
4227
+ animation-name: indicatorStrokeOpacity;
4228
+ }
4229
+
4230
+ .likec4-tag--autoTextColor_false > span {
4231
+ color: var(--colors-likec4-tag-text);
4232
+ }
4233
+
4234
+ .likec4-tag--autoTextColor_false > span:first-child {
4235
+ opacity: 0.65;
4236
+ }
4237
+
4238
+ .likec4-tag--autoTextColor_true > span {
4239
+ background: inherit;
4240
+ color: var(--colors-transparent);
4241
+ filter: invert(1) grayscale(1) brightness(1.3) contrast(1000);
4242
+ background-clip: text;
4243
+ -webkit-background-clip: text;
4244
+ mix-blend-mode: plus-lighter;
4245
+ }
4246
+
4247
+ .hover\:likec4-tag--autoTextColor_true:is(:hover, [data-hover]) > span {
4248
+ background: inherit;
4249
+ color: var(--colors-transparent);
4250
+ filter: invert(1) grayscale(1) brightness(1.3) contrast(1000);
4251
+ background-clip: text;
4252
+ -webkit-background-clip: text;
4253
+ mix-blend-mode: plus-lighter;
4254
+ }
4255
+
4256
+ .hover\:likec4-tag--autoTextColor_false:is(:hover, [data-hover]) > span {
4257
+ color: var(--colors-likec4-tag-text);
4258
+ }
4259
+
4260
+ .hover\:likec4-tag--autoTextColor_false:is(:hover, [data-hover]) > span:first-child {
4261
+ opacity: 0.65;
4262
+ }
4263
+ }
4264
+
4265
+ @layer recipes.slots{
4266
+ @layer _base{
4267
+
4268
+ .likec4-navlink__root {
4269
+ border-radius: var(--radii-sm);
4270
+ padding-inline: var(--spacing-xs);
4271
+ padding-block: var(--spacing-xxs);
4272
+ }
4273
+
4274
+ .likec4-navlink__root:is(:hover, [data-hover]):not([data-active]) {
4275
+ background-color: var(--colors-mantine-colors-gray\[1\]);
4276
+ }
4277
+
4278
+ [data-mantine-color-scheme="dark"] .likec4-navlink__root:is(:hover, [data-hover]):not([data-active]) {
4279
+ background-color: var(--colors-mantine-colors-dark\[5\]);
4280
+ }
4281
+
4282
+ .likec4-navlink__body {
4283
+ gap: var(--spacing-0\.5);
4284
+ display: flex;
4285
+ flex-direction: column;
4286
+ }
4287
+
4288
+ .likec4-navlink__section:where([data-position="left"]) {
4289
+ margin-inline-end: var(--spacing-xxs);
4290
+ }
4291
+
4292
+ .likec4-navlink__label {
4293
+ display: block;
4294
+ font-size: var(--font-sizes-sm);
4295
+ font-weight: 500;
4296
+ line-height: 1.2;
4297
+ }
4298
+
4299
+ .likec4-navlink__description {
4300
+ display: block;
4301
+ font-size: var(--font-sizes-xxs);
4302
+ line-height: 1.2;
4303
+ }
4304
+
4305
+ .likec4-edge-label__root {
4306
+ background: var(--xy-edge-label-background-color);
4307
+ border: 0px solid transparent;
4308
+ padding-block: var(--spacing-1);
4309
+ padding-inline: var(--spacing-1\.5);
4310
+ gap: var(--spacing-0\.5);
4311
+ border-radius: 4px;
4312
+ pointer-events: all;
4313
+ font-family: var(--fonts-likec4-relation);
4314
+ display: flex;
4315
+ flex-direction: column;
4316
+ align-items: center;
4317
+ line-height: 1.2;
4318
+ color: var(--xy-edge-label-color);
4319
+ width: max-content;
4320
+ max-width: 100%;
4321
+ }
4322
+
4323
+ .likec4-edge-label__stepNumber {
4324
+ padding: var(--spacing-1);
4325
+ background: color-mix(in srgb, var(--likec4-palette-relation-label-bg), var(--colors-likec4-mix-color) 10%);
4326
+ flex: 0 0 auto;
4327
+ align-self: stretch;
4328
+ font-weight: 600;
4329
+ font-size: 14px;
4330
+ text-align: center;
4331
+ font-variant-numeric: tabular-nums;
4332
+ min-width: 22px;
4333
+ border-top-left-radius: 4px;
4334
+ border-bottom-left-radius: 4px;
4335
+ }
4336
+
4337
+ [data-mantine-color-scheme="dark"] :where([data-likec4-color="gray"]) .likec4-edge-label__stepNumber {
4338
+ background: color-mix(in srgb, var(--likec4-palette-relation-label-bg), var(--colors-likec4-mix-color) 15%);
4339
+ }
4340
+
4341
+ .likec4-edge-label__labelContents {
4342
+ display: contents;
4343
+ }
4344
+
4345
+ .likec4-edge-label__labelContents:is(:empty, [data-empty]) {
4346
+ display: none !important;
3890
4347
  }
3891
4348
 
3892
4349
  .likec4-edge-label__labelText {
@@ -4017,10 +4474,18 @@
4017
4474
  display: none;
4018
4475
  }
4019
4476
 
4020
- :where([data-likec4-zoom-small]) .likec4-el-node-data__description {
4477
+ :where([data-likec4-zoom-small="true"]) .likec4-el-node-data__description {
4021
4478
  display: none;
4022
4479
  }
4023
4480
 
4481
+ .likec4-el-node-data__description:not(.likec4-markdown-block) {
4482
+ white-space: preserve-breaks;
4483
+ }
4484
+
4485
+ .likec4-el-node-data__description a {
4486
+ pointer-events: all;
4487
+ }
4488
+
4024
4489
  .likec4-el-node-data__technology {
4025
4490
  flex: 0 0 auto;
4026
4491
  text-wrap: balance;
@@ -4035,7 +4500,7 @@
4035
4500
  opacity: 0.92;
4036
4501
  }
4037
4502
 
4038
- :where([data-likec4-hovered="true"]) .likec4-el-node-data__technology {
4503
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .likec4-el-node-data__technology {
4039
4504
  opacity: 1;
4040
4505
  }
4041
4506
 
@@ -4047,7 +4512,7 @@
4047
4512
  display: none;
4048
4513
  }
4049
4514
 
4050
- :where([data-likec4-zoom-small]) .likec4-el-node-data__technology {
4515
+ :where([data-likec4-zoom-small="true"]) .likec4-el-node-data__technology {
4051
4516
  display: none;
4052
4517
  }
4053
4518
  }
@@ -4059,6 +4524,14 @@
4059
4524
  width: 100%;
4060
4525
  }
4061
4526
 
4527
+ .likec4-edge-label__root--cursor_pointer {
4528
+ cursor: pointer;
4529
+ }
4530
+
4531
+ .likec4-edge-label__root--cursor_default {
4532
+ cursor: default;
4533
+ }
4534
+
4062
4535
  .likec4-edge-label__root--isStepEdge_true {
4063
4536
  padding: var(--spacing-0);
4064
4537
  gap: var(--spacing-1);
@@ -4105,36 +4578,31 @@
4105
4578
  background-color: var(--colors-likec4-panel-bg);
4106
4579
  }
4107
4580
 
4108
- :is(.likec4-root[data-likec4-diagram-panning]) .layerStyle_likec4\.panel {
4581
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .layerStyle_likec4\.panel {
4109
4582
  border-radius: var(--radii-0);
4110
- background-color: var(--colors-likec4-panel-bg-when-panning);
4111
4583
  box-shadow: var(--shadows-none);
4112
4584
  backdrop-filter: none;
4113
4585
  -webkit-backdrop-filter: none;
4114
4586
  }
4115
4587
 
4588
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .layerStyle_likec4\.panel {
4589
+ background-color: var(--colors-likec4-panel-bg-when-panning);
4590
+ }
4591
+
4116
4592
  .layerStyle_likec4\.dropdown {
4593
+ padding: var(--spacing-xxs);
4117
4594
  border: 1px solid var(--colors-likec4-dropdown-border);
4118
- padding-inline: 2xs;
4119
- padding-block: 2xs;
4120
4595
  border-radius: var(--radii-md);
4121
4596
  background-color: var(--colors-likec4-dropdown-bg);
4122
4597
  box-shadow: var(--shadows-lg);
4123
4598
  }
4124
4599
 
4125
- :is(.likec4-root[data-likec4-diagram-panning]) .layerStyle_likec4\.dropdown {
4600
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .layerStyle_likec4\.dropdown {
4126
4601
  border-radius: 0px;
4127
4602
  border-color: var(--colors-transparent);
4128
4603
  box-shadow: var(--shadows-none);
4129
4604
  }
4130
4605
 
4131
- .animationStyle_indicator {
4132
- animation-duration: 1s;
4133
- animation-iteration-count: infinite;
4134
- animation-direction: alternate;
4135
- animation-name: indicatorStrokeOpacity;
4136
- }
4137
-
4138
4606
  .layerStyle_likec4\.tag {
4139
4607
  border: var(--borders-none);
4140
4608
  border-radius: 3px;
@@ -4146,15 +4614,7 @@
4146
4614
  background-color: var(--colors-likec4-tag-bg-hover);
4147
4615
  }
4148
4616
 
4149
- :where([data-likec4-hovered="true"]) .whenHovered\:animationStyle_xyedgeAnimated {
4150
- animation-duration: 800ms;
4151
- animation-iteration-count: infinite;
4152
- animation-timing-function: linear;
4153
- animation-fill-mode: both;
4154
- animation-name: xyedgeAnimated;
4155
- }
4156
-
4157
- :where(.react-flow__edge.selected, [data-edge-active='true'], [data-edge-animated='true']) .\[\:where\(\.react-flow__edge\.selected\,_\[data-edge-active\=\'true\'\]\,_\[data-edge-animated\=\'true\'\]\)_\&\]\:animationStyle_xyedgeAnimated {
4617
+ .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:animationStyle_xyedgeAnimated {
4158
4618
  animation-duration: 800ms;
4159
4619
  animation-iteration-count: infinite;
4160
4620
  animation-timing-function: linear;
@@ -4162,13 +4622,6 @@
4162
4622
  animation-name: xyedgeAnimated;
4163
4623
  }
4164
4624
 
4165
- :where(.react-flow__node.selected, .react-flow__edge.selected) .whenSelected\:animationStyle_indicator {
4166
- animation-duration: 1s;
4167
- animation-iteration-count: infinite;
4168
- animation-direction: alternate;
4169
- animation-name: indicatorStrokeOpacity;
4170
- }
4171
-
4172
4625
  @container (min-width: 40rem) {
4173
4626
  .layerStyle_likec4\.panel {
4174
4627
  padding: 2xs;
@@ -4180,18 +4633,6 @@
4180
4633
  }
4181
4634
  }
4182
4635
 
4183
- .\--xy-background-color_transparent\! {
4184
- --xy-background-color: transparent !important;
4185
- }
4186
-
4187
- .\--xy-background-color_\{colors\.likec4\.background\} {
4188
- --xy-background-color: var(--colors-likec4-background);
4189
- }
4190
-
4191
- .\--xy-background-pattern-color_\{colors\.likec4\.background\.pattern\} {
4192
- --xy-background-pattern-color: var(--colors-likec4-background-pattern);
4193
- }
4194
-
4195
4636
  .\--mantine-cursor-pointer_pointer {
4196
4637
  --mantine-cursor-pointer: pointer;
4197
4638
  }
@@ -4200,6 +4641,14 @@
4200
4641
  --thickness: 1px;
4201
4642
  }
4202
4643
 
4644
+ .\--bleed-x_token\(spacing\.2\,_2\) {
4645
+ --bleed-x: var(--spacing-2, 2);
4646
+ }
4647
+
4648
+ .\--bleed-y_token\(spacing\.2\,_2\) {
4649
+ --bleed-y: var(--spacing-2, 2);
4650
+ }
4651
+
4203
4652
  .\--view-title-color_\{colors\.mantine\.colors\.dark\[1\]\} {
4204
4653
  --view-title-color: var(--colors-mantine-colors-dark\[1\]);
4205
4654
  }
@@ -4280,10 +4729,6 @@
4280
4729
  background: var(--colors-transparent);
4281
4730
  }
4282
4731
 
4283
- .bg_transparent\! {
4284
- background: var(--colors-transparent) !important;
4285
- }
4286
-
4287
4732
  .p_0 {
4288
4733
  padding: var(--spacing-0);
4289
4734
  }
@@ -4312,6 +4757,19 @@
4312
4757
  background: var(--colors-transparent);
4313
4758
  }
4314
4759
 
4760
+ .p_4 {
4761
+ padding: var(--spacing-4);
4762
+ }
4763
+
4764
+ .p_\[2px_4px\] {
4765
+ padding: 2px 4px;
4766
+ }
4767
+
4768
+ .bg_var\(--likec4-palette-fill\)\/30 {
4769
+ --mix-background: color-mix(in srgb, var(--likec4-palette-fill) 30%, transparent);
4770
+ background: var(--mix-background, var(--likec4-palette-fill));
4771
+ }
4772
+
4315
4773
  .m_xs {
4316
4774
  margin: var(--spacing-xs);
4317
4775
  }
@@ -4447,27 +4905,6 @@
4447
4905
  border: 2px dashed;
4448
4906
  }
4449
4907
 
4450
- .bg_\[var\(--xy-edge-label-background-color\)\] {
4451
- background: var(--xy-edge-label-background-color);
4452
- }
4453
-
4454
- .bd_0px_solid_transparent {
4455
- border: 0px solid transparent;
4456
- }
4457
-
4458
- .p_4 {
4459
- padding: var(--spacing-4);
4460
- }
4461
-
4462
- .p_\[2px_4px\] {
4463
- padding: 2px 4px;
4464
- }
4465
-
4466
- .bg_var\(--likec4-palette-fill\)\/30 {
4467
- --mix-background: color-mix(in srgb, var(--likec4-palette-fill) 30%, transparent);
4468
- background: var(--mix-background, var(--likec4-palette-fill));
4469
- }
4470
-
4471
4908
  .p_sm {
4472
4909
  padding: var(--spacing-sm);
4473
4910
  }
@@ -4557,22 +4994,66 @@
4557
4994
  gap: 10px;
4558
4995
  }
4559
4996
 
4997
+ .gap_3\.5 {
4998
+ gap: var(--spacing-3\.5);
4999
+ }
5000
+
5001
+ .mx_calc\(var\(--bleed-x\,_0\)_\*_-1\) {
5002
+ margin-inline: calc(var(--bleed-x, 0) * -1);
5003
+ }
5004
+
5005
+ .my_calc\(var\(--bleed-y\,_0\)_\*_-1\) {
5006
+ margin-block: calc(var(--bleed-y, 0) * -1);
5007
+ }
5008
+
5009
+ .py_2 {
5010
+ padding-block: var(--spacing-2);
5011
+ }
5012
+
5013
+ .px_2 {
5014
+ padding-inline: var(--spacing-2);
5015
+ }
5016
+
5017
+ .gap_1 {
5018
+ gap: var(--spacing-1);
5019
+ }
5020
+
4560
5021
  .gap_0\.5 {
4561
5022
  gap: var(--spacing-0\.5);
4562
5023
  }
4563
5024
 
5025
+ .gap_2 {
5026
+ gap: var(--spacing-2);
5027
+ }
5028
+
5029
+ .py_1\.5 {
5030
+ padding-block: var(--spacing-1\.5);
5031
+ }
5032
+
5033
+ .bd-l_2px_dotted {
5034
+ border-left: 2px dotted;
5035
+ }
5036
+
5037
+ .bdr_\[2px\] {
5038
+ border-radius: 2px;
5039
+ }
5040
+
4564
5041
  .px_xxs {
4565
5042
  padding-inline: var(--spacing-xxs);
4566
5043
  }
4567
5044
 
4568
- .gap_2 {
4569
- gap: var(--spacing-2);
4570
- }
4571
-
4572
5045
  .gap_md {
4573
5046
  gap: var(--spacing-md);
4574
5047
  }
4575
5048
 
5049
+ .ov_auto {
5050
+ overflow: auto;
5051
+ }
5052
+
5053
+ .ovs-b_contain {
5054
+ overscroll-behavior: contain;
5055
+ }
5056
+
4576
5057
  .my_md {
4577
5058
  margin-block: var(--spacing-md);
4578
5059
  }
@@ -4733,10 +5214,6 @@
4733
5214
  outline: var(--borders-none) !important;
4734
5215
  }
4735
5216
 
4736
- .gap_1 {
4737
- gap: var(--spacing-1);
4738
- }
4739
-
4740
5217
  .bdr_4px {
4741
5218
  border-radius: 4px;
4742
5219
  }
@@ -4769,38 +5246,6 @@
4769
5246
  padding-block: var(--spacing-xl);
4770
5247
  }
4771
5248
 
4772
- .bdr_var\(--_border-radius\,_4px\) {
4773
- border-radius: var(--_border-radius, 4px);
4774
- }
4775
-
4776
- .transition_all_250ms_\{easings\.inOut\} {
4777
- transition: all 250ms var(--easings-in-out);
4778
- }
4779
-
4780
- .border-style_dashed {
4781
- border-style: dashed;
4782
- }
4783
-
4784
- .bd-w_\[var\(--_border-width\,_2px\)\] {
4785
- border-width: var(--_border-width, 2px);
4786
- }
4787
-
4788
- .bd-c_\[color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)_var\(--_border-opacity-percent\,_100\%\)\,_transparent\)\] {
4789
- border-color: color-mix(in srgb, var(--likec4-palette-stroke) var(--_border-opacity-percent, 100%), transparent);
4790
- }
4791
-
4792
- .flex_0_0_20px {
4793
- flex: 0 0 20px;
4794
- }
4795
-
4796
- .tw_pretty {
4797
- text-wrap: pretty;
4798
- }
4799
-
4800
- .transition_fill_120ms_linear\,_filter_130ms_\{easings\.inOut\} {
4801
- transition: fill 120ms linear, filter 130ms var(--easings-in-out);
4802
- }
4803
-
4804
5249
  .bdr_\[4px\] {
4805
5250
  border-radius: 4px;
4806
5251
  }
@@ -4813,20 +5258,12 @@
4813
5258
  gap: 6px;
4814
5259
  }
4815
5260
 
4816
- .offset_16 {
4817
- offset: 16px;
4818
- }
4819
-
4820
- .bdr_\[2px\] {
4821
- border-radius: 2px;
4822
- }
4823
-
4824
- .gap_3 {
4825
- gap: var(--spacing-3);
5261
+ .tw_pretty {
5262
+ text-wrap: pretty;
4826
5263
  }
4827
5264
 
4828
- .py_2 {
4829
- padding-block: var(--spacing-2);
5265
+ .offset_16 {
5266
+ offset: 16px;
4830
5267
  }
4831
5268
 
4832
5269
  .flex_0_0_auto {
@@ -4865,6 +5302,10 @@
4865
5302
  border-width: 3px;
4866
5303
  }
4867
5304
 
5305
+ .border-style_dashed {
5306
+ border-style: dashed;
5307
+ }
5308
+
4868
5309
  .offset_2 {
4869
5310
  offset: 2px;
4870
5311
  }
@@ -4926,6 +5367,10 @@
4926
5367
  user-select: all;
4927
5368
  }
4928
5369
 
5370
+ .bg-c_transparent {
5371
+ background-color: var(--colors-transparent);
5372
+ }
5373
+
4929
5374
  .stk_2\.5 {
4930
5375
  stroke: 2.5px;
4931
5376
  }
@@ -5095,6 +5540,54 @@
5095
5540
  order: 6;
5096
5541
  }
5097
5542
 
5543
+ .bd-be-w_var\(--thickness\) {
5544
+ border-block-end-width: var(--thickness);
5545
+ }
5546
+
5547
+ .cursor_default {
5548
+ cursor: default;
5549
+ }
5550
+
5551
+ .flex-wrap_wrap {
5552
+ flex-wrap: wrap;
5553
+ }
5554
+
5555
+ .op_0\.65 {
5556
+ opacity: 0.65;
5557
+ }
5558
+
5559
+ .d_inline-block {
5560
+ display: inline-block;
5561
+ }
5562
+
5563
+ .fs_xxs {
5564
+ font-size: var(--font-sizes-xxs);
5565
+ }
5566
+
5567
+ .lh_\[1\.11\] {
5568
+ line-height: 1.11;
5569
+ }
5570
+
5571
+ .d_block {
5572
+ display: block;
5573
+ }
5574
+
5575
+ .white-space_nowrap {
5576
+ white-space: nowrap;
5577
+ }
5578
+
5579
+ .mix-bm_hard-light {
5580
+ mix-blend-mode: hard-light;
5581
+ }
5582
+
5583
+ .white-space-collapse_preserve-breaks {
5584
+ white-space-collapse: preserve-breaks;
5585
+ }
5586
+
5587
+ .lh_sm {
5588
+ line-height: var(--line-heights-sm);
5589
+ }
5590
+
5098
5591
  .c_likec4\.panel\.action-icon\.text {
5099
5592
  color: var(--colors-likec4-panel-action-icon-text);
5100
5593
  }
@@ -5107,10 +5600,6 @@
5107
5600
  opacity: 0.8;
5108
5601
  }
5109
5602
 
5110
- .white-space_nowrap {
5111
- white-space: nowrap;
5112
- }
5113
-
5114
5603
  .pos_bottom-end {
5115
5604
  position: bottom-end;
5116
5605
  }
@@ -5127,22 +5616,10 @@
5127
5616
  stroke: 1.8px;
5128
5617
  }
5129
5618
 
5130
- .flex-wrap_wrap {
5131
- flex-wrap: wrap;
5132
- }
5133
-
5134
5619
  .fs_xs {
5135
5620
  font-size: var(--font-sizes-xs);
5136
5621
  }
5137
5622
 
5138
- .fs_xxs {
5139
- font-size: var(--font-sizes-xxs);
5140
- }
5141
-
5142
- .cursor_default {
5143
- cursor: default;
5144
- }
5145
-
5146
5623
  .op_0\.5 {
5147
5624
  opacity: 0.5;
5148
5625
  }
@@ -5215,10 +5692,6 @@
5215
5692
  flex-shrink: 0;
5216
5693
  }
5217
5694
 
5218
- .d_block {
5219
- display: block;
5220
- }
5221
-
5222
5695
  .bx-s_border-box {
5223
5696
  box-sizing: border-box;
5224
5697
  }
@@ -5307,10 +5780,6 @@
5307
5780
  stroke: 1.6px;
5308
5781
  }
5309
5782
 
5310
- .bd-be-w_var\(--thickness\) {
5311
- border-block-end-width: var(--thickness);
5312
- }
5313
-
5314
5783
  .trs-prop_all {
5315
5784
  --transition-prop: all;
5316
5785
  transition-property: all;
@@ -5350,14 +5819,6 @@
5350
5819
  stroke: 1.2px;
5351
5820
  }
5352
5821
 
5353
- .op_0\.65 {
5354
- opacity: 0.65;
5355
- }
5356
-
5357
- .d_inline-block {
5358
- display: inline-block;
5359
- }
5360
-
5361
5822
  .lh_1\.2 {
5362
5823
  line-height: 1.2;
5363
5824
  }
@@ -5520,42 +5981,6 @@
5520
5981
  z-index: 903;
5521
5982
  }
5522
5983
 
5523
- .vis_hidden {
5524
- visibility: hidden;
5525
- }
5526
-
5527
- .stk_\[color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)_60\%\,_var\(--likec4-palette-hiContrast\)\)\] {
5528
- stroke: color-mix(in srgb, var(--likec4-palette-stroke) 60%, var(--likec4-palette-hiContrast));
5529
- }
5530
-
5531
- .stk-w_4 {
5532
- stroke-width: 4;
5533
- }
5534
-
5535
- .fill_\[none\] {
5536
- fill: none;
5537
- }
5538
-
5539
- .ff_likec4\.compound {
5540
- font-family: var(--fonts-likec4-compound);
5541
- }
5542
-
5543
- .tt_uppercase {
5544
- text-transform: uppercase;
5545
- }
5546
-
5547
- .ls_0\.2px {
5548
- letter-spacing: 0.2px;
5549
- }
5550
-
5551
- .c_var\(--likec4-palette-loContrast\) {
5552
- color: var(--likec4-palette-loContrast);
5553
- }
5554
-
5555
- .mix-bm_hard-light {
5556
- mix-blend-mode: hard-light;
5557
- }
5558
-
5559
5984
  .trs-dur_normal {
5560
5985
  --transition-duration: var(--durations-normal);
5561
5986
  transition-duration: var(--durations-normal);
@@ -5565,24 +5990,8 @@
5565
5990
  transition-delay: 0.2s;
5566
5991
  }
5567
5992
 
5568
- .ta_left {
5569
- text-align: left;
5570
- }
5571
-
5572
- .white-space-collapse_preserve-breaks {
5573
- white-space-collapse: preserve-breaks;
5574
- }
5575
-
5576
- .lh_1\.25 {
5577
- line-height: 1.25;
5578
- }
5579
-
5580
- .c_\[var\(--xy-edge-label-color\)\] {
5581
- color: var(--xy-edge-label-color);
5582
- }
5583
-
5584
- .trf_var\(--edge-translate\) {
5585
- transform: var(--edge-translate);
5993
+ .fill_\[none\] {
5994
+ fill: none;
5586
5995
  }
5587
5996
 
5588
5997
  .stk-op_0 {
@@ -5597,11 +6006,6 @@
5597
6006
  stroke-opacity: 0.08;
5598
6007
  }
5599
6008
 
5600
- .trs-prop_stroke-width\,_stroke-opacity {
5601
- --transition-prop: stroke-width, stroke-opacity;
5602
- transition-property: stroke-width, stroke-opacity;
5603
- }
5604
-
5605
6009
  .fill_\[var\(--xy-edge-stroke\)\] {
5606
6010
  fill: var(--xy-edge-stroke);
5607
6011
  }
@@ -5618,58 +6022,6 @@
5618
6022
  stroke-dashoffset: 10;
5619
6023
  }
5620
6024
 
5621
- .stk_var\(--likec4-palette-loContrast\) {
5622
- stroke: var(--likec4-palette-loContrast);
5623
- }
5624
-
5625
- .stk-w_8 {
5626
- stroke-width: 8;
5627
- }
5628
-
5629
- .stk-op_0\.8 {
5630
- stroke-opacity: 0.8;
5631
- }
5632
-
5633
- .fill_var\(--likec4-palette-fill\) {
5634
- fill: var(--likec4-palette-fill);
5635
- }
5636
-
5637
- .fill_var\(--likec4-palette-stroke\) {
5638
- fill: var(--likec4-palette-stroke);
5639
- }
5640
-
5641
- .fill_\[color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)_90\%\,_var\(--likec4-palette-fill\)\)\] {
5642
- fill: color-mix(in srgb, var(--likec4-palette-stroke) 90%, var(--likec4-palette-fill));
5643
- }
5644
-
5645
- .stk_var\(--likec4-palette-stroke\) {
5646
- stroke: var(--likec4-palette-stroke);
5647
- }
5648
-
5649
- .trf-o_50\%_50\% {
5650
- transform-origin: 50% 50%;
5651
- }
5652
-
5653
- .trf_translate\(14px\,_14px\)_perspective\(300px\)_translateZ\(-8px\) {
5654
- transform: translate(14px, 14px) perspective(300px) translateZ(-8px);
5655
- }
5656
-
5657
- .filter_brightness\(0\.65\)_saturate\(0\.8\) {
5658
- filter: brightness(0.65) saturate(0.8);
5659
- }
5660
-
5661
- .stk_\[none\] {
5662
- stroke: none;
5663
- }
5664
-
5665
- .trs-dly_0ms {
5666
- transition-delay: 0ms;
5667
- }
5668
-
5669
- .filter_drop-shadow\(0_2px_1px_rgba\(0\,_0\,_0\,_0\.21\)\)_drop-shadow\(0_1px_1px_color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)_40\%\,_transparent\)\)_drop-shadow\(0_5px_3px_rgba\(0\,_0\,_0\,_0\.1\)\) {
5670
- filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.21)) drop-shadow(0 1px 1px color-mix(in srgb, var(--likec4-palette-stroke) 40%, transparent)) drop-shadow(0 5px 3px rgba(0, 0, 0, 0.1));
5671
- }
5672
-
5673
6025
  .fs_lg {
5674
6026
  font-size: var(--font-sizes-lg);
5675
6027
  }
@@ -5686,8 +6038,12 @@
5686
6038
  z-index: 9;
5687
6039
  }
5688
6040
 
5689
- .lh_\[1\.11\] {
5690
- line-height: 1.11;
6041
+ .ta_left {
6042
+ text-align: left;
6043
+ }
6044
+
6045
+ .lh_1\.25 {
6046
+ line-height: 1.25;
5691
6047
  }
5692
6048
 
5693
6049
  .mix-bm_normal {
@@ -5718,6 +6074,10 @@
5718
6074
  pointer-events: auto;
5719
6075
  }
5720
6076
 
6077
+ .vis_hidden {
6078
+ visibility: hidden;
6079
+ }
6080
+
5721
6081
  .cursor_grabbing {
5722
6082
  cursor: grabbing;
5723
6083
  }
@@ -5735,14 +6095,22 @@
5735
6095
  opacity: 0.7;
5736
6096
  }
5737
6097
 
5738
- .bg-c_transparent {
5739
- background-color: var(--colors-transparent);
6098
+ .fill_var\(--likec4-palette-fill\) {
6099
+ fill: var(--likec4-palette-fill);
6100
+ }
6101
+
6102
+ .stk_var\(--likec4-palette-stroke\) {
6103
+ stroke: var(--likec4-palette-stroke);
5740
6104
  }
5741
6105
 
5742
6106
  .filter_drop-shadow\(0_2px_3px_rgb\(0_0_0_\/_22\%\)\)_drop-shadow\(0_1px_8px_rgb\(0_0_0_\/_10\%\)\) {
5743
6107
  filter: drop-shadow(0 2px 3px rgb(0 0 0 / 22%)) drop-shadow(0 1px 8px rgb(0 0 0 / 10%));
5744
6108
  }
5745
6109
 
6110
+ .ls_0\.2px {
6111
+ letter-spacing: 0.2px;
6112
+ }
6113
+
5746
6114
  .tt_lowercase {
5747
6115
  text-transform: lowercase;
5748
6116
  }
@@ -5892,8 +6260,24 @@
5892
6260
  padding-bottom: var(--spacing-sm);
5893
6261
  }
5894
6262
 
5895
- .pr_xs {
5896
- padding-right: var(--spacing-xs);
6263
+ .pr_xs {
6264
+ padding-right: var(--spacing-xs);
6265
+ }
6266
+
6267
+ .w_max-content {
6268
+ width: max-content;
6269
+ }
6270
+
6271
+ .pt_2\.5 {
6272
+ padding-top: var(--spacing-2\.5);
6273
+ }
6274
+
6275
+ .pl_2\.5 {
6276
+ padding-left: var(--spacing-2\.5);
6277
+ }
6278
+
6279
+ .bd-l-c_mantine\.colors\.gray\[3\] {
6280
+ border-left-color: var(--colors-mantine-colors-gray\[3\]);
5897
6281
  }
5898
6282
 
5899
6283
  .mt_1 {
@@ -5916,10 +6300,6 @@
5916
6300
  max-height: calc(100cqh - 100px);
5917
6301
  }
5918
6302
 
5919
- .w_max-content {
5920
- width: max-content;
5921
- }
5922
-
5923
6303
  .h_auto {
5924
6304
  height: auto;
5925
6305
  }
@@ -6123,28 +6503,15 @@
6123
6503
  min-width: 200px;
6124
6504
  }
6125
6505
 
6126
- .top_\[5px\] {
6127
- top: 5px;
6128
- }
6129
-
6130
- .left_\[4px\] {
6131
- left: 4px;
6132
- }
6133
-
6134
- .top_0\.5 {
6135
- top: var(--spacing-0\.5);
6136
- }
6137
-
6138
- .left_\[14px\] {
6139
- left: 14px;
6140
- }
6141
-
6142
- .top_\[4px\] {
6143
- top: 4px;
6506
+ .lc_5 {
6507
+ overflow: hidden;
6508
+ display: -webkit-box;
6509
+ -webkit-line-clamp: 5;
6510
+ -webkit-box-orient: vertical;
6144
6511
  }
6145
6512
 
6146
- .right_\[30px\] {
6147
- right: 30px;
6513
+ .top_\[calc\(100\%_-_30px\)\] {
6514
+ top: calc(100% - 30px);
6148
6515
  }
6149
6516
 
6150
6517
  .w_auto {
@@ -6155,31 +6522,8 @@
6155
6522
  min-height: 30px;
6156
6523
  }
6157
6524
 
6158
- .h_20px {
6159
- height: 20px;
6160
- }
6161
-
6162
- .w_20px {
6163
- width: 20px;
6164
- }
6165
-
6166
- .top_1 {
6167
- top: var(--spacing-1);
6168
- }
6169
-
6170
- .right_1 {
6171
- right: var(--spacing-1);
6172
- }
6173
-
6174
- .lc_5 {
6175
- overflow: hidden;
6176
- display: -webkit-box;
6177
- -webkit-line-clamp: 5;
6178
- -webkit-box-orient: vertical;
6179
- }
6180
-
6181
- .top_\[calc\(100\%_-_30px\)\] {
6182
- top: calc(100% - 30px);
6525
+ .top_0\.5 {
6526
+ top: var(--spacing-0\.5);
6183
6527
  }
6184
6528
 
6185
6529
  .bottom_0 {
@@ -6220,30 +6564,6 @@
6220
6564
  right: 1px;
6221
6565
  }
6222
6566
 
6223
- .ov-y_scroll {
6224
- overflow-y: scroll;
6225
- }
6226
-
6227
- .min-w_250px {
6228
- min-width: 250px;
6229
- }
6230
-
6231
- .max-w_min\(90vw\,_500px\) {
6232
- max-width: min(90vw, 500px);
6233
- }
6234
-
6235
- .top_5 {
6236
- top: var(--spacing-5);
6237
- }
6238
-
6239
- .right_6 {
6240
- right: var(--spacing-6);
6241
- }
6242
-
6243
- .w_xs {
6244
- width: xs;
6245
- }
6246
-
6247
6567
  .min-w_200 {
6248
6568
  min-width: 200px;
6249
6569
  }
@@ -6381,14 +6701,6 @@
6381
6701
  background: var(--mix-background, var(--colors-mantine-colors-white));
6382
6702
  }
6383
6703
 
6384
- .before\:bd_transparent::before {
6385
- border: var(--borders-transparent);
6386
- }
6387
-
6388
- .before\:bg_var\(--likec4-palette-fill\)::before {
6389
- background: var(--likec4-palette-fill);
6390
- }
6391
-
6392
6704
  .before\:bg_\[transparent\]::before {
6393
6705
  background: var(--colors-transparent);
6394
6706
  }
@@ -6414,7 +6726,7 @@
6414
6726
  border-color: var(--colors-mantine-colors-dark\[4\]);
6415
6727
  }
6416
6728
 
6417
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:transition_none\! {
6729
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .whenPanning\:transition_none\! {
6418
6730
  transition: none !important;
6419
6731
  }
6420
6732
 
@@ -6463,14 +6775,6 @@
6463
6775
  border-color: var(--colors-transparent);
6464
6776
  }
6465
6777
 
6466
- .before\:bdr_var\(--_border-radius\,_4px\)::before {
6467
- border-radius: var(--_border-radius, 4px);
6468
- }
6469
-
6470
- .\[\&\:is\(\[data-likec4-hovered\=\'true\'\]\)\]\:transition_all_190ms_\{easings\.inOut\}:is([data-likec4-hovered='true']) {
6471
- transition: all 190ms var(--easings-in-out);
6472
- }
6473
-
6474
6778
  .likec4-root:is([data-likec4-reduced-graphics]) .reduceGraphics\:transition_none {
6475
6779
  transition: none;
6476
6780
  }
@@ -6479,11 +6783,7 @@
6479
6783
  transition: stroke 130ms ease-out,stroke-width 130ms ease-out;
6480
6784
  }
6481
6785
 
6482
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:transition_none {
6483
- transition: none;
6484
- }
6485
-
6486
- :where([data-likec4-hovered="true"]) .whenHovered\:bdr_4 {
6786
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:bdr_4 {
6487
6787
  border-radius: 4px;
6488
6788
  }
6489
6789
 
@@ -6491,14 +6791,6 @@
6491
6791
  transition: fill-opacity 150ms ease-out, stroke 150ms ease-out, stroke-width 150ms ease-out;
6492
6792
  }
6493
6793
 
6494
- .\[\&_\.react-flow__pane\]\:-webkit-user-select_none .react-flow__pane {
6495
- -webkit-user-select: none;
6496
- }
6497
-
6498
- .\[\&_\.react-flow__attribution\]\:d_none .react-flow__attribution {
6499
- display: none;
6500
- }
6501
-
6502
6794
  .\[\&_\:where\(\.likec4-diagram\,_\.likec4-compound-node\,_\.likec4-element-node\)\]\:cursor_pointer :where(.likec4-diagram, .likec4-compound-node, .likec4-element-node) {
6503
6795
  cursor: pointer;
6504
6796
  }
@@ -6532,7 +6824,7 @@
6532
6824
  color: var(--colors-mantine-colors-text);
6533
6825
  }
6534
6826
 
6535
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:bx-sh_none\! {
6827
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .whenPanning\:bx-sh_none\! {
6536
6828
  box-shadow: var(--shadows-none) !important;
6537
6829
  }
6538
6830
 
@@ -6584,6 +6876,14 @@
6584
6876
  background-color: rgb(250 250 250 / var(--_opacity, 95%));
6585
6877
  }
6586
6878
 
6879
+ [data-mantine-color-scheme="light"] .light\:c_\[color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)\,_\{colors\.likec4\.mixColor\}_60\%\)\] {
6880
+ color: color-mix(in srgb, var(--likec4-palette-stroke), var(--colors-likec4-mix-color) 60%);
6881
+ }
6882
+
6883
+ [data-mantine-color-scheme="dark"] .dark\:c_var\(--likec4-palette-loContrast\) {
6884
+ color: var(--likec4-palette-loContrast);
6885
+ }
6886
+
6587
6887
  [data-mantine-color-scheme="light"] .light\:c_mantine\.colors\.gray\[8\] {
6588
6888
  color: var(--colors-mantine-colors-gray\[8\]);
6589
6889
  }
@@ -6600,7 +6900,7 @@
6600
6900
  pointer-events: all;
6601
6901
  }
6602
6902
 
6603
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:bx-sh_none {
6903
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .whenPanning\:bx-sh_none {
6604
6904
  box-shadow: var(--shadows-none);
6605
6905
  }
6606
6906
 
@@ -6621,6 +6921,10 @@
6621
6921
  background-color: var(--colors-mantine-colors-dark\[6\]);
6622
6922
  }
6623
6923
 
6924
+ .\[\&_\.react-flow__attribution\]\:d_none .react-flow__attribution {
6925
+ display: none;
6926
+ }
6927
+
6624
6928
  [data-mantine-color-scheme="dark"] .dark\:mix-bm_hard-light {
6625
6929
  mix-blend-mode: hard-light;
6626
6930
  }
@@ -6779,81 +7083,39 @@
6779
7083
  background-color: rgb(255 255 255 / 0.6);
6780
7084
  }
6781
7085
 
6782
- :where([data-likec4-zoom-small]) .smallZoom\:d_none {
7086
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .reduceGraphicsOnPan\:d_none {
6783
7087
  display: none;
6784
7088
  }
6785
7089
 
6786
- :where([data-likec4-hovered="true"]) .whenHovered\:op_0\.75 {
6787
- opacity: 0.75;
6788
- }
6789
-
6790
- .before\:content_\"_\"::before {
6791
- content: " ";
6792
- }
6793
-
6794
- .before\:bg-cp_padding-box::before {
6795
- background-clip: padding-box;
6796
- -webkit-background-clip: padding-box;
6797
- }
6798
-
6799
- .before\:trs-dly_\.075ms::before {
6800
- transition-delay: .075ms;
6801
- }
6802
-
6803
- :where(.react-flow__node.selected, .react-flow__edge.selected) .whenSelected\:vis_visible {
6804
- visibility: visible;
6805
- }
6806
-
6807
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:d_none {
7090
+ :where([data-likec4-zoom-small="true"]) .smallZoom\:d_none {
6808
7091
  display: none;
6809
7092
  }
6810
7093
 
6811
- [data-mantine-color-scheme="light"] .light\:stk_\[color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)_80\%\,_var\(--likec4-palette-hiContrast\)\)\] {
6812
- stroke: color-mix(in srgb, var(--likec4-palette-stroke) 80%, var(--likec4-palette-hiContrast));
6813
- }
6814
-
6815
- :where(.react-flow__node.draggable) .\[\:where\(\.react-flow__node\.draggable\)_\&\]\:pointer-events_all {
6816
- pointer-events: all;
6817
- }
6818
-
6819
- :where(.react-flow__node.draggable) .\[\:where\(\.react-flow__node\.draggable\)_\&\]\:cursor_grab {
6820
- cursor: grab;
6821
- }
6822
-
6823
- [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:c_\[color-mix\(in_srgb\,_var\(--likec4-palette-loContrast\)_60\%\,_var\(--likec4-palette-fill\)\)\] {
6824
- color: color-mix(in srgb, var(--likec4-palette-loContrast) 60%, var(--likec4-palette-fill));
6825
- }
6826
-
6827
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .reduceGraphicsOnPan\:mix-bm_normal {
6828
- mix-blend-mode: normal;
6829
- }
6830
-
6831
- .\[\&_svg\,_\&_img\]\:filter_drop-shadow\(0_0_3px_rgb\(0_0_0_\/_12\%\)\) svg,.\[\&_svg\,_\&_img\]\:filter_drop-shadow\(0_0_3px_rgb\(0_0_0_\/_12\%\)\) img {
6832
- filter: drop-shadow(0 0 3px rgb(0 0 0 / 12%));
6833
- }
6834
-
6835
- .\[\&\:is\(\[data-likec4-hovered\=\'true\'\]\)\]\:trf_var\(--edge-translate\,_translate\(0px\,_0px\)\)_scale\(1\.12\):is([data-likec4-hovered='true']) {
6836
- transform: var(--edge-translate, translate(0px, 0px)) scale(1.12);
7094
+ .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:trs-prop_stroke-width\,_stroke-opacity {
7095
+ --transition-prop: stroke-width, stroke-opacity;
7096
+ transition-property: stroke-width, stroke-opacity;
6837
7097
  }
6838
7098
 
6839
- .\[\&\:is\(\[data-likec4-hovered\=\'true\'\]\)\]\:trs-dly_100ms:is([data-likec4-hovered='true']) {
6840
- transition-delay: 100ms;
7099
+ .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:trs-dur_fast {
7100
+ --transition-duration: var(--durations-fast);
7101
+ transition-duration: var(--durations-fast);
6841
7102
  }
6842
7103
 
6843
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .reduceGraphicsOnPan\:d_none {
6844
- display: none;
7104
+ .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:trs-tmf_inOut {
7105
+ --transition-easing: var(--easings-in-out);
7106
+ transition-timing-function: var(--easings-in-out);
6845
7107
  }
6846
7108
 
6847
- :where([data-likec4-hovered="true"]) .whenHovered\:trs-tmf_out {
7109
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:trs-tmf_out {
6848
7110
  --transition-easing: var(--easings-out);
6849
7111
  transition-timing-function: var(--easings-out);
6850
7112
  }
6851
7113
 
6852
- :where([data-likec4-hovered="true"]) .whenHovered\:stk-w_calc\(var\(--xy-edge-stroke-width\)_\+_4\) {
7114
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:stk-w_calc\(var\(--xy-edge-stroke-width\)_\+_4\) {
6853
7115
  stroke-width: calc(var(--xy-edge-stroke-width) + 4);
6854
7116
  }
6855
7117
 
6856
- :where([data-likec4-hovered="true"]) .whenHovered\:stk-op_0\.2 {
7118
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:stk-op_0\.2 {
6857
7119
  stroke-opacity: 0.2;
6858
7120
  }
6859
7121
 
@@ -6865,32 +7127,32 @@
6865
7127
  stroke-opacity: 0.25;
6866
7128
  }
6867
7129
 
6868
- :where([data-likec4-hovered="true"]) .whenHovered\:anim-dly_450ms {
6869
- animation-delay: 450ms;
6870
- }
6871
-
6872
- :where(.react-flow__edge.selected, [data-edge-active='true'], [data-edge-animated='true']) .\[\:where\(\.react-flow__edge\.selected\,_\[data-edge-active\=\'true\'\]\,_\[data-edge-animated\=\'true\'\]\)_\&\]\:anim-dly_0ms {
6873
- animation-delay: 0ms;
7130
+ .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:anim-ps_paused {
7131
+ animation-play-state: paused;
6874
7132
  }
6875
7133
 
6876
7134
  :where([data-edge-dir='back']) .\[\:where\(\[data-edge-dir\=\'back\'\]\)_\&\]\:anim-dir_reverse {
6877
7135
  animation-direction: reverse;
6878
7136
  }
6879
7137
 
6880
- :where([data-likec4-dimmed]) .whenDimmed\:anim-ps_paused {
7138
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-dimmed]) .whenDimmed\:anim-ps_paused {
6881
7139
  animation-play-state: paused;
6882
7140
  }
6883
7141
 
6884
- :where([data-likec4-zoom-small]) .smallZoom\:anim-n_none {
7142
+ :where([data-likec4-zoom-small="true"]) .smallZoom\:anim-n_none {
6885
7143
  animation-name: none;
6886
7144
  }
6887
7145
 
6888
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:stk-dsh_none\! {
7146
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .whenPanning\:stk-dsh_none\! {
6889
7147
  stroke-dasharray: none !important;
6890
7148
  }
6891
7149
 
6892
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:anim-n_none {
6893
- animation-name: none;
7150
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .whenPanning\:anim-ps_paused {
7151
+ animation-play-state: paused;
7152
+ }
7153
+
7154
+ .before\:content_\"_\"::before {
7155
+ content: " ";
6894
7156
  }
6895
7157
 
6896
7158
  .before\:pointer-events_all::before {
@@ -6901,66 +7163,10 @@
6901
7163
  cursor: pointer;
6902
7164
  }
6903
7165
 
6904
- :where([data-likec4-zoom-small]) .smallZoom\:vis_hidden {
6905
- visibility: hidden;
6906
- }
6907
-
6908
- [data-mantine-color-scheme="light"] .light\:stk_\[color-mix\(in_srgb\,_var\(--likec4-palette-fill\)_50\%\,rgb\(121\,_121\,_121\)\)\] {
6909
- stroke: color-mix(in srgb, var(--likec4-palette-fill) 50%,rgb(121, 121, 121));
6910
- }
6911
-
6912
- .shape-svg-multiple .\[\.shape-svg-multiple_\&\]\:fill_var\(--likec4-palette-fill\) {
6913
- fill: var(--likec4-palette-fill);
6914
- }
6915
-
6916
- :where([data-likec4-shape='queue']) .shapeQueue\:trf-o_75\%_25\% {
6917
- transform-origin: 75% 25%;
6918
- }
6919
-
6920
- :where([data-likec4-shape='cylinder']) .shapeCylinder\:trf-o_50\%_100\% {
6921
- transform-origin: 50% 100%;
6922
- }
6923
-
6924
- :where([data-likec4-shape='storage']) .shapeStorage\:trf-o_50\%_100\% {
6925
- transform-origin: 50% 100%;
6926
- }
6927
-
6928
- :where(.react-flow__node.selected, .react-flow__edge.selected) .whenSelected\:d_none {
6929
- display: none;
6930
- }
6931
-
6932
- :where([data-likec4-hovered="true"]) .whenHovered\:filter_drop-shadow\(0_2px_1px_rgba\(0\,_0\,_0\,_0\.25\)\)_drop-shadow\(0_8px_3px_rgba\(0\,_0\,_0\,_0\.1\)\)_drop-shadow\(0_10px_10px_rgba\(0\,_0\,_0\,_0\.05\)\) {
6933
- filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.25)) drop-shadow(0 8px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 10px 10px rgba(0, 0, 0, 0.05));
6934
- }
6935
-
6936
- :where([data-likec4-level='true']) .\[\:where\(\[data-likec4-level\=\'true\'\]\)_\&\]\:filter_drop-shadow\(0_2px_1px_rgba\(0\,_0\,_0\,_0\.25\)\)_drop-shadow\(0_8px_3px_rgba\(0\,_0\,_0\,_0\.1\)\)_drop-shadow\(0_10px_10px_rgba\(0\,_0\,_0\,_0\.05\)\) {
6937
- filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.25)) drop-shadow(0 8px 3px rgba(0, 0, 0, 0.1)) drop-shadow(0 10px 10px rgba(0, 0, 0, 0.05));
6938
- }
6939
-
6940
- :where(.react-flow__node.selected, .react-flow__edge.selected) .whenSelected\:filter_none {
6941
- filter: none;
6942
- }
6943
-
6944
- :where([data-likec4-zoom-small]) .smallZoom\:filter_none {
6945
- filter: none;
6946
- }
6947
-
6948
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:filter_none {
6949
- filter: none;
6950
- }
6951
-
6952
- :where([data-likec4-hovered="true"]) .whenHovered\:trs-dly_\.08s {
7166
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:trs-dly_\.08s {
6953
7167
  transition-delay: .08s;
6954
7168
  }
6955
7169
 
6956
- [data-mantine-color-scheme="light"] .light\:c_\[color-mix\(in_srgb\,_var\(--likec4-palette-stroke\)\,_\{colors\.likec4\.mixColor\}_60\%\)\] {
6957
- color: color-mix(in srgb, var(--likec4-palette-stroke), var(--colors-likec4-mix-color) 60%);
6958
- }
6959
-
6960
- [data-mantine-color-scheme="dark"] .dark\:c_var\(--likec4-palette-loContrast\) {
6961
- color: var(--likec4-palette-loContrast);
6962
- }
6963
-
6964
7170
  :where(.react-flow__edge.selected, [data-likec4-hovered='true']) .\[\:where\(\.react-flow__edge\.selected\,_\[data-likec4-hovered\=\'true\'\]\)_\&\]\:vis_visible {
6965
7171
  visibility: visible;
6966
7172
  }
@@ -6986,7 +7192,7 @@
6986
7192
  background-color: var(--mix-backgroundColor, var(--colors-mantine-colors-dark\[6\]));
6987
7193
  }
6988
7194
 
6989
- :is(.likec4-root[data-likec4-diagram-panning]) .whenPanning\:bg-c_mantine\.colors\.body {
7195
+ .likec4-root:is([data-likec4-diagram-panning="true"]) .whenPanning\:bg-c_mantine\.colors\.body {
6990
7196
  background-color: var(--colors-mantine-colors-body);
6991
7197
  }
6992
7198
 
@@ -6998,6 +7204,10 @@
6998
7204
  min-height: 100%;
6999
7205
  }
7000
7206
 
7207
+ [data-mantine-color-scheme="dark"] .dark\:bd-l-c_mantine\.colors\.dark\[4\] {
7208
+ border-left-color: var(--colors-mantine-colors-dark\[4\]);
7209
+ }
7210
+
7001
7211
  .\[\&_\>_svg\]\:w_70\% > svg {
7002
7212
  width: 70%;
7003
7213
  }
@@ -7078,22 +7288,6 @@
7078
7288
  margin-top: 32px;
7079
7289
  }
7080
7290
 
7081
- .before\:left_0::before {
7082
- left: var(--spacing-0);
7083
- }
7084
-
7085
- .before\:w_100\%::before {
7086
- width: 100%;
7087
- }
7088
-
7089
- .before\:h_100\%::before {
7090
- height: 100%;
7091
- }
7092
-
7093
- .likec4-compound-node:has(.compound-action) .\[\.likec4-compound-node\:has\(\.compound-action\)_\&\]\:pl_\[22px\] {
7094
- padding-left: 22px;
7095
- }
7096
-
7097
7291
  :where([data-likec4-shape='browser']) .shapeBrowser\:right_\[5px\] {
7098
7292
  right: 5px;
7099
7293
  }
@@ -7118,6 +7312,14 @@
7118
7312
  top: calc(100% - 4px);
7119
7313
  }
7120
7314
 
7315
+ .before\:left_0::before {
7316
+ left: var(--spacing-0);
7317
+ }
7318
+
7319
+ .before\:w_100\%::before {
7320
+ width: 100%;
7321
+ }
7322
+
7121
7323
  .before\:h_24px::before {
7122
7324
  height: 24px;
7123
7325
  }
@@ -7138,7 +7340,7 @@
7138
7340
  padding-left: 14px;
7139
7341
  }
7140
7342
 
7141
- :where([data-likec4-hovered="true"]) .whenHovered\:h_12 {
7343
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:h_12 {
7142
7344
  height: 12px;
7143
7345
  }
7144
7346
 
@@ -7163,14 +7365,6 @@
7163
7365
  --grayscale: grayscale(0);
7164
7366
  }
7165
7367
 
7166
- :where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) .whenFocused\:vis_visible {
7167
- visibility: visible;
7168
- }
7169
-
7170
- :where(.react-flow__node, .react-flow__edge):is(:focus-visible, :focus, :focus-within) .whenFocused\:d_none {
7171
- display: none;
7172
- }
7173
-
7174
7368
  .focus\:bg_mantine\.colors\.primary\[8\]:is(:focus, [data-focus]) {
7175
7369
  background: var(--colors-mantine-colors-primary\[8\]);
7176
7370
  }
@@ -7243,10 +7437,6 @@
7243
7437
  color: var(--colors-mantine-colors-primary\[1\]);
7244
7438
  }
7245
7439
 
7246
- .group:is(:focus-visible, [data-focus-visible]) .groupFocusVisible\:vis_visible {
7247
- visibility: visible;
7248
- }
7249
-
7250
7440
  .hover\:--icon-color_\{colors\.mantine\.colors\.dark\[1\]\}:is(:hover, [data-hover]) {
7251
7441
  --icon-color: var(--colors-mantine-colors-dark\[1\]);
7252
7442
  }
@@ -7463,30 +7653,6 @@
7463
7653
  --ai-radius: 0px;
7464
7654
  }
7465
7655
 
7466
- [data-mantine-color-scheme="dark"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:dark\:--actionbtn-color_color-mix\(in_srgb\,_var\(--likec4-palette-loContrast\)_60\%\,_var\(--likec4-palette-fill\)\) {
7467
- --actionbtn-color: color-mix(in srgb, var(--likec4-palette-loContrast) 60%, var(--likec4-palette-fill));
7468
- }
7469
-
7470
- [data-mantine-color-scheme="light"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:light\:--actionbtn-color_var\(--likec4-palette-stroke\) {
7471
- --actionbtn-color: var(--likec4-palette-stroke);
7472
- }
7473
-
7474
- [data-mantine-color-scheme="light"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:light\:--actionbtn-color-hovered_var\(--likec4-palette-stroke\) {
7475
- --actionbtn-color-hovered: var(--likec4-palette-stroke);
7476
- }
7477
-
7478
- [data-mantine-color-scheme="light"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:light\:--actionbtn-color-hovered-btn_var\(--likec4-palette-hiContrast\) {
7479
- --actionbtn-color-hovered-btn: var(--likec4-palette-hiContrast);
7480
- }
7481
-
7482
- [data-mantine-color-scheme="light"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:light\:--actionbtn-bg-hovered_var\(--likec4-palette-fill\)\/50 {
7483
- --actionbtn-bg-hovered: var(--likec4-palette-fill)/50;
7484
- }
7485
-
7486
- [data-mantine-color-scheme="light"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:light\:--actionbtn-bg-hovered-btn_var\(--likec4-palette-fill\) {
7487
- --actionbtn-bg-hovered-btn: var(--likec4-palette-fill);
7488
- }
7489
-
7490
7656
  [data-mantine-color-scheme="dark"] .dark\:\[\&\:is\(\[data-active\]\)\]\:bg_mantine\.colors\.dark\[5\]:is([data-active]) {
7491
7657
  background: var(--colors-mantine-colors-dark\[5\]);
7492
7658
  }
@@ -7499,14 +7665,6 @@
7499
7665
  text-decoration: underline;
7500
7666
  }
7501
7667
 
7502
- .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:before\:transition_all_\{durations\.slow\}_\{easings\.inOut\}::before {
7503
- transition: all var(--durations-slow) var(--easings-in-out);
7504
- }
7505
-
7506
- .\[\&\:is\(\[data-compound-transparent\]\)\]\:before\:bd-w_calc\(var\(--_border-width\,_2px\)_-_1px\):is([data-compound-transparent])::before {
7507
- border-width: calc(var(--_border-width, 2px) - 1px);
7508
- }
7509
-
7510
7668
  .group:is(:hover, [data-hover]) .\[\&\:is\(\[data-position\=\"left\"\]\)\]\:groupHover\:c_\[inherit\]:is([data-position="left"]) {
7511
7669
  color: inherit;
7512
7670
  }
@@ -7552,43 +7710,27 @@
7552
7710
  background-color: rgb(15 15 15/ var(--_opacity));
7553
7711
  }
7554
7712
 
7555
- .\[\&\:is\(\[data-compound-transparent\]\)\]\:before\:op_var\(--_compound-opacity\,_1\):is([data-compound-transparent])::before {
7556
- opacity: var(--_compound-opacity, 1);
7557
- }
7558
-
7559
- .likec4-root:not([data-likec4-reduced-graphics]) .before\:noReduceGraphics\:bx-sh_0_4px_10px_0\.5px_rgba\(0\,0\,0\,0\.1\)_\,_0_2px_2px_-1px_rgba\(0\,0\,0\,0\.4\)::before {
7560
- box-shadow: 0 4px 10px 0.5px rgba(0,0,0,0.1) , 0 2px 2px -1px rgba(0,0,0,0.4);
7561
- }
7562
-
7563
- :where(.react-flow__node.selected, .react-flow__edge.selected) .before\:whenSelected\:bx-sh_none::before {
7564
- box-shadow: var(--shadows-none);
7565
- }
7566
-
7567
- :is(.likec4-root[data-likec4-diagram-panning]) .before\:whenPanning\:bx-sh_none\!::before {
7568
- box-shadow: var(--shadows-none) !important;
7569
- }
7570
-
7571
- [data-mantine-color-scheme="light"] [data-compound-title-inverse] .\[\[data-compound-title-inverse\]_\&\]\:light\:c_var\(--likec4-palette-stroke\) {
7572
- color: var(--likec4-palette-stroke);
7713
+ :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) :where(.react-flow__node.selected, .react-flow__edge.selected) .whenSelected\:whenHovered\:stk-op_0\.4 {
7714
+ stroke-opacity: 0.4;
7573
7715
  }
7574
7716
 
7575
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .\[\&_svg\,_\&_img\]\:reduceGraphicsOnPan\:filter_none svg,.likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .\[\&_svg\,_\&_img\]\:reduceGraphicsOnPan\:filter_none img {
7576
- filter: none;
7717
+ .likec4-root:not([data-likec4-reduced-graphics]) :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:noReduceGraphics\:anim-ps_running {
7718
+ animation-play-state: running;
7577
7719
  }
7578
7720
 
7579
- [data-mantine-color-scheme="dark"] .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:dark\:mix-bm_plus-lighter {
7580
- mix-blend-mode: plus-lighter;
7721
+ .likec4-root:not([data-likec4-reduced-graphics]) :where(.react-flow__node, .react-flow__edge):has([data-likec4-hovered="true"]) .whenHovered\:noReduceGraphics\:anim-dly_450ms {
7722
+ animation-delay: 450ms;
7581
7723
  }
7582
7724
 
7583
- [data-mantine-color-scheme="light"] .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:light\:mix-bm_screen {
7584
- mix-blend-mode: screen;
7725
+ .likec4-root:not([data-likec4-reduced-graphics]) :where(.react-flow__edge.selected, [data-edge-active='true'], [data-edge-animated='true']) .\[\:where\(\.react-flow__edge\.selected\,_\[data-edge-active\=\'true\'\]\,_\[data-edge-animated\=\'true\'\]\)_\&\]\:noReduceGraphics\:anim-ps_running {
7726
+ animation-play-state: running;
7585
7727
  }
7586
7728
 
7587
- :where([data-likec4-hovered="true"]) :where(.react-flow__node.selected, .react-flow__edge.selected) .whenSelected\:whenHovered\:stk-op_0\.4 {
7588
- stroke-opacity: 0.4;
7729
+ .likec4-root:not([data-likec4-reduced-graphics]) :where(.react-flow__edge.selected, [data-edge-active='true'], [data-edge-animated='true']) .\[\:where\(\.react-flow__edge\.selected\,_\[data-edge-active\=\'true\'\]\,_\[data-edge-animated\=\'true\'\]\)_\&\]\:noReduceGraphics\:anim-dly_0ms {
7730
+ animation-delay: 0ms;
7589
7731
  }
7590
7732
 
7591
- .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning]) .reduceGraphicsOnPan\:before\:d_none::before {
7733
+ .likec4-root:is([data-likec4-reduced-graphics][data-likec4-diagram-panning="true"]) .reduceGraphicsOnPan\:before\:d_none::before {
7592
7734
  display: none;
7593
7735
  }
7594
7736
 
@@ -7663,6 +7805,11 @@
7663
7805
  background-color: var(--colors-mantine-colors-dark\[4\]);
7664
7806
  }
7665
7807
 
7808
+ [data-mantine-color-scheme="dark"] .hover\:dark\:bg-c_mantine\.colors\.dark\[5\]\/70:is(:hover, [data-hover]) {
7809
+ --mix-backgroundColor: color-mix(in srgb, var(--colors-mantine-colors-dark\[5\]) 70%, transparent);
7810
+ background-color: var(--mix-backgroundColor, var(--colors-mantine-colors-dark\[5\]));
7811
+ }
7812
+
7666
7813
  [data-mantine-color-scheme="dark"] .dark\:hover\:c_mantine\.colors\.white:is(:hover, [data-hover]) {
7667
7814
  color: var(--colors-mantine-colors-white);
7668
7815
  }
@@ -7710,15 +7857,6 @@
7710
7857
  background-color: var(--mix-backgroundColor, var(--colors-mantine-colors-dark\[3\]));
7711
7858
  }
7712
7859
 
7713
- .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:\[\&\[data-likec4-hovered\=\'true\'\]\]\:before\:trs-dly_\.2s[data-likec4-hovered='true']::before {
7714
- transition-delay: .2s;
7715
- }
7716
-
7717
- .likec4-root:not([data-likec4-reduced-graphics]) .noReduceGraphics\:\[\&\[data-likec4-hovered\=\'true\'\]\]\:before\:trs-tmf_in[data-likec4-hovered='true']::before {
7718
- --transition-easing: var(--easings-in);
7719
- transition-timing-function: var(--easings-in);
7720
- }
7721
-
7722
7860
  @container (min-width: 24rem) {
7723
7861
  .\@\/xs\:d_flex {
7724
7862
  display: flex;
@@ -7746,9 +7884,6 @@
7746
7884
  }
7747
7885
  .xs\:max-h_calc\(100cqh_-_70px\) {
7748
7886
  max-height: calc(100cqh - 70px);
7749
- }
7750
- .\[\&_svg\,_\&_img\]\:xs\:filter_drop-shadow\(0_1px_8px_rgb\(0_0_0_\/_8\%\)\) svg,.\[\&_svg\,_\&_img\]\:xs\:filter_drop-shadow\(0_1px_8px_rgb\(0_0_0_\/_8\%\)\) img {
7751
- filter: drop-shadow(0 1px 8px rgb(0 0 0 / 8%));
7752
7887
  }
7753
7888
  }
7754
7889
 
@@ -7779,12 +7914,6 @@
7779
7914
  max-width: calc(100cqw - 2 * var(--spacing-md));
7780
7915
  }
7781
7916
  }
7782
- }
7783
-
7784
- @container likec4-root (min-width: 40rem) {
7785
- .\@likec4-root\/sm\:d_flex {
7786
- display: flex;
7787
- }
7788
7917
  }
7789
7918
 
7790
7919
  @container (min-width: 48rem) {
@@ -7832,9 +7961,6 @@
7832
7961
  }
7833
7962
  .sm\:max-w_65vw {
7834
7963
  max-width: 65vw;
7835
- }
7836
- .\[\&_svg\,_\&_img\]\:sm\:filter_drop-shadow\(1px_1px_16px_rgb\(0_0_0_\/_3\%\)\) svg,.\[\&_svg\,_\&_img\]\:sm\:filter_drop-shadow\(1px_1px_16px_rgb\(0_0_0_\/_3\%\)\) img {
7837
- filter: drop-shadow(1px 1px 16px rgb(0 0 0 / 3%));
7838
7964
  }
7839
7965
  }
7840
7966