@1agh/maude 0.29.0 → 0.30.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 (99) hide show
  1. package/README.md +1 -1
  2. package/apps/studio/ai-banner.tsx +0 -1
  3. package/apps/studio/annotations-align.ts +149 -0
  4. package/apps/studio/annotations-bindings.ts +197 -0
  5. package/apps/studio/annotations-context-toolbar.tsx +436 -186
  6. package/apps/studio/annotations-groups.ts +270 -0
  7. package/apps/studio/annotations-layer.tsx +1708 -1660
  8. package/apps/studio/annotations-model.ts +2077 -0
  9. package/apps/studio/annotations-snap.ts +125 -0
  10. package/apps/studio/api.ts +208 -116
  11. package/apps/studio/bin/_png-playwright.mjs +1 -1
  12. package/apps/studio/bin/annotate.mjs +732 -0
  13. package/apps/studio/bin/annotate.sh +17 -0
  14. package/apps/studio/bin/read-annotations.mjs +152 -17
  15. package/apps/studio/build.ts +1 -1
  16. package/apps/studio/canvas-arrowheads.ts +78 -9
  17. package/apps/studio/canvas-cursors.ts +2 -0
  18. package/apps/studio/canvas-edit.ts +257 -7
  19. package/apps/studio/canvas-icons.tsx +105 -0
  20. package/apps/studio/canvas-shell.tsx +305 -8
  21. package/apps/studio/client/app.jsx +2812 -238
  22. package/apps/studio/client/index.html +1 -1
  23. package/apps/studio/client/styles/3-shell-maude.css +713 -11
  24. package/apps/studio/client/styles/4-components.css +39 -0
  25. package/apps/studio/client/styles/5-maude-overrides.css +16 -2
  26. package/apps/studio/client/tour/overlay.jsx +105 -17
  27. package/apps/studio/client/tour/usage-tour.js +23 -10
  28. package/apps/studio/commands/annotation-strokes-command.ts +1 -1
  29. package/apps/studio/commands/move-artboards-command.ts +1 -1
  30. package/apps/studio/comments-overlay.tsx +7 -5
  31. package/apps/studio/context-menu.tsx +4 -3
  32. package/apps/studio/contextual-toolbar.tsx +14 -0
  33. package/apps/studio/cursors-overlay.tsx +20 -20
  34. package/apps/studio/dist/client.bundle.js +3322 -602
  35. package/apps/studio/dist/comment-mount.js +95 -9
  36. package/apps/studio/dist/styles.css +2490 -167
  37. package/apps/studio/dom-selection.ts +115 -0
  38. package/apps/studio/export-dialog.tsx +3 -3
  39. package/apps/studio/history.ts +20 -3
  40. package/apps/studio/http.ts +124 -5
  41. package/apps/studio/input-router.tsx +7 -0
  42. package/apps/studio/inspect.ts +37 -8
  43. package/apps/studio/participants-chrome.tsx +1 -7
  44. package/apps/studio/server.ts +5 -2
  45. package/apps/studio/sync/agent.ts +231 -57
  46. package/apps/studio/sync/codec.ts +45 -0
  47. package/apps/studio/sync/cold-start.ts +158 -0
  48. package/apps/studio/sync/connection-state.ts +58 -2
  49. package/apps/studio/sync/index.ts +563 -221
  50. package/apps/studio/sync/journal.ts +190 -0
  51. package/apps/studio/sync/migrate-seed.ts +202 -44
  52. package/apps/studio/sync/projection.ts +22 -3
  53. package/apps/studio/sync/status.ts +15 -4
  54. package/apps/studio/test/activity.test.ts +1 -7
  55. package/apps/studio/test/annotate-write.test.ts +184 -0
  56. package/apps/studio/test/annotations-align.test.ts +88 -0
  57. package/apps/studio/test/annotations-bindings.test.ts +124 -0
  58. package/apps/studio/test/annotations-groups.test.ts +231 -0
  59. package/apps/studio/test/annotations-snap.test.ts +79 -0
  60. package/apps/studio/test/canvas-edit.test.ts +181 -1
  61. package/apps/studio/test/canvas-origin-gate.test.ts +8 -0
  62. package/apps/studio/test/collab-bridge.test.ts +0 -2
  63. package/apps/studio/test/collab-room.test.ts +2 -7
  64. package/apps/studio/test/csp-canvas-shell.test.ts +5 -0
  65. package/apps/studio/test/csrf-write-guard.test.ts +52 -0
  66. package/apps/studio/test/figjam-v3-model.test.ts +342 -0
  67. package/apps/studio/test/fixtures/figjam-v3-groups-bindings.svg +1 -0
  68. package/apps/studio/test/shared-doc-migrate.test.ts +224 -14
  69. package/apps/studio/test/sync-agent.test.ts +272 -2
  70. package/apps/studio/test/sync-codec.test.ts +65 -0
  71. package/apps/studio/test/sync-cold-start.test.ts +244 -0
  72. package/apps/studio/test/sync-connection-state.test.ts +68 -0
  73. package/apps/studio/test/sync-hardening.test.ts +0 -8
  74. package/apps/studio/test/sync-hubs-config.test.ts +0 -1
  75. package/apps/studio/test/sync-incident-replay.test.ts +211 -0
  76. package/apps/studio/test/sync-journal.test.ts +176 -0
  77. package/apps/studio/test/sync-runtime.test.ts +360 -5
  78. package/apps/studio/test/sync-status.test.ts +66 -0
  79. package/apps/studio/test/use-annotation-resize.test.ts +159 -0
  80. package/apps/studio/test/use-artboard-drag.test.ts +0 -1
  81. package/apps/studio/test/use-collab.test.ts +0 -0
  82. package/apps/studio/test/use-tool-mode.test.tsx +5 -2
  83. package/apps/studio/tool-palette.tsx +12 -2
  84. package/apps/studio/undo-hud.tsx +0 -1
  85. package/apps/studio/use-agent-presence.tsx +4 -2
  86. package/apps/studio/use-annotation-resize.tsx +484 -54
  87. package/apps/studio/use-annotation-selection.tsx +16 -4
  88. package/apps/studio/use-canvas-activity.tsx +2 -2
  89. package/apps/studio/use-collab.tsx +20 -15
  90. package/apps/studio/use-selection-set.tsx +9 -0
  91. package/apps/studio/use-tool-mode.tsx +5 -1
  92. package/apps/studio/whats-new.json +135 -10
  93. package/apps/studio/whats-new.schema.json +18 -2
  94. package/cli/commands/design-link.test.mjs +84 -0
  95. package/cli/commands/design.mjs +2 -1
  96. package/cli/commands/design.test.mjs +5 -1
  97. package/cli/lib/design-link.mjs +51 -1
  98. package/package.json +8 -8
  99. package/plugins/design/templates/_shell.html +28 -4
@@ -1817,11 +1817,6 @@
1817
1817
  cursor: default;
1818
1818
  }
1819
1819
 
1820
- .st-menu:focus-visible {
1821
- outline: 2px solid var(--accent);
1822
- outline-offset: 1px;
1823
- }
1824
-
1825
1820
  .st-mb-right {
1826
1821
  align-items: center;
1827
1822
  gap: var(--space-3);
@@ -1919,7 +1914,7 @@
1919
1914
  min-width: 230px;
1920
1915
  box-shadow: var(--shadow-lg);
1921
1916
  padding: var(--space-2);
1922
- z-index: 60;
1917
+ z-index: 9150;
1923
1918
  animation: st-pop var(--dur-panel) var(--ease-out);
1924
1919
  transform-origin: 0 0;
1925
1920
  position: absolute;
@@ -2025,24 +2020,22 @@
2025
2020
  color: var(--fg-0);
2026
2021
  }
2027
2022
 
2028
- .st-iconbtn:focus-visible {
2029
- outline: 2px solid var(--accent);
2030
- outline-offset: 1px;
2031
- }
2032
-
2033
2023
  .st-presence {
2034
2024
  align-items: center;
2035
2025
  display: flex;
2036
2026
  }
2037
2027
 
2038
2028
  .st-avatar {
2029
+ --av-hue: var(--accent);
2039
2030
  border-radius: var(--radius-pill);
2040
2031
  width: 22px;
2041
2032
  height: 22px;
2042
2033
  font-family: var(--font-mono);
2043
2034
  letter-spacing: .02em;
2044
2035
  text-transform: uppercase;
2045
- color: #fff;
2036
+ background: color-mix(in oklab, var(--av-hue) 22%, var(--bg-3));
2037
+ border: 1px solid var(--av-hue);
2038
+ color: var(--fg-0);
2046
2039
  place-items: center;
2047
2040
  font-size: 10px;
2048
2041
  font-weight: 600;
@@ -2051,7 +2044,7 @@
2051
2044
  }
2052
2045
 
2053
2046
  .st-presence .st-avatar {
2054
- border: 1.5px solid var(--bg-1);
2047
+ box-shadow: 0 0 0 1.5px var(--bg-1);
2055
2048
  margin-left: -6px;
2056
2049
  }
2057
2050
 
@@ -2158,11 +2151,6 @@
2158
2151
  border-color: var(--border-strong);
2159
2152
  }
2160
2153
 
2161
- .st-sb-theme:focus-visible {
2162
- outline: 2px solid var(--accent);
2163
- outline-offset: 1px;
2164
- }
2165
-
2166
2154
  .st-dot {
2167
2155
  border-radius: var(--radius-pill);
2168
2156
  flex: none;
@@ -2335,11 +2323,6 @@
2335
2323
  flex: 1;
2336
2324
  }
2337
2325
 
2338
- .st-newboard input:focus-visible {
2339
- outline: 2px solid var(--accent);
2340
- outline-offset: 1px;
2341
- }
2342
-
2343
2326
  .st-newboard-go {
2344
2327
  appearance: none;
2345
2328
  border: 1px solid var(--accent);
@@ -2944,7 +2927,7 @@
2944
2927
  line-height: 1.3;
2945
2928
  display: flex;
2946
2929
  position: fixed;
2947
- top: 12px;
2930
+ top: 48px;
2948
2931
  left: 50%;
2949
2932
  transform: translateX(-50%);
2950
2933
  }
@@ -3039,7 +3022,7 @@
3039
3022
 
3040
3023
  .st-palette {
3041
3024
  background: var(--bg-2);
3042
- border: 1px solid var(--border-strong);
3025
+ border: 1px solid var(--border-default);
3043
3026
  border-radius: var(--radius-lg);
3044
3027
  width: 560px;
3045
3028
  max-width: 92vw;
@@ -3225,219 +3208,2504 @@
3225
3208
  position: absolute;
3226
3209
  }
3227
3210
 
3228
- .st-toast-close:hover {
3229
- background: var(--bg-3);
3230
- color: var(--fg-0);
3211
+ .st-toast-close:hover {
3212
+ background: var(--bg-3);
3213
+ color: var(--fg-0);
3214
+ }
3215
+
3216
+ .st-dialog {
3217
+ background: var(--bg-1);
3218
+ border: 1px solid var(--border-default);
3219
+ border-radius: var(--radius-lg);
3220
+ width: 540px;
3221
+ max-width: 92vw;
3222
+ box-shadow: var(--shadow-lg);
3223
+ animation: st-pop var(--dur-route) var(--ease-out);
3224
+ overflow: hidden;
3225
+ }
3226
+
3227
+ .st-dialog-hd {
3228
+ padding: var(--space-4) var(--space-5);
3229
+ border-bottom: 1px solid var(--border-subtle);
3230
+ justify-content: space-between;
3231
+ align-items: center;
3232
+ display: flex;
3233
+ }
3234
+
3235
+ .st-dialog-title {
3236
+ font-family: var(--font-display);
3237
+ font-size: var(--type-lg);
3238
+ color: var(--fg-0);
3239
+ font-weight: 600;
3240
+ }
3241
+
3242
+ .st-dialog-bd {
3243
+ padding: var(--space-5);
3244
+ gap: var(--space-4);
3245
+ flex-direction: column;
3246
+ display: flex;
3247
+ }
3248
+
3249
+ .st-fmt-grid {
3250
+ gap: var(--space-3);
3251
+ grid-template-columns: repeat(4, 1fr);
3252
+ display: grid;
3253
+ }
3254
+
3255
+ .st-fmt {
3256
+ gap: var(--space-2);
3257
+ padding: var(--space-3) var(--space-4);
3258
+ border: 1px solid var(--border-default);
3259
+ border-radius: var(--radius-md);
3260
+ background: var(--bg-2);
3261
+ cursor: pointer;
3262
+ color: var(--fg-1);
3263
+ appearance: none;
3264
+ text-align: left;
3265
+ flex-direction: column;
3266
+ align-items: flex-start;
3267
+ display: flex;
3268
+ }
3269
+
3270
+ .st-fmt:hover {
3271
+ border-color: var(--border-strong);
3272
+ }
3273
+
3274
+ .st-fmt.is-on {
3275
+ border-color: var(--accent);
3276
+ background: var(--accent-tint);
3277
+ color: var(--fg-0);
3278
+ box-shadow: 0 0 0 2px var(--accent-tint);
3279
+ }
3280
+
3281
+ .st-fmt-name {
3282
+ font-family: var(--font-mono);
3283
+ font-size: var(--type-sm);
3284
+ font-weight: 600;
3285
+ }
3286
+
3287
+ .st-fmt-sub {
3288
+ font-size: var(--type-xs);
3289
+ color: var(--fg-2);
3290
+ }
3291
+
3292
+ .st-dialog-row {
3293
+ align-items: center;
3294
+ gap: var(--space-3);
3295
+ display: flex;
3296
+ }
3297
+
3298
+ .st-dialog-lbl {
3299
+ font-family: var(--font-mono);
3300
+ font-size: var(--type-xs);
3301
+ color: var(--fg-2);
3302
+ text-transform: uppercase;
3303
+ letter-spacing: var(--tracking-wide);
3304
+ }
3305
+
3306
+ .st-select {
3307
+ appearance: none;
3308
+ background: var(--bg-2);
3309
+ color: var(--fg-0);
3310
+ border: 1px solid var(--border-default);
3311
+ border-radius: var(--radius-sm);
3312
+ padding: var(--space-2) var(--space-3);
3313
+ font-family: var(--font-body);
3314
+ font-size: var(--type-sm);
3315
+ cursor: pointer;
3316
+ flex: 1;
3317
+ }
3318
+
3319
+ .st-dialog-ft {
3320
+ align-items: center;
3321
+ gap: var(--space-3);
3322
+ padding: var(--space-4) var(--space-5);
3323
+ border-top: 1px solid var(--border-subtle);
3324
+ justify-content: flex-end;
3325
+ display: flex;
3326
+ }
3327
+
3328
+ .st-export-recent {
3329
+ flex-direction: column;
3330
+ gap: 2px;
3331
+ max-height: 132px;
3332
+ display: flex;
3333
+ overflow-y: auto;
3334
+ }
3335
+
3336
+ .st-export-recent-row {
3337
+ justify-content: space-between;
3338
+ align-items: center;
3339
+ gap: var(--space-3);
3340
+ padding: var(--space-2) var(--space-3);
3341
+ border-radius: var(--radius-sm);
3342
+ font-size: var(--type-xs);
3343
+ color: var(--fg-2);
3344
+ display: flex;
3345
+ }
3346
+
3347
+ .st-export-recent-row:hover {
3348
+ background: var(--bg-2);
3349
+ }
3350
+
3351
+ .st-export-recent-row .st-mono {
3352
+ color: var(--fg-1);
3353
+ white-space: nowrap;
3354
+ text-overflow: ellipsis;
3355
+ max-width: 50%;
3356
+ overflow: hidden;
3357
+ }
3358
+
3359
+ .st-insp-fields {
3360
+ gap: var(--space-2);
3361
+ flex-wrap: wrap;
3362
+ align-items: center;
3363
+ display: flex;
3364
+ }
3365
+
3366
+ .st-field {
3367
+ font-family: var(--font-mono);
3368
+ font-variant-numeric: tabular-nums;
3369
+ font-size: var(--type-xs);
3370
+ color: var(--fg-0);
3371
+ background: var(--bg-3);
3372
+ border: 1px solid var(--border-default);
3373
+ border-radius: var(--radius-xs);
3374
+ padding: var(--space-1) var(--space-2);
3375
+ text-align: right;
3376
+ width: 58px;
3377
+ }
3378
+
3379
+ .st-field-lead {
3380
+ align-items: center;
3381
+ gap: var(--space-1);
3382
+ display: inline-flex;
3383
+ }
3384
+
3385
+ .st-field-lead .k {
3386
+ font-family: var(--font-mono);
3387
+ color: var(--fg-3);
3388
+ font-size: 9px;
3389
+ }
3390
+
3391
+ .st-fmini {
3392
+ border: 1px solid var(--border-default);
3393
+ border-radius: var(--radius-xs);
3394
+ background: var(--bg-3);
3395
+ min-width: 0;
3396
+ transition: border-color var(--dur-soft) var(--ease-out), box-shadow var(--dur-soft) var(--ease-out);
3397
+ flex: 1 1 0;
3398
+ align-items: stretch;
3399
+ display: inline-flex;
3400
+ overflow: hidden;
3401
+ }
3402
+
3403
+ .st-fmini .st-mtag {
3404
+ width: 20px;
3405
+ font-family: var(--font-mono);
3406
+ font-size: var(--type-xs);
3407
+ color: var(--fg-2);
3408
+ background: var(--bg-2);
3409
+ border-right: 1px solid var(--border-default);
3410
+ flex: none;
3411
+ justify-content: center;
3412
+ align-items: center;
3413
+ display: flex;
3414
+ }
3415
+
3416
+ .st-fmini input, .st-fmini .st-fminival {
3417
+ box-sizing: border-box;
3418
+ appearance: none;
3419
+ width: 100%;
3420
+ min-width: 0;
3421
+ color: var(--fg-0);
3422
+ font-family: var(--font-mono);
3423
+ font-variant-numeric: tabular-nums;
3424
+ font-size: var(--type-xs);
3425
+ text-align: right;
3426
+ padding: 3px var(--space-2);
3427
+ background: none;
3428
+ border: 0;
3429
+ border-radius: 0;
3430
+ flex: auto;
3431
+ }
3432
+
3433
+ .st-fmini input:focus {
3434
+ outline: none;
3435
+ }
3436
+
3437
+ .st-fmini:focus-within {
3438
+ border-color: var(--accent);
3439
+ box-shadow: 0 0 0 3px var(--accent-tint);
3440
+ }
3441
+
3442
+ .st-insp-unit {
3443
+ font-family: var(--font-mono);
3444
+ color: var(--fg-2);
3445
+ letter-spacing: var(--tracking-wide);
3446
+ align-self: center;
3447
+ font-size: 10px;
3448
+ }
3449
+
3450
+ .st-swatch-row {
3451
+ align-items: center;
3452
+ gap: var(--space-2);
3453
+ min-width: 0;
3454
+ display: flex;
3455
+ }
3456
+
3457
+ .st-insp-swatch {
3458
+ border-radius: var(--radius-xs);
3459
+ border: 1px solid var(--border-default);
3460
+ flex: none;
3461
+ width: 18px;
3462
+ height: 18px;
3463
+ display: block;
3464
+ }
3465
+
3466
+ .st-layer {
3467
+ align-items: center;
3468
+ gap: var(--space-2);
3469
+ padding: var(--space-2);
3470
+ border-radius: var(--radius-xs);
3471
+ font-size: var(--type-sm);
3472
+ color: var(--fg-1);
3473
+ font-family: var(--font-mono);
3474
+ display: flex;
3475
+ }
3476
+
3477
+ .st-layer:hover {
3478
+ background: var(--bg-2);
3479
+ }
3480
+
3481
+ .st-layer.is-sel {
3482
+ background: var(--accent-tint);
3483
+ color: var(--fg-0);
3484
+ box-shadow: inset 2px 0 0 var(--accent);
3485
+ }
3486
+
3487
+ .st-layer--row {
3488
+ cursor: pointer;
3489
+ padding: 3px var(--space-2);
3490
+ white-space: nowrap;
3491
+ gap: 4px;
3492
+ }
3493
+
3494
+ .st-layer--row:focus-visible {
3495
+ outline: 2px solid var(--accent);
3496
+ outline-offset: -2px;
3497
+ }
3498
+
3499
+ .st-layer-caret {
3500
+ width: 14px;
3501
+ height: 14px;
3502
+ color: var(--fg-3);
3503
+ cursor: pointer;
3504
+ background: none;
3505
+ border: 0;
3506
+ flex: none;
3507
+ justify-content: center;
3508
+ align-items: center;
3509
+ padding: 0;
3510
+ font-size: 9px;
3511
+ line-height: 1;
3512
+ display: inline-flex;
3513
+ }
3514
+
3515
+ .st-layer-label {
3516
+ text-overflow: ellipsis;
3517
+ flex: auto;
3518
+ overflow: hidden;
3519
+ }
3520
+
3521
+ .st-layer-type {
3522
+ color: var(--fg-3);
3523
+ text-transform: uppercase;
3524
+ letter-spacing: var(--tracking-wide);
3525
+ flex: none;
3526
+ font-size: 9px;
3527
+ }
3528
+
3529
+ .st-layer-ticon {
3530
+ color: var(--fg-3);
3531
+ flex: none;
3532
+ }
3533
+
3534
+ .st-layer.is-sel .st-layer-ticon {
3535
+ color: var(--accent);
3536
+ }
3537
+
3538
+ .st-layer-eye {
3539
+ width: 18px;
3540
+ height: 18px;
3541
+ color: var(--fg-3);
3542
+ cursor: pointer;
3543
+ border-radius: var(--radius-xs);
3544
+ opacity: 0;
3545
+ background: none;
3546
+ border: 0;
3547
+ flex: none;
3548
+ justify-content: center;
3549
+ align-items: center;
3550
+ padding: 0;
3551
+ display: inline-flex;
3552
+ }
3553
+
3554
+ .st-layer--row:hover .st-layer-eye, .st-layer--row:focus-within .st-layer-eye {
3555
+ opacity: 1;
3556
+ }
3557
+
3558
+ .st-layer-eye:hover {
3559
+ color: var(--fg-0);
3560
+ background: var(--bg-3);
3561
+ }
3562
+
3563
+ .st-layer-eye:focus-visible {
3564
+ color: var(--accent);
3565
+ box-shadow: 0 0 0 2px var(--accent-tint);
3566
+ outline: none;
3567
+ }
3568
+
3569
+ .st-layer.is-hidden {
3570
+ opacity: .45;
3571
+ }
3572
+
3573
+ .st-layer.is-hidden .st-layer-eye {
3574
+ opacity: 1;
3575
+ color: var(--fg-2);
3576
+ }
3577
+
3578
+ .st-css {
3579
+ font-family: var(--font-mono);
3580
+ font-size: var(--type-xs);
3581
+ background: var(--bg-0);
3582
+ border: 1px solid var(--border-subtle);
3583
+ border-radius: var(--radius-sm);
3584
+ padding: var(--space-3);
3585
+ color: var(--fg-1);
3586
+ line-height: 1.7;
3587
+ }
3588
+
3589
+ .st-css .comment {
3590
+ color: var(--fg-3);
3591
+ }
3592
+
3593
+ .st-css-panel {
3594
+ gap: var(--space-2);
3595
+ flex-direction: column;
3596
+ display: flex;
3597
+ }
3598
+
3599
+ .st-css-title {
3600
+ font-family: var(--font-mono);
3601
+ font-size: var(--type-xs);
3602
+ color: var(--fg-1);
3603
+ word-break: break-word;
3604
+ }
3605
+
3606
+ .st-css-group {
3607
+ font-family: var(--font-mono);
3608
+ letter-spacing: var(--tracking-wide);
3609
+ text-transform: uppercase;
3610
+ color: var(--fg-3);
3611
+ margin-top: var(--space-3);
3612
+ font-size: 10px;
3613
+ }
3614
+
3615
+ .st-css-row {
3616
+ align-items: center;
3617
+ gap: var(--space-2);
3618
+ grid-template-columns: 72px 1fr;
3619
+ display: grid;
3620
+ }
3621
+
3622
+ .st-css-label {
3623
+ font-family: var(--font-mono);
3624
+ font-size: var(--type-xs);
3625
+ color: var(--fg-2);
3626
+ }
3627
+
3628
+ .st-css-control {
3629
+ align-items: center;
3630
+ gap: var(--space-2);
3631
+ min-width: 0;
3632
+ display: flex;
3633
+ }
3634
+
3635
+ .st-css-input {
3636
+ box-sizing: border-box;
3637
+ width: 100%;
3638
+ min-width: 0;
3639
+ font-family: var(--font-mono);
3640
+ font-variant-numeric: tabular-nums;
3641
+ font-size: var(--type-xs);
3642
+ color: var(--fg-0);
3643
+ background: var(--bg-3);
3644
+ border: 1px solid var(--border-default);
3645
+ border-radius: var(--radius-xs);
3646
+ padding: var(--space-1) var(--space-2);
3647
+ text-align: left;
3648
+ flex: auto;
3649
+ }
3650
+
3651
+ .st-css-input::placeholder {
3652
+ color: var(--fg-3);
3653
+ }
3654
+
3655
+ .st-css-input:focus {
3656
+ border-color: var(--accent);
3657
+ box-shadow: 0 0 0 2px var(--accent-tint);
3658
+ outline: none;
3659
+ }
3660
+
3661
+ .st-css-swatch {
3662
+ border-radius: var(--radius-xs);
3663
+ border: 1px solid var(--border-default);
3664
+ cursor: pointer;
3665
+ background-image: linear-gradient(45deg, var(--bg-2) 25%, transparent 25%), linear-gradient(-45deg, var(--bg-2) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg-2) 75%), linear-gradient(-45deg, transparent 75%, var(--bg-2) 75%);
3666
+ background-position: 0 0, 0 4px, 4px -4px, -4px 0;
3667
+ background-size: 8px 8px;
3668
+ flex: none;
3669
+ width: 22px;
3670
+ height: 22px;
3671
+ padding: 0;
3672
+ position: relative;
3673
+ overflow: hidden;
3674
+ }
3675
+
3676
+ .st-css-swatch > span {
3677
+ position: absolute;
3678
+ inset: 0;
3679
+ }
3680
+
3681
+ .st-css-swatch input[type="color"] {
3682
+ opacity: 0;
3683
+ cursor: pointer;
3684
+ border: 0;
3685
+ width: calc(100% + 8px);
3686
+ height: calc(100% + 8px);
3687
+ padding: 0;
3688
+ position: absolute;
3689
+ inset: -4px;
3690
+ }
3691
+
3692
+ .st-css-status {
3693
+ font-family: var(--font-mono);
3694
+ min-height: 12px;
3695
+ font-size: 10px;
3696
+ }
3697
+
3698
+ .st-css-status.is-error {
3699
+ color: oklch(62% .2 25);
3700
+ }
3701
+
3702
+ .st-css-status.is-saved {
3703
+ color: var(--fg-3);
3704
+ }
3705
+
3706
+ .st-css-help {
3707
+ font-size: var(--type-xs);
3708
+ color: var(--fg-3);
3709
+ margin-top: var(--space-2);
3710
+ line-height: 1.5;
3711
+ }
3712
+
3713
+ .st-css-help code {
3714
+ font-family: var(--font-mono);
3715
+ color: var(--fg-2);
3716
+ background: var(--bg-3);
3717
+ border-radius: 3px;
3718
+ padding: 0 3px;
3719
+ }
3720
+
3721
+ .st-css-disabled {
3722
+ color: var(--fg-2);
3723
+ font-size: var(--type-sm);
3724
+ line-height: 1.6;
3725
+ }
3726
+
3727
+ .st-css-disabled code {
3728
+ font-family: var(--font-mono);
3729
+ color: var(--accent);
3730
+ background: var(--bg-2);
3731
+ border-radius: var(--radius-xs);
3732
+ padding: 1px 5px;
3733
+ }
3734
+
3735
+ .st-cp {
3736
+ gap: var(--space-4);
3737
+ flex-direction: column;
3738
+ display: flex;
3739
+ }
3740
+
3741
+ .st-cp-id {
3742
+ justify-content: space-between;
3743
+ align-items: baseline;
3744
+ gap: var(--space-2);
3745
+ padding-bottom: var(--space-3);
3746
+ border-bottom: 1px solid var(--border-subtle);
3747
+ display: flex;
3748
+ }
3749
+
3750
+ .st-cp-idtag {
3751
+ font-family: var(--font-mono);
3752
+ font-size: var(--type-sm);
3753
+ color: var(--fg-0);
3754
+ }
3755
+
3756
+ .st-cp-idcls {
3757
+ color: var(--accent);
3758
+ }
3759
+
3760
+ .st-cp-idmeta {
3761
+ font-family: var(--font-mono);
3762
+ color: var(--fg-2);
3763
+ text-transform: uppercase;
3764
+ letter-spacing: var(--tracking-wide);
3765
+ font-size: 10px;
3766
+ }
3767
+
3768
+ .st-cp-sec {
3769
+ gap: var(--space-2);
3770
+ flex-direction: column;
3771
+ display: flex;
3772
+ }
3773
+
3774
+ .st-cp-sechd {
3775
+ appearance: none;
3776
+ cursor: pointer;
3777
+ align-items: center;
3778
+ gap: var(--space-2);
3779
+ border: 0;
3780
+ border-bottom: 1px solid var(--border-subtle);
3781
+ text-align: left;
3782
+ width: 100%;
3783
+ font-family: var(--font-mono);
3784
+ font-size: var(--type-xs);
3785
+ text-transform: uppercase;
3786
+ letter-spacing: var(--tracking-wide);
3787
+ color: var(--fg-2);
3788
+ padding: 0 0 var(--space-1);
3789
+ background: none;
3790
+ display: flex;
3791
+ }
3792
+
3793
+ .st-cp-sechd svg {
3794
+ color: var(--fg-2);
3795
+ }
3796
+
3797
+ .st-cp-sechd:hover, .st-cp-sechd:hover svg {
3798
+ color: var(--fg-0);
3799
+ }
3800
+
3801
+ .st-cp-sechd-row {
3802
+ align-items: stretch;
3803
+ gap: var(--space-1);
3804
+ border-bottom: 1px solid var(--border-subtle);
3805
+ display: flex;
3806
+ }
3807
+
3808
+ .st-cp-sechd-row .st-cp-sechd {
3809
+ border-bottom: 0;
3810
+ flex: auto;
3811
+ }
3812
+
3813
+ .st-cp-reset, .st-cp-secreset {
3814
+ appearance: none;
3815
+ cursor: pointer;
3816
+ color: var(--fg-3);
3817
+ border-radius: var(--radius-xs);
3818
+ background: none;
3819
+ border: 0;
3820
+ flex: none;
3821
+ padding: 2px;
3822
+ font-size: 12px;
3823
+ line-height: 1;
3824
+ }
3825
+
3826
+ .st-cp-reset {
3827
+ width: 16px;
3828
+ height: 16px;
3829
+ }
3830
+
3831
+ .st-cp-reset:hover, .st-cp-secreset:hover {
3832
+ color: var(--accent);
3833
+ background: var(--accent-tint);
3834
+ }
3835
+
3836
+ .st-cp-reset:focus-visible, .st-cp-secreset:focus-visible {
3837
+ color: var(--accent);
3838
+ box-shadow: 0 0 0 2px var(--accent-tint);
3839
+ outline: none;
3840
+ }
3841
+
3842
+ .st-cp-secreset {
3843
+ align-self: center;
3844
+ }
3845
+
3846
+ .st-cp-fin--ro {
3847
+ background: var(--bg-2);
3848
+ color: var(--fg-2);
3849
+ cursor: default;
3850
+ flex: 0 0 38%;
3851
+ }
3852
+
3853
+ .st-cp-fin--ro:focus {
3854
+ border-color: var(--border-strong);
3855
+ box-shadow: none;
3856
+ outline: none;
3857
+ }
3858
+
3859
+ .st-cp-row {
3860
+ align-items: center;
3861
+ gap: var(--space-2);
3862
+ grid-template-columns: 10px 92px 1fr;
3863
+ min-height: 28px;
3864
+ display: grid;
3865
+ }
3866
+
3867
+ .st-cp-row.is-unset {
3868
+ opacity: .5;
3869
+ transition: opacity var(--dur-soft) var(--ease-out);
3870
+ }
3871
+
3872
+ .st-cp-row.is-unset:hover, .st-cp-row.is-unset:focus-within {
3873
+ opacity: 1;
3874
+ }
3875
+
3876
+ .st-cp-label {
3877
+ font-family: var(--font-mono);
3878
+ font-size: var(--type-xs);
3879
+ color: var(--fg-1);
3880
+ white-space: nowrap;
3881
+ text-overflow: ellipsis;
3882
+ line-height: 1.15;
3883
+ overflow: hidden;
3884
+ }
3885
+
3886
+ .st-cp-ctl {
3887
+ align-items: center;
3888
+ gap: var(--space-2);
3889
+ min-width: 0;
3890
+ display: flex;
3891
+ }
3892
+
3893
+ .st-cp-prov {
3894
+ flex: none;
3895
+ width: 8px;
3896
+ height: 8px;
3897
+ padding: 0;
3898
+ display: inline-block;
3899
+ }
3900
+
3901
+ button.st-cp-prov {
3902
+ appearance: none;
3903
+ cursor: default;
3904
+ border: 0;
3905
+ }
3906
+
3907
+ .st-cp-prov.is-resettable {
3908
+ cursor: pointer;
3909
+ }
3910
+
3911
+ .st-cp-prov.is-resettable:hover {
3912
+ box-shadow: 0 0 0 3px var(--bg-4);
3913
+ }
3914
+
3915
+ .st-cp-prov:focus-visible {
3916
+ box-shadow: 0 0 0 2px var(--accent-tint);
3917
+ outline: none;
3918
+ }
3919
+
3920
+ .st-cp-prov.is-saved {
3921
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--status-success) 45%, transparent);
3922
+ }
3923
+
3924
+ .st-cp-prov.is-saving {
3925
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--fg-2) 35%, transparent);
3926
+ }
3927
+
3928
+ .st-cp-prov.is-err {
3929
+ background: var(--status-error);
3930
+ border-color: var(--status-error);
3931
+ box-shadow: 0 0 0 3px color-mix(in oklab, var(--status-error) 40%, transparent);
3932
+ }
3933
+
3934
+ .st-cp-prov--bound {
3935
+ background: var(--fg-0);
3936
+ border-radius: 50%;
3937
+ }
3938
+
3939
+ .st-cp-prov--raw {
3940
+ background: var(--fg-2);
3941
+ border-radius: 1px;
3942
+ }
3943
+
3944
+ .st-cp-prov--inherit {
3945
+ box-shadow: inset 0 0 0 1.5px var(--fg-3);
3946
+ background: none;
3947
+ border-radius: 50%;
3948
+ }
3949
+
3950
+ .st-cp-swatch {
3951
+ border-radius: var(--radius-xs);
3952
+ border: 1px solid var(--border-default);
3953
+ flex: none;
3954
+ width: 22px;
3955
+ height: 22px;
3956
+ }
3957
+
3958
+ .st-cp-swatch--mini {
3959
+ width: 18px;
3960
+ height: 18px;
3961
+ }
3962
+
3963
+ .st-cp-tokswatch {
3964
+ border: 1px solid var(--border-default);
3965
+ border-radius: 3px;
3966
+ flex: none;
3967
+ width: 14px;
3968
+ height: 14px;
3969
+ }
3970
+
3971
+ .st-cp-token {
3972
+ align-items: center;
3973
+ gap: var(--space-2);
3974
+ appearance: none;
3975
+ cursor: pointer;
3976
+ min-width: 0;
3977
+ font-family: var(--font-mono);
3978
+ font-size: var(--type-xs);
3979
+ color: var(--fg-0);
3980
+ background: var(--bg-3);
3981
+ border: 1px solid var(--border-default);
3982
+ border-radius: var(--radius-xs);
3983
+ padding: 4px var(--space-2);
3984
+ flex: auto;
3985
+ display: inline-flex;
3986
+ }
3987
+
3988
+ .st-cp-token:hover {
3989
+ border-color: var(--accent);
3990
+ }
3991
+
3992
+ .st-cp-tokdot {
3993
+ background: var(--accent);
3994
+ border-radius: 50%;
3995
+ flex: none;
3996
+ width: 8px;
3997
+ height: 8px;
3998
+ }
3999
+
4000
+ .st-cp-tokname {
4001
+ text-overflow: ellipsis;
4002
+ white-space: nowrap;
4003
+ flex: auto;
4004
+ min-width: 0;
4005
+ overflow: hidden;
4006
+ }
4007
+
4008
+ .st-cp-token svg {
4009
+ color: var(--fg-2);
4010
+ flex: none;
4011
+ }
4012
+
4013
+ .st-cp-num {
4014
+ background: var(--bg-3);
4015
+ border: 1px solid var(--border-default);
4016
+ border-radius: var(--radius-xs);
4017
+ flex: auto;
4018
+ align-items: stretch;
4019
+ min-width: 0;
4020
+ min-height: 26px;
4021
+ display: inline-flex;
4022
+ overflow: hidden;
4023
+ }
4024
+
4025
+ .st-cp-numlead {
4026
+ width: 20px;
4027
+ color: var(--fg-2);
4028
+ font-family: var(--font-mono);
4029
+ font-size: var(--type-xs);
4030
+ border-right: 1px solid var(--border-subtle);
4031
+ background: var(--bg-2);
4032
+ flex: none;
4033
+ justify-content: center;
4034
+ align-items: center;
4035
+ display: inline-flex;
4036
+ }
4037
+
4038
+ .st-cp-num:focus-within .st-cp-numlead {
4039
+ color: var(--fg-1);
4040
+ }
4041
+
4042
+ .st-cp-num:hover {
4043
+ border-color: var(--border-strong);
4044
+ }
4045
+
4046
+ .st-cp-num:focus-within {
4047
+ border-color: var(--accent);
4048
+ box-shadow: 0 0 0 3px var(--accent-tint);
4049
+ }
4050
+
4051
+ .st-cp-numin {
4052
+ appearance: none;
4053
+ width: 100%;
4054
+ min-width: 0;
4055
+ color: var(--fg-0);
4056
+ font-family: var(--font-mono);
4057
+ font-variant-numeric: tabular-nums;
4058
+ font-size: var(--type-xs);
4059
+ padding: 3px var(--space-2);
4060
+ background: none;
4061
+ border: 0;
4062
+ flex: auto;
4063
+ }
4064
+
4065
+ .st-cp-numin::placeholder {
4066
+ color: var(--fg-2);
4067
+ }
4068
+
4069
+ .st-cp-numin:focus {
4070
+ outline: none;
4071
+ }
4072
+
4073
+ .st-cp-scrub {
4074
+ cursor: ew-resize;
4075
+ }
4076
+
4077
+ .st-cp-scrub:focus {
4078
+ cursor: text;
4079
+ }
4080
+
4081
+ body.st-scrubbing, body.st-scrubbing * {
4082
+ cursor: ew-resize !important;
4083
+ user-select: none !important;
4084
+ }
4085
+
4086
+ .st-cp-step {
4087
+ border-left: 1px solid var(--border-subtle);
4088
+ flex-direction: column;
4089
+ flex: none;
4090
+ display: flex;
4091
+ }
4092
+
4093
+ .st-cp-stepb {
4094
+ appearance: none;
4095
+ cursor: pointer;
4096
+ background: var(--bg-2);
4097
+ color: var(--fg-2);
4098
+ border: 0;
4099
+ flex: 1;
4100
+ padding: 0 5px;
4101
+ font-size: 7px;
4102
+ line-height: 1;
4103
+ }
4104
+
4105
+ .st-cp-stepb:first-child {
4106
+ border-bottom: 1px solid var(--border-subtle);
4107
+ }
4108
+
4109
+ .st-cp-stepb:hover {
4110
+ color: var(--accent);
4111
+ }
4112
+
4113
+ .st-cp-unit {
4114
+ appearance: none;
4115
+ cursor: pointer;
4116
+ border: 0;
4117
+ border-left: 1px solid var(--border-subtle);
4118
+ background: var(--bg-2);
4119
+ color: var(--fg-2);
4120
+ font-family: var(--font-mono);
4121
+ padding: 0 var(--space-2);
4122
+ flex: none;
4123
+ align-items: center;
4124
+ gap: 2px;
4125
+ font-size: 10px;
4126
+ display: inline-flex;
4127
+ }
4128
+
4129
+ .st-cp-unit svg {
4130
+ color: var(--fg-2);
4131
+ }
4132
+
4133
+ .st-cp-bind {
4134
+ appearance: none;
4135
+ cursor: pointer;
4136
+ border: 0;
4137
+ border-left: 1px solid var(--border-subtle);
4138
+ background: var(--bg-2);
4139
+ flex: none;
4140
+ width: 24px;
4141
+ position: relative;
4142
+ }
4143
+
4144
+ .st-cp-bind:before {
4145
+ content: "";
4146
+ border: 1.5px solid var(--fg-2);
4147
+ border-radius: 50%;
4148
+ width: 7px;
4149
+ height: 7px;
4150
+ position: absolute;
4151
+ top: 50%;
4152
+ left: 50%;
4153
+ transform: translate(-50%, -50%);
4154
+ }
4155
+
4156
+ .st-cp-bind:hover:before {
4157
+ border-color: var(--accent);
4158
+ }
4159
+
4160
+ .st-cp-numin--mini {
4161
+ background: var(--bg-3);
4162
+ border: 1px solid var(--border-default);
4163
+ border-radius: var(--radius-xs);
4164
+ flex: none;
4165
+ width: 38px;
4166
+ }
4167
+
4168
+ .st-cp-select {
4169
+ justify-content: space-between;
4170
+ align-items: center;
4171
+ gap: var(--space-2);
4172
+ appearance: none;
4173
+ cursor: pointer;
4174
+ min-width: 0;
4175
+ font-family: var(--font-body);
4176
+ font-size: var(--type-xs);
4177
+ color: var(--fg-0);
4178
+ background: var(--bg-3);
4179
+ border: 1px solid var(--border-default);
4180
+ border-radius: var(--radius-xs);
4181
+ padding: 4px var(--space-2);
4182
+ flex: auto;
4183
+ min-height: 26px;
4184
+ display: inline-flex;
4185
+ }
4186
+
4187
+ .st-cp-select span {
4188
+ text-overflow: ellipsis;
4189
+ white-space: nowrap;
4190
+ overflow: hidden;
4191
+ }
4192
+
4193
+ .st-cp-select svg {
4194
+ color: var(--fg-2);
4195
+ flex: none;
4196
+ }
4197
+
4198
+ .st-cp-select--mini {
4199
+ flex: 0 auto;
4200
+ }
4201
+
4202
+ .st-cp-seg {
4203
+ background: var(--bg-3);
4204
+ border: 1px solid var(--border-default);
4205
+ border-radius: var(--radius-xs);
4206
+ display: inline-flex;
4207
+ overflow: hidden;
4208
+ }
4209
+
4210
+ .st-cp-segbtn {
4211
+ appearance: none;
4212
+ cursor: pointer;
4213
+ border: 0;
4214
+ border-right: 1px solid var(--border-subtle);
4215
+ background: none;
4216
+ justify-content: center;
4217
+ align-items: center;
4218
+ min-width: 26px;
4219
+ min-height: 26px;
4220
+ padding: 0 7px;
4221
+ display: inline-flex;
4222
+ }
4223
+
4224
+ .st-cp-segbtn:last-child {
4225
+ border-right: 0;
4226
+ }
4227
+
4228
+ .st-cp-segbtn.is-active {
4229
+ background: var(--accent-tint);
4230
+ }
4231
+
4232
+ .st-cp-segbtn:hover:not(.is-active) {
4233
+ background: var(--bg-4);
4234
+ }
4235
+
4236
+ .st-cp-bars {
4237
+ width: 13px;
4238
+ color: var(--fg-1);
4239
+ flex-direction: column;
4240
+ gap: 2px;
4241
+ display: flex;
4242
+ }
4243
+
4244
+ .st-cp-segbtn.is-active .st-cp-bars {
4245
+ color: var(--accent);
4246
+ }
4247
+
4248
+ .st-cp-bars i {
4249
+ background: currentColor;
4250
+ border-radius: 1px;
4251
+ height: 2px;
4252
+ }
4253
+
4254
+ .st-cp-bars--left i:first-child {
4255
+ width: 100%;
4256
+ }
4257
+
4258
+ .st-cp-bars--left i:nth-child(2) {
4259
+ width: 60%;
4260
+ }
4261
+
4262
+ .st-cp-bars--left i:nth-child(3) {
4263
+ width: 80%;
4264
+ }
4265
+
4266
+ .st-cp-bars--center i {
4267
+ margin: 0 auto;
4268
+ }
4269
+
4270
+ .st-cp-bars--center i:first-child {
4271
+ width: 100%;
4272
+ }
4273
+
4274
+ .st-cp-bars--center i:nth-child(2) {
4275
+ width: 55%;
4276
+ }
4277
+
4278
+ .st-cp-bars--center i:nth-child(3) {
4279
+ width: 75%;
4280
+ }
4281
+
4282
+ .st-cp-bars--right i {
4283
+ margin-left: auto;
4284
+ }
4285
+
4286
+ .st-cp-bars--right i:first-child {
4287
+ width: 100%;
4288
+ }
4289
+
4290
+ .st-cp-bars--right i:nth-child(2) {
4291
+ width: 60%;
4292
+ }
4293
+
4294
+ .st-cp-bars--right i:nth-child(3) {
4295
+ width: 80%;
4296
+ }
4297
+
4298
+ .st-cp-bars--just i {
4299
+ width: 100%;
4300
+ }
4301
+
4302
+ .st-cp-box {
4303
+ margin-top: var(--space-1);
4304
+ border: 1px dashed var(--border-default);
4305
+ border-radius: var(--radius-sm);
4306
+ background: var(--bg-2);
4307
+ place-items: center;
4308
+ padding: 26px;
4309
+ display: grid;
4310
+ position: relative;
4311
+ }
4312
+
4313
+ .st-cp-boxpad {
4314
+ border: 1px solid var(--border-default);
4315
+ border-radius: var(--radius-xs);
4316
+ background: var(--bg-3);
4317
+ place-items: center;
4318
+ width: 100%;
4319
+ padding: 26px;
4320
+ display: grid;
4321
+ position: relative;
4322
+ }
4323
+
4324
+ .st-cp-boxcore {
4325
+ border-radius: var(--radius-xs);
4326
+ background: var(--bg-4);
4327
+ border: 1px solid var(--accent);
4328
+ min-width: 72px;
4329
+ color: var(--fg-0);
4330
+ font-family: var(--font-mono);
4331
+ font-variant-numeric: tabular-nums;
4332
+ text-align: center;
4333
+ padding: 7px 12px;
4334
+ font-size: 11px;
4335
+ }
4336
+
4337
+ .st-cp-boxtag {
4338
+ font-family: var(--font-mono);
4339
+ letter-spacing: var(--tracking-wide);
4340
+ text-transform: uppercase;
4341
+ color: var(--fg-2);
4342
+ pointer-events: none;
4343
+ align-items: center;
4344
+ gap: 4px;
4345
+ font-size: 10px;
4346
+ display: inline-flex;
4347
+ position: absolute;
4348
+ top: 4px;
4349
+ left: 6px;
4350
+ }
4351
+
4352
+ .st-cp-boxtag .st-cp-prov {
4353
+ width: 6px;
4354
+ height: 6px;
4355
+ }
4356
+
4357
+ .st-cp-boxv {
4358
+ border-radius: var(--radius-xs);
4359
+ width: 36px;
4360
+ height: 24px;
4361
+ color: var(--fg-0);
4362
+ font-family: var(--font-mono);
4363
+ font-variant-numeric: tabular-nums;
4364
+ text-align: center;
4365
+ background: none;
4366
+ border: 1px solid #0000;
4367
+ padding: 0;
4368
+ font-size: 11px;
4369
+ position: absolute;
4370
+ }
4371
+
4372
+ .st-cp-boxv.is-zero {
4373
+ color: var(--fg-2);
4374
+ }
4375
+
4376
+ .st-cp-boxv:hover, .st-cp-boxv:focus {
4377
+ border-color: var(--border-strong);
4378
+ background: var(--bg-1);
4379
+ color: var(--fg-0);
4380
+ outline: none;
4381
+ }
4382
+
4383
+ .st-cp-boxv--mt, .st-cp-boxv--pt {
4384
+ top: 1px;
4385
+ left: 50%;
4386
+ transform: translateX(-50%);
4387
+ }
4388
+
4389
+ .st-cp-boxv--mb, .st-cp-boxv--pb {
4390
+ bottom: 1px;
4391
+ left: 50%;
4392
+ transform: translateX(-50%);
4393
+ }
4394
+
4395
+ .st-cp-boxv--ml, .st-cp-boxv--pl {
4396
+ top: 50%;
4397
+ left: 0;
4398
+ transform: translateY(-50%);
4399
+ }
4400
+
4401
+ .st-cp-boxv--mr, .st-cp-boxv--pr {
4402
+ top: 50%;
4403
+ right: 0;
4404
+ transform: translateY(-50%);
4405
+ }
4406
+
4407
+ .st-cp-boxhint {
4408
+ gap: var(--space-1);
4409
+ flex-wrap: wrap;
4410
+ display: flex;
4411
+ }
4412
+
4413
+ .st-cp-boxhint + .st-cp-row {
4414
+ margin-top: var(--space-1);
4415
+ }
4416
+
4417
+ .st-cp-chip {
4418
+ font-family: var(--font-mono);
4419
+ color: var(--fg-2);
4420
+ background: var(--bg-2);
4421
+ border: 1px solid var(--border-default);
4422
+ border-radius: var(--radius-xs);
4423
+ padding: 1px 6px;
4424
+ font-size: 10px;
4425
+ }
4426
+
4427
+ .st-cp-slider {
4428
+ align-items: center;
4429
+ gap: var(--space-2);
4430
+ flex: auto;
4431
+ min-width: 0;
4432
+ display: flex;
4433
+ }
4434
+
4435
+ .st-cp-track {
4436
+ background: var(--bg-4);
4437
+ border: 1px solid var(--border-default);
4438
+ cursor: pointer;
4439
+ border-radius: 3px;
4440
+ flex: auto;
4441
+ height: 6px;
4442
+ position: relative;
4443
+ }
4444
+
4445
+ .st-cp-track:focus-visible {
4446
+ outline: 2px solid var(--accent);
4447
+ outline-offset: 2px;
4448
+ }
4449
+
4450
+ .st-cp-fill {
4451
+ background: var(--accent);
4452
+ border-radius: 3px;
4453
+ position: absolute;
4454
+ top: 0;
4455
+ bottom: 0;
4456
+ left: 0;
4457
+ }
4458
+
4459
+ .st-cp-thumb {
4460
+ background: var(--fg-0);
4461
+ border: 2px solid var(--accent);
4462
+ border-radius: 50%;
4463
+ width: 12px;
4464
+ height: 12px;
4465
+ position: absolute;
4466
+ top: 50%;
4467
+ transform: translate(-50%, -50%);
4468
+ }
4469
+
4470
+ .st-cp-slval {
4471
+ font-family: var(--font-mono);
4472
+ font-variant-numeric: tabular-nums;
4473
+ font-size: var(--type-xs);
4474
+ color: var(--fg-1);
4475
+ text-align: right;
4476
+ flex: none;
4477
+ width: 34px;
4478
+ }
4479
+
4480
+ .st-cp-border {
4481
+ align-items: center;
4482
+ gap: var(--space-2);
4483
+ flex: auto;
4484
+ min-width: 0;
4485
+ display: flex;
4486
+ }
4487
+
4488
+ .st-cp-border .st-cp-swatch--mini {
4489
+ margin-left: 0;
4490
+ }
4491
+
4492
+ .st-cp-border .st-cp-num {
4493
+ flex: 0 0 58px;
4494
+ }
4495
+
4496
+ .st-cp-border .st-cp-nsel {
4497
+ flex: auto;
4498
+ max-width: none;
4499
+ }
4500
+
4501
+ .st-cp-save {
4502
+ align-items: center;
4503
+ gap: var(--space-2);
4504
+ font-size: var(--type-xs);
4505
+ font-family: var(--font-mono);
4506
+ padding: 4px var(--space-2);
4507
+ border-radius: var(--radius-xs);
4508
+ background: color-mix(in oklab, var(--status-error) 14%, var(--bg-2));
4509
+ border: 1px solid var(--status-error);
4510
+ color: var(--status-error);
4511
+ align-self: flex-start;
4512
+ display: inline-flex;
4513
+ }
4514
+
4515
+ .st-cp-save.is-saved, .st-cp-save.is-saved svg {
4516
+ color: var(--status-success);
4517
+ }
4518
+
4519
+ .st-cp-adv {
4520
+ border: 1px solid var(--border-default);
4521
+ border-radius: var(--radius-sm);
4522
+ background: var(--bg-0);
4523
+ overflow: hidden;
4524
+ }
4525
+
4526
+ .st-cp-advhd {
4527
+ appearance: none;
4528
+ cursor: pointer;
4529
+ align-items: center;
4530
+ gap: var(--space-2);
4531
+ width: 100%;
4532
+ color: var(--fg-2);
4533
+ font-family: var(--font-mono);
4534
+ font-size: var(--type-xs);
4535
+ text-transform: uppercase;
4536
+ letter-spacing: var(--tracking-wide);
4537
+ padding: var(--space-2) var(--space-3);
4538
+ background: none;
4539
+ border: 0;
4540
+ display: flex;
4541
+ }
4542
+
4543
+ .st-cp-advhd svg {
4544
+ color: var(--fg-2);
4545
+ }
4546
+
4547
+ .st-cp-advbody {
4548
+ gap: var(--space-2);
4549
+ padding: 0 var(--space-3) var(--space-3);
4550
+ flex-direction: column;
4551
+ display: flex;
4552
+ }
4553
+
4554
+ .st-cp-advgrp {
4555
+ font-family: var(--font-mono);
4556
+ text-transform: uppercase;
4557
+ letter-spacing: var(--tracking-wide);
4558
+ color: var(--fg-2);
4559
+ margin-top: var(--space-1);
4560
+ font-size: 10px;
4561
+ }
4562
+
4563
+ .st-cp-kv {
4564
+ gap: var(--space-2);
4565
+ grid-template-columns: 1fr 1fr auto;
4566
+ align-items: center;
4567
+ display: grid;
4568
+ }
4569
+
4570
+ .st-cp-kvx {
4571
+ appearance: none;
4572
+ cursor: pointer;
4573
+ width: 18px;
4574
+ height: 18px;
4575
+ color: var(--fg-3);
4576
+ border-radius: var(--radius-xs);
4577
+ background: none;
4578
+ border: 0;
4579
+ flex: none;
4580
+ justify-content: center;
4581
+ align-items: center;
4582
+ padding: 0;
4583
+ display: inline-flex;
4584
+ }
4585
+
4586
+ .st-cp-kvx:hover {
4587
+ color: var(--status-error);
4588
+ background: var(--bg-3);
4589
+ }
4590
+
4591
+ .st-cp-kvx:focus-visible {
4592
+ color: var(--status-error);
4593
+ box-shadow: 0 0 0 2px var(--accent-tint);
4594
+ outline: none;
4595
+ }
4596
+
4597
+ .st-cp-kv .st-cp-numin {
4598
+ background: var(--bg-3);
4599
+ border: 1px solid var(--border-default);
4600
+ border-radius: var(--radius-xs);
4601
+ }
4602
+
4603
+ .st-cp-kv.has-warn .st-cp-numin {
4604
+ border-color: var(--status-warn);
4605
+ }
4606
+
4607
+ .st-cp-warn {
4608
+ color: var(--status-warn);
4609
+ font-size: 10px;
4610
+ font-family: var(--font-mono);
4611
+ }
4612
+
4613
+ .st-cp-add {
4614
+ appearance: none;
4615
+ cursor: pointer;
4616
+ border: 1px dashed var(--border-default);
4617
+ color: var(--fg-1);
4618
+ font-family: var(--font-mono);
4619
+ font-size: var(--type-xs);
4620
+ border-radius: var(--radius-xs);
4621
+ padding: 4px var(--space-2);
4622
+ background: none;
4623
+ align-self: flex-start;
4624
+ }
4625
+
4626
+ .st-cp-add:hover {
4627
+ border-color: var(--accent);
4628
+ color: var(--fg-0);
4629
+ }
4630
+
4631
+ .st-cp-note {
4632
+ color: var(--fg-2);
4633
+ font-size: 10px;
4634
+ font-style: italic;
4635
+ }
4636
+
4637
+ .st-cp-legend {
4638
+ gap: var(--space-3);
4639
+ padding-top: var(--space-1);
4640
+ border-top: 1px solid var(--border-subtle);
4641
+ flex-wrap: wrap;
4642
+ display: flex;
4643
+ }
4644
+
4645
+ .st-cp-legend span {
4646
+ align-items: center;
4647
+ gap: var(--space-1);
4648
+ font-family: var(--font-mono);
4649
+ color: var(--fg-2);
4650
+ font-size: 10px;
4651
+ display: inline-flex;
4652
+ }
4653
+
4654
+ .st-cp-boxlink {
4655
+ align-items: center;
4656
+ gap: var(--space-2);
4657
+ flex-wrap: wrap;
4658
+ display: flex;
4659
+ }
4660
+
4661
+ .st-cp-linkbtn {
4662
+ appearance: none;
4663
+ cursor: pointer;
4664
+ border: 1px solid var(--border-default);
4665
+ border-radius: var(--radius-xs);
4666
+ background: var(--bg-3);
4667
+ min-height: 24px;
4668
+ color: var(--fg-1);
4669
+ font-family: var(--font-mono);
4670
+ align-items: center;
4671
+ gap: 5px;
4672
+ padding: 0 8px;
4673
+ font-size: 10px;
4674
+ display: inline-flex;
4675
+ }
4676
+
4677
+ .st-cp-linkbtn.is-on {
4678
+ border-color: var(--accent);
4679
+ color: var(--fg-0);
4680
+ background: var(--accent-tint);
4681
+ }
4682
+
4683
+ .st-cp-linkglyph {
4684
+ border: 1.5px solid;
4685
+ border-radius: 4px;
4686
+ width: 13px;
4687
+ height: 9px;
4688
+ }
4689
+
4690
+ .st-cp-linkhint {
4691
+ font-family: var(--font-mono);
4692
+ color: var(--fg-2);
4693
+ font-size: 10px;
4694
+ }
4695
+
4696
+ .st-cp-split {
4697
+ appearance: none;
4698
+ cursor: pointer;
4699
+ border: 1px solid var(--border-default);
4700
+ border-radius: var(--radius-xs);
4701
+ background: var(--bg-3);
4702
+ flex: none;
4703
+ width: 24px;
4704
+ height: 24px;
4705
+ position: relative;
4706
+ }
4707
+
4708
+ .st-cp-split.is-on {
4709
+ border-color: var(--accent);
4710
+ background: var(--accent-tint);
4711
+ }
4712
+
4713
+ .st-cp-split:before {
4714
+ content: "";
4715
+ border: 1.5px solid var(--fg-1);
4716
+ border-radius: 3px;
4717
+ position: absolute;
4718
+ inset: 6px;
4719
+ }
4720
+
4721
+ .st-cp-split.is-on:before {
4722
+ border-color: var(--accent);
4723
+ border-style: dashed;
4724
+ }
4725
+
4726
+ .st-cp-corners {
4727
+ gap: var(--space-1);
4728
+ margin: 0 0 var(--space-1) 18px;
4729
+ grid-template-columns: 1fr 1fr;
4730
+ display: grid;
4731
+ }
4732
+
4733
+ .st-cp-cornerf {
4734
+ background: var(--bg-3);
4735
+ border: 1px solid var(--border-default);
4736
+ border-radius: var(--radius-xs);
4737
+ align-items: center;
4738
+ gap: 6px;
4739
+ min-height: 24px;
4740
+ padding: 0 8px;
4741
+ display: flex;
4742
+ }
4743
+
4744
+ .st-cp-cornerf span {
4745
+ font-family: var(--font-mono);
4746
+ color: var(--fg-2);
4747
+ font-size: 10px;
4748
+ }
4749
+
4750
+ .st-cp-cornerf input {
4751
+ appearance: none;
4752
+ width: 100%;
4753
+ min-width: 0;
4754
+ color: var(--fg-0);
4755
+ font-family: var(--font-mono);
4756
+ font-variant-numeric: tabular-nums;
4757
+ background: none;
4758
+ border: 0;
4759
+ flex: 1;
4760
+ padding: 0;
4761
+ font-size: 11px;
4762
+ }
4763
+
4764
+ .st-cp-cornerf input:focus {
4765
+ outline: none;
4766
+ }
4767
+
4768
+ .st-cp-swatch {
4769
+ position: relative;
4770
+ overflow: hidden;
4771
+ }
4772
+
4773
+ .st-cp-caret {
4774
+ color: var(--fg-2);
4775
+ text-align: center;
4776
+ flex: none;
4777
+ width: 9px;
4778
+ font-size: 9px;
4779
+ }
4780
+
4781
+ .st-cp-fin {
4782
+ box-sizing: border-box;
4783
+ appearance: none;
4784
+ background: var(--bg-3);
4785
+ border: 1px solid var(--border-default);
4786
+ border-radius: var(--radius-xs);
4787
+ width: 100%;
4788
+ min-width: 0;
4789
+ color: var(--fg-0);
4790
+ font-family: var(--font-mono);
4791
+ font-variant-numeric: tabular-nums;
4792
+ font-size: var(--type-xs);
4793
+ padding: 4px var(--space-2);
4794
+ min-height: 26px;
4795
+ transition: border-color var(--dur-soft) var(--ease-out), box-shadow var(--dur-soft) var(--ease-out);
4796
+ flex: auto;
4797
+ }
4798
+
4799
+ .st-cp-fin::placeholder {
4800
+ color: var(--fg-2);
4801
+ }
4802
+
4803
+ .st-cp-fin:hover {
4804
+ border-color: var(--border-strong);
4805
+ }
4806
+
4807
+ .st-cp-fin:focus {
4808
+ border-color: var(--accent);
4809
+ box-shadow: 0 0 0 3px var(--accent-tint);
4810
+ outline: none;
4811
+ }
4812
+
4813
+ .st-cp-nsel {
4814
+ box-sizing: border-box;
4815
+ cursor: pointer;
4816
+ background: var(--bg-3);
4817
+ border: 1px solid var(--border-default);
4818
+ border-radius: var(--radius-xs);
4819
+ min-width: 0;
4820
+ color: var(--fg-0);
4821
+ font-family: var(--font-body);
4822
+ font-size: var(--type-xs);
4823
+ padding: 3px var(--space-2);
4824
+ min-height: 26px;
4825
+ transition: border-color var(--dur-soft) var(--ease-out), box-shadow var(--dur-soft) var(--ease-out);
4826
+ flex: auto;
4827
+ }
4828
+
4829
+ .st-cp-nsel:hover {
4830
+ border-color: var(--border-strong);
4831
+ }
4832
+
4833
+ .st-cp-nsel:focus, .st-cp-nsel:focus-visible {
4834
+ border-color: var(--accent);
4835
+ box-shadow: 0 0 0 3px var(--accent-tint);
4836
+ outline: none;
4837
+ }
4838
+
4839
+ .st-cp-nsel--tok {
4840
+ max-width: 108px;
4841
+ font-family: var(--font-mono);
4842
+ color: var(--fg-2);
4843
+ background: var(--bg-2);
4844
+ flex: 0 auto;
4845
+ }
4846
+
4847
+ .st-cp-nsel--mini {
4848
+ flex: 0 auto;
4849
+ max-width: 92px;
4850
+ }
4851
+
4852
+ .st-cp-unitsel {
4853
+ cursor: pointer;
4854
+ appearance: none;
4855
+ border: 0;
4856
+ border-left: 1px solid var(--border-subtle);
4857
+ background: var(--bg-2);
4858
+ color: var(--fg-2);
4859
+ font-family: var(--font-mono);
4860
+ flex: none;
4861
+ padding: 0 4px;
4862
+ font-size: 10px;
4863
+ }
4864
+
4865
+ .st-cp-tokbtn {
4866
+ cursor: pointer;
4867
+ appearance: none;
4868
+ background: var(--bg-2);
4869
+ border: 1px solid var(--border-default);
4870
+ border-radius: var(--radius-xs);
4871
+ width: 24px;
4872
+ height: 26px;
4873
+ color: var(--fg-2);
4874
+ flex: none;
4875
+ justify-content: center;
4876
+ align-items: center;
4877
+ padding: 0;
4878
+ display: inline-flex;
4879
+ }
4880
+
4881
+ .st-cp-tokbtn:hover {
4882
+ color: var(--fg-0);
4883
+ border-color: var(--border-strong);
4884
+ }
4885
+
4886
+ .st-cp-tokbtn:focus-visible {
4887
+ border-color: var(--accent);
4888
+ box-shadow: 0 0 0 2px var(--accent-tint);
4889
+ outline: none;
4890
+ }
4891
+
4892
+ .st-cp-tokbtn.is-bound {
4893
+ color: var(--accent);
4894
+ border-color: var(--accent-muted);
4895
+ background: var(--accent-tint);
4896
+ }
4897
+
4898
+ .st-cp-tokbtn-glyph {
4899
+ border: 1.5px solid;
4900
+ border-radius: 1px;
4901
+ width: 8px;
4902
+ height: 8px;
4903
+ transform: rotate(45deg);
4904
+ }
4905
+
4906
+ .st-cp-tokbtn.is-bound .st-cp-tokbtn-glyph {
4907
+ background: currentColor;
4908
+ }
4909
+
4910
+ .st-cp-pop {
4911
+ z-index: 1000;
4912
+ background: var(--bg-2);
4913
+ border: 1px solid var(--border-default);
4914
+ border-radius: var(--radius-md);
4915
+ box-shadow: var(--shadow-md);
4916
+ padding: var(--space-2);
4917
+ position: fixed;
4918
+ overflow-y: auto;
4919
+ }
4920
+
4921
+ .st-cp-pop-empty {
4922
+ font-family: var(--font-mono);
4923
+ font-size: var(--type-xs);
4924
+ color: var(--fg-2);
4925
+ padding: var(--space-2);
4926
+ }
4927
+
4928
+ .st-cp-pop-search {
4929
+ z-index: 2;
4930
+ align-items: center;
4931
+ gap: var(--space-2);
4932
+ padding: 0 0 var(--space-2);
4933
+ margin: calc(-1 * var(--space-2)) 0 0;
4934
+ background: var(--bg-2);
4935
+ color: var(--fg-2);
4936
+ display: flex;
4937
+ position: sticky;
4938
+ top: 0;
4939
+ }
4940
+
4941
+ .st-cp-pop-search svg {
4942
+ margin-left: var(--space-1);
4943
+ flex: none;
4944
+ }
4945
+
4946
+ .st-cp-pop-search input {
4947
+ appearance: none;
4948
+ background: var(--bg-3);
4949
+ border: 1px solid var(--border-default);
4950
+ border-radius: var(--radius-xs);
4951
+ min-width: 0;
4952
+ color: var(--fg-0);
4953
+ font-family: var(--font-body);
4954
+ font-size: var(--type-xs);
4955
+ padding: 4px var(--space-2);
4956
+ flex: auto;
4957
+ }
4958
+
4959
+ .st-cp-pop-search input::placeholder {
4960
+ color: var(--fg-3);
4961
+ }
4962
+
4963
+ .st-cp-pop-search input:focus {
4964
+ border-color: var(--accent);
4965
+ box-shadow: 0 0 0 2px var(--accent-tint);
4966
+ outline: none;
4967
+ }
4968
+
4969
+ .st-cp-poptabs {
4970
+ border-bottom: 1px solid var(--border-subtle);
4971
+ margin: calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) var(--space-2);
4972
+ display: flex;
4973
+ }
4974
+
4975
+ .st-cp-poptab {
4976
+ appearance: none;
4977
+ cursor: pointer;
4978
+ font-family: var(--font-body);
4979
+ font-size: var(--type-xs);
4980
+ color: var(--fg-2);
4981
+ padding: var(--space-3);
4982
+ background: none;
4983
+ border: 0;
4984
+ border-bottom: 2px solid #0000;
4985
+ flex: 1;
4986
+ }
4987
+
4988
+ .st-cp-poptab.is-active {
4989
+ color: var(--fg-0);
4990
+ border-bottom-color: var(--accent);
4991
+ }
4992
+
4993
+ .st-cp-poptab:hover:not(.is-active) {
4994
+ color: var(--fg-1);
4995
+ }
4996
+
4997
+ .st-cp-cpick {
4998
+ gap: var(--space-2);
4999
+ padding: var(--space-1);
5000
+ flex-direction: column;
5001
+ display: flex;
5002
+ }
5003
+
5004
+ .st-cp-swatch--trigger {
5005
+ cursor: pointer;
5006
+ appearance: none;
5007
+ padding: 0;
5008
+ position: relative;
5009
+ overflow: hidden;
5010
+ }
5011
+
5012
+ .st-cp-swatch--trigger.is-bound {
5013
+ border-color: var(--accent);
5014
+ box-shadow: 0 0 0 2px var(--accent-tint);
5015
+ }
5016
+
5017
+ .st-cp-cpick-sv {
5018
+ border-radius: var(--radius-sm);
5019
+ border: 1px solid var(--border-default);
5020
+ cursor: crosshair;
5021
+ touch-action: none;
5022
+ width: 100%;
5023
+ height: 120px;
5024
+ padding: 0;
5025
+ display: block;
5026
+ position: relative;
5027
+ overflow: hidden;
5028
+ }
5029
+
5030
+ .st-cp-cpick-svwhite {
5031
+ background: linear-gradient(to right, #fff, #0000);
5032
+ position: absolute;
5033
+ inset: 0;
5034
+ }
5035
+
5036
+ .st-cp-cpick-svblack {
5037
+ background: linear-gradient(to top, #000, #0000);
5038
+ position: absolute;
5039
+ inset: 0;
5040
+ }
5041
+
5042
+ .st-cp-cpick-knob {
5043
+ pointer-events: none;
5044
+ border: 2px solid #fff;
5045
+ border-radius: 50%;
5046
+ width: 12px;
5047
+ height: 12px;
5048
+ position: absolute;
5049
+ transform: translate(-50%, -50%);
5050
+ box-shadow: 0 0 0 1px #00000080;
5051
+ }
5052
+
5053
+ .st-cp-cpick-controls {
5054
+ align-items: center;
5055
+ gap: var(--space-2);
5056
+ display: flex;
5057
+ }
5058
+
5059
+ .st-cp-cpick-eye {
5060
+ appearance: none;
5061
+ cursor: pointer;
5062
+ width: 26px;
5063
+ height: 16px;
5064
+ color: var(--fg-2);
5065
+ border-radius: var(--radius-xs);
5066
+ background: none;
5067
+ border: 0;
5068
+ flex: none;
5069
+ justify-content: center;
5070
+ align-items: center;
5071
+ padding: 0;
5072
+ display: inline-flex;
5073
+ }
5074
+
5075
+ .st-cp-cpick-eye:hover {
5076
+ color: var(--fg-0);
5077
+ }
5078
+
5079
+ .st-cp-cpick-hue {
5080
+ border-radius: var(--radius-pill);
5081
+ border: 1px solid var(--border-default);
5082
+ cursor: pointer;
5083
+ touch-action: none;
5084
+ background: linear-gradient(to right, red 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red 100%);
5085
+ flex: auto;
5086
+ height: 12px;
5087
+ padding: 0;
5088
+ position: relative;
5089
+ }
5090
+
5091
+ .st-cp-cpick-huethumb {
5092
+ pointer-events: none;
5093
+ background: #fff;
5094
+ border: 1px solid #0006;
5095
+ border-radius: 50%;
5096
+ width: 12px;
5097
+ height: 12px;
5098
+ position: absolute;
5099
+ top: 50%;
5100
+ transform: translate(-50%, -50%);
5101
+ box-shadow: 0 1px 3px #0006;
5102
+ }
5103
+
5104
+ .st-cp-pop-group + .st-cp-pop-group {
5105
+ margin-top: var(--space-2);
5106
+ }
5107
+
5108
+ .st-cp-pop-ds {
5109
+ font-family: var(--font-mono);
5110
+ text-transform: uppercase;
5111
+ letter-spacing: var(--tracking-wide);
5112
+ color: var(--fg-2);
5113
+ padding: 2px var(--space-1) 4px;
5114
+ background: var(--bg-2);
5115
+ z-index: 1;
5116
+ font-size: 10px;
5117
+ position: sticky;
5118
+ top: 30px;
5119
+ }
5120
+
5121
+ .st-cp-pop-grid {
5122
+ grid-template-columns: repeat(6, 1fr);
5123
+ gap: 6px;
5124
+ display: grid;
5125
+ }
5126
+
5127
+ .st-cp-pop-sw {
5128
+ aspect-ratio: 1;
5129
+ cursor: pointer;
5130
+ appearance: none;
5131
+ border: 1px solid var(--border-subtle);
5132
+ border-radius: var(--radius-xs);
5133
+ min-height: 26px;
5134
+ padding: 0;
5135
+ }
5136
+
5137
+ .st-cp-pop-sw:hover {
5138
+ border-color: var(--fg-2);
5139
+ transform: scale(1.06);
5140
+ }
5141
+
5142
+ .st-cp-pop-sw.is-on {
5143
+ border-color: var(--accent);
5144
+ box-shadow: 0 0 0 2px var(--accent-tint);
5145
+ }
5146
+
5147
+ .st-cp-pop-sw:focus-visible {
5148
+ border-color: var(--accent);
5149
+ box-shadow: 0 0 0 2px var(--accent-tint);
5150
+ outline: none;
5151
+ }
5152
+
5153
+ .st-cp-pop-list {
5154
+ flex-direction: column;
5155
+ gap: 1px;
5156
+ display: flex;
5157
+ }
5158
+
5159
+ .st-cp-pop-row {
5160
+ justify-content: space-between;
5161
+ align-items: center;
5162
+ gap: var(--space-2);
5163
+ cursor: pointer;
5164
+ appearance: none;
5165
+ border-radius: var(--radius-xs);
5166
+ padding: 5px var(--space-2);
5167
+ text-align: left;
5168
+ background: none;
5169
+ border: 0;
5170
+ display: flex;
5171
+ }
5172
+
5173
+ .st-cp-pop-row:hover {
5174
+ background: var(--bg-3);
5175
+ }
5176
+
5177
+ .st-cp-pop-row.is-on {
5178
+ background: var(--accent-tint);
5179
+ }
5180
+
5181
+ .st-cp-pop-row:focus-visible {
5182
+ box-shadow: 0 0 0 2px var(--accent-tint);
5183
+ outline: none;
5184
+ }
5185
+
5186
+ .st-cp-pop-name {
5187
+ font-family: var(--font-mono);
5188
+ font-size: var(--type-xs);
5189
+ color: var(--fg-0);
5190
+ white-space: nowrap;
5191
+ text-overflow: ellipsis;
5192
+ overflow: hidden;
5193
+ }
5194
+
5195
+ .st-cp-pop-crow {
5196
+ justify-content: flex-start;
5197
+ }
5198
+
5199
+ .st-cp-pop-crow .st-cp-pop-name {
5200
+ flex: auto;
5201
+ min-width: 0;
5202
+ }
5203
+
5204
+ .st-cp-pop-cswatch {
5205
+ border-radius: var(--radius-xs);
5206
+ border: 1px solid var(--border-default);
5207
+ flex: none;
5208
+ width: 16px;
5209
+ height: 16px;
5210
+ }
5211
+
5212
+ .st-cp-pop-val {
5213
+ font-family: var(--font-mono);
5214
+ font-variant-numeric: tabular-nums;
5215
+ color: var(--fg-2);
5216
+ flex: none;
5217
+ font-size: 10px;
5218
+ }
5219
+
5220
+ .st-cp-pop-row.is-on .st-cp-pop-name {
5221
+ color: var(--accent);
5222
+ }
5223
+
5224
+ .st-cp-fs {
5225
+ text-align: center;
5226
+ width: 14px;
5227
+ font-family: var(--font-mono);
5228
+ flex: none;
5229
+ font-size: 11px;
5230
+ }
5231
+
5232
+ .st-cp-fs.is-saving {
5233
+ color: var(--fg-3);
5234
+ }
5235
+
5236
+ .st-cp-fs.is-saved {
5237
+ color: var(--status-success);
5238
+ }
5239
+
5240
+ .st-cp-fs.is-err {
5241
+ color: var(--status-warn);
5242
+ cursor: help;
5243
+ }
5244
+
5245
+ .st-cp button:focus-visible, .st-cp input:focus-visible, .st-cp select:focus-visible, .st-cp-token:focus-visible, .st-cp-track:focus-visible {
5246
+ outline: 2px solid var(--accent);
5247
+ outline-offset: 1px;
5248
+ }
5249
+
5250
+ .maude :is(button, [role="tab"], select, summary, a):focus-visible {
5251
+ outline: 2px solid var(--accent);
5252
+ outline-offset: 2px;
5253
+ box-shadow: 0 0 0 5px var(--accent-tint);
5254
+ }
5255
+
5256
+ .maude :is(.st-row, .st-dd-item, .st-pal-item, .st-layer, .st-tree-sec-hd, .st-cm-group-hd):focus-visible {
5257
+ outline-offset: -2px;
5258
+ box-shadow: inset 0 0 0 5px var(--accent-tint);
5259
+ }
5260
+
5261
+ .st-search-box:focus-within {
5262
+ border-color: var(--accent);
5263
+ box-shadow: 0 0 0 3px var(--accent-tint);
5264
+ color: var(--fg-2);
5265
+ }
5266
+
5267
+ .st-search-box input:focus {
5268
+ outline: none;
5269
+ }
5270
+
5271
+ .st-newboard input:focus, .st-newboard input:focus-visible, .st-field:focus {
5272
+ border-color: var(--accent);
5273
+ box-shadow: 0 0 0 3px var(--accent-tint);
5274
+ outline: none;
5275
+ }
5276
+
5277
+ .st-select:hover {
5278
+ border-color: var(--border-strong);
5279
+ background-color: var(--bg-3);
5280
+ }
5281
+
5282
+ .st-select:focus-visible {
5283
+ border-color: var(--accent);
5284
+ box-shadow: 0 0 0 3px var(--accent-tint);
5285
+ outline: none;
5286
+ }
5287
+
5288
+ .st-pal-search input:focus {
5289
+ outline: none;
5290
+ }
5291
+
5292
+ .st-pal-search:focus-within {
5293
+ border-bottom-color: var(--accent-muted);
5294
+ }
5295
+
5296
+ .st-select {
5297
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23c0c4cf' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5 6 8 10.5 12.5 6'/%3E%3C/svg%3E");
5298
+ background-position: right 10px center;
5299
+ background-repeat: no-repeat;
5300
+ background-size: 12px;
5301
+ padding-right: 30px;
5302
+ }
5303
+
5304
+ .maude[data-theme="light"] .st-select {
5305
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%234f5563' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5 6 8 10.5 12.5 6'/%3E%3C/svg%3E");
5306
+ }
5307
+
5308
+ .maude * {
5309
+ scrollbar-width: thin;
5310
+ scrollbar-color: var(--border-default) transparent;
5311
+ }
5312
+
5313
+ .maude ::-webkit-scrollbar {
5314
+ width: 8px;
5315
+ height: 8px;
5316
+ }
5317
+
5318
+ .maude ::-webkit-scrollbar-track {
5319
+ background: none;
5320
+ }
5321
+
5322
+ .maude ::-webkit-scrollbar-thumb {
5323
+ background: var(--border-default);
5324
+ border-radius: var(--radius-pill);
5325
+ background-clip: padding-box;
5326
+ border: 2px solid #0000;
5327
+ }
5328
+
5329
+ .maude ::-webkit-scrollbar-thumb:hover {
5330
+ background-color: var(--border-strong);
5331
+ }
5332
+
5333
+ .maude [data-tip] {
5334
+ position: relative;
5335
+ }
5336
+
5337
+ .maude [data-tip]:after {
5338
+ content: attr(data-tip);
5339
+ z-index: 9200;
5340
+ white-space: nowrap;
5341
+ padding: var(--space-2) var(--space-3);
5342
+ background: var(--bg-2);
5343
+ color: var(--fg-0);
5344
+ font-family: var(--font-body);
5345
+ font-size: var(--type-xs);
5346
+ letter-spacing: normal;
5347
+ text-transform: none;
5348
+ border: 1px solid var(--border-default);
5349
+ border-radius: var(--radius-sm);
5350
+ box-shadow: var(--shadow-md);
5351
+ pointer-events: none;
5352
+ opacity: 0;
5353
+ transition: opacity var(--dur-soft) var(--ease-out);
5354
+ font-weight: 400;
5355
+ line-height: 1;
5356
+ position: absolute;
5357
+ top: calc(100% + 7px);
5358
+ left: 50%;
5359
+ transform: translateX(-50%);
5360
+ }
5361
+
5362
+ .maude [data-tip]:hover:after, .maude [data-tip]:focus-visible:after {
5363
+ opacity: 1;
5364
+ transition-delay: .5s;
5365
+ }
5366
+
5367
+ .maude [data-tip][data-tip-pos="top"]:after {
5368
+ top: auto;
5369
+ bottom: calc(100% + 7px);
5370
+ }
5371
+
5372
+ .maude [data-tip][data-tip-pos="left"]:after {
5373
+ top: 50%;
5374
+ left: auto;
5375
+ right: calc(100% + 7px);
5376
+ transform: translateY(-50%);
5377
+ }
5378
+
5379
+ .st-grip {
5380
+ cursor: col-resize;
5381
+ z-index: 25;
5382
+ background: none;
5383
+ flex: 0 0 8px;
5384
+ place-items: center;
5385
+ width: 8px;
5386
+ margin: 0 -4px;
5387
+ display: grid;
5388
+ position: relative;
5389
+ }
5390
+
5391
+ .st-grip:before {
5392
+ content: "";
5393
+ width: 1px;
5394
+ transition: background var(--dur-flip) var(--ease-out), width var(--dur-flip) var(--ease-out);
5395
+ background: none;
5396
+ position: absolute;
5397
+ top: 0;
5398
+ bottom: 0;
5399
+ left: 50%;
5400
+ transform: translateX(-50%);
5401
+ }
5402
+
5403
+ .st-grip:hover:before, .st-grip:focus-visible:before, .st-grip.is-active:before {
5404
+ background: var(--accent);
5405
+ width: 2px;
5406
+ }
5407
+
5408
+ .st-grip-dots {
5409
+ width: 6px;
5410
+ height: 18px;
5411
+ color: var(--accent);
5412
+ opacity: 0;
5413
+ transition: opacity var(--dur-flip) var(--ease-out);
5414
+ position: relative;
5415
+ }
5416
+
5417
+ .st-grip:hover .st-grip-dots, .st-grip:focus-visible .st-grip-dots, .st-grip.is-active .st-grip-dots {
5418
+ opacity: 1;
5419
+ }
5420
+
5421
+ .st-grip:focus-visible {
5422
+ outline: 2px solid var(--accent);
5423
+ outline-offset: -3px;
5424
+ }
5425
+
5426
+ .st-body.is-resizing {
5427
+ cursor: col-resize;
5428
+ user-select: none;
5429
+ }
5430
+
5431
+ .st-body.is-resizing iframe {
5432
+ pointer-events: none;
5433
+ }
5434
+
5435
+ .st-sidebar.is-resizing, .st-rpanel.is-resizing {
5436
+ transition: none;
5437
+ }
5438
+
5439
+ .st-canvas-loading {
5440
+ pointer-events: none;
5441
+ z-index: 5;
5442
+ opacity: 0;
5443
+ animation: st-loading-in var(--dur-soft) var(--ease-out) .18s forwards;
5444
+ place-items: center;
5445
+ display: grid;
5446
+ position: absolute;
5447
+ inset: 0;
5448
+ }
5449
+
5450
+ @keyframes st-loading-in {
5451
+ to {
5452
+ opacity: 1;
5453
+ }
5454
+ }
5455
+
5456
+ .st-skel-card {
5457
+ gap: var(--space-3);
5458
+ width: 300px;
5459
+ padding: var(--space-5);
5460
+ background: var(--bg-1);
5461
+ border: 1px solid var(--border-default);
5462
+ border-radius: var(--radius-md);
5463
+ box-shadow: var(--shadow-md);
5464
+ animation: st-pop var(--dur-panel) var(--ease-out);
5465
+ flex-direction: column;
5466
+ display: flex;
5467
+ }
5468
+
5469
+ .st-skel-cap {
5470
+ font-size: var(--type-xs);
5471
+ letter-spacing: var(--tracking-wide);
5472
+ text-transform: uppercase;
5473
+ color: var(--fg-3);
5474
+ }
5475
+
5476
+ .skel {
5477
+ background: var(--bg-3);
5478
+ border-radius: var(--radius-xs);
5479
+ animation: sk-pulse calc(var(--dur-route) * 3) var(--ease-in-out) infinite alternate;
5480
+ display: block;
5481
+ }
5482
+
5483
+ @keyframes sk-pulse {
5484
+ from {
5485
+ opacity: .45;
5486
+ }
5487
+
5488
+ to {
5489
+ opacity: .95;
5490
+ }
5491
+ }
5492
+
5493
+ @media (prefers-reduced-motion: reduce) {
5494
+ .skel {
5495
+ opacity: .7;
5496
+ animation: none;
5497
+ }
5498
+ }
5499
+
5500
+ .st-skel-thumb {
5501
+ border-radius: var(--radius-sm);
5502
+ height: 96px;
3231
5503
  }
3232
5504
 
3233
- .st-dialog {
3234
- background: var(--bg-1);
3235
- border: 1px solid var(--border-strong);
3236
- border-radius: var(--radius-lg);
3237
- width: 540px;
3238
- max-width: 92vw;
3239
- box-shadow: var(--shadow-lg);
3240
- animation: st-pop var(--dur-route) var(--ease-out);
3241
- overflow: hidden;
5505
+ .st-skel-line {
5506
+ height: 10px;
3242
5507
  }
3243
5508
 
3244
- .st-dialog-hd {
3245
- padding: var(--space-4) var(--space-5);
3246
- border-bottom: 1px solid var(--border-subtle);
3247
- justify-content: space-between;
3248
- align-items: center;
3249
- display: flex;
5509
+ .st-row, .st-comment, .st-fmt, .st-cm-filter, .st-rp-tab, .st-dd-item, .st-pal-item, .st-layer, .st-export-recent-row {
5510
+ transition: background var(--dur-soft) var(--ease-out),
5511
+ border-color var(--dur-soft) var(--ease-out),
5512
+ color var(--dur-soft) var(--ease-out);
3250
5513
  }
3251
5514
 
3252
- .st-dialog-title {
3253
- font-family: var(--font-display);
3254
- font-size: var(--type-lg);
3255
- color: var(--fg-0);
3256
- font-weight: 600;
5515
+ .st-chev {
5516
+ transition: transform var(--dur-flip) var(--ease-out);
3257
5517
  }
3258
5518
 
3259
- .st-dialog-bd {
3260
- padding: var(--space-5);
3261
- gap: var(--space-4);
3262
- flex-direction: column;
3263
- display: flex;
5519
+ .st-chev.is-open {
5520
+ transform: rotate(90deg);
3264
5521
  }
3265
5522
 
3266
- .st-fmt-grid {
3267
- gap: var(--space-3);
3268
- grid-template-columns: repeat(4, 1fr);
3269
- display: grid;
5523
+ .st-rpanel {
5524
+ animation: st-panel-in var(--dur-panel) var(--ease-out);
3270
5525
  }
3271
5526
 
3272
- .st-fmt {
3273
- gap: var(--space-2);
3274
- padding: var(--space-3) var(--space-4);
5527
+ @keyframes st-panel-in {
5528
+ from {
5529
+ opacity: 0;
5530
+ transform: translateX(10px);
5531
+ }
5532
+
5533
+ to {
5534
+ opacity: 1;
5535
+ transform: none;
5536
+ }
5537
+ }
5538
+
5539
+ .so-overlay {
5540
+ background: var(--bg-1);
3275
5541
  border: 1px solid var(--border-default);
3276
- border-radius: var(--radius-md);
3277
- background: var(--bg-2);
3278
- cursor: pointer;
3279
- color: var(--fg-1);
3280
- appearance: none;
3281
- text-align: left;
3282
- flex-direction: column;
3283
- align-items: flex-start;
3284
- display: flex;
5542
+ border-radius: var(--radius-lg);
5543
+ width: 100%;
5544
+ max-width: 720px;
5545
+ box-shadow: var(--shadow-lg);
5546
+ padding: var(--space-6);
5547
+ animation: so-enter var(--dur-panel) var(--ease-out) both;
5548
+ margin-top: -4vh;
5549
+ position: relative;
3285
5550
  }
3286
5551
 
3287
- .st-fmt:hover {
3288
- border-color: var(--border-strong);
5552
+ @keyframes so-enter {
5553
+ 0% {
5554
+ opacity: 0;
5555
+ transform: translateY(-6px) scale(.99);
5556
+ }
5557
+
5558
+ 100% {
5559
+ opacity: 1;
5560
+ transform: none;
5561
+ }
3289
5562
  }
3290
5563
 
3291
- .st-fmt.is-on {
3292
- border-color: var(--accent);
3293
- background: var(--accent-tint);
3294
- color: var(--fg-0);
3295
- box-shadow: 0 0 0 2px var(--accent-tint);
5564
+ .so-overlay-hd {
5565
+ justify-content: space-between;
5566
+ align-items: baseline;
5567
+ gap: var(--space-4);
5568
+ margin: 0 0 var(--space-5);
5569
+ padding-bottom: var(--space-4);
5570
+ border-bottom: 1px solid var(--border-subtle);
5571
+ display: flex;
3296
5572
  }
3297
5573
 
3298
- .st-fmt-name {
3299
- font-family: var(--font-mono);
3300
- font-size: var(--type-sm);
5574
+ .so-title {
5575
+ font-family: var(--font-display);
5576
+ font-size: var(--type-lg);
5577
+ line-height: var(--lh-lg);
5578
+ letter-spacing: var(--tracking-tight);
5579
+ color: var(--fg-0);
3301
5580
  font-weight: 600;
3302
5581
  }
3303
5582
 
3304
- .st-fmt-sub {
5583
+ .so-trigger {
3305
5584
  font-size: var(--type-xs);
3306
5585
  color: var(--fg-2);
3307
5586
  }
3308
5587
 
3309
- .st-dialog-row {
3310
- align-items: center;
3311
- gap: var(--space-3);
3312
- display: flex;
5588
+ .so-columns {
5589
+ gap: var(--space-6) var(--space-7);
5590
+ grid-template-columns: repeat(2, 1fr);
5591
+ display: grid;
3313
5592
  }
3314
5593
 
3315
- .st-dialog-lbl {
5594
+ .so-section-hd {
5595
+ margin: 0 0 var(--space-3);
3316
5596
  font-family: var(--font-mono);
3317
5597
  font-size: var(--type-xs);
3318
- color: var(--fg-2);
3319
- text-transform: uppercase;
3320
5598
  letter-spacing: var(--tracking-wide);
5599
+ text-transform: uppercase;
5600
+ color: var(--fg-2);
5601
+ padding-bottom: var(--space-2);
5602
+ border-bottom: 1px solid var(--border-subtle);
5603
+ font-weight: 500;
3321
5604
  }
3322
5605
 
3323
- .st-select {
3324
- appearance: none;
3325
- background: var(--bg-2);
3326
- color: var(--fg-0);
3327
- border: 1px solid var(--border-default);
3328
- border-radius: var(--radius-sm);
3329
- padding: var(--space-2) var(--space-3);
3330
- font-family: var(--font-body);
3331
- font-size: var(--type-sm);
3332
- cursor: pointer;
3333
- flex: 1;
3334
- }
3335
-
3336
- .st-dialog-ft {
3337
- align-items: center;
3338
- gap: var(--space-3);
3339
- padding: var(--space-4) var(--space-5);
3340
- border-top: 1px solid var(--border-subtle);
3341
- justify-content: flex-end;
3342
- display: flex;
5606
+ .so-section--tools .so-section-hd {
5607
+ color: var(--accent);
5608
+ border-bottom-color: color-mix(in oklab, var(--accent) 40%, var(--border-subtle));
3343
5609
  }
3344
5610
 
3345
- .st-export-recent {
5611
+ .so-list {
5612
+ gap: var(--space-1);
3346
5613
  flex-direction: column;
3347
- gap: 2px;
3348
- max-height: 132px;
5614
+ margin: 0;
3349
5615
  display: flex;
3350
- overflow-y: auto;
3351
5616
  }
3352
5617
 
3353
- .st-export-recent-row {
3354
- justify-content: space-between;
5618
+ .so-pair {
3355
5619
  align-items: center;
3356
- gap: var(--space-3);
3357
- padding: var(--space-2) var(--space-3);
3358
- border-radius: var(--radius-sm);
3359
- font-size: var(--type-xs);
3360
- color: var(--fg-2);
3361
- display: flex;
5620
+ gap: var(--space-4);
5621
+ padding: var(--space-1) var(--space-1);
5622
+ border-radius: var(--radius-xs);
5623
+ grid-template-columns: 1fr auto;
5624
+ display: grid;
3362
5625
  }
3363
5626
 
3364
- .st-export-recent-row:hover {
5627
+ .so-pair:hover {
3365
5628
  background: var(--bg-2);
3366
5629
  }
3367
5630
 
3368
- .st-export-recent-row .st-mono {
5631
+ .so-pair dt {
5632
+ font-size: var(--type-sm);
3369
5633
  color: var(--fg-1);
3370
- white-space: nowrap;
3371
- text-overflow: ellipsis;
3372
- max-width: 50%;
3373
- overflow: hidden;
3374
5634
  }
3375
5635
 
3376
- .st-insp-fields {
3377
- gap: var(--space-2);
3378
- flex-wrap: wrap;
3379
- align-items: center;
3380
- display: flex;
5636
+ .so-pair dd {
5637
+ justify-self: end;
5638
+ margin: 0;
3381
5639
  }
3382
5640
 
3383
- .st-field {
3384
- font-family: var(--font-mono);
3385
- font-variant-numeric: tabular-nums;
3386
- font-size: var(--type-xs);
3387
- color: var(--fg-0);
3388
- background: var(--bg-3);
3389
- border: 1px solid var(--border-default);
3390
- border-radius: var(--radius-xs);
3391
- padding: var(--space-1) var(--space-2);
3392
- text-align: right;
3393
- width: 58px;
5641
+ .so-combos {
5642
+ align-items: center;
5643
+ gap: var(--space-2);
5644
+ display: inline-flex;
3394
5645
  }
3395
5646
 
3396
- .st-field-lead {
5647
+ .so-combo {
3397
5648
  align-items: center;
3398
5649
  gap: var(--space-1);
3399
5650
  display: inline-flex;
3400
5651
  }
3401
5652
 
3402
- .st-field-lead .k {
5653
+ .so-or {
3403
5654
  font-family: var(--font-mono);
5655
+ font-size: var(--type-xs);
3404
5656
  color: var(--fg-3);
3405
- font-size: 9px;
5657
+ padding: 0 1px;
3406
5658
  }
3407
5659
 
3408
- .st-layer {
5660
+ .so-overlay-ft {
5661
+ justify-content: space-between;
3409
5662
  align-items: center;
3410
- gap: var(--space-2);
3411
- padding: var(--space-2);
3412
- border-radius: var(--radius-xs);
3413
- font-size: var(--type-sm);
3414
- color: var(--fg-1);
3415
- font-family: var(--font-mono);
5663
+ gap: var(--space-4);
5664
+ margin-top: var(--space-5);
5665
+ padding-top: var(--space-4);
5666
+ border-top: 1px solid var(--border-subtle);
5667
+ font-size: var(--type-xs);
5668
+ color: var(--fg-2);
3416
5669
  display: flex;
3417
5670
  }
3418
5671
 
3419
- .st-layer:hover {
3420
- background: var(--bg-2);
5672
+ @media (width <= 640px) {
5673
+ .so-columns {
5674
+ grid-template-columns: 1fr;
5675
+ }
3421
5676
  }
3422
5677
 
3423
- .st-layer.is-sel {
3424
- background: var(--accent-tint);
3425
- color: var(--fg-0);
5678
+ .st-avatar.is-pulsing:after {
5679
+ content: "";
5680
+ border-radius: var(--radius-pill);
5681
+ border: 1px solid var(--av-hue);
5682
+ animation: st-presence-ring 1.6s var(--ease-out) infinite;
5683
+ pointer-events: none;
5684
+ position: absolute;
5685
+ inset: -1px;
3426
5686
  }
3427
5687
 
3428
- .st-css {
3429
- font-family: var(--font-mono);
3430
- font-size: var(--type-xs);
3431
- background: var(--bg-0);
3432
- border: 1px solid var(--border-subtle);
3433
- border-radius: var(--radius-sm);
3434
- padding: var(--space-3);
3435
- color: var(--fg-1);
3436
- line-height: 1.7;
5688
+ .st-avatar {
5689
+ position: relative;
3437
5690
  }
3438
5691
 
3439
- .st-css .comment {
3440
- color: var(--fg-3);
5692
+ @keyframes st-presence-ring {
5693
+ 0% {
5694
+ opacity: .9;
5695
+ transform: scale(1);
5696
+ }
5697
+
5698
+ 70%, 100% {
5699
+ opacity: 0;
5700
+ transform: scale(1.45);
5701
+ }
5702
+ }
5703
+
5704
+ @media (prefers-reduced-motion: reduce) {
5705
+ .st-avatar.is-pulsing:after {
5706
+ opacity: 0;
5707
+ animation: none;
5708
+ }
3441
5709
  }
3442
5710
  }
3443
5711
 
@@ -5041,6 +7309,47 @@
5041
7309
  margin-bottom: 14px;
5042
7310
  }
5043
7311
 
7312
+ .mdcc-tour__hint {
7313
+ border-radius: var(--radius-md);
7314
+ background: color-mix(in oklab, var(--u-accent) 12%, transparent);
7315
+ border: 1px solid color-mix(in oklab, var(--u-accent) 35%, transparent);
7316
+ color: var(--u-fg-1);
7317
+ align-items: center;
7318
+ gap: 8px;
7319
+ margin: -4px 0 14px;
7320
+ padding: 8px 10px;
7321
+ font-size: 12px;
7322
+ line-height: 1.4;
7323
+ display: flex;
7324
+ }
7325
+
7326
+ .mdcc-tour__hint-dot {
7327
+ background: var(--u-accent);
7328
+ border-radius: 50%;
7329
+ flex: none;
7330
+ width: 8px;
7331
+ height: 8px;
7332
+ animation: 1.4s ease-in-out infinite mdcc-tour-pulse;
7333
+ }
7334
+
7335
+ @keyframes mdcc-tour-pulse {
7336
+ 0%, 100% {
7337
+ opacity: .4;
7338
+ transform: scale(.85);
7339
+ }
7340
+
7341
+ 50% {
7342
+ opacity: 1;
7343
+ transform: scale(1.15);
7344
+ }
7345
+ }
7346
+
7347
+ @media (prefers-reduced-motion: reduce) {
7348
+ .mdcc-tour__hint-dot {
7349
+ animation: none;
7350
+ }
7351
+ }
7352
+
5044
7353
  .mdcc-tour__actions {
5045
7354
  justify-content: space-between;
5046
7355
  align-items: center;
@@ -5299,6 +7608,8 @@
5299
7608
  .maude .help-modal-hd {
5300
7609
  border-bottom: 1px solid var(--border-subtle);
5301
7610
  background: var(--bg-1);
7611
+ justify-content: flex-start;
7612
+ gap: var(--space-4);
5302
7613
  }
5303
7614
 
5304
7615
  .maude .help-modal-hd .title {
@@ -5446,6 +7757,7 @@
5446
7757
  box-shadow: var(--shadow-lg);
5447
7758
  font-family: var(--font-body);
5448
7759
  color: var(--fg-1);
7760
+ bottom: 84px;
5449
7761
  }
5450
7762
 
5451
7763
  .maude .mdcc-tour-nudge__cta {
@@ -5638,14 +7950,25 @@
5638
7950
  border-radius: 0;
5639
7951
  }
5640
7952
 
7953
+ .maude .sv-tok-meta {
7954
+ padding: var(--space-2) var(--space-3);
7955
+ flex-direction: column;
7956
+ justify-content: flex-start;
7957
+ align-items: flex-start;
7958
+ gap: 1px;
7959
+ }
7960
+
5641
7961
  .maude .sv-tok-name {
5642
7962
  font-family: var(--font-mono);
5643
7963
  color: var(--fg-0);
7964
+ white-space: nowrap;
7965
+ max-width: 100%;
5644
7966
  }
5645
7967
 
5646
7968
  .maude .sv-tok-value {
5647
7969
  font-family: var(--font-mono);
5648
7970
  color: var(--fg-2);
7971
+ max-width: 100%;
5649
7972
  }
5650
7973
 
5651
7974
  .maude .sv-type-row {