rei-kit 2.21.0 → 2.22.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.
package/dist/styles.css CHANGED
@@ -25,7 +25,7 @@
25
25
  }
26
26
  }
27
27
 
28
- .rk-fab-slot[data-v-3bd0d80a] {
28
+ .rk-fab-slot[data-v-d4cdec97] {
29
29
  position: absolute;
30
30
  bottom: calc(6rem + env(safe-area-inset-bottom, 0px));
31
31
  left: 50%;
@@ -40,15 +40,15 @@
40
40
  must not swallow taps meant for the page underneath it. */
41
41
  pointer-events: none;
42
42
  }
43
- .rk-fab[data-v-3bd0d80a] {
43
+ .rk-fab[data-v-d4cdec97] {
44
44
  pointer-events: auto;
45
45
  display: flex;
46
46
  height: 3rem;
47
47
  align-items: center;
48
48
  gap: 0.375rem;
49
49
  border-radius: 9999px;
50
- padding-left: 1rem;
51
- padding-right: 1.25rem;
50
+ padding-inline-start: 1rem;
51
+ padding-inline-end: 1.25rem;
52
52
  color: var(--color-on-primary);
53
53
  background: var(--color-primary);
54
54
  transition: transform var(--duration-fast);
@@ -59,7 +59,7 @@
59
59
  0 0 0 4px var(--color-canvas),
60
60
  var(--shadow-raised);
61
61
  }
62
- .rk-fab[data-v-3bd0d80a]:active {
62
+ .rk-fab[data-v-d4cdec97]:active {
63
63
  transform: translate(var(--press-offset), var(--press-offset)) scale(var(--press-scale));
64
64
  }
65
65
 
@@ -67,27 +67,27 @@
67
67
  in the app it came from, which meant it inherited a focus ring for free; a
68
68
  bare <button> here would have dropped it, and a keyboard user would have had
69
69
  no way to see where they were. */
70
- .rk-fab[data-v-3bd0d80a]:focus-visible {
70
+ .rk-fab[data-v-d4cdec97]:focus-visible {
71
71
  outline: 2px solid var(--color-primary);
72
72
  outline-offset: 2px;
73
73
  }
74
- .rk-fab-icon[data-v-3bd0d80a] {
74
+ .rk-fab-icon[data-v-d4cdec97] {
75
75
  display: grid;
76
76
  place-items: center;
77
77
  flex-shrink: 0;
78
78
  }
79
- .rk-fab-icon[data-v-3bd0d80a] svg {
79
+ .rk-fab-icon[data-v-d4cdec97] svg {
80
80
  width: 1.25rem;
81
81
  height: 1.25rem;
82
82
  stroke-width: 2.5px;
83
83
  }
84
- .rk-fab-label[data-v-3bd0d80a] {
84
+ .rk-fab-label[data-v-d4cdec97] {
85
85
  font-size: 0.875rem;
86
86
  font-weight: 600;
87
87
  white-space: nowrap;
88
88
  }
89
89
  @media (prefers-reduced-motion: reduce) {
90
- .rk-fab[data-v-3bd0d80a] {
90
+ .rk-fab[data-v-d4cdec97] {
91
91
  transition: none;
92
92
  }
93
93
  }
@@ -137,7 +137,7 @@
137
137
  The colour is a custom property because it is the one thing each app wants
138
138
  different: set `--rk-lattice` on any ancestor. It defaults to the ink colour,
139
139
  which is legible against every theme the tokens can produce. */
140
- .rk-screen[data-v-211d6411] {
140
+ .rk-screen[data-v-ad677e07] {
141
141
  position: fixed;
142
142
  inset: 0;
143
143
  display: flex;
@@ -169,10 +169,10 @@
169
169
  ),
170
170
  var(--canvas-backdrop);
171
171
  }
172
- .rk-screen-aside[data-v-211d6411] {
172
+ .rk-screen-aside[data-v-ad677e07] {
173
173
  position: absolute;
174
174
  bottom: 1.5rem;
175
- left: 1.5rem;
175
+ inset-inline-start: 1.5rem;
176
176
  display: none;
177
177
  flex-direction: column;
178
178
  gap: 0.25rem;
@@ -180,14 +180,14 @@
180
180
  color: var(--color-ink-soft);
181
181
  }
182
182
  @media (min-width: 48rem) {
183
- .rk-screen-aside[data-v-211d6411] {
183
+ .rk-screen-aside[data-v-ad677e07] {
184
184
  display: flex;
185
185
  }
186
186
  }
187
187
 
188
188
  /* `shell-frame` from `rei-kit/shell/mobile.css` supplies the geometry — the
189
189
  430px column and the desktop height. This adds only the surface. */
190
- .rk-shell[data-v-211d6411] {
190
+ .rk-shell[data-v-ad677e07] {
191
191
  position: relative;
192
192
  margin: auto;
193
193
  display: flex;
@@ -198,7 +198,7 @@
198
198
  -webkit-backdrop-filter: var(--surface-backdrop);
199
199
  }
200
200
  @media (min-width: 48rem) {
201
- .rk-shell[data-v-211d6411] {
201
+ .rk-shell[data-v-ad677e07] {
202
202
  border: var(--surface-border-width) solid var(--surface-border-color);
203
203
  border-radius: var(--radius-shell);
204
204
  box-shadow: var(--shadow-overlay);
@@ -246,6 +246,75 @@
246
246
  }
247
247
  }
248
248
 
249
+ .rk-scroll[data-v-4c21cdc9] {
250
+ position: relative;
251
+ min-width: 0;
252
+ min-height: 0;
253
+ }
254
+ .rk-scroll-viewport[data-v-4c21cdc9] {
255
+ max-width: 100%;
256
+ max-height: 100%;
257
+ }
258
+ .rk-scroll-viewport.is-x[data-v-4c21cdc9] {
259
+ overflow-x: auto;
260
+ overflow-y: hidden;
261
+ }
262
+ .rk-scroll-viewport.is-y[data-v-4c21cdc9] {
263
+ overflow-x: hidden;
264
+ overflow-y: auto;
265
+ }
266
+ .rk-scroll-viewport.is-both[data-v-4c21cdc9] {
267
+ overflow: auto;
268
+ }
269
+ .rk-scroll-viewport[data-v-4c21cdc9]:focus-visible {
270
+ outline: 2px solid var(--color-primary);
271
+ outline-offset: 2px;
272
+ }
273
+
274
+ /* The fade paints over whatever the box sits on, so the colour is a hook:
275
+ a scroll area on a card sets it to the card's ground. */
276
+ .rk-scroll-fade[data-v-4c21cdc9] {
277
+ position: absolute;
278
+ z-index: 1;
279
+ pointer-events: none;
280
+ --rk-scroll-fade: var(--scroll-fade-color, var(--color-canvas));
281
+ }
282
+ .rk-scroll-fade.is-start-x[data-v-4c21cdc9],
283
+ .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
284
+ inset-block: 0;
285
+ width: 1.5rem;
286
+ }
287
+ .rk-scroll-fade.is-start-y[data-v-4c21cdc9],
288
+ .rk-scroll-fade.is-end-y[data-v-4c21cdc9] {
289
+ inset-inline: 0;
290
+ height: 1.5rem;
291
+ }
292
+ .rk-scroll-fade.is-start-x[data-v-4c21cdc9] {
293
+ inset-inline-start: 0;
294
+ background: linear-gradient(to right, var(--rk-scroll-fade), transparent);
295
+ }
296
+ .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
297
+ inset-inline-end: 0;
298
+ background: linear-gradient(to left, var(--rk-scroll-fade), transparent);
299
+ }
300
+ .rk-scroll-fade.is-start-y[data-v-4c21cdc9] {
301
+ inset-block-start: 0;
302
+ background: linear-gradient(to bottom, var(--rk-scroll-fade), transparent);
303
+ }
304
+ .rk-scroll-fade.is-end-y[data-v-4c21cdc9] {
305
+ inset-block-end: 0;
306
+ background: linear-gradient(to top, var(--rk-scroll-fade), transparent);
307
+ }
308
+
309
+ /* The insets are logical, so they land on the correct side on their own.
310
+ A gradient has no logical direction, so these two flip by hand. */
311
+ [dir='rtl'] .rk-scroll-fade.is-start-x[data-v-4c21cdc9] {
312
+ background: linear-gradient(to left, var(--rk-scroll-fade), transparent);
313
+ }
314
+ [dir='rtl'] .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
315
+ background: linear-gradient(to right, var(--rk-scroll-fade), transparent);
316
+ }
317
+
249
318
  .rk-listbox[data-v-7f8cd788] {
250
319
  overflow-y: auto;
251
320
  border-radius: var(--radius-card);
@@ -345,19 +414,19 @@
345
414
  height: 65%;
346
415
  }
347
416
 
348
- .rk-menu[data-v-ee62de72] {
417
+ .rk-menu[data-v-eaeecb75] {
349
418
  position: relative;
350
419
  display: inline-flex;
351
420
  }
352
- .rk-menu-trigger[data-v-ee62de72] {
421
+ .rk-menu-trigger[data-v-eaeecb75] {
353
422
  display: inline-flex;
354
423
  border-radius: var(--radius-cell);
355
424
  }
356
- .rk-menu-trigger[data-v-ee62de72]:focus-visible {
425
+ .rk-menu-trigger[data-v-eaeecb75]:focus-visible {
357
426
  outline: 2px solid var(--color-primary);
358
427
  outline-offset: 2px;
359
428
  }
360
- .rk-menu-panel[data-v-ee62de72] {
429
+ .rk-menu-panel[data-v-eaeecb75] {
361
430
  position: absolute;
362
431
  top: calc(100% + 0.5rem);
363
432
  z-index: 50;
@@ -366,51 +435,51 @@
366
435
  border-radius: var(--radius-card);
367
436
  padding: 0.375rem;
368
437
  }
369
- .rk-menu-panel.is-end[data-v-ee62de72] {
370
- right: 0;
438
+ .rk-menu-panel.is-end[data-v-eaeecb75] {
439
+ inset-inline-end: 0;
371
440
  }
372
- .rk-menu-panel.is-start[data-v-ee62de72] {
373
- left: 0;
441
+ .rk-menu-panel.is-start[data-v-eaeecb75] {
442
+ inset-inline-start: 0;
374
443
  }
375
444
 
376
445
  /* The items belong to the caller, so this styles them by role rather than by
377
446
  class: whatever they render, it lines up. */
378
- .rk-menu-panel[data-v-ee62de72] [role='menuitem'] {
447
+ .rk-menu-panel[data-v-eaeecb75] [role='menuitem'] {
379
448
  display: block;
380
449
  width: 100%;
381
450
  border-radius: var(--radius-cell);
382
451
  padding: 0.5rem 0.75rem;
383
- text-align: left;
452
+ text-align: start;
384
453
  font-size: 0.875rem;
385
454
  color: var(--color-ink);
386
455
  transition: background-color var(--duration-fast);
387
456
  }
388
- .rk-menu-panel[data-v-ee62de72] [role='menuitem']:hover {
457
+ .rk-menu-panel[data-v-eaeecb75] [role='menuitem']:hover {
389
458
  background: var(--color-muted);
390
459
  }
391
- .rk-menu-panel[data-v-ee62de72] [role='menuitem']:focus-visible {
460
+ .rk-menu-panel[data-v-eaeecb75] [role='menuitem']:focus-visible {
392
461
  outline: 2px solid var(--color-primary);
393
462
  outline-offset: -2px;
394
463
  }
395
- .rk-menu-panel[data-v-ee62de72] hr {
464
+ .rk-menu-panel[data-v-eaeecb75] hr {
396
465
  margin: 0.375rem 0;
397
466
  height: 1px;
398
467
  border: 0;
399
468
  background: color-mix(in srgb, var(--color-hair) 70%, transparent);
400
469
  }
401
470
 
402
- .rk-combo[data-v-006740dc] {
471
+ .rk-combo[data-v-0ae3b425] {
403
472
  position: relative;
404
473
  display: flex;
405
474
  flex-direction: column;
406
475
  gap: 0.375rem;
407
476
  }
408
- .rk-combo-label[data-v-006740dc] {
477
+ .rk-combo-label[data-v-0ae3b425] {
409
478
  font-size: 0.875rem;
410
479
  font-weight: 500;
411
480
  color: var(--color-ink);
412
481
  }
413
- .rk-combo-field[data-v-006740dc] {
482
+ .rk-combo-field[data-v-0ae3b425] {
414
483
  position: relative;
415
484
  display: flex;
416
485
  align-items: center;
@@ -418,14 +487,14 @@
418
487
 
419
488
  /* With chips the field is a box that wraps, and the input is one item in it
420
489
  that grows into whatever is left. */
421
- .rk-combo-field.is-multiple[data-v-006740dc] {
490
+ .rk-combo-field.is-multiple[data-v-0ae3b425] {
422
491
  flex-wrap: wrap;
423
492
  gap: 0.25rem;
424
493
  min-height: 2.75rem;
425
494
  border-radius: var(--radius-card);
426
495
  padding: 0.3125rem 2rem 0.3125rem 0.375rem;
427
496
  }
428
- .rk-combo-chip[data-v-006740dc] {
497
+ .rk-combo-chip[data-v-0ae3b425] {
429
498
  display: inline-flex;
430
499
  align-items: center;
431
500
  gap: 0.25rem;
@@ -435,7 +504,7 @@
435
504
  font-size: 0.8125rem;
436
505
  color: var(--color-ink);
437
506
  }
438
- .rk-combo-chip-x[data-v-006740dc] {
507
+ .rk-combo-chip-x[data-v-0ae3b425] {
439
508
  display: grid;
440
509
  width: 1.125rem;
441
510
  height: 1.125rem;
@@ -444,13 +513,13 @@
444
513
  color: var(--color-ink-soft);
445
514
  line-height: 1;
446
515
  }
447
- .rk-combo-chip-x[data-v-006740dc]:hover {
516
+ .rk-combo-chip-x[data-v-0ae3b425]:hover {
448
517
  color: var(--color-ink);
449
518
  }
450
519
 
451
520
  /* 16px, like every other text control here: iOS zooms the viewport when it
452
521
  focuses a field under 16px and never zooms back. */
453
- .rk-combo-input[data-v-006740dc] {
522
+ .rk-combo-input[data-v-0ae3b425] {
454
523
  width: 100%;
455
524
  height: 2.75rem;
456
525
  border-radius: var(--radius-card);
@@ -458,7 +527,7 @@
458
527
  font-size: 1rem;
459
528
  color: var(--color-ink);
460
529
  }
461
- .is-multiple .rk-combo-input[data-v-006740dc] {
530
+ .is-multiple .rk-combo-input[data-v-0ae3b425] {
462
531
  width: auto;
463
532
  height: 1.75rem;
464
533
  min-width: 6rem;
@@ -469,29 +538,29 @@
469
538
  background: transparent;
470
539
  box-shadow: none;
471
540
  }
472
- .rk-combo-input[data-v-006740dc]:focus-visible {
541
+ .rk-combo-input[data-v-0ae3b425]:focus-visible {
473
542
  outline: 2px solid var(--color-primary);
474
543
  outline-offset: -1px;
475
544
  }
476
- .is-multiple .rk-combo-input[data-v-006740dc]:focus-visible {
545
+ .is-multiple .rk-combo-input[data-v-0ae3b425]:focus-visible {
477
546
  outline: none;
478
547
  }
479
548
 
480
549
  /* The ring belongs to the whole box once the box is the control. */
481
- .rk-combo-field.is-multiple[data-v-006740dc]:focus-within {
550
+ .rk-combo-field.is-multiple[data-v-0ae3b425]:focus-within {
482
551
  outline: 2px solid var(--color-primary);
483
552
  outline-offset: -1px;
484
553
  }
485
- .rk-combo-input[data-v-006740dc]:disabled {
554
+ .rk-combo-input[data-v-0ae3b425]:disabled {
486
555
  opacity: 0.5;
487
556
  }
488
- .rk-combo-toggle[data-v-006740dc] {
557
+ .rk-combo-toggle[data-v-0ae3b425] {
489
558
  position: absolute;
490
- right: 0.5rem;
559
+ inset-inline-end: 0.5rem;
491
560
  color: var(--color-ink-soft);
492
561
  font-size: 0.75rem;
493
562
  }
494
- .rk-combo-list[data-v-006740dc] {
563
+ .rk-combo-list[data-v-0ae3b425] {
495
564
  position: absolute;
496
565
  top: calc(100% - 1.25rem);
497
566
  z-index: 50;
@@ -501,7 +570,7 @@
501
570
  border-radius: var(--radius-card);
502
571
  padding: 0.25rem;
503
572
  }
504
- .rk-combo-option[data-v-006740dc] {
573
+ .rk-combo-option[data-v-0ae3b425] {
505
574
  cursor: pointer;
506
575
  border-radius: var(--radius-cell);
507
576
  padding: 0.5rem 0.625rem;
@@ -511,38 +580,38 @@
511
580
 
512
581
  /* A virtual row's height is the arithmetic the spacers are built on, so it
513
582
  cannot be left to the text inside it. */
514
- .rk-combo-option[style][data-v-006740dc] {
583
+ .rk-combo-option[style][data-v-0ae3b425] {
515
584
  display: flex;
516
585
  align-items: center;
517
586
  padding-block: 0;
518
587
  }
519
- .rk-combo-option.is-highlighted[data-v-006740dc] {
588
+ .rk-combo-option.is-highlighted[data-v-0ae3b425] {
520
589
  background: var(--color-muted);
521
590
  }
522
- .rk-combo-option.is-selected[data-v-006740dc] {
591
+ .rk-combo-option.is-selected[data-v-0ae3b425] {
523
592
  font-weight: 600;
524
593
  }
525
- .rk-combo-empty[data-v-006740dc],
526
- .rk-combo-status[data-v-006740dc] {
594
+ .rk-combo-empty[data-v-0ae3b425],
595
+ .rk-combo-status[data-v-0ae3b425] {
527
596
  padding: 0.75rem 0.625rem;
528
597
  font-size: 0.875rem;
529
598
  color: var(--color-ink-soft);
530
599
  }
531
- .rk-combo-status[data-v-006740dc] {
600
+ .rk-combo-status[data-v-0ae3b425] {
532
601
  display: flex;
533
602
  flex-direction: column;
534
603
  gap: 0.5rem;
535
604
  }
536
- .rk-combo-status-rows[data-v-006740dc] {
605
+ .rk-combo-status-rows[data-v-0ae3b425] {
537
606
  display: flex;
538
607
  flex-direction: column;
539
608
  gap: 0.5rem;
540
609
  }
541
- .rk-combo-error[data-v-006740dc] {
610
+ .rk-combo-error[data-v-0ae3b425] {
542
611
  font-size: 0.75rem;
543
612
  color: var(--color-negative);
544
613
  }
545
- .rk-combo-hint[data-v-006740dc] {
614
+ .rk-combo-hint[data-v-0ae3b425] {
546
615
  font-size: 0.75rem;
547
616
  color: var(--color-ink-soft);
548
617
  }
@@ -743,7 +812,7 @@ to {
743
812
  }
744
813
  }
745
814
 
746
- .rk-switch[data-v-3f4400a0] {
815
+ .rk-switch[data-v-d90e1aa6] {
747
816
  position: relative;
748
817
  display: inline-flex;
749
818
  flex-shrink: 0;
@@ -754,20 +823,20 @@ to {
754
823
  background: var(--color-hair);
755
824
  transition: background-color var(--duration-base) ease;
756
825
  }
757
- .rk-switch.is-on[data-v-3f4400a0] {
826
+ .rk-switch.is-on[data-v-d90e1aa6] {
758
827
  background: var(--color-primary);
759
828
  }
760
- .rk-switch[data-v-3f4400a0]:focus-visible {
829
+ .rk-switch[data-v-d90e1aa6]:focus-visible {
761
830
  outline: 2px solid var(--color-primary);
762
831
  outline-offset: 2px;
763
832
  }
764
- .rk-switch[data-v-3f4400a0]:disabled {
833
+ .rk-switch[data-v-d90e1aa6]:disabled {
765
834
  opacity: 0.5;
766
835
  pointer-events: none;
767
836
  }
768
- .rk-switch-knob[data-v-3f4400a0] {
837
+ .rk-switch-knob[data-v-d90e1aa6] {
769
838
  position: absolute;
770
- left: 0.1875rem;
839
+ inset-inline-start: 0.1875rem;
771
840
  width: 1.25rem;
772
841
  height: 1.25rem;
773
842
  border-radius: 9999px;
@@ -777,38 +846,37 @@ to {
777
846
  box-shadow: var(--shadow-control);
778
847
  transition: transform var(--duration-base) var(--ease-sheet);
779
848
  }
780
- .rk-switch.is-on .rk-switch-knob[data-v-3f4400a0] {
849
+ .rk-switch.is-on .rk-switch-knob[data-v-d90e1aa6] {
781
850
  transform: translateX(1.125rem);
782
851
  }
852
+
853
+ /* `translateX` has no logical form, so the one direction-dependent value in
854
+ the kit that cannot be written logically is written twice. Without this
855
+ the knob leaves the track entirely in a right-to-left layout. */
856
+ [dir='rtl'] .rk-switch.is-on .rk-switch-knob[data-v-d90e1aa6] {
857
+ transform: translateX(-1.125rem);
858
+ }
783
859
  @media (prefers-reduced-motion: reduce) {
784
- .rk-switch[data-v-3f4400a0],
785
- .rk-switch-knob[data-v-3f4400a0] {
860
+ .rk-switch[data-v-d90e1aa6],
861
+ .rk-switch-knob[data-v-d90e1aa6] {
786
862
  transition: none;
787
863
  }
788
864
  }
789
865
 
790
- .rk-table-scroll[data-v-ab10e9fa] {
791
- overflow-x: auto;
792
- }
793
- .rk-table-scroll[data-v-ab10e9fa]:focus-visible {
794
- outline: 2px solid var(--color-primary);
795
- outline-offset: 2px;
796
- border-radius: var(--radius-cell);
797
- }
798
- .rk-table[data-v-ab10e9fa] {
866
+ .rk-table[data-v-cc1197ef] {
799
867
  width: 100%;
800
868
  border-collapse: collapse;
801
869
  font-size: 0.875rem;
802
870
  }
803
- .rk-table-caption[data-v-ab10e9fa] {
871
+ .rk-table-caption[data-v-cc1197ef] {
804
872
  padding-bottom: 0.75rem;
805
- text-align: left;
873
+ text-align: start;
806
874
  font-size: 0.8125rem;
807
875
  color: var(--color-ink-soft);
808
876
  }
809
877
 
810
878
  /* Off screen rather than `display: none`, which is not announced at all. */
811
- .rk-table-caption-hidden[data-v-ab10e9fa] {
879
+ .rk-table-caption-hidden[data-v-cc1197ef] {
812
880
  position: absolute;
813
881
  width: 1px;
814
882
  height: 1px;
@@ -816,21 +884,21 @@ to {
816
884
  clip-path: inset(50%);
817
885
  white-space: nowrap;
818
886
  }
819
- .rk-table th[data-v-ab10e9fa] {
887
+ .rk-table th[data-v-cc1197ef] {
820
888
  border-bottom: 1px solid var(--color-hair);
821
889
  padding: 0.625rem 0.75rem;
822
- text-align: left;
890
+ text-align: start;
823
891
  font-weight: 500;
824
892
  color: var(--color-ink-soft);
825
893
  white-space: nowrap;
826
894
  }
827
- .rk-table td[data-v-ab10e9fa] {
895
+ .rk-table td[data-v-cc1197ef] {
828
896
  border-bottom: 1px solid color-mix(in srgb, var(--color-hair) 50%, transparent);
829
897
  padding: 0.75rem;
830
898
  color: var(--color-ink);
831
899
  vertical-align: top;
832
900
  }
833
- .rk-table tbody tr:last-child td[data-v-ab10e9fa] {
901
+ .rk-table tbody tr:last-child td[data-v-cc1197ef] {
834
902
  border-bottom: 0;
835
903
  }
836
904
 
@@ -838,23 +906,23 @@ to {
838
906
  Both the heading and the cells, and named against `.rk-table th` rather
839
907
  than on its own: a bare `.is-end` loses to it, and the column then reads as
840
908
  two columns — a heading on the left and its numbers far off to the right. */
841
- .rk-table th.is-end[data-v-ab10e9fa],
842
- .rk-table td.is-end[data-v-ab10e9fa] {
843
- text-align: right;
909
+ .rk-table th.is-end[data-v-cc1197ef],
910
+ .rk-table td.is-end[data-v-cc1197ef] {
911
+ text-align: end;
844
912
  font-variant-numeric: tabular-nums;
845
913
  }
846
- .rk-table th.is-center[data-v-ab10e9fa],
847
- .rk-table td.is-center[data-v-ab10e9fa] {
914
+ .rk-table th.is-center[data-v-cc1197ef],
915
+ .rk-table td.is-center[data-v-cc1197ef] {
848
916
  text-align: center;
849
917
  }
850
- .rk-table th.is-start[data-v-ab10e9fa],
851
- .rk-table td.is-start[data-v-ab10e9fa] {
852
- text-align: left;
918
+ .rk-table th.is-start[data-v-cc1197ef],
919
+ .rk-table td.is-start[data-v-cc1197ef] {
920
+ text-align: start;
853
921
  }
854
- .is-nowrap[data-v-ab10e9fa] {
922
+ .is-nowrap[data-v-cc1197ef] {
855
923
  white-space: nowrap;
856
924
  }
857
- .rk-table-empty[data-v-ab10e9fa] {
925
+ .rk-table-empty[data-v-cc1197ef] {
858
926
  padding: 2rem 0.75rem;
859
927
  text-align: center;
860
928
  color: var(--color-ink-soft);
@@ -1111,107 +1179,85 @@ to {
1111
1179
  outline-offset: 1px;
1112
1180
  }
1113
1181
 
1114
- .rk-scroll[data-v-4c21cdc9] {
1115
- position: relative;
1116
- min-width: 0;
1117
- min-height: 0;
1118
- }
1119
- .rk-scroll-viewport[data-v-4c21cdc9] {
1120
- max-width: 100%;
1121
- max-height: 100%;
1122
- }
1123
- .rk-scroll-viewport.is-x[data-v-4c21cdc9] {
1124
- overflow-x: auto;
1125
- overflow-y: hidden;
1126
- }
1127
- .rk-scroll-viewport.is-y[data-v-4c21cdc9] {
1128
- overflow-x: hidden;
1129
- overflow-y: auto;
1130
- }
1131
- .rk-scroll-viewport.is-both[data-v-4c21cdc9] {
1132
- overflow: auto;
1182
+ .rk-vlist-rows[data-v-936ed40c] {
1183
+ margin: 0;
1184
+ padding: 0;
1185
+ list-style: none;
1133
1186
  }
1134
- .rk-scroll-viewport[data-v-4c21cdc9]:focus-visible {
1135
- outline: 2px solid var(--color-primary);
1136
- outline-offset: 2px;
1187
+ .rk-vlist-row[data-v-936ed40c] {
1188
+ box-sizing: border-box;
1189
+ overflow: hidden;
1137
1190
  }
1138
1191
 
1139
- /* The fade paints over whatever the box sits on, so the colour is a hook:
1140
- a scroll area on a card sets it to the card's ground. */
1141
- .rk-scroll-fade[data-v-4c21cdc9] {
1192
+ /* Clipped rather than `display: none`: a hidden live region is not read at
1193
+ all, which is the quietest possible way for this to fail. */
1194
+ .rk-announcer[data-v-205d6703] {
1142
1195
  position: absolute;
1143
- z-index: 1;
1144
- pointer-events: none;
1145
- --rk-scroll-fade: var(--scroll-fade-color, var(--color-canvas));
1146
- }
1147
- .rk-scroll-fade.is-start-x[data-v-4c21cdc9],
1148
- .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
1149
- inset-block: 0;
1150
- width: 1.5rem;
1151
- }
1152
- .rk-scroll-fade.is-start-y[data-v-4c21cdc9],
1153
- .rk-scroll-fade.is-end-y[data-v-4c21cdc9] {
1154
- inset-inline: 0;
1155
- height: 1.5rem;
1196
+ overflow: hidden;
1197
+ width: 1px;
1198
+ height: 1px;
1199
+ margin: -1px;
1200
+ padding: 0;
1201
+ border: 0;
1202
+ clip-path: inset(50%);
1203
+ white-space: nowrap;
1156
1204
  }
1157
- .rk-scroll-fade.is-start-x[data-v-4c21cdc9] {
1158
- inset-inline-start: 0;
1159
- background: linear-gradient(to right, var(--rk-scroll-fade), transparent);
1205
+
1206
+ .rk-errsum[data-v-4a68e342] {
1207
+ border: 2px solid var(--color-negative);
1208
+ border-radius: var(--radius-card);
1209
+ padding: 0.875rem 1rem;
1160
1210
  }
1161
- .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
1162
- inset-inline-end: 0;
1163
- background: linear-gradient(to left, var(--rk-scroll-fade), transparent);
1211
+ .rk-errsum[data-v-4a68e342]:focus-visible {
1212
+ outline: 2px solid var(--color-primary);
1213
+ outline-offset: 2px;
1164
1214
  }
1165
- .rk-scroll-fade.is-start-y[data-v-4c21cdc9] {
1166
- inset-block-start: 0;
1167
- background: linear-gradient(to bottom, var(--rk-scroll-fade), transparent);
1215
+ .rk-errsum-title[data-v-4a68e342] {
1216
+ margin: 0;
1217
+ color: var(--color-negative);
1218
+ font-size: 0.875rem;
1219
+ font-weight: 600;
1168
1220
  }
1169
- .rk-scroll-fade.is-end-y[data-v-4c21cdc9] {
1170
- inset-block-end: 0;
1171
- background: linear-gradient(to top, var(--rk-scroll-fade), transparent);
1221
+ .rk-errsum-list[data-v-4a68e342] {
1222
+ margin: 0.5rem 0 0;
1223
+ padding-inline-start: 1.125rem;
1224
+ color: var(--color-negative);
1225
+ font-size: 0.8125rem;
1172
1226
  }
1173
-
1174
- /* The insets are logical, so they land on the correct side on their own.
1175
- A gradient has no logical direction, so these two flip by hand. */
1176
- [dir='rtl'] .rk-scroll-fade.is-start-x[data-v-4c21cdc9] {
1177
- background: linear-gradient(to left, var(--rk-scroll-fade), transparent);
1227
+ .rk-errsum-list li + li[data-v-4a68e342] {
1228
+ margin-block-start: 0.25rem;
1178
1229
  }
1179
- [dir='rtl'] .rk-scroll-fade.is-end-x[data-v-4c21cdc9] {
1180
- background: linear-gradient(to right, var(--rk-scroll-fade), transparent);
1181
- }
1182
-
1183
- .rk-vlist-rows[data-v-936ed40c] {
1184
- margin: 0;
1185
- padding: 0;
1186
- list-style: none;
1230
+ .rk-errsum-link[data-v-4a68e342] {
1231
+ color: inherit;
1232
+ text-decoration: underline;
1187
1233
  }
1188
- .rk-vlist-row[data-v-936ed40c] {
1189
- box-sizing: border-box;
1190
- overflow: hidden;
1234
+ .rk-errsum-link[data-v-4a68e342]:focus-visible {
1235
+ outline: 2px solid var(--color-primary);
1236
+ outline-offset: 2px;
1191
1237
  }
1192
1238
 
1193
- .rk-stack[data-v-db629481] {
1239
+ .rk-stack[data-v-1f87913c] {
1194
1240
  display: inline-flex;
1195
1241
  align-items: center;
1196
1242
  }
1197
1243
 
1198
1244
  /* Overlapped by a third, with a ring in the page's own colour so each face
1199
1245
  keeps an edge against the one under it — on any material. */
1200
- .rk-stack-item + .rk-stack-item[data-v-db629481] {
1201
- margin-left: -0.5rem;
1246
+ .rk-stack-item + .rk-stack-item[data-v-1f87913c] {
1247
+ margin-inline-start: -0.5rem;
1202
1248
  }
1203
- .rk-stack.is-sm .rk-stack-item + .rk-stack-item[data-v-db629481] {
1204
- margin-left: -0.5rem;
1249
+ .rk-stack.is-sm .rk-stack-item + .rk-stack-item[data-v-1f87913c] {
1250
+ margin-inline-start: -0.5rem;
1205
1251
  }
1206
- .rk-stack.is-lg .rk-stack-item + .rk-stack-item[data-v-db629481] {
1207
- margin-left: -0.875rem;
1252
+ .rk-stack.is-lg .rk-stack-item + .rk-stack-item[data-v-1f87913c] {
1253
+ margin-inline-start: -0.875rem;
1208
1254
  }
1209
- .rk-stack-item[data-v-db629481] {
1255
+ .rk-stack-item[data-v-1f87913c] {
1210
1256
  display: inline-flex;
1211
1257
  border-radius: 9999px;
1212
1258
  box-shadow: 0 0 0 2px var(--color-surface);
1213
1259
  }
1214
- .rk-stack-rest[data-v-db629481] {
1260
+ .rk-stack-rest[data-v-1f87913c] {
1215
1261
  display: inline-grid;
1216
1262
  width: 2.25rem;
1217
1263
  height: 2.25rem;
@@ -1222,12 +1268,12 @@ to {
1222
1268
  color: var(--color-ink-soft);
1223
1269
  font-variant-numeric: tabular-nums;
1224
1270
  }
1225
- .rk-stack.is-sm .rk-stack-rest[data-v-db629481] {
1271
+ .rk-stack.is-sm .rk-stack-rest[data-v-1f87913c] {
1226
1272
  width: 1.75rem;
1227
1273
  height: 1.75rem;
1228
1274
  font-size: 0.6875rem;
1229
1275
  }
1230
- .rk-stack.is-lg .rk-stack-rest[data-v-db629481] {
1276
+ .rk-stack.is-lg .rk-stack-rest[data-v-1f87913c] {
1231
1277
  width: 3rem;
1232
1278
  height: 3rem;
1233
1279
  font-size: 0.8125rem;
@@ -1777,7 +1823,7 @@ to {
1777
1823
  color: var(--color-ink);
1778
1824
  }
1779
1825
 
1780
- .rk-drop-box[data-v-a42eab69] {
1826
+ .rk-drop-box[data-v-6e903baf] {
1781
1827
  display: flex;
1782
1828
  cursor: pointer;
1783
1829
  flex-direction: column;
@@ -1794,28 +1840,28 @@ to {
1794
1840
  }
1795
1841
 
1796
1842
  /* The box is a label, so the ring belongs to the input it names. */
1797
- .rk-drop-box[data-v-a42eab69]:has(input:focus-visible) {
1843
+ .rk-drop-box[data-v-6e903baf]:has(input:focus-visible) {
1798
1844
  outline: 2px solid var(--color-primary);
1799
1845
  outline-offset: 2px;
1800
1846
  }
1801
- .rk-drop-box.is-over[data-v-a42eab69] {
1847
+ .rk-drop-box.is-over[data-v-6e903baf] {
1802
1848
  border-color: var(--color-primary);
1803
1849
  background: color-mix(in oklab, var(--color-primary) 8%, transparent);
1804
1850
  }
1805
- .rk-drop-box.is-disabled[data-v-a42eab69] {
1851
+ .rk-drop-box.is-disabled[data-v-6e903baf] {
1806
1852
  cursor: not-allowed;
1807
1853
  opacity: 0.5;
1808
1854
  }
1809
- .rk-drop-label[data-v-a42eab69] {
1855
+ .rk-drop-label[data-v-6e903baf] {
1810
1856
  font-size: 0.875rem;
1811
1857
  font-weight: 500;
1812
1858
  color: var(--color-ink);
1813
1859
  }
1814
- .rk-drop-hint[data-v-a42eab69] {
1860
+ .rk-drop-hint[data-v-6e903baf] {
1815
1861
  font-size: 0.75rem;
1816
1862
  color: var(--color-ink-soft);
1817
1863
  }
1818
- .rk-drop-browse[data-v-a42eab69] {
1864
+ .rk-drop-browse[data-v-6e903baf] {
1819
1865
  margin-top: 0.25rem;
1820
1866
  border-radius: 9999px;
1821
1867
  background: var(--color-muted);
@@ -1824,18 +1870,18 @@ to {
1824
1870
  font-weight: 500;
1825
1871
  color: var(--color-ink);
1826
1872
  }
1827
- .rk-drop-error[data-v-a42eab69] {
1873
+ .rk-drop-error[data-v-6e903baf] {
1828
1874
  margin-top: 0.5rem;
1829
1875
  font-size: 0.8125rem;
1830
1876
  color: var(--color-negative);
1831
1877
  }
1832
- .rk-drop-files[data-v-a42eab69] {
1878
+ .rk-drop-files[data-v-6e903baf] {
1833
1879
  margin-top: 0.75rem;
1834
1880
  display: flex;
1835
1881
  flex-direction: column;
1836
1882
  gap: 0.375rem;
1837
1883
  }
1838
- .rk-drop-file[data-v-a42eab69] {
1884
+ .rk-drop-file[data-v-6e903baf] {
1839
1885
  display: flex;
1840
1886
  align-items: center;
1841
1887
  gap: 0.5rem;
@@ -1844,14 +1890,14 @@ to {
1844
1890
  font-size: 0.8125rem;
1845
1891
  color: var(--color-ink);
1846
1892
  }
1847
- .rk-drop-size[data-v-a42eab69] {
1848
- margin-left: auto;
1893
+ .rk-drop-size[data-v-6e903baf] {
1894
+ margin-inline-start: auto;
1849
1895
  flex-shrink: 0;
1850
1896
  font-size: 0.75rem;
1851
1897
  font-variant-numeric: tabular-nums;
1852
1898
  color: var(--color-ink-soft);
1853
1899
  }
1854
- .rk-drop-remove[data-v-a42eab69] {
1900
+ .rk-drop-remove[data-v-6e903baf] {
1855
1901
  display: grid;
1856
1902
  width: 1.5rem;
1857
1903
  height: 1.5rem;
@@ -1860,7 +1906,7 @@ to {
1860
1906
  border-radius: 9999px;
1861
1907
  color: var(--color-ink-soft);
1862
1908
  }
1863
- .rk-drop-remove[data-v-a42eab69]:hover {
1909
+ .rk-drop-remove[data-v-6e903baf]:hover {
1864
1910
  background: var(--color-muted);
1865
1911
  color: var(--color-ink);
1866
1912
  }
@@ -1900,11 +1946,11 @@ to {
1900
1946
  outline: none;
1901
1947
  }
1902
1948
 
1903
- .rk-popover[data-v-1371bff2] {
1949
+ .rk-popover[data-v-22d8f397] {
1904
1950
  position: relative;
1905
1951
  display: inline-flex;
1906
1952
  }
1907
- .rk-popover-panel[data-v-1371bff2] {
1953
+ .rk-popover-panel[data-v-22d8f397] {
1908
1954
  position: absolute;
1909
1955
  z-index: 50;
1910
1956
  min-width: 14rem;
@@ -1913,46 +1959,46 @@ to {
1913
1959
  padding: 0.75rem;
1914
1960
  translate: var(--rk-popover-shift, 0) 0;
1915
1961
  }
1916
- .rk-popover-panel[data-v-1371bff2]:focus-visible {
1962
+ .rk-popover-panel[data-v-22d8f397]:focus-visible {
1917
1963
  outline: 2px solid var(--color-primary);
1918
1964
  outline-offset: 2px;
1919
1965
  }
1920
- .rk-popover-panel.is-bottom[data-v-1371bff2] {
1966
+ .rk-popover-panel.is-bottom[data-v-22d8f397] {
1921
1967
  top: calc(100% + 0.5rem);
1922
1968
  }
1923
- .rk-popover-panel.is-top[data-v-1371bff2] {
1969
+ .rk-popover-panel.is-top[data-v-22d8f397] {
1924
1970
  bottom: calc(100% + 0.5rem);
1925
1971
  }
1926
- .rk-popover-panel.is-start[data-v-1371bff2] {
1927
- left: 0;
1972
+ .rk-popover-panel.is-start[data-v-22d8f397] {
1973
+ inset-inline-start: 0;
1928
1974
  }
1929
- .rk-popover-panel.is-end[data-v-1371bff2] {
1930
- right: 0;
1975
+ .rk-popover-panel.is-end[data-v-22d8f397] {
1976
+ inset-inline-end: 0;
1931
1977
  }
1932
- .rk-popover-panel.is-center[data-v-1371bff2] {
1978
+ .rk-popover-panel.is-center[data-v-22d8f397] {
1933
1979
  left: 50%;
1934
1980
  translate: calc(-50% + var(--rk-popover-shift, 0px)) 0;
1935
1981
  }
1936
- .rk-popover-enter-active[data-v-1371bff2],
1937
- .rk-popover-leave-active[data-v-1371bff2] {
1982
+ .rk-popover-enter-active[data-v-22d8f397],
1983
+ .rk-popover-leave-active[data-v-22d8f397] {
1938
1984
  transition:
1939
1985
  opacity var(--duration-fast) var(--ease-standard),
1940
1986
  transform var(--duration-fast) var(--ease-standard);
1941
1987
  }
1942
- .rk-popover-enter-from[data-v-1371bff2],
1943
- .rk-popover-leave-to[data-v-1371bff2] {
1988
+ .rk-popover-enter-from[data-v-22d8f397],
1989
+ .rk-popover-leave-to[data-v-22d8f397] {
1944
1990
  opacity: 0;
1945
1991
  transform: translateY(-4px) scale(0.98);
1946
1992
  }
1947
- .rk-popover-panel.is-top.rk-popover-enter-from[data-v-1371bff2],
1948
- .rk-popover-panel.is-top.rk-popover-leave-to[data-v-1371bff2] {
1993
+ .rk-popover-panel.is-top.rk-popover-enter-from[data-v-22d8f397],
1994
+ .rk-popover-panel.is-top.rk-popover-leave-to[data-v-22d8f397] {
1949
1995
  transform: translateY(4px) scale(0.98);
1950
1996
  }
1951
1997
 
1952
- .rk-time[data-v-0037adb2] {
1998
+ .rk-time[data-v-ad58b4f3] {
1953
1999
  display: block;
1954
2000
  }
1955
- .rk-time-field[data-v-0037adb2] {
2001
+ .rk-time-field[data-v-ad58b4f3] {
1956
2002
  display: flex;
1957
2003
  width: 100%;
1958
2004
  height: 2.75rem;
@@ -1960,59 +2006,59 @@ to {
1960
2006
  gap: 0.5rem;
1961
2007
  border-radius: var(--radius-card);
1962
2008
  padding: 0 0.75rem;
1963
- text-align: left;
2009
+ text-align: start;
1964
2010
  font-size: 1rem;
1965
2011
  font-variant-numeric: tabular-nums;
1966
2012
  color: var(--color-ink);
1967
2013
  }
1968
- .rk-time-field.is-empty[data-v-0037adb2] {
2014
+ .rk-time-field.is-empty[data-v-ad58b4f3] {
1969
2015
  color: var(--color-ink-soft);
1970
2016
  }
1971
- .rk-time-field.is-invalid[data-v-0037adb2] {
2017
+ .rk-time-field.is-invalid[data-v-ad58b4f3] {
1972
2018
  --surface-border-color: var(--color-negative);
1973
2019
  }
1974
- .rk-time-field[data-v-0037adb2]:disabled {
2020
+ .rk-time-field[data-v-ad58b4f3]:disabled {
1975
2021
  opacity: 0.5;
1976
2022
  }
1977
- .rk-time-columns[data-v-0037adb2] {
2023
+ .rk-time-columns[data-v-ad58b4f3] {
1978
2024
  display: grid;
1979
2025
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
1980
2026
  gap: 0.5rem;
1981
2027
  width: 14rem;
1982
2028
  }
1983
2029
 
1984
- .rk-timeline[data-v-08b15ce8] {
2030
+ .rk-timeline[data-v-8a452f82] {
1985
2031
  position: relative;
1986
2032
  display: flex;
1987
2033
  flex-direction: column;
1988
2034
  gap: 1rem;
1989
- padding-left: 1.5rem;
2035
+ padding-inline-start: 1.5rem;
1990
2036
  }
1991
2037
 
1992
2038
  /* Stops short of both ends: a line running past the first and last dots
1993
2039
  reads as a sequence that continues out of view. */
1994
- .rk-timeline-rail[data-v-08b15ce8] {
2040
+ .rk-timeline-rail[data-v-8a452f82] {
1995
2041
  position: absolute;
1996
2042
  top: 0.5rem;
1997
2043
  bottom: 0.75rem;
1998
- left: 0.25rem;
2044
+ inset-inline-start: 0.25rem;
1999
2045
  width: 1px;
2000
2046
  background: var(--color-hair);
2001
2047
  }
2002
- .rk-timeline-event[data-v-08b15ce8] {
2048
+ .rk-timeline-event[data-v-8a452f82] {
2003
2049
  position: relative;
2004
2050
  }
2005
- .rk-timeline-marker[data-v-08b15ce8] {
2051
+ .rk-timeline-marker[data-v-8a452f82] {
2006
2052
  position: absolute;
2007
2053
  top: 0.125rem;
2008
- left: -1.5rem;
2054
+ inset-inline-start: -1.5rem;
2009
2055
  display: grid;
2010
2056
  place-items: center;
2011
2057
  }
2012
2058
 
2013
2059
  /* The ring is the page's own ground, so the dot sits on the rail rather
2014
2060
  than being crossed by it. */
2015
- .rk-timeline-dot[data-v-08b15ce8] {
2061
+ .rk-timeline-dot[data-v-8a452f82] {
2016
2062
  display: grid;
2017
2063
  width: 0.625rem;
2018
2064
  height: 0.625rem;
@@ -2021,46 +2067,46 @@ to {
2021
2067
  border: 2px solid var(--color-canvas);
2022
2068
  color: var(--color-on-primary);
2023
2069
  }
2024
- .rk-timeline-time[data-v-08b15ce8] {
2070
+ .rk-timeline-time[data-v-8a452f82] {
2025
2071
  font-size: 0.75rem;
2026
2072
  font-weight: 500;
2027
2073
  font-variant-numeric: tabular-nums;
2028
2074
  color: var(--color-ink-soft);
2029
2075
  }
2030
- .rk-timeline-title[data-v-08b15ce8] {
2076
+ .rk-timeline-title[data-v-8a452f82] {
2031
2077
  margin-top: 0.125rem;
2032
2078
  font-size: 0.875rem;
2033
2079
  font-weight: 600;
2034
2080
  color: var(--color-ink);
2035
2081
  }
2036
- .rk-timeline-description[data-v-08b15ce8] {
2082
+ .rk-timeline-description[data-v-8a452f82] {
2037
2083
  margin-top: 0.125rem;
2038
2084
  font-size: 0.875rem;
2039
2085
  line-height: 1.5;
2040
2086
  color: var(--color-ink-soft);
2041
2087
  }
2042
- .rk-timeline-body[data-v-08b15ce8] {
2088
+ .rk-timeline-body[data-v-8a452f82] {
2043
2089
  margin-top: 0.5rem;
2044
2090
  }
2045
2091
 
2046
- .rk-date[data-v-154e27fb] {
2092
+ .rk-date[data-v-42390973] {
2047
2093
  display: block;
2048
2094
  }
2049
2095
 
2050
2096
  /* Wider than a popover's default: a calendar and a column of presets side by
2051
2097
  side do not fit in 24rem, and the month title wraps in two. */
2052
- .rk-date[data-v-154e27fb] .rk-popover-panel {
2098
+ .rk-date[data-v-42390973] .rk-popover-panel {
2053
2099
  max-width: min(34rem, calc(100vw - 1rem));
2054
2100
  }
2055
- .rk-date-wrap[data-v-154e27fb] {
2101
+ .rk-date-wrap[data-v-42390973] {
2056
2102
  display: flex;
2057
2103
  width: 100%;
2058
2104
  height: 2.75rem;
2059
2105
  align-items: center;
2060
2106
  border-radius: var(--radius-card);
2061
- padding-right: 0.375rem;
2107
+ padding-inline-end: 0.375rem;
2062
2108
  }
2063
- .rk-date-field[data-v-154e27fb] {
2109
+ .rk-date-field[data-v-42390973] {
2064
2110
  display: flex;
2065
2111
  min-width: 0;
2066
2112
  flex: 1;
@@ -2069,20 +2115,20 @@ to {
2069
2115
  gap: 0.5rem;
2070
2116
  border-radius: var(--radius-card);
2071
2117
  padding: 0 0.75rem;
2072
- text-align: left;
2118
+ text-align: start;
2073
2119
  font-size: 1rem;
2074
2120
  color: var(--color-ink);
2075
2121
  }
2076
- .rk-date-field.is-empty[data-v-154e27fb] {
2122
+ .rk-date-field.is-empty[data-v-42390973] {
2077
2123
  color: var(--color-ink-soft);
2078
2124
  }
2079
- .rk-date-wrap.is-invalid[data-v-154e27fb] {
2125
+ .rk-date-wrap.is-invalid[data-v-42390973] {
2080
2126
  --surface-border-color: var(--color-negative);
2081
2127
  }
2082
- .rk-date-field[data-v-154e27fb]:disabled {
2128
+ .rk-date-field[data-v-42390973]:disabled {
2083
2129
  opacity: 0.5;
2084
2130
  }
2085
- .rk-date-clear[data-v-154e27fb] {
2131
+ .rk-date-clear[data-v-42390973] {
2086
2132
  display: grid;
2087
2133
  width: 1.375rem;
2088
2134
  height: 1.375rem;
@@ -2091,59 +2137,59 @@ to {
2091
2137
  border-radius: 9999px;
2092
2138
  color: var(--color-ink-soft);
2093
2139
  }
2094
- .rk-date-clear[data-v-154e27fb]:hover {
2140
+ .rk-date-clear[data-v-42390973]:hover {
2095
2141
  background: var(--color-muted);
2096
2142
  color: var(--color-ink);
2097
2143
  }
2098
- .rk-date-clear[data-v-154e27fb]:focus-visible {
2144
+ .rk-date-clear[data-v-42390973]:focus-visible {
2099
2145
  outline: 2px solid var(--color-primary);
2100
2146
  outline-offset: 1px;
2101
2147
  }
2102
2148
 
2103
2149
  /* As wide as its contents rather than as narrow as they will go: in a flex
2104
2150
  panel the calendar shrinks, and a squeezed month title wraps in two. */
2105
- .rk-date-panel[data-v-154e27fb] {
2151
+ .rk-date-panel[data-v-42390973] {
2106
2152
  display: flex;
2107
2153
  width: max-content;
2108
2154
  max-width: 100%;
2109
2155
  gap: 0.75rem;
2110
2156
  }
2111
- .rk-date-panel[data-v-154e27fb] .rk-cal {
2157
+ .rk-date-panel[data-v-42390973] .rk-cal {
2112
2158
  width: 17rem;
2113
2159
  }
2114
- .rk-date-presets[data-v-154e27fb] {
2160
+ .rk-date-presets[data-v-42390973] {
2115
2161
  display: flex;
2116
2162
  min-width: 8rem;
2117
2163
  flex-direction: column;
2118
2164
  gap: 2px;
2119
- border-right: 1px solid var(--surface-border-color);
2120
- padding-right: 0.75rem;
2165
+ border-inline-end: 1px solid var(--surface-border-color);
2166
+ padding-inline-end: 0.75rem;
2121
2167
  }
2122
- .rk-date-preset[data-v-154e27fb] {
2168
+ .rk-date-preset[data-v-42390973] {
2123
2169
  width: 100%;
2124
2170
  border-radius: var(--radius-cell);
2125
2171
  padding: 0.375rem 0.5rem;
2126
- text-align: left;
2172
+ text-align: start;
2127
2173
  font-size: 0.8125rem;
2128
2174
  color: var(--color-ink);
2129
2175
  transition: background-color var(--duration-fast) var(--ease-standard);
2130
2176
  }
2131
- .rk-date-preset[data-v-154e27fb]:hover {
2177
+ .rk-date-preset[data-v-42390973]:hover {
2132
2178
  background: var(--color-muted);
2133
2179
  }
2134
2180
  @media (max-width: 30rem) {
2135
- .rk-date-panel[data-v-154e27fb] {
2181
+ .rk-date-panel[data-v-42390973] {
2136
2182
  flex-direction: column;
2137
2183
  }
2138
- .rk-date-presets[data-v-154e27fb] {
2184
+ .rk-date-presets[data-v-42390973] {
2139
2185
  flex-direction: row;
2140
2186
  flex-wrap: wrap;
2141
- border-right: 0;
2187
+ border-inline-end: 0;
2142
2188
  border-bottom: 1px solid var(--surface-border-color);
2143
- padding-right: 0;
2189
+ padding-inline-end: 0;
2144
2190
  padding-bottom: 0.5rem;
2145
2191
  }
2146
- .rk-date-preset[data-v-154e27fb] {
2192
+ .rk-date-preset[data-v-42390973] {
2147
2193
  width: auto;
2148
2194
  }
2149
2195
  }
@@ -2321,63 +2367,63 @@ to {
2321
2367
  }
2322
2368
  }
2323
2369
 
2324
- .rk-steps[data-v-6aa3221b] {
2370
+ .rk-steps[data-v-f7513d9a] {
2325
2371
  display: flex;
2326
2372
  gap: 0.5rem;
2327
2373
  }
2328
- .rk-steps.is-horizontal[data-v-6aa3221b] {
2374
+ .rk-steps.is-horizontal[data-v-f7513d9a] {
2329
2375
  align-items: flex-start;
2330
2376
  }
2331
- .rk-steps.is-vertical[data-v-6aa3221b] {
2377
+ .rk-steps.is-vertical[data-v-f7513d9a] {
2332
2378
  flex-direction: column;
2333
2379
  gap: 0;
2334
2380
  }
2335
- .rk-step[data-v-6aa3221b] {
2381
+ .rk-step[data-v-f7513d9a] {
2336
2382
  position: relative;
2337
2383
  flex: 1;
2338
2384
  min-width: 0;
2339
2385
  }
2340
2386
 
2341
2387
  /* The connecting line, drawn from each step to the next. */
2342
- .rk-step[data-v-6aa3221b]:not(:last-child)::after {
2388
+ .rk-step[data-v-f7513d9a]:not(:last-child)::after {
2343
2389
  content: '';
2344
2390
  position: absolute;
2345
2391
  background: var(--color-hair);
2346
2392
  transition: background-color var(--duration-base) var(--ease-standard);
2347
2393
  }
2348
- .is-horizontal .rk-step[data-v-6aa3221b]:not(:last-child)::after {
2394
+ .is-horizontal .rk-step[data-v-f7513d9a]:not(:last-child)::after {
2349
2395
  top: 0.875rem;
2350
- left: calc(1.75rem + 0.5rem);
2351
- right: 0.5rem;
2396
+ inset-inline-start: calc(1.75rem + 0.5rem);
2397
+ inset-inline-end: 0.5rem;
2352
2398
  height: 2px;
2353
2399
  }
2354
- .is-vertical .rk-step[data-v-6aa3221b]:not(:last-child)::after {
2400
+ .is-vertical .rk-step[data-v-f7513d9a]:not(:last-child)::after {
2355
2401
  top: 2.125rem;
2356
2402
  bottom: 0.25rem;
2357
- left: 0.8125rem;
2403
+ inset-inline-start: 0.8125rem;
2358
2404
  width: 2px;
2359
2405
  }
2360
- .rk-step.is-complete[data-v-6aa3221b]::after {
2406
+ .rk-step.is-complete[data-v-f7513d9a]::after {
2361
2407
  background: var(--color-primary);
2362
2408
  }
2363
- .rk-step-body[data-v-6aa3221b] {
2409
+ .rk-step-body[data-v-f7513d9a] {
2364
2410
  display: flex;
2365
2411
  align-items: flex-start;
2366
2412
  gap: 0.625rem;
2367
2413
  width: 100%;
2368
2414
  border-radius: var(--radius-cell);
2369
- text-align: left;
2415
+ text-align: start;
2370
2416
  }
2371
- .is-horizontal .rk-step-body[data-v-6aa3221b] {
2417
+ .is-horizontal .rk-step-body[data-v-f7513d9a] {
2372
2418
  flex-direction: column;
2373
2419
  }
2374
- .is-vertical .rk-step-body[data-v-6aa3221b] {
2420
+ .is-vertical .rk-step-body[data-v-f7513d9a] {
2375
2421
  padding-bottom: 1.5rem;
2376
2422
  }
2377
- .rk-step-body.is-clickable[data-v-6aa3221b] {
2423
+ .rk-step-body.is-clickable[data-v-f7513d9a] {
2378
2424
  cursor: pointer;
2379
2425
  }
2380
- .rk-step-mark[data-v-6aa3221b] {
2426
+ .rk-step-mark[data-v-f7513d9a] {
2381
2427
  position: relative;
2382
2428
  z-index: 1;
2383
2429
  display: grid;
@@ -2396,43 +2442,43 @@ to {
2396
2442
  border-color var(--duration-base) var(--ease-standard),
2397
2443
  color var(--duration-base) var(--ease-standard);
2398
2444
  }
2399
- .is-current .rk-step-mark[data-v-6aa3221b] {
2445
+ .is-current .rk-step-mark[data-v-f7513d9a] {
2400
2446
  border-color: var(--color-primary);
2401
2447
  color: var(--color-primary);
2402
2448
  }
2403
- .is-complete .rk-step-mark[data-v-6aa3221b] {
2449
+ .is-complete .rk-step-mark[data-v-f7513d9a] {
2404
2450
  border-color: var(--color-primary);
2405
2451
  background: var(--color-primary);
2406
2452
  color: var(--color-on-primary);
2407
2453
  }
2408
- .is-error .rk-step-mark[data-v-6aa3221b] {
2454
+ .is-error .rk-step-mark[data-v-f7513d9a] {
2409
2455
  border-color: var(--color-negative);
2410
2456
  background: var(--color-negative);
2411
2457
  color: var(--color-on-negative);
2412
2458
  }
2413
- .is-clickable:hover .rk-step-mark[data-v-6aa3221b] {
2459
+ .is-clickable:hover .rk-step-mark[data-v-f7513d9a] {
2414
2460
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--color-primary) 18%, transparent);
2415
2461
  }
2416
- .rk-step-text[data-v-6aa3221b] {
2462
+ .rk-step-text[data-v-f7513d9a] {
2417
2463
  display: flex;
2418
2464
  min-width: 0;
2419
2465
  flex-direction: column;
2420
2466
  gap: 0.125rem;
2421
2467
  padding-top: 0.25rem;
2422
2468
  }
2423
- .rk-step-label[data-v-6aa3221b] {
2469
+ .rk-step-label[data-v-f7513d9a] {
2424
2470
  font-size: 0.8125rem;
2425
2471
  font-weight: 600;
2426
2472
  color: var(--color-ink-soft);
2427
2473
  }
2428
- .is-current .rk-step-label[data-v-6aa3221b],
2429
- .is-complete .rk-step-label[data-v-6aa3221b] {
2474
+ .is-current .rk-step-label[data-v-f7513d9a],
2475
+ .is-complete .rk-step-label[data-v-f7513d9a] {
2430
2476
  color: var(--color-ink);
2431
2477
  }
2432
- .is-error .rk-step-label[data-v-6aa3221b] {
2478
+ .is-error .rk-step-label[data-v-f7513d9a] {
2433
2479
  color: var(--color-negative);
2434
2480
  }
2435
- .rk-step-description[data-v-6aa3221b] {
2481
+ .rk-step-description[data-v-f7513d9a] {
2436
2482
  font-size: 0.75rem;
2437
2483
  line-height: 1.4;
2438
2484
  color: var(--color-ink-soft);
@@ -2498,27 +2544,27 @@ to {
2498
2544
  filter: blur(4px);
2499
2545
  }
2500
2546
 
2501
- .rk-type[data-v-05f176ab] {
2547
+ .rk-type[data-v-591b5cef] {
2502
2548
  white-space: pre-wrap;
2503
2549
  }
2504
2550
 
2505
2551
  /* A bar the height of the text, in its colour. */
2506
- .rk-type-cursor[data-v-05f176ab] {
2552
+ .rk-type-cursor[data-v-591b5cef] {
2507
2553
  display: inline-block;
2508
2554
  width: 0.08em;
2509
2555
  height: 1em;
2510
- margin-left: 0.06em;
2556
+ margin-inline-start: 0.06em;
2511
2557
  vertical-align: -0.12em;
2512
2558
  background: currentColor;
2513
- animation: rk-type-blink-05f176ab 1s steps(1) infinite;
2559
+ animation: rk-type-blink-591b5cef 1s steps(1) infinite;
2514
2560
  }
2515
- @keyframes rk-type-blink-05f176ab {
2561
+ @keyframes rk-type-blink-591b5cef {
2516
2562
  50% {
2517
2563
  opacity: 0;
2518
2564
  }
2519
2565
  }
2520
2566
  @media (prefers-reduced-motion: reduce) {
2521
- .rk-type-cursor[data-v-05f176ab] {
2567
+ .rk-type-cursor[data-v-591b5cef] {
2522
2568
  animation: none;
2523
2569
  }
2524
2570
  }
@@ -2661,13 +2707,13 @@ to {
2661
2707
  }
2662
2708
  }
2663
2709
 
2664
- .rk-accordion[data-v-03e2e1d0] {
2710
+ .rk-accordion[data-v-d558aa6a] {
2665
2711
  border-top: 1px solid color-mix(in srgb, var(--color-hair) 70%, transparent);
2666
2712
  }
2667
- .rk-accordion-item[data-v-03e2e1d0] {
2713
+ .rk-accordion-item[data-v-d558aa6a] {
2668
2714
  border-bottom: 1px solid color-mix(in srgb, var(--color-hair) 70%, transparent);
2669
2715
  }
2670
- .rk-accordion-control[data-v-03e2e1d0] {
2716
+ .rk-accordion-control[data-v-d558aa6a] {
2671
2717
  display: flex;
2672
2718
  width: 100%;
2673
2719
  cursor: pointer;
@@ -2675,22 +2721,22 @@ to {
2675
2721
  justify-content: space-between;
2676
2722
  gap: 1.5rem;
2677
2723
  padding: 1.25rem 0;
2678
- text-align: left;
2724
+ text-align: start;
2679
2725
  transition: color var(--duration-fast);
2680
2726
  }
2681
- .rk-accordion-control[data-v-03e2e1d0]:hover {
2727
+ .rk-accordion-control[data-v-d558aa6a]:hover {
2682
2728
  color: var(--color-primary);
2683
2729
  }
2684
- .rk-accordion-control[data-v-03e2e1d0]:focus-visible {
2730
+ .rk-accordion-control[data-v-d558aa6a]:focus-visible {
2685
2731
  outline: 2px solid var(--color-primary);
2686
2732
  outline-offset: 2px;
2687
2733
  }
2688
- .rk-accordion-title[data-v-03e2e1d0] {
2734
+ .rk-accordion-title[data-v-d558aa6a] {
2689
2735
  color: var(--color-ink);
2690
2736
  font-size: 1rem;
2691
2737
  font-weight: 500;
2692
2738
  }
2693
- .rk-accordion-mark[data-v-03e2e1d0] {
2739
+ .rk-accordion-mark[data-v-d558aa6a] {
2694
2740
  position: relative;
2695
2741
  display: grid;
2696
2742
  place-items: center;
@@ -2698,34 +2744,34 @@ to {
2698
2744
  width: 1.5rem;
2699
2745
  height: 1.5rem;
2700
2746
  }
2701
- .rk-accordion-bar[data-v-03e2e1d0] {
2747
+ .rk-accordion-bar[data-v-d558aa6a] {
2702
2748
  position: absolute;
2703
2749
  height: 1px;
2704
2750
  width: 0.875rem;
2705
2751
  background: var(--color-ink-soft);
2706
2752
  }
2707
- .rk-accordion-bar-turn[data-v-03e2e1d0] {
2753
+ .rk-accordion-bar-turn[data-v-d558aa6a] {
2708
2754
  transform: rotate(90deg);
2709
2755
  transition: transform var(--duration-slower) ease-out;
2710
2756
  }
2711
- .rk-accordion-bar-turn.is-open[data-v-03e2e1d0] {
2757
+ .rk-accordion-bar-turn.is-open[data-v-d558aa6a] {
2712
2758
  transform: rotate(0deg);
2713
2759
  }
2714
2760
 
2715
2761
  /* 0fr to 1fr is the whole trick: a grid row can be animated to a height that
2716
2762
  was never measured, which is what `height: auto` cannot do. */
2717
- .rk-accordion-panel[data-v-03e2e1d0] {
2763
+ .rk-accordion-panel[data-v-d558aa6a] {
2718
2764
  display: grid;
2719
2765
  grid-template-rows: 0fr;
2720
2766
  transition: grid-template-rows var(--duration-slower) ease-out;
2721
2767
  }
2722
- .rk-accordion-panel.is-open[data-v-03e2e1d0] {
2768
+ .rk-accordion-panel.is-open[data-v-d558aa6a] {
2723
2769
  grid-template-rows: 1fr;
2724
2770
  }
2725
- .rk-accordion-clip[data-v-03e2e1d0] {
2771
+ .rk-accordion-clip[data-v-d558aa6a] {
2726
2772
  overflow: hidden;
2727
2773
  }
2728
- .rk-accordion-body[data-v-03e2e1d0] {
2774
+ .rk-accordion-body[data-v-d558aa6a] {
2729
2775
  max-width: 68ch;
2730
2776
  padding-bottom: 1.5rem;
2731
2777
  color: var(--color-ink-soft);
@@ -2733,13 +2779,13 @@ to {
2733
2779
  opacity: 0;
2734
2780
  transition: opacity var(--duration-slow);
2735
2781
  }
2736
- .rk-accordion-body.is-open[data-v-03e2e1d0] {
2782
+ .rk-accordion-body.is-open[data-v-d558aa6a] {
2737
2783
  opacity: 1;
2738
2784
  }
2739
2785
  @media (prefers-reduced-motion: reduce) {
2740
- .rk-accordion-panel[data-v-03e2e1d0],
2741
- .rk-accordion-bar-turn[data-v-03e2e1d0],
2742
- .rk-accordion-body[data-v-03e2e1d0] {
2786
+ .rk-accordion-panel[data-v-d558aa6a],
2787
+ .rk-accordion-bar-turn[data-v-d558aa6a],
2788
+ .rk-accordion-body[data-v-d558aa6a] {
2743
2789
  transition: none;
2744
2790
  }
2745
2791
  }
@@ -2827,7 +2873,7 @@ to {
2827
2873
  border-block-start: 1px solid var(--color-hair);
2828
2874
  }
2829
2875
 
2830
- .rk-disclosure-control[data-v-ad5c09f5] {
2876
+ .rk-disclosure-control[data-v-f3a3f8c7] {
2831
2877
  display: flex;
2832
2878
  width: 100%;
2833
2879
  cursor: pointer;
@@ -2835,22 +2881,22 @@ to {
2835
2881
  justify-content: space-between;
2836
2882
  gap: 1.5rem;
2837
2883
  padding: 1.25rem 0;
2838
- text-align: left;
2884
+ text-align: start;
2839
2885
  transition: color var(--duration-fast);
2840
2886
  }
2841
- .rk-disclosure-control[data-v-ad5c09f5]:hover {
2887
+ .rk-disclosure-control[data-v-f3a3f8c7]:hover {
2842
2888
  color: var(--color-primary);
2843
2889
  }
2844
- .rk-disclosure-control[data-v-ad5c09f5]:focus-visible {
2890
+ .rk-disclosure-control[data-v-f3a3f8c7]:focus-visible {
2845
2891
  outline: 2px solid var(--color-primary);
2846
2892
  outline-offset: 2px;
2847
2893
  }
2848
- .rk-disclosure-title[data-v-ad5c09f5] {
2894
+ .rk-disclosure-title[data-v-f3a3f8c7] {
2849
2895
  color: var(--color-ink);
2850
2896
  font-size: 1rem;
2851
2897
  font-weight: 500;
2852
2898
  }
2853
- .rk-disclosure-mark[data-v-ad5c09f5] {
2899
+ .rk-disclosure-mark[data-v-f3a3f8c7] {
2854
2900
  position: relative;
2855
2901
  display: grid;
2856
2902
  place-items: center;
@@ -2858,34 +2904,34 @@ to {
2858
2904
  width: 1.5rem;
2859
2905
  height: 1.5rem;
2860
2906
  }
2861
- .rk-disclosure-bar[data-v-ad5c09f5] {
2907
+ .rk-disclosure-bar[data-v-f3a3f8c7] {
2862
2908
  position: absolute;
2863
2909
  height: 1px;
2864
2910
  width: 0.875rem;
2865
2911
  background: var(--color-ink-soft);
2866
2912
  }
2867
- .rk-disclosure-turn[data-v-ad5c09f5] {
2913
+ .rk-disclosure-turn[data-v-f3a3f8c7] {
2868
2914
  transform: rotate(90deg);
2869
2915
  transition: transform var(--duration-slower) ease-out;
2870
2916
  }
2871
- .rk-disclosure-turn.is-open[data-v-ad5c09f5] {
2917
+ .rk-disclosure-turn.is-open[data-v-f3a3f8c7] {
2872
2918
  transform: rotate(0deg);
2873
2919
  }
2874
2920
 
2875
2921
  /* 0fr to 1fr is the whole trick: a grid row can be animated to a height that
2876
2922
  was never measured, which `height: auto` cannot do. */
2877
- .rk-disclosure-panel[data-v-ad5c09f5] {
2923
+ .rk-disclosure-panel[data-v-f3a3f8c7] {
2878
2924
  display: grid;
2879
2925
  grid-template-rows: 0fr;
2880
2926
  transition: grid-template-rows var(--duration-slower) ease-out;
2881
2927
  }
2882
- .rk-disclosure-panel.is-open[data-v-ad5c09f5] {
2928
+ .rk-disclosure-panel.is-open[data-v-f3a3f8c7] {
2883
2929
  grid-template-rows: 1fr;
2884
2930
  }
2885
- .rk-disclosure-clip[data-v-ad5c09f5] {
2931
+ .rk-disclosure-clip[data-v-f3a3f8c7] {
2886
2932
  overflow: hidden;
2887
2933
  }
2888
- .rk-disclosure-body[data-v-ad5c09f5] {
2934
+ .rk-disclosure-body[data-v-f3a3f8c7] {
2889
2935
  max-width: 68ch;
2890
2936
  padding-bottom: 1.5rem;
2891
2937
  color: var(--color-ink-soft);
@@ -2893,13 +2939,13 @@ to {
2893
2939
  opacity: 0;
2894
2940
  transition: opacity var(--duration-slow);
2895
2941
  }
2896
- .rk-disclosure-body.is-open[data-v-ad5c09f5] {
2942
+ .rk-disclosure-body.is-open[data-v-f3a3f8c7] {
2897
2943
  opacity: 1;
2898
2944
  }
2899
2945
  @media (prefers-reduced-motion: reduce) {
2900
- .rk-disclosure-panel[data-v-ad5c09f5],
2901
- .rk-disclosure-turn[data-v-ad5c09f5],
2902
- .rk-disclosure-body[data-v-ad5c09f5] {
2946
+ .rk-disclosure-panel[data-v-f3a3f8c7],
2947
+ .rk-disclosure-turn[data-v-f3a3f8c7],
2948
+ .rk-disclosure-body[data-v-f3a3f8c7] {
2903
2949
  transition: none;
2904
2950
  }
2905
2951
  }
@@ -3229,7 +3275,7 @@ to {
3229
3275
  color: var(--color-ink-soft);
3230
3276
  }
3231
3277
 
3232
- .rk-command[data-v-f72521e7] {
3278
+ .rk-command[data-v-64849895] {
3233
3279
  position: fixed;
3234
3280
  inset: 0;
3235
3281
  z-index: 90;
@@ -3240,13 +3286,13 @@ to {
3240
3286
  grows downwards into space rather than pushing itself off both edges. */
3241
3287
  padding-top: min(12vh, 6rem);
3242
3288
  }
3243
- .rk-command-scrim[data-v-f72521e7] {
3289
+ .rk-command-scrim[data-v-64849895] {
3244
3290
  position: absolute;
3245
3291
  inset: 0;
3246
3292
  background: color-mix(in oklab, var(--color-ink) 45%, transparent);
3247
3293
  backdrop-filter: blur(2px);
3248
3294
  }
3249
- .rk-command-panel[data-v-f72521e7] {
3295
+ .rk-command-panel[data-v-64849895] {
3250
3296
  position: relative;
3251
3297
  display: flex;
3252
3298
  width: 100%;
@@ -3256,14 +3302,14 @@ to {
3256
3302
  overflow: hidden;
3257
3303
  border-radius: var(--radius-card);
3258
3304
  }
3259
- .rk-command-field[data-v-f72521e7] {
3305
+ .rk-command-field[data-v-64849895] {
3260
3306
  display: flex;
3261
3307
  align-items: center;
3262
3308
  gap: 0.625rem;
3263
3309
  border-bottom: 1px solid var(--surface-border-color);
3264
3310
  padding: 0.875rem 1rem;
3265
3311
  }
3266
- .rk-command-input[data-v-f72521e7] {
3312
+ .rk-command-input[data-v-64849895] {
3267
3313
  min-width: 0;
3268
3314
  flex: 1;
3269
3315
  background: transparent;
@@ -3275,15 +3321,15 @@ to {
3275
3321
  /* The field takes focus the moment this opens, so a full ring around it
3276
3322
  would be on the whole time. The rule under it turns instead: enough to
3277
3323
  say where the keyboard is, quiet enough to live with. */
3278
- .rk-command-field[data-v-f72521e7]:has(.rk-command-input:focus-visible) {
3324
+ .rk-command-field[data-v-64849895]:has(.rk-command-input:focus-visible) {
3279
3325
  border-bottom-color: var(--color-primary);
3280
3326
  box-shadow: inset 0 -1px 0 var(--color-primary);
3281
3327
  }
3282
- .rk-command-list[data-v-f72521e7] {
3328
+ .rk-command-list[data-v-64849895] {
3283
3329
  overflow-y: auto;
3284
3330
  padding: 0.375rem;
3285
3331
  }
3286
- .rk-command-group[data-v-f72521e7] {
3332
+ .rk-command-group[data-v-64849895] {
3287
3333
  padding: 0.5rem 0.625rem 0.25rem;
3288
3334
  font-size: 0.6875rem;
3289
3335
  font-weight: 600;
@@ -3291,7 +3337,7 @@ to {
3291
3337
  text-transform: uppercase;
3292
3338
  color: var(--color-ink-soft);
3293
3339
  }
3294
- .rk-command-item[data-v-f72521e7] {
3340
+ .rk-command-item[data-v-64849895] {
3295
3341
  display: flex;
3296
3342
  cursor: pointer;
3297
3343
  align-items: center;
@@ -3301,60 +3347,56 @@ to {
3301
3347
  font-size: 0.875rem;
3302
3348
  color: var(--color-ink);
3303
3349
  }
3304
- .rk-command-item.is-active[data-v-f72521e7] {
3350
+ .rk-command-item.is-active[data-v-64849895] {
3305
3351
  background: var(--color-muted);
3306
3352
  }
3307
- .rk-command-hint[data-v-f72521e7] {
3308
- margin-left: auto;
3353
+ .rk-command-hint[data-v-64849895] {
3354
+ margin-inline-start: auto;
3309
3355
  flex-shrink: 0;
3310
3356
  font-size: 0.75rem;
3311
3357
  color: var(--color-ink-soft);
3312
3358
  }
3313
- .rk-command-empty[data-v-f72521e7] {
3359
+ .rk-command-empty[data-v-64849895] {
3314
3360
  padding: 1.5rem 0.625rem;
3315
3361
  text-align: center;
3316
3362
  font-size: 0.875rem;
3317
3363
  color: var(--color-ink-soft);
3318
3364
  }
3319
- .rk-command-enter-active[data-v-f72521e7],
3320
- .rk-command-leave-active[data-v-f72521e7] {
3365
+ .rk-command-enter-active[data-v-64849895],
3366
+ .rk-command-leave-active[data-v-64849895] {
3321
3367
  transition: opacity var(--duration-fast) var(--ease-standard);
3322
3368
  }
3323
- .rk-command-enter-active .rk-command-panel[data-v-f72521e7],
3324
- .rk-command-leave-active .rk-command-panel[data-v-f72521e7] {
3369
+ .rk-command-enter-active .rk-command-panel[data-v-64849895],
3370
+ .rk-command-leave-active .rk-command-panel[data-v-64849895] {
3325
3371
  transition: transform var(--duration-fast) var(--ease-standard);
3326
3372
  }
3327
- .rk-command-enter-from[data-v-f72521e7],
3328
- .rk-command-leave-to[data-v-f72521e7] {
3373
+ .rk-command-enter-from[data-v-64849895],
3374
+ .rk-command-leave-to[data-v-64849895] {
3329
3375
  opacity: 0;
3330
3376
  }
3331
- .rk-command-enter-from .rk-command-panel[data-v-f72521e7],
3332
- .rk-command-leave-to .rk-command-panel[data-v-f72521e7] {
3377
+ .rk-command-enter-from .rk-command-panel[data-v-64849895],
3378
+ .rk-command-leave-to .rk-command-panel[data-v-64849895] {
3333
3379
  transform: translateY(-0.5rem) scale(0.98);
3334
3380
  }
3335
3381
 
3336
- /* The scroller is focusable: a region only a drag can reach is a region a
3337
- keyboard cannot read at all. */
3338
- .rk-data-scroll[data-v-f95c586b] {
3339
- overflow-x: auto;
3382
+ /* `ScrollArea` owns the scrolling and decides whether this is a focus
3383
+ stop: with selection or a sortable column there is already a way in for
3384
+ a keyboard, and a stop of its own would be a press for nothing. */
3385
+ .rk-data-scroll[data-v-54510109] {
3340
3386
  border-radius: var(--radius-card);
3341
3387
  }
3342
- .rk-data-scroll[data-v-f95c586b]:focus-visible {
3343
- outline: 2px solid var(--color-primary);
3344
- outline-offset: 2px;
3345
- }
3346
- .rk-data[data-v-f95c586b] {
3388
+ .rk-data[data-v-54510109] {
3347
3389
  width: 100%;
3348
3390
  border-collapse: collapse;
3349
3391
  font-size: 0.875rem;
3350
3392
  }
3351
- .rk-data-caption[data-v-f95c586b] {
3393
+ .rk-data-caption[data-v-54510109] {
3352
3394
  padding-bottom: 0.5rem;
3353
- text-align: left;
3395
+ text-align: start;
3354
3396
  font-size: 0.8125rem;
3355
3397
  color: var(--color-ink-soft);
3356
3398
  }
3357
- .rk-data-caption-hidden[data-v-f95c586b] {
3399
+ .rk-data-caption-hidden[data-v-54510109] {
3358
3400
  position: absolute;
3359
3401
  width: 1px;
3360
3402
  height: 1px;
@@ -3362,32 +3404,32 @@ to {
3362
3404
  clip-path: inset(50%);
3363
3405
  white-space: nowrap;
3364
3406
  }
3365
- .rk-data th[data-v-f95c586b] {
3407
+ .rk-data th[data-v-54510109] {
3366
3408
  border-bottom: 1px solid var(--color-hair);
3367
3409
  padding: 0.625rem 0.75rem;
3368
- text-align: left;
3410
+ text-align: start;
3369
3411
  font-size: 0.75rem;
3370
3412
  font-weight: 600;
3371
3413
  letter-spacing: 0.02em;
3372
3414
  color: var(--color-ink-soft);
3373
3415
  white-space: nowrap;
3374
3416
  }
3375
- .rk-data.is-sticky thead th[data-v-f95c586b] {
3417
+ .rk-data.is-sticky thead th[data-v-54510109] {
3376
3418
  position: sticky;
3377
3419
  top: 0;
3378
3420
  z-index: 1;
3379
3421
  background: var(--color-surface);
3380
3422
  }
3381
- .rk-data td[data-v-f95c586b] {
3423
+ .rk-data td[data-v-54510109] {
3382
3424
  border-bottom: 1px solid color-mix(in oklab, var(--color-hair) 60%, transparent);
3383
3425
  padding: 0.625rem 0.75rem;
3384
3426
  color: var(--color-ink);
3385
3427
  vertical-align: middle;
3386
3428
  }
3387
- .rk-data tbody tr:last-child td[data-v-f95c586b] {
3429
+ .rk-data tbody tr:last-child td[data-v-54510109] {
3388
3430
  border-bottom: 0;
3389
3431
  }
3390
- .rk-data tbody tr.is-chosen td[data-v-f95c586b] {
3432
+ .rk-data tbody tr.is-chosen td[data-v-54510109] {
3391
3433
  background: color-mix(in oklab, var(--color-primary) 8%, transparent);
3392
3434
  }
3393
3435
 
@@ -3395,23 +3437,23 @@ to {
3395
3437
  otherwise win: the heading stayed on the left while its numbers sat at the
3396
3438
  far edge, so one column read as two. The sort button is inline-flex, so it
3397
3439
  follows the heading's alignment and carries the arrow with it. */
3398
- .rk-data th.is-end[data-v-f95c586b],
3399
- .rk-data td.is-end[data-v-f95c586b] {
3400
- text-align: right;
3440
+ .rk-data th.is-end[data-v-54510109],
3441
+ .rk-data td.is-end[data-v-54510109] {
3442
+ text-align: end;
3401
3443
  font-variant-numeric: tabular-nums;
3402
3444
  }
3403
- .rk-data th.is-center[data-v-f95c586b],
3404
- .rk-data td.is-center[data-v-f95c586b] {
3445
+ .rk-data th.is-center[data-v-54510109],
3446
+ .rk-data td.is-center[data-v-54510109] {
3405
3447
  text-align: center;
3406
3448
  }
3407
- .rk-data th.is-start[data-v-f95c586b],
3408
- .rk-data td.is-start[data-v-f95c586b] {
3409
- text-align: left;
3449
+ .rk-data th.is-start[data-v-54510109],
3450
+ .rk-data td.is-start[data-v-54510109] {
3451
+ text-align: start;
3410
3452
  }
3411
- .is-nowrap[data-v-f95c586b] {
3453
+ .is-nowrap[data-v-54510109] {
3412
3454
  white-space: nowrap;
3413
3455
  }
3414
- .rk-data-sort[data-v-f95c586b] {
3456
+ .rk-data-sort[data-v-54510109] {
3415
3457
  display: inline-flex;
3416
3458
  align-items: center;
3417
3459
  gap: 0.25rem;
@@ -3419,19 +3461,14 @@ to {
3419
3461
  color: inherit;
3420
3462
  transition: color var(--duration-fast) var(--ease-standard);
3421
3463
  }
3422
- .rk-data-sort[data-v-f95c586b]:hover {
3464
+ .rk-data-sort[data-v-54510109]:hover {
3423
3465
  color: var(--color-ink);
3424
3466
  }
3425
- .rk-data-pick[data-v-f95c586b] {
3467
+ .rk-data-pick[data-v-54510109] {
3426
3468
  width: 2.75rem;
3427
- padding-right: 0;
3428
- }
3429
- .rk-data-box[data-v-f95c586b] {
3430
- width: 1rem;
3431
- height: 1rem;
3432
- accent-color: var(--color-primary);
3469
+ padding-inline-end: 0;
3433
3470
  }
3434
- .rk-data-empty[data-v-f95c586b] {
3471
+ .rk-data-empty[data-v-54510109] {
3435
3472
  padding: 2rem 0.75rem;
3436
3473
  text-align: center;
3437
3474
  color: var(--color-ink-soft);
@@ -3694,18 +3731,18 @@ to {
3694
3731
  }
3695
3732
  }
3696
3733
 
3697
- .rk-mega[data-v-9c8be532] {
3734
+ .rk-mega[data-v-a6df77ff] {
3698
3735
  position: relative;
3699
3736
  }
3700
- .rk-mega-bar[data-v-9c8be532] {
3737
+ .rk-mega-bar[data-v-a6df77ff] {
3701
3738
  display: flex;
3702
3739
  align-items: center;
3703
3740
  gap: 0.25rem;
3704
3741
  }
3705
- .rk-mega-item[data-v-9c8be532] {
3742
+ .rk-mega-item[data-v-a6df77ff] {
3706
3743
  position: static;
3707
3744
  }
3708
- .rk-mega-top[data-v-9c8be532] {
3745
+ .rk-mega-top[data-v-a6df77ff] {
3709
3746
  display: inline-flex;
3710
3747
  align-items: center;
3711
3748
  gap: 0.25rem;
@@ -3716,42 +3753,42 @@ to {
3716
3753
  color: var(--color-ink-soft);
3717
3754
  transition: color var(--duration-fast) var(--ease-standard);
3718
3755
  }
3719
- .rk-mega-top[data-v-9c8be532]:hover,
3720
- .rk-mega-top[aria-expanded='true'][data-v-9c8be532] {
3756
+ .rk-mega-top[data-v-a6df77ff]:hover,
3757
+ .rk-mega-top[aria-expanded='true'][data-v-a6df77ff] {
3721
3758
  color: var(--color-ink);
3722
3759
  }
3723
- .rk-mega-top.is-active[data-v-9c8be532] {
3760
+ .rk-mega-top.is-active[data-v-a6df77ff] {
3724
3761
  color: var(--color-primary);
3725
3762
  }
3726
- .rk-mega-twist[data-v-9c8be532] {
3763
+ .rk-mega-twist[data-v-a6df77ff] {
3727
3764
  width: 0.875rem;
3728
3765
  height: 0.875rem;
3729
3766
  transition: rotate var(--duration-fast) var(--ease-standard);
3730
3767
  }
3731
- .rk-mega-twist.is-open[data-v-9c8be532] {
3768
+ .rk-mega-twist.is-open[data-v-a6df77ff] {
3732
3769
  rotate: 180deg;
3733
3770
  }
3734
3771
 
3735
3772
  /* Full width of the bar rather than of the button: that is what makes it a
3736
3773
  mega menu and not a dropdown. */
3737
- .rk-mega-panel[data-v-9c8be532] {
3774
+ .rk-mega-panel[data-v-a6df77ff] {
3738
3775
  position: absolute;
3739
3776
  top: calc(100% + 0.5rem);
3740
- left: 0;
3777
+ inset-inline-start: 0;
3741
3778
  z-index: 50;
3742
3779
  width: 100%;
3743
3780
  border-radius: var(--radius-card);
3744
3781
  padding: 1.25rem;
3745
3782
  }
3746
- .rk-mega-panel[hidden][data-v-9c8be532] {
3783
+ .rk-mega-panel[hidden][data-v-a6df77ff] {
3747
3784
  display: none;
3748
3785
  }
3749
- .rk-mega-columns[data-v-9c8be532] {
3786
+ .rk-mega-columns[data-v-a6df77ff] {
3750
3787
  display: grid;
3751
3788
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
3752
3789
  gap: 1.5rem;
3753
3790
  }
3754
- .rk-mega-column-title[data-v-9c8be532] {
3791
+ .rk-mega-column-title[data-v-a6df77ff] {
3755
3792
  margin-bottom: 0.5rem;
3756
3793
  font-size: 0.6875rem;
3757
3794
  font-weight: 600;
@@ -3759,26 +3796,26 @@ to {
3759
3796
  text-transform: uppercase;
3760
3797
  color: var(--color-ink-soft);
3761
3798
  }
3762
- .rk-mega-links[data-v-9c8be532] {
3799
+ .rk-mega-links[data-v-a6df77ff] {
3763
3800
  display: flex;
3764
3801
  flex-direction: column;
3765
3802
  gap: 1px;
3766
3803
  }
3767
- .rk-mega-link[data-v-9c8be532] {
3804
+ .rk-mega-link[data-v-a6df77ff] {
3768
3805
  display: block;
3769
3806
  border-radius: var(--radius-cell);
3770
3807
  padding: 0.375rem 0.5rem;
3771
3808
  transition: background-color var(--duration-fast) var(--ease-standard);
3772
3809
  }
3773
- .rk-mega-link[data-v-9c8be532]:hover {
3810
+ .rk-mega-link[data-v-a6df77ff]:hover {
3774
3811
  background: var(--color-muted);
3775
3812
  }
3776
- .rk-mega-link-label[data-v-9c8be532] {
3813
+ .rk-mega-link-label[data-v-a6df77ff] {
3777
3814
  display: block;
3778
3815
  font-size: 0.875rem;
3779
3816
  color: var(--color-ink);
3780
3817
  }
3781
- .rk-mega-link-note[data-v-9c8be532] {
3818
+ .rk-mega-link-note[data-v-a6df77ff] {
3782
3819
  display: block;
3783
3820
  margin-top: 0.125rem;
3784
3821
  font-size: 0.75rem;
@@ -3789,10 +3826,10 @@ to {
3789
3826
  /* On a narrow screen the panel is the page width and the columns stack,
3790
3827
  because a four-column grid in a 390px column is four unreadable columns. */
3791
3828
  @media (max-width: 48rem) {
3792
- .rk-mega-panel[data-v-9c8be532] {
3829
+ .rk-mega-panel[data-v-a6df77ff] {
3793
3830
  padding: 1rem;
3794
3831
  }
3795
- .rk-mega-columns[data-v-9c8be532] {
3832
+ .rk-mega-columns[data-v-a6df77ff] {
3796
3833
  grid-template-columns: minmax(0, 1fr);
3797
3834
  gap: 1rem;
3798
3835
  }
@@ -3852,4 +3889,34 @@ to {
3852
3889
  transition: none;
3853
3890
  }
3854
3891
  }
3892
+
3893
+ /* Clipped rather than hidden: `display: none` and `visibility: hidden` both
3894
+ take it out of the tab order, and then it is a link nobody can reach. */
3895
+ .rk-skip[data-v-cafce238] {
3896
+ position: absolute;
3897
+ z-index: 100;
3898
+ overflow: hidden;
3899
+ width: 1px;
3900
+ height: 1px;
3901
+ clip-path: inset(50%);
3902
+ white-space: nowrap;
3903
+ }
3904
+ .rk-skip[data-v-cafce238]:focus-visible {
3905
+ inset-block-start: 0.5rem;
3906
+ inset-inline-start: 0.5rem;
3907
+ overflow: visible;
3908
+ width: auto;
3909
+ height: auto;
3910
+ padding: 0.5rem 0.875rem;
3911
+ border-radius: var(--radius-card);
3912
+ outline: 2px solid var(--color-primary);
3913
+ outline-offset: 2px;
3914
+ background: var(--color-surface);
3915
+ box-shadow: var(--shadow-overlay);
3916
+ clip-path: none;
3917
+ color: var(--color-ink);
3918
+ font-size: 0.875rem;
3919
+ font-weight: 500;
3920
+ text-decoration: none;
3921
+ }
3855
3922
  /*$vite$:1*/