@cirthcss/cirth 0.5.0 → 0.7.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.
@@ -38,15 +38,13 @@ main {
38
38
  body > header, body > main, body > footer {
39
39
  width: 100%;
40
40
  padding: var(--cirth-block-spacing-vertical) var(--cirth-block-spacing-horizontal);
41
- margin-left: auto;
42
- margin-right: auto;
41
+ margin-inline: auto;
43
42
  }
44
43
 
45
44
  @media (min-width: 576px) {
46
45
  body > header, body > main, body > footer {
47
46
  max-width: 510px;
48
- padding-left: 0;
49
- padding-right: 0;
47
+ padding-inline: 0;
50
48
  }
51
49
  }
52
50
 
@@ -187,8 +185,6 @@ mark {
187
185
  blockquote {
188
186
  margin: var(--cirth-typography-spacing-vertical) 0;
189
187
  padding: var(--cirth-spacing);
190
- border-right: none;
191
- border-left: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
192
188
  border-inline-start: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
193
189
  border-inline-end: none;
194
190
  display: block;
@@ -228,7 +224,6 @@ del {
228
224
  text-decoration: var(--cirth-text-decoration);
229
225
  -webkit-text-decoration-color: var(--cirth-underline);
230
226
  text-decoration-color: var(--cirth-underline);
231
- text-underline-offset: .125em;
232
227
  transition: background-color var(--cirth-transition), color var(--cirth-transition), text-decoration var(--cirth-transition), box-shadow var(--cirth-transition);
233
228
  outline: none;
234
229
  }
@@ -252,7 +247,6 @@ button {
252
247
  text-transform: none;
253
248
  margin: 0;
254
249
  font-family: inherit;
255
- overflow: visible;
256
250
  }
257
251
 
258
252
  button, [type="submit"], [type="reset"], [type="button"] {
@@ -401,17 +395,16 @@ button:focus-visible, button[aria-current]:not([aria-current="false"]):focus-vis
401
395
  border-collapse: collapse;
402
396
  border-spacing: 0;
403
397
  text-indent: 0;
398
+ border-color: currentColor;
404
399
  width: 100%;
405
400
  }
406
401
 
407
402
  th, td {
408
403
  padding: calc(var(--cirth-spacing) / 2) var(--cirth-spacing);
409
404
  border-bottom: var(--cirth-border-width) solid var(--cirth-table-border-color);
410
- background-color: var(--cirth-background-color);
411
405
  color: var(--cirth-color);
412
406
  font-weight: var(--cirth-font-weight);
413
407
  font-variant-numeric: tabular-nums;
414
- text-align: left;
415
408
  text-align: start;
416
409
  }
417
410
 
@@ -424,22 +417,15 @@ tfoot th, tfoot td {
424
417
  vertical-align: middle;
425
418
  }
426
419
 
427
- audio, video {
428
- display: inline-block;
429
- }
430
-
431
- audio:not([controls]) {
432
- height: 0;
433
- display: none;
434
- }
435
-
436
420
  :where(iframe) {
437
421
  border-style: none;
438
422
  }
439
423
 
440
424
  img {
441
- border-style: none;
442
425
  max-width: 100%;
426
+ }
427
+
428
+ img:where(:not([height]), [width][height]) {
443
429
  height: auto;
444
430
  }
445
431
 
@@ -447,10 +433,6 @@ img {
447
433
  fill: currentColor;
448
434
  }
449
435
 
450
- svg:not(:root), svg:not(:host) {
451
- overflow: hidden;
452
- }
453
-
454
436
  pre, code, kbd, samp {
455
437
  font-size: .875em;
456
438
  font-family: var(--cirth-font-family);
@@ -462,7 +444,6 @@ pre code, pre samp {
462
444
  }
463
445
 
464
446
  pre {
465
- -ms-overflow-style: scrollbar;
466
447
  overflow: auto;
467
448
  }
468
449
 
@@ -498,6 +479,13 @@ kbd {
498
479
  vertical-align: baseline;
499
480
  }
500
481
 
482
+ var {
483
+ color: var(--cirth-code-color);
484
+ font-size: .875em;
485
+ font-style: italic;
486
+ font-family: var(--cirth-font-family);
487
+ }
488
+
501
489
  figure {
502
490
  margin: 0;
503
491
  padding: 0;
@@ -517,14 +505,10 @@ hr {
517
505
  color: inherit;
518
506
  }
519
507
 
520
- [hidden], template {
508
+ [hidden]:where(:not([hidden="until-found"])) {
521
509
  display: none;
522
510
  }
523
511
 
524
- canvas {
525
- display: inline-block;
526
- }
527
-
528
512
  input, optgroup, select, textarea {
529
513
  font-size: var(--cirth-font-size-md);
530
514
  line-height: var(--cirth-line-height);
@@ -533,26 +517,7 @@ input, optgroup, select, textarea {
533
517
  font-family: inherit;
534
518
  }
535
519
 
536
- input {
537
- overflow: visible;
538
- }
539
-
540
- select {
541
- text-transform: none;
542
- }
543
-
544
520
  legend {
545
- max-width: 100%;
546
- color: inherit;
547
- white-space: normal;
548
- padding: 0;
549
- }
550
-
551
- textarea {
552
- overflow: auto;
553
- }
554
-
555
- [type="checkbox"], [type="radio"] {
556
521
  padding: 0;
557
522
  }
558
523
 
@@ -573,28 +538,15 @@ textarea {
573
538
  -webkit-appearance: none;
574
539
  }
575
540
 
576
- ::-webkit-file-upload-button {
541
+ ::file-selector-button {
577
542
  -webkit-appearance: button;
578
543
  font: inherit;
579
544
  }
580
545
 
581
- ::-moz-focus-inner {
582
- border-style: none;
583
- padding: 0;
584
- }
585
-
586
- :-moz-focusring {
587
- outline: none;
588
- }
589
-
590
546
  :-moz-ui-invalid {
591
547
  box-shadow: none;
592
548
  }
593
549
 
594
- ::-ms-expand {
595
- display: none;
596
- }
597
-
598
550
  [type="file"], [type="range"] {
599
551
  border-width: 0;
600
552
  padding: 0;
@@ -671,13 +623,10 @@ label[aria-disabled="true"] input[disabled] {
671
623
  }
672
624
 
673
625
  :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid] {
674
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
675
- padding-left: var(--cirth-form-element-spacing-horizontal);
626
+ padding-inline: var(--cirth-form-element-spacing-horizontal) calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
676
627
  background-position: center right var(--cirth-space-3);
677
628
  background-size: var(--cirth-size-4) auto;
678
629
  background-repeat: no-repeat;
679
- padding-inline-start: var(--cirth-form-element-spacing-horizontal);
680
- padding-inline-end: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
681
630
  }
682
631
 
683
632
  :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid="false"]:not(select) {
@@ -718,17 +667,11 @@ label[aria-disabled="true"] input[disabled] {
718
667
  background-position: center left var(--cirth-space-3);
719
668
  }
720
669
 
721
- input::placeholder, textarea::placeholder, select:invalid {
722
- color: var(--cirth-form-element-placeholder-color);
723
- opacity: 1;
724
- }
725
-
726
- input::-webkit-input-placeholder {
727
- color: var(--cirth-form-element-placeholder-color);
728
- opacity: 1;
670
+ [dir="rtl"] textarea[aria-invalid] {
671
+ background-position: top left var(--cirth-space-3);
729
672
  }
730
673
 
731
- textarea::-webkit-input-placeholder {
674
+ input::placeholder, textarea::placeholder, select:invalid {
732
675
  color: var(--cirth-form-element-placeholder-color);
733
676
  opacity: 1;
734
677
  }
@@ -737,20 +680,12 @@ input:not([type="checkbox"], [type="radio"]), select, textarea {
737
680
  margin-bottom: var(--cirth-spacing);
738
681
  }
739
682
 
740
- select::-ms-expand {
741
- background-color: #0000;
742
- border: 0;
743
- }
744
-
745
683
  select:not([multiple], [size]) {
746
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
747
- padding-left: var(--cirth-form-element-spacing-horizontal);
684
+ padding-inline: var(--cirth-form-element-spacing-horizontal) calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
748
685
  background-image: var(--cirth-icon-chevron);
749
686
  background-position: center right var(--cirth-space-3);
750
687
  background-size: var(--cirth-size-4) auto;
751
688
  background-repeat: no-repeat;
752
- padding-inline-start: var(--cirth-form-element-spacing-horizontal);
753
- padding-inline-end: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
754
689
  }
755
690
 
756
691
  select[multiple] option:checked {
@@ -939,76 +874,80 @@ label:has([type="checkbox"], [type="radio"]) {
939
874
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]):is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
940
875
  --cirth-icon-position: var(--cirth-space-3);
941
876
  --cirth-icon-width: var(--cirth-size-4);
942
- padding-right: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
943
877
  background-image: var(--cirth-icon-date);
944
878
  background-position: center right var(--cirth-icon-position);
945
879
  background-size: var(--cirth-icon-width) auto;
946
880
  background-repeat: no-repeat;
881
+ padding-inline-end: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
947
882
  }
948
883
 
949
884
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="time"] {
950
885
  background-image: var(--cirth-icon-time);
951
886
  }
952
887
 
888
+ ::-webkit-date-and-time-value {
889
+ text-align: inherit;
890
+ }
891
+
892
+ ::-webkit-datetime-edit {
893
+ padding-block: 0;
894
+ }
895
+
953
896
  [type="date"]::-webkit-calendar-picker-indicator {
954
897
  width: var(--cirth-icon-width);
955
- margin-right: calc(var(--cirth-icon-width) * -1);
956
- margin-left: var(--cirth-icon-position);
898
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
957
899
  opacity: 0;
958
900
  }
959
901
 
960
902
  [type="datetime-local"]::-webkit-calendar-picker-indicator {
961
903
  width: var(--cirth-icon-width);
962
- margin-right: calc(var(--cirth-icon-width) * -1);
963
- margin-left: var(--cirth-icon-position);
904
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
964
905
  opacity: 0;
965
906
  }
966
907
 
967
908
  [type="month"]::-webkit-calendar-picker-indicator {
968
909
  width: var(--cirth-icon-width);
969
- margin-right: calc(var(--cirth-icon-width) * -1);
970
- margin-left: var(--cirth-icon-position);
910
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
971
911
  opacity: 0;
972
912
  }
973
913
 
974
914
  [type="time"]::-webkit-calendar-picker-indicator {
975
915
  width: var(--cirth-icon-width);
976
- margin-right: calc(var(--cirth-icon-width) * -1);
977
- margin-left: var(--cirth-icon-position);
916
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
978
917
  opacity: 0;
979
918
  }
980
919
 
981
920
  [type="week"]::-webkit-calendar-picker-indicator {
982
921
  width: var(--cirth-icon-width);
983
- margin-right: calc(var(--cirth-icon-width) * -1);
984
- margin-left: var(--cirth-icon-position);
922
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
985
923
  opacity: 0;
986
924
  }
987
925
 
988
926
  @-moz-document url-prefix() {
989
927
  [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"] {
990
- padding-right: var(--cirth-form-element-spacing-horizontal);
991
928
  background-image: none;
929
+ padding-inline-end: var(--cirth-form-element-spacing-horizontal);
992
930
  }
993
931
  }
994
932
 
995
933
  [dir="rtl"] :is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
934
+ background-position: center left var(--cirth-icon-position);
996
935
  text-align: right;
997
936
  }
998
937
 
999
938
  [type="file"] {
1000
939
  --cirth-color: var(--cirth-muted-color);
1001
- margin-left: calc(var(--cirth-outline-width) * -1);
1002
940
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) 0;
1003
- padding-left: var(--cirth-outline-width);
1004
941
  background: none;
1005
942
  border: 0;
1006
943
  border-radius: 0;
944
+ margin-inline-start: calc(var(--cirth-outline-width) * -1);
945
+ padding-inline-start: var(--cirth-outline-width);
1007
946
  }
1008
947
 
1009
948
  [type="file"]::file-selector-button {
1010
- margin-right: calc(var(--cirth-spacing) / 2);
1011
949
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
950
+ margin-inline-end: calc(var(--cirth-spacing) / 2);
1012
951
  }
1013
952
 
1014
953
  [type="file"]:is(:hover, :active, :focus)::file-selector-button {
@@ -1192,7 +1131,7 @@ details summary:focus-visible:not([role]) {
1192
1131
  }
1193
1132
 
1194
1133
  details summary[role="button"] {
1195
- text-align: left;
1134
+ text-align: start;
1196
1135
  width: 100%;
1197
1136
  }
1198
1137
 
@@ -1212,10 +1151,6 @@ details[open] > summary:after {
1212
1151
  transform: rotate(0);
1213
1152
  }
1214
1153
 
1215
- [dir="rtl"] details summary {
1216
- text-align: right;
1217
- }
1218
-
1219
1154
  [dir="rtl"] details summary:after {
1220
1155
  float: left;
1221
1156
  background-position: 0;
@@ -1230,12 +1165,15 @@ article {
1230
1165
  }
1231
1166
 
1232
1167
  article > header, article > footer {
1233
- margin-right: calc(var(--cirth-block-spacing-horizontal) * -1);
1234
- margin-left: calc(var(--cirth-block-spacing-horizontal) * -1);
1168
+ margin-inline: calc(var(--cirth-block-spacing-horizontal) * -1);
1235
1169
  padding: calc(var(--cirth-block-spacing-vertical) - var(--cirth-space-2)) var(--cirth-block-spacing-horizontal);
1236
1170
  background-color: var(--cirth-card-sectioning-background-color);
1237
1171
  }
1238
1172
 
1173
+ article > header > :last-child, article > footer > :last-child {
1174
+ margin-bottom: 0;
1175
+ }
1176
+
1239
1177
  article > header {
1240
1178
  margin-top: calc(var(--cirth-block-spacing-vertical) * -1);
1241
1179
  margin-bottom: var(--cirth-block-spacing-vertical);
@@ -1259,33 +1197,50 @@ article > footer {
1259
1197
  box-shadow: var(--cirth-group-box-shadow, 0 0 0 #0000);
1260
1198
  vertical-align: middle;
1261
1199
  transition: box-shadow var(--cirth-transition);
1200
+ flex-wrap: wrap;
1262
1201
  display: inline-flex;
1263
1202
  position: relative;
1264
1203
  }
1265
1204
 
1205
+ [role="search"] > small, [role="group"] > small {
1206
+ margin-top: calc(var(--cirth-spacing) * .25);
1207
+ flex: 0 0 100%;
1208
+ order: 1;
1209
+ margin-bottom: 0;
1210
+ }
1211
+
1266
1212
  [role="search"] > *, [role="search"] input:not([type="checkbox"], [type="radio"]), [role="search"] select, [role="group"] > *, [role="group"] input:not([type="checkbox"], [type="radio"]), [role="group"] select {
1267
1213
  flex: auto;
1268
1214
  margin-bottom: 0;
1269
1215
  position: relative;
1270
1216
  }
1271
1217
 
1218
+ [role="search"] > :is(input, select, textarea), [role="search"] input:not([type="checkbox"], [type="radio"]):is(input, select, textarea), [role="search"] select:is(input, select, textarea), [role="group"] > :is(input, select, textarea), [role="group"] input:not([type="checkbox"], [type="radio"]):is(input, select, textarea), [role="group"] select:is(input, select, textarea) {
1219
+ flex: 99;
1220
+ }
1221
+
1272
1222
  [role="search"] > :not(:first-child), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child), [role="search"] select:not(:first-child), [role="group"] > :not(:first-child), [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child), [role="group"] select:not(:first-child) {
1273
- border-top-left-radius: 0;
1274
- border-bottom-left-radius: 0;
1275
- margin-left: 0;
1223
+ border-start-start-radius: 0;
1224
+ border-end-start-radius: 0;
1225
+ margin-inline-start: 0;
1276
1226
  }
1277
1227
 
1278
1228
  [role="search"] > :not(:last-child), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:last-child), [role="search"] select:not(:last-child), [role="group"] > :not(:last-child), [role="group"] input:not([type="checkbox"], [type="radio"]):not(:last-child), [role="group"] select:not(:last-child) {
1279
- border-top-right-radius: 0;
1280
- border-bottom-right-radius: 0;
1229
+ border-start-end-radius: 0;
1230
+ border-end-end-radius: 0;
1281
1231
  }
1282
1232
 
1283
1233
  [role="search"] > :focus, [role="search"] input:not([type="checkbox"], [type="radio"]):focus, [role="search"] select:focus, [role="group"] > :focus, [role="group"] input:not([type="checkbox"], [type="radio"]):focus, [role="group"] select:focus {
1284
1234
  z-index: 2;
1285
1235
  }
1286
1236
 
1237
+ :is([role="search"] > :has( + small:last-child), [role="group"] > :has( + small:last-child)) {
1238
+ border-start-end-radius: var(--cirth-border-radius);
1239
+ border-end-end-radius: var(--cirth-border-radius);
1240
+ }
1241
+
1287
1242
  [role="search"] button:not(:first-child), [role="search"] [type="submit"]:not(:first-child), [role="search"] [type="reset"]:not(:first-child), [role="search"] [type="button"]:not(:first-child), [role="search"] [role="button"]:not(:first-child), [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child), [role="search"] select:not(:first-child), [role="group"] button:not(:first-child), [role="group"] [type="submit"]:not(:first-child), [role="group"] [type="reset"]:not(:first-child), [role="group"] [type="button"]:not(:first-child), [role="group"] [role="button"]:not(:first-child), [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child), [role="group"] select:not(:first-child) {
1288
- margin-left: calc(var(--cirth-border-width) * -1);
1243
+ margin-inline-start: calc(var(--cirth-border-width) * -1);
1289
1244
  }
1290
1245
 
1291
1246
  [role="search"] button, [role="search"] [type="submit"], [role="search"] [type="reset"], [role="search"] [type="button"], [role="search"] [role="button"], [role="group"] button, [role="group"] [type="submit"], [role="group"] [type="reset"], [role="group"] [type="button"], [role="group"] [role="button"] {
@@ -1297,19 +1252,7 @@ article > footer {
1297
1252
  --cirth-group-box-shadow: var(--cirth-group-box-shadow-focus-with-button);
1298
1253
  }
1299
1254
 
1300
- [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1301
- border-color: #0000;
1302
- }
1303
-
1304
- [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1305
- border-color: #0000;
1306
- }
1307
-
1308
- [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1309
- border-color: #0000;
1310
- }
1311
-
1312
- [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1255
+ :is([role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"], [aria-invalid]), [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select:not([aria-invalid]), [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"], [aria-invalid]), [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select:not([aria-invalid])) {
1313
1256
  border-color: #0000;
1314
1257
  }
1315
1258
 
@@ -1379,13 +1322,18 @@ article > footer {
1379
1322
  }
1380
1323
 
1381
1324
  [role="search"] > :first-child {
1382
- border-top-left-radius: var(--cirth-radius-pill);
1383
- border-bottom-left-radius: var(--cirth-radius-pill);
1325
+ border-start-start-radius: var(--cirth-radius-pill);
1326
+ border-end-start-radius: var(--cirth-radius-pill);
1384
1327
  }
1385
1328
 
1386
1329
  [role="search"] > :last-child {
1387
- border-top-right-radius: var(--cirth-radius-pill);
1388
- border-bottom-right-radius: var(--cirth-radius-pill);
1330
+ border-start-end-radius: var(--cirth-radius-pill);
1331
+ border-end-end-radius: var(--cirth-radius-pill);
1332
+ }
1333
+
1334
+ [role="search"] > :has( + small:last-child) {
1335
+ border-start-end-radius: var(--cirth-radius-pill);
1336
+ border-end-end-radius: var(--cirth-radius-pill);
1389
1337
  }
1390
1338
 
1391
1339
  [aria-busy="true"]:not(input, select, textarea, html, form) {
@@ -1393,14 +1341,24 @@ article > footer {
1393
1341
  }
1394
1342
 
1395
1343
  [aria-busy="true"]:not(input, select, textarea, html, form):before {
1396
- background-image: var(--cirth-icon-loading);
1397
1344
  content: "";
1398
1345
  vertical-align: -.125em;
1399
- background-repeat: no-repeat;
1400
- background-size: 1em;
1401
1346
  width: 1em;
1402
1347
  height: 1em;
1348
+ -webkit-mask-image: var(--cirth-icon-loading);
1349
+ mask-image: var(--cirth-icon-loading);
1350
+ background-color: currentColor;
1403
1351
  display: inline-block;
1352
+ -webkit-mask-size: 1em;
1353
+ mask-size: 1em;
1354
+ -webkit-mask-repeat: no-repeat;
1355
+ mask-repeat: no-repeat;
1356
+ }
1357
+
1358
+ @media (forced-colors: active) {
1359
+ [aria-busy="true"]:not(input, select, textarea, html, form):before {
1360
+ background-color: canvastext;
1361
+ }
1404
1362
  }
1405
1363
 
1406
1364
  [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty):before {
@@ -1411,6 +1369,18 @@ article > footer {
1411
1369
  text-align: center;
1412
1370
  }
1413
1371
 
1372
+ input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1373
+ background-image: var(--cirth-icon-loading);
1374
+ background-position: center left var(--cirth-form-element-spacing-horizontal);
1375
+ background-repeat: no-repeat;
1376
+ background-size: 1em;
1377
+ padding-inline-start: calc(var(--cirth-form-element-spacing-horizontal) + 1em + var(--cirth-spacing) * .5);
1378
+ }
1379
+
1380
+ [dir="rtl"] input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1381
+ background-position: center right var(--cirth-form-element-spacing-horizontal);
1382
+ }
1383
+
1414
1384
  button[aria-busy="true"], [type="submit"][aria-busy="true"], [type="button"][aria-busy="true"], [type="reset"][aria-busy="true"], [role="button"][aria-busy="true"], a[aria-busy="true"] {
1415
1385
  pointer-events: none;
1416
1386
  }
@@ -1441,6 +1411,7 @@ dialog {
1441
1411
  dialog > article {
1442
1412
  width: 100%;
1443
1413
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1414
+ max-height: calc(100dvh - var(--cirth-spacing) * 2);
1444
1415
  margin: var(--cirth-spacing);
1445
1416
  overflow: auto;
1446
1417
  }
@@ -1463,13 +1434,13 @@ dialog > article > header > * {
1463
1434
 
1464
1435
  dialog > article > header :is(a, button)[rel="prev"] {
1465
1436
  margin: 0;
1466
- margin-left: var(--cirth-spacing);
1467
1437
  float: right;
1438
+ margin-inline-start: var(--cirth-spacing);
1468
1439
  padding: 0;
1469
1440
  }
1470
1441
 
1471
1442
  dialog > article > footer {
1472
- text-align: right;
1443
+ text-align: end;
1473
1444
  }
1474
1445
 
1475
1446
  dialog > article > footer button, dialog > article > footer [role="button"] {
@@ -1477,7 +1448,7 @@ dialog > article > footer button, dialog > article > footer [role="button"] {
1477
1448
  }
1478
1449
 
1479
1450
  dialog > article > footer button:not(:first-of-type), dialog > article > footer [role="button"]:not(:first-of-type) {
1480
- margin-left: calc(var(--cirth-spacing) * .5);
1451
+ margin-inline-start: calc(var(--cirth-spacing) * .5);
1481
1452
  }
1482
1453
 
1483
1454
  dialog > article :is(a, button)[rel="prev"] {
@@ -1493,7 +1464,7 @@ dialog > article :is(a, button)[rel="prev"] {
1493
1464
  background-color: #0000;
1494
1465
  background-repeat: no-repeat;
1495
1466
  border: none;
1496
- margin-left: auto;
1467
+ margin-inline-start: auto;
1497
1468
  display: block;
1498
1469
  }
1499
1470
 
@@ -1505,6 +1476,10 @@ dialog:not([open]), dialog[open="false"] {
1505
1476
  display: none;
1506
1477
  }
1507
1478
 
1479
+ [dir="rtl"] dialog > article > header :is(a, button)[rel="prev"] {
1480
+ float: left;
1481
+ }
1482
+
1508
1483
  :where(nav li):before {
1509
1484
  float: left;
1510
1485
  content: "​";
@@ -1527,11 +1502,11 @@ nav ol, nav ul {
1527
1502
  }
1528
1503
 
1529
1504
  nav ol:first-of-type, nav ul:first-of-type {
1530
- margin-left: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1505
+ margin-inline-start: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1531
1506
  }
1532
1507
 
1533
1508
  nav ol:last-of-type, nav ul:last-of-type {
1534
- margin-right: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1509
+ margin-inline-end: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1535
1510
  }
1536
1511
 
1537
1512
  nav li {
@@ -1540,23 +1515,27 @@ nav li {
1540
1515
  display: inline-block;
1541
1516
  }
1542
1517
 
1543
- nav li :where(a, [role="link"]) {
1518
+ nav li :where(a:not([role="button"]), [role="link"]) {
1544
1519
  margin: calc(var(--cirth-nav-link-spacing-vertical) * -1) calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1545
1520
  padding: var(--cirth-nav-link-spacing-vertical) var(--cirth-nav-link-spacing-horizontal);
1546
1521
  border-radius: var(--cirth-border-radius);
1547
1522
  display: inline-block;
1548
1523
  }
1549
1524
 
1550
- nav li :where(a, [role="link"]):not(:hover) {
1525
+ nav li :where(a:not([role="button"]), [role="link"]):not(:hover) {
1551
1526
  text-decoration: none;
1552
1527
  }
1553
1528
 
1529
+ nav li [role="group"], nav li [role="search"] {
1530
+ width: auto;
1531
+ margin-bottom: 0;
1532
+ }
1533
+
1554
1534
  nav li button, nav li [role="button"], nav li [type="button"], nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]), nav li select {
1555
1535
  height: auto;
1556
- margin-right: inherit;
1557
- margin-bottom: 0;
1558
- margin-left: inherit;
1536
+ margin-inline: inherit;
1559
1537
  padding: calc(var(--cirth-nav-link-spacing-vertical) - var(--cirth-border-width) * 2) var(--cirth-nav-link-spacing-horizontal);
1538
+ margin-bottom: 0;
1560
1539
  }
1561
1540
 
1562
1541
  nav[aria-label="breadcrumb"] {
@@ -1608,10 +1587,6 @@ aside li [role="button"] {
1608
1587
  margin: inherit;
1609
1588
  }
1610
1589
 
1611
- [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child) :after {
1612
- content: "\\";
1613
- }
1614
-
1615
1590
  progress {
1616
1591
  vertical-align: baseline;
1617
1592
  appearance: none;
@@ -1817,7 +1792,7 @@ progress::-moz-progress-bar {
1817
1792
  opacity: 0;
1818
1793
  }
1819
1794
 
1820
- to {
1795
+ 100% {
1821
1796
  transform: var(--cirth-tooltip-caret-slide-to);
1822
1797
  opacity: 1;
1823
1798
  }
@@ -1836,14 +1811,10 @@ progress::-moz-progress-bar {
1836
1811
  }
1837
1812
 
1838
1813
  [aria-hidden="false"][hidden]:not(:focus) {
1839
- clip: rect(0, 0, 0, 0);
1814
+ clip-path: inset(50%);
1840
1815
  position: absolute;
1841
1816
  }
1842
1817
 
1843
- a, area, button, input, label, select, summary, textarea, [tabindex] {
1844
- -ms-touch-action: manipulation;
1845
- }
1846
-
1847
1818
  [dir="rtl"] {
1848
1819
  direction: rtl;
1849
1820
  }
@@ -2002,6 +1973,7 @@ a {
2002
1973
 
2003
1974
  small {
2004
1975
  --cirth-font-size: .875em;
1976
+ font-size: var(--cirth-font-size);
2005
1977
  }
2006
1978
 
2007
1979
  h1, h2, h3 {
@@ -2062,7 +2034,7 @@ thead th, thead td, tfoot th, tfoot td {
2062
2034
  --cirth-border-width: .1875rem;
2063
2035
  }
2064
2036
 
2065
- pre, code, kbd, samp {
2037
+ pre, code, kbd, samp, var {
2066
2038
  --cirth-font-family: var(--cirth-font-family-mono);
2067
2039
  }
2068
2040
 
@@ -2113,7 +2085,7 @@ button, [type="submit"], [type="reset"], [type="button"], [role="button"] {
2113
2085
  --cirth-form-element-spacing-horizontal: var(--cirth-space-8);
2114
2086
  }
2115
2087
 
2116
- details summary[role="button"]:after, [aria-busy="true"]:not(input, select, textarea):is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):before {
2088
+ details summary[role="button"]:after {
2117
2089
  filter: brightness(0) invert();
2118
2090
  }
2119
2091