@threadlabs/looma 0.27.2 → 0.27.4

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.
@@ -360,7 +360,7 @@ svg[data-v-abaeb064] {
360
360
  syntax: "*";
361
361
  inherits: false;
362
362
  }
363
- [data-component~="ui-badge"][data-v-380f0aab] {
363
+ [data-component~="ui-badge"][data-v-9a500035] {
364
364
  --_badge-surface: color-mix(in srgb, var(--ui-surface-subtle) 80%, var(--ui-surface-default));
365
365
  --_badge-text: var(--ui-text-secondary);
366
366
  /* Sit between the soft fill and its stronger theme ink. */
@@ -406,27 +406,27 @@ svg[data-v-abaeb064] {
406
406
 
407
407
  /* A constrained badge keeps its surface intact and ellipsizes only its label. The full
408
408
  text stays in the DOM for accessible names and consumers' selected values. */
409
- .label[data-v-380f0aab] {
409
+ .label[data-v-9a500035] {
410
410
  display: block;
411
411
  min-inline-size: 0;
412
412
  overflow: hidden;
413
413
  text-overflow: ellipsis;
414
414
  }
415
- .label[data-v-380f0aab]:empty {
415
+ .label[data-v-9a500035]:empty {
416
416
  display: none;
417
417
  }
418
418
 
419
419
  /* Icon content has its own flex item so label ellipsis never clips its strokes. */
420
- .icon[data-v-380f0aab] {
420
+ .icon[data-v-9a500035] {
421
421
  display: inline-flex;
422
422
  align-items: center;
423
423
  justify-content: center;
424
424
  flex: none;
425
425
  }
426
- .icon[data-v-380f0aab]:empty {
426
+ .icon[data-v-9a500035]:empty {
427
427
  display: none;
428
428
  }
429
- .icon svg[data-v-380f0aab-s] {
429
+ .icon svg[data-v-9a500035-s] {
430
430
  display: block;
431
431
  inline-size: 1em;
432
432
  block-size: 1em;
@@ -434,39 +434,39 @@ svg[data-v-abaeb064] {
434
434
  }
435
435
 
436
436
  /* Ordinary icon-plus-text children keep inline ellipsis, with explicit glyph spacing. */
437
- .label svg[data-v-380f0aab-s] {
437
+ .label svg[data-v-9a500035-s] {
438
438
  inline-size: 1em;
439
439
  block-size: 1em;
440
440
  vertical-align: middle;
441
441
  margin-inline-end: var(--ui-space-1);
442
442
  }
443
- .label[data-v-380f0aab]:has(svg) {
443
+ .label[data-v-9a500035]:has(svg) {
444
444
  text-box-trim: none;
445
445
  }
446
446
 
447
447
  /* Center the capital/baseline text box, while clipping only inline overflow for ellipsis.
448
448
  Vertical ink remains visible so trimming never cuts off ascenders or descenders. */
449
449
  @supports (text-box-trim: trim-both) {
450
- [data-component~="ui-badge"][data-v-380f0aab] {
450
+ [data-component~="ui-badge"][data-v-9a500035] {
451
451
  display: inline-block;
452
452
  min-block-size: var(--ui-badge-min-block-size, 1.5rem);
453
453
  text-align: center;
454
454
  align-content: center;
455
455
  text-box-trim: none;
456
456
  }
457
- [data-component~="ui-badge"][data-v-380f0aab]:has(.icon:not(:empty)),
458
- [data-component~="ui-badge"][data-v-380f0aab]:has(.label svg) {
457
+ [data-component~="ui-badge"][data-v-9a500035]:has(.icon:not(:empty)),
458
+ [data-component~="ui-badge"][data-v-9a500035]:has(.label svg) {
459
459
  display: inline-flex;
460
460
  text-box-trim: none;
461
461
  }
462
- .label[data-v-380f0aab]:not(:has(svg)) {
462
+ .label[data-v-9a500035]:not(:has(svg)) {
463
463
  text-box-trim: trim-both;
464
464
  text-box-edge: cap alphabetic;
465
465
  overflow-x: clip;
466
466
  overflow-y: visible;
467
467
  }
468
468
  }
469
- [data-component~="ui-badge"][data-ui-badge-state~="size=xs"][data-v-380f0aab] {
469
+ [data-component~="ui-badge"][data-ui-badge-state~="size=xs"][data-v-9a500035] {
470
470
  box-sizing: border-box;
471
471
  min-inline-size: 1rem;
472
472
  min-block-size: var(--ui-badge-min-block-size, 1rem);
@@ -476,56 +476,56 @@ svg[data-v-abaeb064] {
476
476
  font-size: var(--ui-badge-font-size, var(--ui-font-size-2xs));
477
477
  line-height: var(--ui-badge-line-height, 1);
478
478
  }
479
- [data-component~="ui-badge"][data-ui-badge-state~="size=sm"][data-v-380f0aab] {
479
+ [data-component~="ui-badge"][data-ui-badge-state~="size=sm"][data-v-9a500035] {
480
480
  font-size: var(--ui-badge-font-size, var(--ui-font-size-2xs));
481
481
  line-height: var(--ui-badge-line-height, 1);
482
482
  }
483
- [data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-380f0aab] {
483
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=accent"][data-v-9a500035] {
484
484
  --_badge-surface: var(--ui-accent-strong-surface, var(--ui-accent-solid));
485
485
  --_badge-border: var(--ui-accent-strong-surface, var(--ui-accent-solid));
486
486
  --_badge-text: var(--ui-accent-on-strong, var(--ui-text-on-accent));
487
487
  }
488
- [data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-380f0aab] {
488
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=danger"][data-v-9a500035] {
489
489
  --_badge-surface: var(--ui-danger-strong-surface, var(--ui-danger-solid));
490
490
  --_badge-border: var(--ui-danger-strong-surface, var(--ui-danger-solid));
491
491
  --_badge-text: var(--ui-danger-on-strong, var(--ui-text-on-accent));
492
492
  }
493
- [data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-380f0aab] {
493
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=success"][data-v-9a500035] {
494
494
  --_badge-surface: var(--ui-success-strong-surface, var(--ui-success-solid));
495
495
  --_badge-border: var(--ui-success-strong-surface, var(--ui-success-solid));
496
496
  --_badge-text: var(--ui-success-on-strong, var(--ui-text-on-accent));
497
497
  }
498
- [data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-380f0aab] {
498
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=warning"][data-v-9a500035] {
499
499
  --_badge-surface: var(--ui-warning-strong-surface, var(--ui-warning-solid));
500
500
  --_badge-border: var(--ui-warning-strong-surface, var(--ui-warning-solid));
501
501
  --_badge-text: var(--ui-warning-on-strong, var(--ui-text-on-accent));
502
502
  }
503
- [data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-380f0aab] {
503
+ [data-component~="ui-badge"][data-ui-badge-state~="tone=info"][data-v-9a500035] {
504
504
  --_badge-surface: var(--ui-info-strong-surface, var(--ui-info-solid));
505
505
  --_badge-border: var(--ui-info-strong-surface, var(--ui-info-solid));
506
506
  --_badge-text: var(--ui-info-on-strong, var(--ui-text-on-accent));
507
507
  }
508
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-380f0aab] {
508
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=accent"][data-v-9a500035] {
509
509
  --_badge-surface: color-mix(in srgb, var(--ui-accent-solid) 19%, var(--ui-surface-default));
510
510
  --_badge-border: color-mix(in srgb, var(--ui-accent-solid) 25%, var(--ui-surface-default));
511
511
  --_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
512
512
  }
513
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-380f0aab] {
513
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=danger"][data-v-9a500035] {
514
514
  --_badge-surface: color-mix(in srgb, var(--ui-danger-solid) 19%, var(--ui-surface-default));
515
515
  --_badge-border: color-mix(in srgb, var(--ui-danger-solid) 25%, var(--ui-surface-default));
516
516
  --_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
517
517
  }
518
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-380f0aab] {
518
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=success"][data-v-9a500035] {
519
519
  --_badge-surface: color-mix(in srgb, var(--ui-success-solid) 19%, var(--ui-surface-default));
520
520
  --_badge-border: color-mix(in srgb, var(--ui-success-solid) 25%, var(--ui-surface-default));
521
521
  --_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
522
522
  }
523
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-380f0aab] {
523
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=warning"][data-v-9a500035] {
524
524
  --_badge-surface: color-mix(in srgb, var(--ui-warning-solid) 19%, var(--ui-surface-default));
525
525
  --_badge-border: color-mix(in srgb, var(--ui-warning-solid) 25%, var(--ui-surface-default));
526
526
  --_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
527
527
  }
528
- [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-380f0aab] {
528
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=subtle"][data-ui-badge-state~="tone=info"][data-v-9a500035] {
529
529
  --_badge-surface: color-mix(in srgb, var(--ui-info-solid) 19%, var(--ui-surface-default));
530
530
  --_badge-border: color-mix(in srgb, var(--ui-info-solid) 25%, var(--ui-surface-default));
531
531
  --_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
@@ -533,7 +533,7 @@ svg[data-v-abaeb064] {
533
533
 
534
534
  /* A solid colour fills with the ink. Its text is the page surface, mixed at 0% only so that it too is
535
535
  invalid while the hook is unset. */
536
- [data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-380f0aab] {
536
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=solid"][data-v-9a500035] {
537
537
  --_badge-color-surface: var(--_badge-color-ink);
538
538
  --_badge-color-border: var(--_badge-color-ink);
539
539
  --_badge-color-text: color-mix(in oklab, var(--_ui-badge-color) 0%, var(--ui-surface-default));
@@ -541,7 +541,7 @@ svg[data-v-abaeb064] {
541
541
 
542
542
  /* A translucent inverse surface picks up its filled control's tone. Deepen the tone ink
543
543
  toward the theme text to retain contrast against that composed surface. */
544
- [data-component~="ui-badge"][data-ui-badge-state~="variant=inverse"][data-v-380f0aab] {
544
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=inverse"][data-v-9a500035] {
545
545
  --_badge-color-surface: color-mix(
546
546
  in srgb,
547
547
  color-mix(in oklab, var(--_ui-badge-color) 0%, var(--ui-surface-default)) 88%,
@@ -567,7 +567,7 @@ svg[data-v-abaeb064] {
567
567
 
568
568
  /* A circular count has a tone-tinted surface, a separate lighter rim and readable tone ink.
569
569
  Dark controls retain a shaded surface and theme ink with a quieter rim. */
570
- [data-component~="ui-badge"][data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="shape=circle"][data-v-380f0aab] {
570
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="shape=circle"][data-v-9a500035] {
571
571
  --_badge-color-surface: light-dark(
572
572
  color-mix(
573
573
  in srgb,
@@ -634,23 +634,23 @@ svg[data-v-abaeb064] {
634
634
  }
635
635
 
636
636
  /* A count can keep its containing control's contrasting ink instead of reversing it.
637
- The faint fill is painted over that control; no second rim or shadow competes with it. */
638
- [data-component~="ui-badge"][data-ui-badge-state~="variant=overlay"][data-v-380f0aab] {
637
+ The faint fill preserves text contrast; a quiet boundary separates the count from its control. */
638
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=overlay"][data-v-9a500035] {
639
639
  --_badge-outline-surface: var(
640
640
  --ui-badge-surface,
641
641
  color-mix(in srgb, currentColor 6%, transparent)
642
642
  );
643
643
  color: var(--ui-badge-text, inherit);
644
- border-color: var(--ui-badge-border, transparent);
644
+ border-color: var(--ui-badge-border, color-mix(in srgb, currentColor 20%, transparent));
645
645
  box-shadow: none;
646
646
  }
647
647
 
648
648
  /* Neutral reverses a subtle surface/ink pair rather than a strong tone. Keep its original
649
649
  surface ink: moving it toward dark-theme primary text would reduce overlay contrast. */
650
- [data-component~="ui-badge"][data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="tone=neutral"][data-v-380f0aab] {
650
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=inverse"][data-ui-badge-state~="tone=neutral"][data-v-9a500035] {
651
651
  color: var(--ui-badge-text, var(--_badge-color-text, var(--_badge-surface)));
652
652
  }
653
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-380f0aab] {
653
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-v-9a500035] {
654
654
  --_badge-surface: var(--ui-surface-default);
655
655
  --_badge-border: var(--ui-border-strong);
656
656
  --_badge-text: var(--ui-text-secondary);
@@ -658,29 +658,29 @@ svg[data-v-abaeb064] {
658
658
  --_badge-color-surface: initial;
659
659
  --_badge-color-border: var(--_badge-color-ink);
660
660
  }
661
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-380f0aab] {
661
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=accent"][data-v-9a500035] {
662
662
  --_badge-border: var(--ui-accent-solid);
663
663
  --_badge-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
664
664
  }
665
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-380f0aab] {
665
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=danger"][data-v-9a500035] {
666
666
  --_badge-border: var(--ui-danger-solid);
667
667
  --_badge-text: var(--ui-danger-subtle-text, var(--ui-danger-solid));
668
668
  }
669
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-380f0aab] {
669
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=success"][data-v-9a500035] {
670
670
  --_badge-border: var(--ui-success-solid);
671
671
  --_badge-text: var(--ui-success-subtle-text, var(--ui-success-solid));
672
672
  }
673
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-380f0aab] {
673
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=warning"][data-v-9a500035] {
674
674
  --_badge-border: var(--ui-warning-solid);
675
675
  --_badge-text: var(--ui-warning-subtle-text, var(--ui-warning-solid));
676
676
  }
677
- [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-380f0aab] {
677
+ [data-component~="ui-badge"][data-ui-badge-state~="variant=outline"][data-ui-badge-state~="tone=info"][data-v-9a500035] {
678
678
  --_badge-border: var(--ui-info-solid);
679
679
  --_badge-text: var(--ui-info-subtle-text, var(--ui-info-solid));
680
680
  }
681
681
 
682
682
  /* An icon mark keeps the existing tone recipe and follows the global spacing and radius. */
683
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-v-380f0aab] {
683
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-v-9a500035] {
684
684
  --_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-4) * 2));
685
685
  display: inline-flex;
686
686
  box-sizing: border-box;
@@ -693,29 +693,29 @@ svg[data-v-abaeb064] {
693
693
  border-radius: var(--ui-radius-md);
694
694
  text-box-trim: none;
695
695
  }
696
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=xs"][data-v-380f0aab] {
696
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=xs"][data-v-9a500035] {
697
697
  --_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-3) * 2));
698
698
  }
699
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=lg"][data-v-380f0aab] {
699
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"][data-ui-badge-state~="size=lg"][data-v-9a500035] {
700
700
  --_badge-square-size: var(
701
701
  --ui-badge-square-size,
702
702
  calc(var(--ui-space-4) * 2 + var(--ui-space-2))
703
703
  );
704
704
  }
705
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-380f0aab] {
705
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-9a500035] {
706
706
  display: inline-flex;
707
707
  align-items: center;
708
708
  justify-content: center;
709
709
  }
710
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label svg[data-v-380f0aab-s] {
710
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label svg[data-v-9a500035-s] {
711
711
  margin-inline-end: 0;
712
712
  }
713
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-380f0aab]:empty {
713
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-9a500035]:empty {
714
714
  display: none;
715
715
  }
716
716
 
717
717
  /* A visible glyph needs fixed geometry, unlike a content-sized pill or a hidden-label dot. */
718
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-v-380f0aab] {
718
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-v-9a500035] {
719
719
  --_badge-circle-size: var(--ui-badge-circle-size, calc(var(--ui-space-3) * 2));
720
720
  display: inline-flex;
721
721
  flex: none;
@@ -727,34 +727,34 @@ svg[data-v-abaeb064] {
727
727
  border-radius: var(--ui-radius-round);
728
728
  text-box-trim: none;
729
729
  }
730
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-ui-badge-state~="size=sm"][data-ui-badge-state~="variant=overlay"][data-v-380f0aab] {
730
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-ui-badge-state~="size=sm"][data-ui-badge-state~="variant=overlay"][data-v-9a500035] {
731
731
  --_badge-circle-size: var(--ui-badge-circle-size, calc(var(--ui-space-4) + var(--ui-space-1)));
732
732
  }
733
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-ui-badge-state~="size=xs"][data-v-380f0aab] {
733
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-ui-badge-state~="size=xs"][data-v-9a500035] {
734
734
  --_badge-circle-size: var(--ui-badge-circle-size, var(--ui-space-4));
735
735
  }
736
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-ui-badge-state~="size=lg"][data-v-380f0aab] {
736
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"][data-ui-badge-state~="size=lg"][data-v-9a500035] {
737
737
  --_badge-circle-size: var(--ui-badge-circle-size, calc(var(--ui-space-4) * 2));
738
738
  }
739
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label[data-v-380f0aab] {
739
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label[data-v-9a500035] {
740
740
  display: inline-flex;
741
741
  align-items: center;
742
742
  justify-content: center;
743
743
  line-height: 1;
744
744
  text-box-trim: none;
745
745
  }
746
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label svg[data-v-380f0aab-s] {
746
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label svg[data-v-9a500035-s] {
747
747
  margin-inline-end: 0;
748
748
  }
749
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label[data-v-380f0aab]:empty {
749
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label[data-v-9a500035]:empty {
750
750
  display: none;
751
751
  }
752
752
 
753
753
  /* Center capital and numeral ink, rather than the font's ascent/descent line box.
754
754
  Icon labels retain flex geometry; untrimmed browsers keep that fallback too. */
755
755
  @supports (text-box-trim: trim-both) {
756
- [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label[data-v-380f0aab]:not(:has(svg)),
757
- [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-380f0aab]:not(:has(svg)) {
756
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=circle"] .label[data-v-9a500035]:not(:has(svg)),
757
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=square"] .label[data-v-9a500035]:not(:has(svg)) {
758
758
  display: block;
759
759
  text-box-trim: trim-both;
760
760
  text-box-edge: cap alphabetic;
@@ -763,7 +763,7 @@ svg[data-v-abaeb064] {
763
763
  }
764
764
 
765
765
  /* A dot uses the badge's tone recipe; only its silhouette and visible label change. */
766
- [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-380f0aab] {
766
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-9a500035] {
767
767
  position: relative;
768
768
  box-sizing: border-box;
769
769
  flex: none;
@@ -775,7 +775,7 @@ svg[data-v-abaeb064] {
775
775
  border-radius: var(--ui-radius-round);
776
776
  text-box-trim: none;
777
777
  }
778
- [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"] .label[data-v-380f0aab] {
778
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"] .label[data-v-9a500035] {
779
779
  position: absolute;
780
780
  inline-size: 1px;
781
781
  block-size: 1px;
@@ -786,7 +786,7 @@ svg[data-v-abaeb064] {
786
786
 
787
787
  /* The clipped point needs an inset surface over an outer border-colour shape: a native border
788
788
  has no diagonal edge to follow. Keep this edge for every tag variant. */
789
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-380f0aab] {
789
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-9a500035] {
790
790
  --_badge-point: var(--ui-badge-point, var(--ui-space-2));
791
791
 
792
792
  position: relative;
@@ -803,7 +803,7 @@ svg[data-v-abaeb064] {
803
803
  0 100%
804
804
  );
805
805
  }
806
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-380f0aab]::before {
806
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-9a500035]::before {
807
807
  content: "";
808
808
  position: absolute;
809
809
  inset: 0;
@@ -818,37 +818,37 @@ svg[data-v-abaeb064] {
818
818
  );
819
819
  pointer-events: none;
820
820
  }
821
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-ui-badge-state~="variant=inverse"][data-v-380f0aab] {
821
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-ui-badge-state~="variant=inverse"][data-v-9a500035] {
822
822
  background: var(--ui-badge-border, var(--_badge-color-border, var(--_badge-text)));
823
823
  }
824
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-380f0aab]:dir(rtl) {
824
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-9a500035]:dir(rtl) {
825
825
  padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2));
826
826
  padding-inline-start: calc(
827
827
  var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)
828
828
  );
829
829
  clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
830
830
  }
831
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-380f0aab]:dir(rtl)::before {
831
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-9a500035]:dir(rtl)::before {
832
832
  clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
833
833
  }
834
834
  @media (forced-colors: active) {
835
- [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-380f0aab] {
835
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=dot"][data-v-9a500035] {
836
836
  forced-color-adjust: none;
837
837
  border-color: CanvasText;
838
838
  background: CanvasText;
839
839
  }
840
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-380f0aab] {
840
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-9a500035] {
841
841
  forced-color-adjust: none;
842
842
  background: CanvasText;
843
843
  color: CanvasText;
844
844
  }
845
- [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-380f0aab]::before {
845
+ [data-component~="ui-badge"][data-ui-badge-state~="shape=tag"][data-v-9a500035]::before {
846
846
  background: Canvas;
847
847
  }
848
848
  }
849
849
 
850
850
  /* A component that sets its display still honours the hidden attribute on its root. */
851
- [data-component~="ui-badge"][hidden][data-v-380f0aab] {
851
+ [data-component~="ui-badge"][hidden][data-v-9a500035] {
852
852
  display: none;
853
853
  }
854
854
 
@@ -1058,7 +1058,7 @@ svg[data-v-6551ff4d],
1058
1058
  syntax: "*";
1059
1059
  inherits: false;
1060
1060
  }
1061
- [data-component~="ui-button"][data-v-e56c4e01] {
1061
+ [data-component~="ui-button"][data-v-8789629f] {
1062
1062
  /* Optional inherited action-group values keep text and icon actions under the same light.
1063
1063
  One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
1064
1064
  A single ambient lift avoids stacking a face gradient or another inset bevel. */
@@ -1093,18 +1093,18 @@ svg[data-v-6551ff4d],
1093
1093
  vertical-align: middle;
1094
1094
  color: var(--_tone-text);
1095
1095
  }
1096
- [data-component~="ui-button"][data-v-e56c4e01]:dir(rtl) {
1096
+ [data-component~="ui-button"][data-v-8789629f]:dir(rtl) {
1097
1097
  --_ui-action-start: -1px;
1098
1098
  }
1099
- [data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-e56c4e01] {
1099
+ [data-component~="ui-button"][data-ui-button-state~="align=start"][data-v-8789629f] {
1100
1100
  justify-content: flex-start;
1101
1101
  text-align: start;
1102
1102
  }
1103
- [data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-e56c4e01] {
1103
+ [data-component~="ui-button"][data-ui-button-state~="stretch"][data-v-8789629f] {
1104
1104
  display: flex;
1105
1105
  inline-size: 100%;
1106
1106
  }
1107
- [data-component~="ui-button"][data-v-e56c4e01] {
1107
+ [data-component~="ui-button"][data-v-8789629f] {
1108
1108
  appearance: none;
1109
1109
  min-block-size: var(--ui-button-min-block-size, var(--ui-control-size-md));
1110
1110
  border-style: solid;
@@ -1132,10 +1132,10 @@ svg[data-v-6551ff4d],
1132
1132
  }
1133
1133
 
1134
1134
  /* An anchor keeps the boxed button look even when an app styles ordinary links. */
1135
- [data-component~="ui-button"][data-v-e56c4e01]:is(a) {
1135
+ [data-component~="ui-button"][data-v-8789629f]:is(a) {
1136
1136
  text-decoration: none;
1137
1137
  }
1138
- .spinner-wrap[data-v-e56c4e01] {
1138
+ .spinner-wrap[data-v-8789629f] {
1139
1139
  display: inline-flex;
1140
1140
  flex: none;
1141
1141
  vertical-align: middle;
@@ -1143,37 +1143,37 @@ svg[data-v-6551ff4d],
1143
1143
 
1144
1144
  /* A count is an adornment, not another line of label text. Keep the standard control height
1145
1145
  with enough inset for a 24px mark; large content can still grow the button naturally. */
1146
- [data-component~="ui-button"][data-v-e56c4e01]:not([variant="link"]):has(.badge:not(:empty)) {
1146
+ [data-component~="ui-button"][data-v-8789629f]:not([variant="link"]):has(.badge:not(:empty)) {
1147
1147
  padding-block: var(--ui-space-0-5);
1148
1148
  }
1149
- .badge[data-v-e56c4e01] {
1149
+ .badge[data-v-8789629f] {
1150
1150
  display: inline-flex;
1151
1151
  align-items: center;
1152
1152
  flex: none;
1153
1153
  }
1154
- .badge[data-v-e56c4e01]:empty {
1154
+ .badge[data-v-8789629f]:empty {
1155
1155
  display: none;
1156
1156
  }
1157
1157
  @supports (text-box-trim: trim-both) {
1158
- [data-component~="ui-button"][data-v-e56c4e01] {
1158
+ [data-component~="ui-button"][data-v-8789629f] {
1159
1159
  text-box-trim: trim-both;
1160
1160
  text-box-edge: cap alphabetic;
1161
1161
  }
1162
1162
  }
1163
- [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-e56c4e01] {
1163
+ [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-8789629f] {
1164
1164
  min-block-size: 1.5rem;
1165
1165
  padding: calc(var(--ui-space-0-5) * 1.5) calc(var(--ui-space-1) * 1.25);
1166
1166
  font-size: var(--ui-font-size-xs);
1167
1167
  }
1168
- [data-component~="ui-button"][data-ui-button-state~="shape=pill"][data-v-e56c4e01] {
1168
+ [data-component~="ui-button"][data-ui-button-state~="shape=pill"][data-v-8789629f] {
1169
1169
  border-radius: var(--ui-button-radius, var(--ui-radius-round));
1170
1170
  }
1171
- [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-e56c4e01] {
1171
+ [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-8789629f] {
1172
1172
  min-block-size: var(--ui-control-size-sm);
1173
1173
  padding: var(--ui-space-1) var(--ui-space-2);
1174
1174
  font-size: var(--ui-font-size-sm);
1175
1175
  }
1176
- [data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-e56c4e01] {
1176
+ [data-component~="ui-button"][data-ui-button-state~="size=lg"][data-v-8789629f] {
1177
1177
  min-block-size: var(--ui-control-size-lg);
1178
1178
  padding: var(--ui-space-3) var(--ui-space-4);
1179
1179
  font-size: var(--ui-font-size-md);
@@ -1181,7 +1181,7 @@ svg[data-v-6551ff4d],
1181
1181
 
1182
1182
  /* Card actions inherit Button's palette and behavior; only their shared layout changes.
1183
1183
  The icon may contain any decorative composition. Empty icons remove their column. */
1184
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-e56c4e01] {
1184
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-8789629f] {
1185
1185
  display: grid;
1186
1186
  grid-template-columns: auto minmax(0, 1fr) auto;
1187
1187
  align-content: center;
@@ -1194,23 +1194,23 @@ svg[data-v-6551ff4d],
1194
1194
  box-shadow: none;
1195
1195
  background-image: none;
1196
1196
  }
1197
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="size=lg"][data-v-e56c4e01] {
1197
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="size=lg"][data-v-8789629f] {
1198
1198
  min-block-size: max(var(--ui-control-min-block-size), var(--ui-control-size-lg));
1199
1199
  }
1200
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-e56c4e01]:has(.card-icon:empty) {
1200
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-8789629f]:has(.card-icon:empty) {
1201
1201
  grid-template-columns: minmax(0, 1fr) auto;
1202
1202
  }
1203
- .card-icon[data-v-e56c4e01] {
1203
+ .card-icon[data-v-8789629f] {
1204
1204
  display: flex;
1205
1205
  align-items: flex-start;
1206
1206
  }
1207
- .card-icon[data-v-e56c4e01]:empty {
1207
+ .card-icon[data-v-8789629f]:empty {
1208
1208
  display: none;
1209
1209
  }
1210
- .card-content[data-v-e56c4e01] {
1210
+ .card-content[data-v-8789629f] {
1211
1211
  min-inline-size: 0;
1212
1212
  }
1213
- .card-action[data-v-e56c4e01] {
1213
+ .card-action[data-v-8789629f] {
1214
1214
  display: flex;
1215
1215
  align-items: center;
1216
1216
  align-self: center;
@@ -1218,37 +1218,37 @@ svg[data-v-6551ff4d],
1218
1218
 
1219
1219
  /* A link is never :enabled, so interactive states test "not unavailable" instead: for a button that
1220
1220
  is exactly :enabled, at the same specificity, and it also matches a link that can be followed. */
1221
- [data-component~="ui-button"][data-v-e56c4e01]:hover:not(:disabled, [aria-disabled="true"]) {
1221
+ [data-component~="ui-button"][data-v-8789629f]:hover:not(:disabled, [aria-disabled="true"]) {
1222
1222
  border-color: var(--ui-button-hover-border, var(--_tone-hover));
1223
1223
  background-color: var(--ui-button-hover-surface, oklch(from var(--_tone) l c h / 12%));
1224
1224
  }
1225
1225
 
1226
1226
  /* A neutral card encloses content quietly; ordinary outlines keep their action-tone edge. */
1227
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"][data-v-e56c4e01] {
1227
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"][data-v-8789629f] {
1228
1228
  border-color: var(--ui-button-border, var(--ui-border));
1229
1229
  }
1230
- [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"][data-v-e56c4e01]:hover:not(:disabled, [aria-disabled="true"]) {
1230
+ [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-ui-button-state~="tone=neutral"][data-v-8789629f]:hover:not(:disabled, [aria-disabled="true"]) {
1231
1231
  border-color: var(--ui-button-hover-border, var(--ui-border-strong));
1232
1232
  }
1233
1233
 
1234
1234
  /* Pressed reads as pressed in: the highlight goes, and the shadow moves inside. */
1235
- [data-component~="ui-button"][data-v-e56c4e01]:active:not(:disabled, [aria-disabled="true"]) {
1235
+ [data-component~="ui-button"][data-v-8789629f]:active:not(:disabled, [aria-disabled="true"]) {
1236
1236
  background-color: var(--ui-button-active-surface, oklch(from var(--_tone) l c h / 18%));
1237
1237
  background-image: none;
1238
1238
  box-shadow: var(--ui-pressed);
1239
1239
  }
1240
- [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-e56c4e01],
1241
- [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-e56c4e01] {
1240
+ [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8789629f],
1241
+ [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8789629f] {
1242
1242
  border-color: var(--_tone);
1243
1243
  background-color: var(--_tone);
1244
1244
  color: var(--_on-tone);
1245
1245
  box-shadow: var(--ui-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
1246
1246
  }
1247
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-e56c4e01], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-e56c4e01]):hover:not(:disabled, [aria-disabled="true"]) {
1247
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8789629f], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8789629f]):hover:not(:disabled, [aria-disabled="true"]) {
1248
1248
  background-color: var(--_tone-hover);
1249
1249
  border-color: var(--_tone-hover);
1250
1250
  }
1251
- :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-e56c4e01], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-e56c4e01]):active:not(:disabled, [aria-disabled="true"]) {
1251
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8789629f], [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8789629f]):active:not(:disabled, [aria-disabled="true"]) {
1252
1252
  background-color: var(--_tone-active);
1253
1253
  border-color: var(--_tone-active);
1254
1254
  background-image: none;
@@ -1257,43 +1257,73 @@ svg[data-v-6551ff4d],
1257
1257
 
1258
1258
  /* Tone is the colour, variant is the volume. Every pairing works: a danger outline is a
1259
1259
  destructive secondary action, not a special case. */
1260
- [data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-e56c4e01] {
1260
+ [data-component~="ui-button"][data-ui-button-state~="tone=neutral"][data-v-8789629f] {
1261
1261
  --_hue: var(--ui-text);
1262
1262
  --_hue-hover: var(--ui-text);
1263
1263
  --_hue-active: var(--ui-text);
1264
1264
  --_hue-text: var(--ui-text);
1265
1265
  --_on-hue: var(--ui-surface);
1266
1266
  }
1267
- [data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-e56c4e01],
1268
- [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-e56c4e01] {
1267
+ [data-component~="ui-button"][data-ui-button-state~="tone=danger"][data-v-8789629f],
1268
+ [data-component~="ui-button"][data-ui-button-state~="variant=danger"][data-v-8789629f] {
1269
1269
  --_hue: var(--ui-danger);
1270
1270
  --_hue-hover: var(--ui-danger-hover);
1271
1271
  --_hue-active: var(--ui-danger-hover);
1272
1272
  --_hue-text: var(--ui-danger-hover);
1273
1273
  --_on-hue: var(--ui-on-danger);
1274
1274
  }
1275
- [data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-e56c4e01] {
1275
+ [data-component~="ui-button"][data-ui-button-state~="tone=success"][data-v-8789629f] {
1276
1276
  --_hue: var(--ui-success);
1277
1277
  --_hue-hover: color-mix(in srgb, var(--ui-success) 85%, #000);
1278
1278
  --_hue-active: color-mix(in srgb, var(--ui-success) 75%, #000);
1279
1279
  --_hue-text: color-mix(in srgb, var(--ui-success) 85%, #000);
1280
1280
  --_on-hue: var(--ui-surface);
1281
1281
  }
1282
- [data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-e56c4e01] {
1282
+ [data-component~="ui-button"][data-ui-button-state~="tone=warning"][data-v-8789629f] {
1283
1283
  --_hue: var(--ui-warning);
1284
1284
  --_hue-hover: color-mix(in srgb, var(--ui-warning) 85%, #000);
1285
1285
  --_hue-active: color-mix(in srgb, var(--ui-warning) 75%, #000);
1286
1286
  --_hue-text: color-mix(in srgb, var(--ui-warning) 85%, #000);
1287
1287
  --_on-hue: var(--ui-surface);
1288
1288
  }
1289
- [data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-e56c4e01] {
1289
+ [data-component~="ui-button"][data-ui-button-state~="tone=info"][data-v-8789629f] {
1290
1290
  --_hue: var(--ui-info);
1291
1291
  --_hue-hover: color-mix(in srgb, var(--ui-info) 85%, #000);
1292
1292
  --_hue-active: color-mix(in srgb, var(--ui-info) 75%, #000);
1293
1293
  --_hue-text: color-mix(in srgb, var(--ui-info) 85%, #000);
1294
1294
  --_on-hue: var(--ui-surface);
1295
1295
  }
1296
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-e56c4e01] {
1296
+
1297
+ /* A value picker is a field, with Select's quiet edge and resting lift. */
1298
+ [data-component~="ui-button"][data-ui-button-state~="variant=field"][data-v-8789629f] {
1299
+ --_ui-field-shadow: var(--ui-shadow-sm);
1300
+ border-color: var(--ui-button-border, var(--ui-control-border, var(--ui-border-strong)));
1301
+ border-radius: var(--ui-button-radius, var(--ui-field-radius, var(--ui-radius-md)));
1302
+ background-color: var(--ui-button-surface, var(--ui-control-surface, var(--ui-surface-elevated)));
1303
+ color: var(--ui-button-text, var(--ui-text-primary));
1304
+ font-weight: var(--ui-font-normal);
1305
+ box-shadow: var(--ui-button-shadow, var(--_ui-field-shadow));
1306
+ }
1307
+ [data-component~="ui-button"][data-ui-button-state~="variant=field"][data-v-8789629f]:hover:not(:disabled, [aria-disabled="true"]) {
1308
+ border-color: var(
1309
+ --ui-button-hover-border,
1310
+ var(--ui-control-border-hover, var(--ui-text-secondary))
1311
+ );
1312
+ background-color: var(
1313
+ --ui-button-hover-surface,
1314
+ var(--ui-control-surface, var(--ui-surface-elevated))
1315
+ );
1316
+ }
1317
+ [data-component~="ui-button"][data-ui-button-state~="variant=field"][data-v-8789629f]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
1318
+ --_ui-field-shadow: var(--ui-pressed);
1319
+ }
1320
+ [data-component~="ui-button"][data-ui-button-state~="variant=field"][data-v-8789629f]:focus-visible {
1321
+ border-color: var(--ui-control-focus, var(--ui-accent-solid));
1322
+ box-shadow:
1323
+ var(--ui-button-shadow, var(--_ui-field-shadow)),
1324
+ var(--ui-control-focus-halo-shadow);
1325
+ }
1326
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8789629f] {
1297
1327
  border-color: transparent;
1298
1328
  background: transparent;
1299
1329
  box-shadow: none;
@@ -1301,14 +1331,14 @@ svg[data-v-6551ff4d],
1301
1331
  }
1302
1332
 
1303
1333
  /* Tints derive from the text colour, not a surface token, so hover and press show on any background. */
1304
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-e56c4e01]:hover:not(:disabled, [aria-disabled="true"]) {
1334
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8789629f]:hover:not(:disabled, [aria-disabled="true"]) {
1305
1335
  background-color: var(--ui-button-ghost-hover-surface, oklch(from var(--_tone) l c h / 10%));
1306
1336
  border-color: transparent;
1307
1337
  }
1308
1338
 
1309
1339
  /* Pressed, or holding its menu open, a ghost button sinks slightly: a light surface with a faint
1310
1340
  edge and a soft inner shadow. Lighter than hover, so an open menu's trigger never reads as heavy. */
1311
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-e56c4e01]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
1341
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8789629f]:is(:active, [aria-expanded="true"]):not(:disabled, [aria-disabled="true"]) {
1312
1342
  background-color: var(
1313
1343
  --ui-button-ghost-active-surface,
1314
1344
  color-mix(in oklch, var(--ui-surface), var(--_tone) 3%)
@@ -1320,24 +1350,24 @@ svg[data-v-6551ff4d],
1320
1350
  }
1321
1351
 
1322
1352
  /* A soft halo that transitions in with the other box-shadow changes, layered on the raised shadow. */
1323
- [data-component~="ui-button"][data-v-e56c4e01]:focus-visible {
1353
+ [data-component~="ui-button"][data-v-8789629f]:focus-visible {
1324
1354
  outline: none;
1325
1355
  box-shadow:
1326
1356
  var(--ui-button-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
1327
1357
  var(--ui-focus-halo);
1328
1358
  }
1329
- [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-e56c4e01]:focus-visible {
1359
+ [data-component~="ui-button"][data-ui-button-state~="variant=solid"][data-v-8789629f]:focus-visible {
1330
1360
  box-shadow:
1331
1361
  var(--ui-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
1332
1362
  var(--ui-focus-halo);
1333
1363
  }
1334
- :is([data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-e56c4e01], [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01], [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-e56c4e01]):focus-visible {
1364
+ :is([data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8789629f], [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f], [data-component~="ui-button"][data-ui-button-state~="variant=card"][data-v-8789629f]):focus-visible {
1335
1365
  box-shadow: var(--ui-focus-halo);
1336
1366
  }
1337
1367
 
1338
1368
  /* A loading action stays visually active; only an explicitly disabled action takes the
1339
1369
  neutral disabled palette. Its flat surface and muted ink make the state unambiguous. */
1340
- [data-component~="ui-button"][data-v-e56c4e01]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1370
+ [data-component~="ui-button"][data-v-8789629f]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1341
1371
  border-color: var(--ui-disabled-border);
1342
1372
  background-color: var(--ui-disabled-surface);
1343
1373
  color: var(--ui-disabled-text);
@@ -1347,19 +1377,19 @@ svg[data-v-6551ff4d],
1347
1377
  background-image: none;
1348
1378
  box-shadow: none;
1349
1379
  }
1350
- :is([data-component~="ui-button"][data-ui-button-state~="loading"][data-v-e56c4e01], [data-component~="ui-button"][data-ui-button-state~="pending"][data-v-e56c4e01]):focus-visible {
1380
+ :is([data-component~="ui-button"][data-ui-button-state~="loading"][data-v-8789629f], [data-component~="ui-button"][data-ui-button-state~="pending"][data-v-8789629f]):focus-visible {
1351
1381
  box-shadow: var(--ui-focus-halo);
1352
1382
  }
1353
1383
 
1354
1384
  /* Ghost keeps no border, but gains the same neutral surface as other disabled buttons. */
1355
- [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-e56c4e01]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1385
+ [data-component~="ui-button"][data-ui-button-state~="variant=ghost"][data-v-8789629f]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1356
1386
  background-color: var(--ui-disabled-surface);
1357
1387
  border-color: transparent;
1358
1388
  }
1359
1389
 
1360
1390
  /* The size states outrank :host, so sm is named too, or a small button would stay small. */
1361
1391
  @media (pointer: coarse) {
1362
- [data-component~="ui-button"][data-v-e56c4e01], [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-e56c4e01] {
1392
+ [data-component~="ui-button"][data-v-8789629f], [data-component~="ui-button"][data-ui-button-state~="size=sm"][data-v-8789629f] {
1363
1393
  min-block-size: var(--ui-control-min-block-size);
1364
1394
  }
1365
1395
  }
@@ -1370,15 +1400,15 @@ svg[data-v-6551ff4d],
1370
1400
  area. xs sits inside a line of text the same way, so it keeps its size and gains the area too.
1371
1401
  Only these need it: a hit area on every button would reach over its neighbours. */
1372
1402
  html[data-ui-input-modality="touch"]
1373
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01],
1403
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f],
1374
1404
  html[data-ui-input-modality="touch"]
1375
- [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-e56c4e01] {
1405
+ [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-8789629f] {
1376
1406
  position: relative;
1377
1407
  }
1378
1408
  html[data-ui-input-modality="touch"]
1379
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01]::after,
1409
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f]::after,
1380
1410
  html[data-ui-input-modality="touch"]
1381
- [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-e56c4e01]::after {
1411
+ [data-component~="ui-button"][data-ui-button-state~="size=xs"][data-v-8789629f]::after {
1382
1412
  position: absolute;
1383
1413
  inset: 50% auto auto 50%;
1384
1414
  inline-size: max(100%, var(--ui-control-min-block-size));
@@ -1389,7 +1419,7 @@ html[data-ui-input-modality="touch"]
1389
1419
 
1390
1420
  /* Link: an inline text action. No box, padding, or minimum height (inline targets are exempt under
1391
1421
  WCAG 2.5.8); the inherited font; an underline that strengthens on hover; a visible focus ring. */
1392
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01] {
1422
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f] {
1393
1423
  display: inline;
1394
1424
  min-block-size: 0;
1395
1425
  padding: 0;
@@ -1407,21 +1437,21 @@ html[data-ui-input-modality="touch"]
1407
1437
  color var(--ui-motion-fast) var(--ui-motion-ease),
1408
1438
  text-decoration-color var(--ui-motion-fast) var(--ui-motion-ease);
1409
1439
  }
1410
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01]:hover:not(:disabled, [aria-disabled="true"]) {
1440
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f]:hover:not(:disabled, [aria-disabled="true"]) {
1411
1441
  color: var(--ui-button-link-hover-text, var(--ui-text-primary));
1412
1442
  text-decoration-color: currentColor;
1413
1443
  background: none;
1414
1444
  transform: none;
1415
1445
  }
1416
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01]:active:not(:disabled, [aria-disabled="true"]) {
1446
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f]:active:not(:disabled, [aria-disabled="true"]) {
1417
1447
  background: none;
1418
1448
  transform: none;
1419
1449
  }
1420
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1450
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f]:is(:disabled, [aria-disabled="true"]:not([aria-busy="true"])) {
1421
1451
  background: none;
1422
1452
  border-color: transparent;
1423
1453
  }
1424
- [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-e56c4e01]:focus-visible {
1454
+ [data-component~="ui-button"][data-ui-button-state~="variant=link"][data-v-8789629f]:focus-visible {
1425
1455
  box-shadow: none;
1426
1456
  /* Fallback keeps the ring if the token is missing: an unresolved var() would void the outline. */
1427
1457
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
@@ -1429,7 +1459,7 @@ html[data-ui-input-modality="touch"]
1429
1459
  }
1430
1460
 
1431
1461
  /* A component that sets its display still honours the hidden attribute on its root. */
1432
- [data-component~="ui-button"][hidden][data-v-e56c4e01] {
1462
+ [data-component~="ui-button"][hidden][data-v-8789629f] {
1433
1463
  display: none;
1434
1464
  }
1435
1465
 
@@ -2229,7 +2259,7 @@ input[data-v-a7d28848]:focus-visible {
2229
2259
  syntax: "*";
2230
2260
  inherits: false;
2231
2261
  }
2232
- [data-component~="ui-combobox"][data-v-33359776] {
2262
+ [data-component~="ui-combobox"][data-v-7a56e205] {
2233
2263
  /* Hooks do not inherit, so the parts below read them from the root. */
2234
2264
  --_ui-combobox-label-text: var(--ui-combobox-label-text);
2235
2265
  --_ui-combobox-label-font-size: var(--ui-combobox-label-font-size);
@@ -2248,26 +2278,29 @@ input[data-v-a7d28848]:focus-visible {
2248
2278
  --_ui-combobox-popup-radius: var(--ui-combobox-popup-radius);
2249
2279
  --_ui-combobox-popup-shadow: var(--ui-combobox-popup-shadow);
2250
2280
 
2281
+ --_row: var(--ui-control-size-md);
2251
2282
  display: grid;
2252
2283
  gap: var(--ui-space-1);
2253
2284
  min-inline-size: 0;
2254
2285
  color: var(--ui-text-primary);
2255
2286
  font: inherit;
2256
2287
  }
2257
- label[data-v-33359776] {
2288
+ label[data-v-7a56e205] {
2258
2289
  color: var(--_ui-combobox-label-text, var(--ui-text-primary));
2259
2290
  font-size: var(--_ui-combobox-label-font-size, var(--ui-font-size-sm));
2260
2291
  font-weight: 500;
2261
2292
  }
2262
2293
  /* The field and anything that annotates it sit on one row; the help button is beside the box,
2263
2294
  not inside it, because a control's box holds its value. */
2264
- .control[data-v-33359776] {
2295
+ .control[data-v-7a56e205] {
2265
2296
  display: flex;
2266
2297
  align-items: center;
2267
2298
  gap: var(--ui-space-2);
2268
2299
  min-inline-size: 0;
2269
2300
  }
2270
- .field[data-v-33359776] {
2301
+ .field[data-v-7a56e205] {
2302
+ box-sizing: border-box;
2303
+ min-block-size: var(--_row);
2271
2304
  flex: 1 1 auto;
2272
2305
  display: flex;
2273
2306
  min-inline-size: 0;
@@ -2279,19 +2312,19 @@ label[data-v-33359776] {
2279
2312
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
2280
2313
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
2281
2314
  }
2282
- .field[data-v-33359776]:focus-within {
2315
+ .field[data-v-7a56e205]:focus-within {
2283
2316
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
2284
2317
  box-shadow:
2285
2318
  var(--ui-control-inset),
2286
2319
  var(--ui-control-focus-halo-shadow);
2287
2320
  }
2288
- .entry[data-v-33359776] {
2321
+ .entry[data-v-7a56e205] {
2289
2322
  display: flex;
2290
2323
  flex: 1 1 auto;
2291
2324
  min-inline-size: 0;
2292
2325
  }
2293
2326
  /* A ghost icon button: the affordance is the mark, not a box around it. */
2294
- .help[data-v-33359776] {
2327
+ .help[data-v-7a56e205] {
2295
2328
  flex: none;
2296
2329
  display: inline-flex;
2297
2330
  align-items: center;
@@ -2308,57 +2341,58 @@ label[data-v-33359776] {
2308
2341
  background-color var(--ui-motion-fast) var(--ui-motion-ease),
2309
2342
  color var(--ui-motion-fast) var(--ui-motion-ease);
2310
2343
  }
2311
- .help[data-v-33359776]:hover:enabled,
2312
- .help[aria-expanded="true"][data-v-33359776] {
2344
+ .help[data-v-7a56e205]:hover:enabled,
2345
+ .help[aria-expanded="true"][data-v-7a56e205] {
2313
2346
  background: color-mix(in srgb, currentColor 8%, transparent);
2314
2347
  color: var(--ui-text-primary);
2315
2348
  }
2316
- .help[data-v-33359776]:focus-visible {
2349
+ .help[data-v-7a56e205]:focus-visible {
2317
2350
  outline: none;
2318
2351
  box-shadow: var(--ui-focus-halo);
2319
2352
  }
2320
- .help[data-v-33359776]:disabled {
2353
+ .help[data-v-7a56e205]:disabled {
2321
2354
  color: var(--ui-disabled-text);
2322
2355
  cursor: not-allowed;
2323
2356
  }
2324
- .help-icon[data-v-33359776] {
2357
+ .help-icon[data-v-7a56e205] {
2325
2358
  inline-size: var(--ui-icon-size-sm);
2326
2359
  block-size: var(--ui-icon-size-sm);
2327
2360
  }
2328
- input[data-v-33359776]::selection {
2361
+ input[data-v-7a56e205]::selection {
2329
2362
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
2330
2363
  color: inherit;
2331
2364
  }
2332
- input[data-v-33359776] {
2365
+ input[data-v-7a56e205] {
2333
2366
  appearance: none;
2334
2367
  width: 100%;
2335
2368
  min-inline-size: 0;
2336
- min-block-size: calc(var(--ui-control-size-md) - 2px);
2369
+ min-block-size: calc(var(--_row) - 2 * var(--ui-border-width));
2337
2370
  box-sizing: border-box;
2338
2371
  border: 0;
2339
2372
  border-radius: inherit;
2340
2373
  background: transparent;
2341
2374
  color: inherit;
2342
2375
  font: inherit;
2343
- line-height: var(--ui-line-height-md);
2376
+ line-height: var(--ui-line-height-tight);
2344
2377
  padding: var(--ui-space-2) var(--ui-space-3);
2345
2378
  margin: 0;
2346
2379
  outline: none;
2347
2380
  }
2348
- [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-33359776] {
2381
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-7a56e205] {
2349
2382
  --_row: var(--ui-control-size-sm);
2350
2383
  }
2351
- [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-33359776] {
2352
- min-block-size: calc(var(--_row) - 2px);
2384
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-7a56e205] {
2353
2385
  padding: var(--ui-space-1) var(--ui-space-2);
2354
2386
  font-size: var(--ui-font-size-sm);
2355
2387
  }
2356
- [data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-33359776] {
2357
- min-block-size: calc(var(--ui-control-size-lg) - 2px);
2388
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"][data-v-7a56e205] {
2389
+ --_row: var(--ui-control-size-lg);
2390
+ }
2391
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"] input[data-v-7a56e205] {
2358
2392
  padding: var(--ui-space-3) var(--ui-space-4);
2359
2393
  font-size: var(--ui-font-size-md);
2360
2394
  }
2361
- button[data-v-33359776] {
2395
+ button[data-v-7a56e205] {
2362
2396
  appearance: none;
2363
2397
  display: inline-grid;
2364
2398
  place-items: center;
@@ -2373,36 +2407,36 @@ button[data-v-33359776] {
2373
2407
  padding: 0 var(--ui-space-1);
2374
2408
  cursor: pointer;
2375
2409
  }
2376
- .affordance-icon[data-v-33359776] {
2410
+ .affordance-icon[data-v-7a56e205] {
2377
2411
  display: block;
2378
2412
  inline-size: var(--ui-icon-size-sm);
2379
2413
  block-size: var(--ui-icon-size-sm);
2380
2414
  }
2381
- button[data-v-33359776]:hover:enabled {
2415
+ button[data-v-7a56e205]:hover:enabled {
2382
2416
  background: var(--ui-surface-muted);
2383
2417
  color: var(--ui-text-primary);
2384
2418
  }
2385
- button[data-v-33359776]:focus-visible {
2419
+ button[data-v-7a56e205]:focus-visible {
2386
2420
  outline: none;
2387
2421
  background: var(--ui-surface-muted);
2388
2422
  box-shadow: inset 0 0 0 var(--ui-focus-width)
2389
2423
  color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
2390
2424
  }
2391
- input[data-v-33359776]:disabled, button[data-v-33359776]:disabled {
2425
+ input[data-v-7a56e205]:disabled, button[data-v-7a56e205]:disabled {
2392
2426
  color: var(--ui-disabled-text);
2393
2427
  cursor: not-allowed;
2394
2428
  }
2395
- .field[data-v-33359776]:has(input:disabled) {
2429
+ .field[data-v-7a56e205]:has(input:disabled) {
2396
2430
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
2397
2431
  }
2398
- [data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-33359776],
2399
- [data-component~="ui-combobox"][data-ui-combobox-state~="invalid"] .field[data-v-33359776] {
2432
+ [data-component~="ui-combobox"][data-ui-combobox-state~="validationStatus=error"] .field[data-v-7a56e205],
2433
+ [data-component~="ui-combobox"][data-ui-combobox-state~="invalid"] .field[data-v-7a56e205] {
2400
2434
  border-color: var(
2401
2435
  --_ui-combobox-invalid-border,
2402
2436
  var(--ui-field-danger, var(--ui-danger-solid, var(--ui-accent-active)))
2403
2437
  );
2404
2438
  }
2405
- .popup[data-v-33359776] {
2439
+ .popup[data-v-7a56e205] {
2406
2440
  box-sizing: border-box;
2407
2441
  min-inline-size: 12rem;
2408
2442
  max-inline-size: calc(100vw - 1rem);
@@ -2423,46 +2457,46 @@ input[data-v-33359776]:disabled, button[data-v-33359776]:disabled {
2423
2457
  var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
2424
2458
  );
2425
2459
  }
2426
- [hidden][data-v-33359776] {
2460
+ [hidden][data-v-7a56e205] {
2427
2461
  display: none;
2428
2462
  }
2429
- .option[aria-disabled="true"] .primary[data-v-33359776],
2430
- .option[aria-disabled="true"] .secondary[data-v-33359776] {
2463
+ .option[aria-disabled="true"] .primary[data-v-7a56e205],
2464
+ .option[aria-disabled="true"] .secondary[data-v-7a56e205] {
2431
2465
  color: var(--ui-disabled-text);
2432
2466
  }
2433
- .primary[data-v-33359776] {
2467
+ .primary[data-v-7a56e205] {
2434
2468
  display: block;
2435
2469
  color: var(--_ui-combobox-option-text, inherit);
2436
2470
  font-weight: 500;
2437
2471
  }
2438
2472
  /* A row with a tag or a description: the label and its tag on one line, the description under them. */
2439
- .detail[data-v-33359776] {
2473
+ .detail[data-v-7a56e205] {
2440
2474
  display: grid;
2441
2475
  gap: var(--ui-space-0-5);
2442
2476
  min-inline-size: 0;
2443
2477
  }
2444
- .line[data-v-33359776] {
2478
+ .line[data-v-7a56e205] {
2445
2479
  display: flex;
2446
2480
  flex-wrap: wrap;
2447
2481
  align-items: center;
2448
2482
  gap: var(--ui-space-2);
2449
2483
  }
2450
- .description[data-v-33359776] {
2484
+ .description[data-v-7a56e205] {
2451
2485
  color: var(--ui-text-muted);
2452
2486
  font-size: var(--ui-font-size-sm);
2453
2487
  line-height: var(--ui-line-height-md);
2454
2488
  }
2455
- .message[data-v-33359776], .group[data-v-33359776] {
2489
+ .message[data-v-7a56e205], .group[data-v-7a56e205] {
2456
2490
  color: var(--_ui-combobox-message-text, var(--ui-text-secondary));
2457
2491
  font-weight: 400;
2458
2492
  font-size: var(--ui-font-size-sm);
2459
2493
  line-height: var(--ui-line-height-md);
2460
2494
  overflow-wrap: anywhere;
2461
2495
  }
2462
- .group[data-v-33359776], .popup .message[data-v-33359776] {
2496
+ .group[data-v-7a56e205], .popup .message[data-v-7a56e205] {
2463
2497
  padding: var(--ui-space-2) var(--ui-space-3);
2464
2498
  }
2465
- .sr-only[data-v-33359776] {
2499
+ .sr-only[data-v-7a56e205] {
2466
2500
  position: absolute;
2467
2501
  inline-size: 1px;
2468
2502
  block-size: 1px;
@@ -2471,45 +2505,48 @@ input[data-v-33359776]:disabled, button[data-v-33359776]:disabled {
2471
2505
  white-space: nowrap;
2472
2506
  }
2473
2507
  @media (pointer: coarse) {
2474
- button[data-v-33359776] {
2508
+ [data-component~="ui-combobox"][data-v-7a56e205] {
2509
+ --_row: max(var(--ui-control-size-md), var(--ui-control-min-block-size));
2510
+ }
2511
+ button[data-v-7a56e205] {
2475
2512
  min-inline-size: 2.75rem;
2476
- min-block-size: 2.75rem;
2513
+ min-block-size: calc(var(--_row) - 2 * var(--ui-border-width));
2477
2514
  }
2478
2515
  /* Under touch a small field is still a touch-sized target, as a small button is, and keeps
2479
2516
  body-size text: below 16px, iOS zooms the page into the focused field. */
2480
- [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-33359776] {
2517
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"][data-v-7a56e205] {
2481
2518
  --_row: var(--ui-control-min-block-size);
2482
2519
  }
2483
- [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-33359776] {
2520
+ [data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"] input[data-v-7a56e205] {
2484
2521
  font-size: inherit;
2485
2522
  }
2486
2523
  }
2487
2524
  @media (forced-colors: active) {
2488
- .field[data-v-33359776], .popup[data-v-33359776] {
2525
+ .field[data-v-7a56e205], .popup[data-v-7a56e205] {
2489
2526
  border-color: CanvasText;
2490
2527
  }
2491
- .option.active[data-v-33359776] {
2528
+ .option.active[data-v-7a56e205] {
2492
2529
  outline-color: Highlight;
2493
2530
  }
2494
2531
  }
2495
2532
 
2496
2533
  /* Multiple mode keeps one control height. Chips and the input scroll within the entry,
2497
2534
  while the clear and disclosure controls remain fixed at the end of the field. */
2498
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-33359776] {
2535
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .field[data-v-7a56e205] {
2499
2536
  align-items: center;
2500
- min-block-size: var(--_ui-combobox-item-min-block-size, 2.5rem);
2537
+ min-block-size: var(--_ui-combobox-item-min-block-size, var(--_row));
2501
2538
  padding: var(--ui-space-1);
2502
2539
  }
2503
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-33359776] {
2540
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-7a56e205] {
2504
2541
  align-items: center;
2505
2542
  gap: var(--ui-space-1);
2506
2543
  overflow-x: auto;
2507
2544
  scrollbar-width: none;
2508
2545
  }
2509
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-33359776]::-webkit-scrollbar {
2546
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] .entry[data-v-7a56e205]::-webkit-scrollbar {
2510
2547
  display: none;
2511
2548
  }
2512
- [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-33359776] {
2549
+ [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"] input[data-v-7a56e205] {
2513
2550
  flex: 1 0 var(--_ui-combobox-item-input-min-inline-size, 5rem);
2514
2551
  width: auto;
2515
2552
  min-block-size: 1.75rem;
@@ -2517,27 +2554,27 @@ button[data-v-33359776] {
2517
2554
  }
2518
2555
  /* Size variants keep their control height as selections are added. */
2519
2556
  [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
2520
- .field[data-v-33359776] {
2557
+ .field[data-v-7a56e205] {
2521
2558
  min-block-size: 0;
2522
2559
  padding: var(--ui-space-0-5);
2523
2560
  }
2524
2561
  [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=sm"]
2525
- input[data-v-33359776] {
2562
+ input[data-v-7a56e205] {
2526
2563
  min-block-size: calc(var(--_row) - 2 * var(--ui-border-width) - 2 * var(--ui-space-0-5));
2527
2564
  padding: 0 var(--ui-space-1);
2528
2565
  }
2529
2566
  /* A large multiple field starts at the large control height, as sm starts at the small one. */
2530
2567
  [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
2531
- .field[data-v-33359776] {
2568
+ .field[data-v-7a56e205] {
2532
2569
  min-block-size: 0;
2533
2570
  }
2534
2571
  [data-component~="ui-combobox"][data-ui-combobox-state~="multiple"][data-component~="ui-combobox"][data-ui-combobox-state~="size=lg"]
2535
- input[data-v-33359776] {
2572
+ input[data-v-7a56e205] {
2536
2573
  min-block-size: calc(
2537
2574
  var(--ui-control-size-lg) - 2 * var(--ui-border-width) - 2 * var(--ui-space-1)
2538
2575
  );
2539
2576
  }
2540
- .item[data-v-33359776] {
2577
+ .item[data-v-7a56e205] {
2541
2578
  appearance: none;
2542
2579
  display: inline-flex;
2543
2580
  flex: none;
@@ -2552,16 +2589,16 @@ button[data-v-33359776] {
2552
2589
  font: inherit;
2553
2590
  cursor: default;
2554
2591
  }
2555
- .item[data-v-33359776]:focus-visible {
2592
+ .item[data-v-7a56e205]:focus-visible {
2556
2593
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
2557
2594
  outline-offset: var(--ui-border-width);
2558
2595
  }
2559
- .item[data-v-33359776]:disabled {
2596
+ .item[data-v-7a56e205]:disabled {
2560
2597
  color: var(--ui-disabled-text);
2561
2598
  }
2562
2599
 
2563
2600
  /* A component that sets its display still honours the hidden attribute on its root. */
2564
- [data-component~="ui-combobox"][hidden][data-v-33359776] {
2601
+ [data-component~="ui-combobox"][hidden][data-v-7a56e205] {
2565
2602
  display: none;
2566
2603
  }
2567
2604
 
@@ -5579,7 +5616,7 @@ svg[data-v-ea2a5496-s] {
5579
5616
  syntax: "*";
5580
5617
  inherits: false;
5581
5618
  }
5582
- [data-component~="ui-input"][data-v-1e464f91] {
5619
+ [data-component~="ui-input"][data-v-3c4d919b] {
5583
5620
  box-sizing: border-box;
5584
5621
  display: inline-block;
5585
5622
  inline-size: var(--ui-input-inline-size, 100%);
@@ -5610,7 +5647,7 @@ svg[data-v-ea2a5496-s] {
5610
5647
  );
5611
5648
  color: var(--ui-text-primary);
5612
5649
  font: inherit;
5613
- line-height: var(--ui-line-height-md);
5650
+ line-height: var(--ui-line-height-tight);
5614
5651
  box-shadow: var(--ui-input-shadow, var(--_ui-default-input-shadow, var(--ui-control-inset)));
5615
5652
  transition:
5616
5653
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
@@ -5619,7 +5656,7 @@ svg[data-v-ea2a5496-s] {
5619
5656
  }
5620
5657
 
5621
5658
  /* Each size reads the hook and then an Input Group's default first, so a group, which draws the frame, can zero it. */
5622
- [data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-1e464f91] {
5659
+ [data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-3c4d919b] {
5623
5660
  min-block-size: var(
5624
5661
  --ui-input-min-block-size,
5625
5662
  var(--_ui-default-input-min-block-size, var(--ui-control-size-sm))
@@ -5627,7 +5664,7 @@ svg[data-v-ea2a5496-s] {
5627
5664
  padding: var(--ui-space-1) var(--ui-space-2);
5628
5665
  font-size: var(--ui-font-size-sm);
5629
5666
  }
5630
- [data-component~="ui-input"][data-ui-input-state~="size=lg"][data-v-1e464f91] {
5667
+ [data-component~="ui-input"][data-ui-input-state~="size=lg"][data-v-3c4d919b] {
5631
5668
  min-block-size: var(
5632
5669
  --ui-input-min-block-size,
5633
5670
  var(--_ui-default-input-min-block-size, var(--ui-control-size-lg))
@@ -5639,12 +5676,21 @@ svg[data-v-ea2a5496-s] {
5639
5676
  /* Under touch a small field is still a touch-sized target, as a small button is, and keeps
5640
5677
  body-size text: below 16px, iOS zooms the page into the focused field. */
5641
5678
  @media (pointer: coarse) {
5642
- [data-component~="ui-input"][data-v-1e464f91],
5643
- [data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-1e464f91],
5644
- [data-component~="ui-input"][data-ui-input-state~="size=lg"][data-v-1e464f91] {
5679
+ [data-component~="ui-input"][data-v-3c4d919b] {
5680
+ min-block-size: var(
5681
+ --ui-input-min-block-size,
5682
+ var(
5683
+ --_ui-default-input-min-block-size,
5684
+ max(var(--ui-control-size-md), var(--ui-control-min-block-size))
5685
+ )
5686
+ );
5687
+ }
5688
+ [data-component~="ui-input"][data-v-3c4d919b],
5689
+ [data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-3c4d919b],
5690
+ [data-component~="ui-input"][data-ui-input-state~="size=lg"][data-v-3c4d919b] {
5645
5691
  font-size: var(--ui-font-size-md);
5646
5692
  }
5647
- [data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-1e464f91] {
5693
+ [data-component~="ui-input"][data-ui-input-state~="size=sm"][data-v-3c4d919b] {
5648
5694
  min-block-size: var(
5649
5695
  --ui-input-min-block-size,
5650
5696
  var(--_ui-default-input-min-block-size, var(--ui-control-min-block-size))
@@ -5653,21 +5699,21 @@ svg[data-v-ea2a5496-s] {
5653
5699
  }
5654
5700
 
5655
5701
  /* Tabbing into a field selects its text; tint that selection softly instead of the page highlight. */
5656
- [data-component~="ui-input"][data-v-1e464f91]::selection {
5702
+ [data-component~="ui-input"][data-v-3c4d919b]::selection {
5657
5703
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
5658
5704
  color: inherit;
5659
5705
  }
5660
- [data-component~="ui-input"][data-v-1e464f91]::placeholder {
5706
+ [data-component~="ui-input"][data-v-3c4d919b]::placeholder {
5661
5707
  color: var(--ui-control-placeholder, var(--ui-text-secondary));
5662
5708
  opacity: 1;
5663
5709
  }
5664
- [data-component~="ui-input"][data-v-1e464f91]:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
5710
+ [data-component~="ui-input"][data-v-3c4d919b]:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
5665
5711
  border-color: var(
5666
5712
  --ui-input-border-hover,
5667
5713
  var(--_ui-default-input-border-hover, var(--ui-control-border-hover, var(--ui-text-secondary)))
5668
5714
  );
5669
5715
  }
5670
- [data-component~="ui-input"][data-v-1e464f91]:focus-visible {
5716
+ [data-component~="ui-input"][data-v-3c4d919b]:focus-visible {
5671
5717
  border-color: var(
5672
5718
  --ui-input-focus-border,
5673
5719
  var(--_ui-default-input-focus-border, var(--ui-control-focus, var(--ui-accent-solid)))
@@ -5684,14 +5730,14 @@ svg[data-v-ea2a5496-s] {
5684
5730
  }
5685
5731
 
5686
5732
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
5687
- [data-component~="ui-input"][aria-invalid="true"][data-v-1e464f91],
5688
- [data-component~="ui-input"][data-v-1e464f91]:is(:user-invalid, [data-user-invalid]) {
5733
+ [data-component~="ui-input"][aria-invalid="true"][data-v-3c4d919b],
5734
+ [data-component~="ui-input"][data-v-3c4d919b]:is(:user-invalid, [data-user-invalid]) {
5689
5735
  border-color: var(
5690
5736
  --ui-input-invalid-border,
5691
5737
  var(--_ui-default-input-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)))
5692
5738
  );
5693
5739
  }
5694
- [data-component~="ui-input"][data-v-1e464f91]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
5740
+ [data-component~="ui-input"][data-v-3c4d919b]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
5695
5741
  box-shadow: var(
5696
5742
  --ui-input-invalid-focus-shadow,
5697
5743
  var(
@@ -5705,7 +5751,7 @@ svg[data-v-ea2a5496-s] {
5705
5751
  )
5706
5752
  );
5707
5753
  }
5708
- [data-component~="ui-input"][data-v-1e464f91]:disabled {
5754
+ [data-component~="ui-input"][data-v-3c4d919b]:disabled {
5709
5755
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
5710
5756
  color: var(--ui-disabled-text);
5711
5757
  box-shadow: none;
@@ -5714,7 +5760,7 @@ svg[data-v-ea2a5496-s] {
5714
5760
 
5715
5761
  /* Forced colors drop box shadows, so the focus ring becomes an outline. */
5716
5762
  @media (forced-colors: active) {
5717
- [data-component~="ui-input"][data-v-1e464f91]:focus-visible {
5763
+ [data-component~="ui-input"][data-v-3c4d919b]:focus-visible {
5718
5764
  outline: var(
5719
5765
  --ui-input-focus-outline,
5720
5766
  var(--_ui-default-input-focus-outline, var(--ui-focus-width) solid Highlight)
@@ -5727,7 +5773,7 @@ svg[data-v-ea2a5496-s] {
5727
5773
  * scroll vertically inside the field. Native inputs already center their single line. */
5728
5774
 
5729
5775
  /* A component that sets its display still honours the hidden attribute on its root. */
5730
- [data-component~="ui-input"][hidden][data-v-1e464f91] {
5776
+ [data-component~="ui-input"][hidden][data-v-3c4d919b] {
5731
5777
  display: none;
5732
5778
  }
5733
5779
 
@@ -5751,7 +5797,7 @@ svg[data-v-ea2a5496-s] {
5751
5797
  whole value is. The action slot takes one button at the end, inside the border, for the one
5752
5798
  thing the field is for ("Continue" after a site's address), so it reads as the field's action
5753
5799
  and not the form's. */
5754
- [data-component~="ui-input-group"][data-v-ac4d8095] {
5800
+ [data-component~="ui-input-group"][data-v-9e6e0392] {
5755
5801
  /* The group's own border and height stand for the input's, so the group is a lone Input's height.
5756
5802
  Hooks do not inherit, so these are defaults for the input; its own hooks still win. */
5757
5803
  --_ui-default-input-border-width: 0;
@@ -5796,43 +5842,46 @@ svg[data-v-ea2a5496-s] {
5796
5842
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
5797
5843
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
5798
5844
  }
5799
- [data-component~="ui-input-group"][data-ui-input-group-state~="variant=subtle"][data-v-ac4d8095] {
5845
+ [data-component~="ui-input-group"][data-ui-input-group-state~="variant=subtle"][data-v-9e6e0392] {
5800
5846
  border-color: var(--ui-border);
5801
5847
  background: var(--ui-surface-muted);
5802
5848
  box-shadow: none;
5803
5849
  }
5804
5850
 
5805
5851
  /* The frame takes its input's size, so a small group lines up with small buttons and fields. */
5806
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(.field [data-ui-input-state~="size=sm"]) {
5852
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(.field [data-ui-input-state~="size=sm"]) {
5807
5853
  min-block-size: var(--ui-control-size-sm);
5808
5854
  }
5809
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(.field [data-ui-input-state~="size=lg"]) {
5855
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(.field [data-ui-input-state~="size=lg"]) {
5810
5856
  min-block-size: var(--ui-control-size-lg);
5811
5857
  }
5812
5858
  @media (pointer: coarse) {
5813
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(.field [data-ui-input-state~="size=sm"]) {
5859
+ [data-component~="ui-input-group"][data-v-9e6e0392] {
5860
+ min-block-size: max(var(--ui-control-size-md), var(--ui-control-min-block-size));
5861
+ }
5862
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(.field [data-ui-input-state~="size=sm"]) {
5814
5863
  min-block-size: var(--ui-control-min-block-size);
5815
5864
  }
5816
5865
  }
5817
- [data-component~="ui-input-group"][data-v-ac4d8095]:hover:not(:has(:is(input, textarea):focus, :is(input, textarea):disabled, :is(input, textarea):read-only, [aria-invalid="true"], :is(:user-invalid, [data-user-invalid]))) {
5866
+ [data-component~="ui-input-group"][data-v-9e6e0392]:hover:not(:has(:is(input, textarea):focus, :is(input, textarea):disabled, :is(input, textarea):read-only, [aria-invalid="true"], :is(:user-invalid, [data-user-invalid]))) {
5818
5867
  border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
5819
5868
  }
5820
5869
 
5821
5870
  /* The ring shows when the field's input would show its own: when it is focus-visible, which a
5822
5871
  text input is for a pointer as well as a keyboard. A focused action button draws its own. */
5823
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(.field :is(input, textarea):focus-visible) {
5872
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(.field :is(input, textarea):focus-visible) {
5824
5873
  border-color: var(--ui-control-focus, var(--ui-accent-solid));
5825
5874
  box-shadow:
5826
5875
  var(--ui-control-inset),
5827
5876
  var(--ui-control-focus-halo-shadow);
5828
5877
  }
5829
- [data-component~="ui-input-group"][data-v-ac4d8095]:has([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])) {
5878
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])) {
5830
5879
  border-color: var(
5831
5880
  --ui-input-group-invalid-border,
5832
5881
  var(--ui-field-danger, var(--ui-danger-solid))
5833
5882
  );
5834
5883
  }
5835
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(:is(input, textarea):is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
5884
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(:is(input, textarea):is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
5836
5885
  box-shadow: var(
5837
5886
  --ui-input-group-invalid-focus-shadow,
5838
5887
  var(--ui-control-inset),
@@ -5846,23 +5895,23 @@ svg[data-v-ea2a5496-s] {
5846
5895
 
5847
5896
  /* Forced colors drop box shadows, so the focus ring becomes an outline. */
5848
5897
  @media (forced-colors: active) {
5849
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(:is(input, textarea):focus-visible) {
5898
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(:is(input, textarea):focus-visible) {
5850
5899
  outline: var(--ui-focus-width) solid Highlight;
5851
5900
  outline-offset: var(--ui-border-width);
5852
5901
  }
5853
5902
  }
5854
- [data-component~="ui-input-group"][data-ui-input-group-state~="disabled"][data-v-ac4d8095],
5855
- [data-component~="ui-input-group"][data-v-ac4d8095]:has(:is(input, textarea):disabled) {
5903
+ [data-component~="ui-input-group"][data-ui-input-group-state~="disabled"][data-v-9e6e0392],
5904
+ [data-component~="ui-input-group"][data-v-9e6e0392]:has(:is(input, textarea):disabled) {
5856
5905
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
5857
5906
  box-shadow: none;
5858
5907
  cursor: not-allowed;
5859
5908
  }
5860
- .field[data-v-ac4d8095] {
5909
+ .field[data-v-9e6e0392] {
5861
5910
  display: flex;
5862
5911
  flex: 1;
5863
5912
  min-inline-size: 0;
5864
5913
  }
5865
- .affix[data-v-ac4d8095] {
5914
+ .affix[data-v-9e6e0392] {
5866
5915
  display: inline-flex;
5867
5916
  flex: none;
5868
5917
  align-items: center;
@@ -5874,21 +5923,21 @@ svg[data-v-ea2a5496-s] {
5874
5923
  }
5875
5924
 
5876
5925
  /* Fixed text is part of the value, but should not look editable. */
5877
- .affix[data-v-ac4d8095]:has([slot="prefix"]),
5878
- .affix[data-v-ac4d8095]:has([slot="suffix"]) {
5926
+ .affix[data-v-9e6e0392]:has([slot="prefix"]),
5927
+ .affix[data-v-9e6e0392]:has([slot="suffix"]) {
5879
5928
  background: var(--ui-surface-muted);
5880
5929
  }
5881
- .affix[data-v-ac4d8095]:has([slot="prefix"]) {
5930
+ .affix[data-v-9e6e0392]:has([slot="prefix"]) {
5882
5931
  border-inline-end: var(--ui-border-width) solid var(--ui-border-divider);
5883
5932
  }
5884
- .affix[data-v-ac4d8095]:has([slot="suffix"]) {
5933
+ .affix[data-v-9e6e0392]:has([slot="suffix"]) {
5885
5934
  border-inline-start: var(--ui-border-width) solid var(--ui-border-divider);
5886
5935
  }
5887
- [data-component~="ui-input-group"][data-ui-input-group-state~="prefixKind=icon"][data-v-ac4d8095] {
5936
+ [data-component~="ui-input-group"][data-ui-input-group-state~="prefixKind=icon"][data-v-9e6e0392] {
5888
5937
  --_ui-default-input-padding-inline-start: var(--ui-space-2);
5889
5938
  }
5890
5939
  [data-component~="ui-input-group"][data-ui-input-group-state~="prefixKind=icon"]
5891
- .affix[data-v-ac4d8095]:first-child {
5940
+ .affix[data-v-9e6e0392]:first-child {
5892
5941
  padding-inline-end: 0;
5893
5942
  border-inline-end: 0;
5894
5943
  background: transparent;
@@ -5896,7 +5945,7 @@ svg[data-v-ea2a5496-s] {
5896
5945
 
5897
5946
  /* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
5898
5947
  small button sits inside it with the difference split evenly, and the field keeps its height. */
5899
- .action[data-v-ac4d8095] {
5948
+ .action[data-v-9e6e0392] {
5900
5949
  display: flex;
5901
5950
  flex: none;
5902
5951
  align-items: center;
@@ -5904,14 +5953,14 @@ svg[data-v-ea2a5496-s] {
5904
5953
  }
5905
5954
 
5906
5955
  /* Multiline text owns the first row; its action remains inside the same frame below it. */
5907
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-v-ac4d8095] {
5956
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-v-9e6e0392] {
5908
5957
  display: grid;
5909
5958
  grid-template-columns: auto minmax(0, 1fr) auto;
5910
5959
  }
5911
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .field[data-v-ac4d8095] {
5960
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .field[data-v-9e6e0392] {
5912
5961
  grid-column: 2;
5913
5962
  }
5914
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .action[data-v-ac4d8095] {
5963
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"] .action[data-v-9e6e0392] {
5915
5964
  grid-column: 1 / -1;
5916
5965
  justify-content: end;
5917
5966
  padding: var(--ui-space-2);
@@ -5920,30 +5969,30 @@ svg[data-v-ea2a5496-s] {
5920
5969
 
5921
5970
  /* The same textarea keeps its full resizeable box. Its text reserves the action's live width,
5922
5971
  so a translated label or pending indicator cannot cover what the person types. */
5923
- [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"][data-v-ac4d8095] {
5972
+ [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"][data-v-9e6e0392] {
5924
5973
  --_ui-default-textarea-padding-inline-end: calc(
5925
5974
  var(--_ui-input-group-action-inline-size, 7rem) + var(--ui-space-3)
5926
5975
  );
5927
5976
  }
5928
5977
  [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"]
5929
- .field[data-v-ac4d8095] {
5978
+ .field[data-v-9e6e0392] {
5930
5979
  grid-row: 1;
5931
5980
  }
5932
5981
  [data-component~="ui-input-group"][data-ui-input-group-state~="multiline"][data-ui-input-group-state~="actionPosition=top-end"]
5933
- .action[data-v-ac4d8095] {
5982
+ .action[data-v-9e6e0392] {
5934
5983
  grid-column: 2;
5935
5984
  grid-row: 1;
5936
5985
  align-self: start;
5937
5986
  justify-self: end;
5938
5987
  padding: var(--ui-space-2);
5939
5988
  }
5940
- .affix[data-v-ac4d8095]:empty,
5941
- .action[data-v-ac4d8095]:empty {
5989
+ .affix[data-v-9e6e0392]:empty,
5990
+ .action[data-v-9e6e0392]:empty {
5942
5991
  display: none;
5943
5992
  }
5944
5993
 
5945
5994
  /* A component that sets its display still honours the hidden attribute on its root. */
5946
- [data-component~="ui-input-group"][hidden][data-v-ac4d8095] {
5995
+ [data-component~="ui-input-group"][hidden][data-v-9e6e0392] {
5947
5996
  display: none;
5948
5997
  }
5949
5998
 
@@ -7806,7 +7855,7 @@ dialog[data-v-62b2f3da] {
7806
7855
  syntax: "*";
7807
7856
  inherits: false;
7808
7857
  }
7809
- [data-component~="ui-select"][data-v-0c317a58] {
7858
+ [data-component~="ui-select"][data-v-395cd822] {
7810
7859
  box-sizing: border-box;
7811
7860
  display: inline-block;
7812
7861
  inline-size: var(--ui-select-inline-size, 100%);
@@ -7821,8 +7870,8 @@ dialog[data-v-62b2f3da] {
7821
7870
  color: var(--ui-text-primary);
7822
7871
  color-scheme: light dark;
7823
7872
  font: inherit;
7824
- line-height: var(--ui-line-height-md);
7825
- box-shadow: var(--ui-select-shadow, var(--ui-control-inset));
7873
+ line-height: var(--ui-line-height-tight);
7874
+ box-shadow: var(--ui-select-shadow, var(--ui-shadow-sm));
7826
7875
  transition:
7827
7876
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
7828
7877
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
@@ -7831,7 +7880,7 @@ dialog[data-v-62b2f3da] {
7831
7880
 
7832
7881
  /* The select draws its own chevron: the native caret cannot be inset or sized consistently.
7833
7882
  * The root stays a native <s-lect>, so the icon is a background image rather than an element. */
7834
- [data-component~="ui-select"][data-v-0c317a58] {
7883
+ [data-component~="ui-select"][data-v-395cd822] {
7835
7884
  appearance: none;
7836
7885
  padding-inline-end: calc(var(--ui-space-3) + 1.5rem);
7837
7886
  background-image: var(
@@ -7842,31 +7891,31 @@ dialog[data-v-62b2f3da] {
7842
7891
  background-position: right var(--ui-space-3) center;
7843
7892
  background-size: 1.125rem 1.125rem;
7844
7893
  }
7845
- [data-component~="ui-select"][data-v-0c317a58]:hover:not(:focus):not(:disabled):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
7894
+ [data-component~="ui-select"][data-v-395cd822]:hover:not(:focus):not(:disabled):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
7846
7895
  border-color: var(
7847
7896
  --ui-select-border-hover,
7848
7897
  var(--ui-control-border-hover, var(--ui-text-secondary))
7849
7898
  );
7850
7899
  }
7851
- [data-component~="ui-select"][data-v-0c317a58]:focus-visible {
7900
+ [data-component~="ui-select"][data-v-395cd822]:focus-visible {
7852
7901
  border-color: var(--ui-select-focus-border, var(--ui-control-focus, var(--ui-accent-solid)));
7853
7902
  outline: none;
7854
7903
  box-shadow: var(
7855
7904
  --ui-select-focus-shadow,
7856
- var(--ui-control-inset),
7905
+ var(--ui-shadow-sm),
7857
7906
  var(--ui-control-focus-halo-shadow)
7858
7907
  );
7859
7908
  }
7860
7909
 
7861
7910
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
7862
- [data-component~="ui-select"][aria-invalid="true"][data-v-0c317a58],
7863
- [data-component~="ui-select"][data-v-0c317a58]:is(:user-invalid, [data-user-invalid]) {
7911
+ [data-component~="ui-select"][aria-invalid="true"][data-v-395cd822],
7912
+ [data-component~="ui-select"][data-v-395cd822]:is(:user-invalid, [data-user-invalid]) {
7864
7913
  border-color: var(--ui-select-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)));
7865
7914
  }
7866
- [data-component~="ui-select"][data-v-0c317a58]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
7915
+ [data-component~="ui-select"][data-v-395cd822]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
7867
7916
  box-shadow: var(
7868
7917
  --ui-select-invalid-focus-shadow,
7869
- var(--ui-control-inset),
7918
+ var(--ui-shadow-sm),
7870
7919
  0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(
7871
7920
  in srgb,
7872
7921
  var(--ui-select-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%,
@@ -7874,13 +7923,13 @@ dialog[data-v-62b2f3da] {
7874
7923
  )
7875
7924
  );
7876
7925
  }
7877
- [data-component~="ui-select"][data-v-0c317a58]:disabled {
7926
+ [data-component~="ui-select"][data-v-395cd822]:disabled {
7878
7927
  background-color: var(--ui-control-surface-disabled, var(--ui-surface-muted));
7879
7928
  color: var(--ui-disabled-text);
7880
7929
  box-shadow: none;
7881
7930
  cursor: not-allowed;
7882
7931
  }
7883
- [data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-0c317a58] {
7932
+ [data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-395cd822] {
7884
7933
  min-block-size: var(--ui-control-size-sm);
7885
7934
  padding: var(--ui-space-1) var(--ui-space-2);
7886
7935
  padding-inline-end: calc(var(--ui-space-2) + var(--ui-icon-size-sm) + var(--ui-space-1));
@@ -7888,7 +7937,7 @@ dialog[data-v-62b2f3da] {
7888
7937
  background-size: var(--ui-icon-size-sm) var(--ui-icon-size-sm);
7889
7938
  font-size: var(--ui-font-size-sm);
7890
7939
  }
7891
- [data-component~="ui-select"][data-ui-select-state~="size=lg"][data-v-0c317a58] {
7940
+ [data-component~="ui-select"][data-ui-select-state~="size=lg"][data-v-395cd822] {
7892
7941
  min-block-size: var(--ui-control-size-lg);
7893
7942
  padding: var(--ui-space-3) var(--ui-space-4);
7894
7943
  padding-inline-end: calc(var(--ui-space-4) + 1.5rem);
@@ -7899,14 +7948,17 @@ dialog[data-v-62b2f3da] {
7899
7948
  /* Under touch a small field is still a touch-sized target, as a small button is, and keeps
7900
7949
  body-size text: below 16px, iOS zooms the page into the focused field. */
7901
7950
  @media (pointer: coarse) {
7902
- [data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-0c317a58] {
7951
+ [data-component~="ui-select"][data-v-395cd822] {
7952
+ min-block-size: max(var(--ui-control-size-md), var(--ui-control-min-block-size));
7953
+ }
7954
+ [data-component~="ui-select"][data-ui-select-state~="size=sm"][data-v-395cd822] {
7903
7955
  min-block-size: var(--ui-control-min-block-size);
7904
7956
  font-size: inherit;
7905
7957
  }
7906
7958
  }
7907
7959
 
7908
7960
  /* A component that sets its display still honours the hidden attribute on its root. */
7909
- [data-component~="ui-select"][hidden][data-v-0c317a58] {
7961
+ [data-component~="ui-select"][hidden][data-v-395cd822] {
7910
7962
  display: none;
7911
7963
  }
7912
7964