@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.
@@ -35,15 +35,13 @@
35
35
  .cirth > header, .cirth > main, .cirth > footer {
36
36
  width: 100%;
37
37
  padding: var(--cirth-block-spacing-vertical) var(--cirth-block-spacing-horizontal);
38
- margin-left: auto;
39
- margin-right: auto;
38
+ margin-inline: auto;
40
39
  }
41
40
 
42
41
  @media (min-width: 576px) {
43
42
  .cirth > header, .cirth > main, .cirth > footer {
44
43
  max-width: 510px;
45
- padding-left: 0;
46
- padding-right: 0;
44
+ padding-inline: 0;
47
45
  }
48
46
  }
49
47
 
@@ -184,8 +182,6 @@
184
182
  .cirth blockquote {
185
183
  margin: var(--cirth-typography-spacing-vertical) 0;
186
184
  padding: var(--cirth-spacing);
187
- border-right: none;
188
- border-left: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
189
185
  border-inline-start: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
190
186
  border-inline-end: none;
191
187
  display: block;
@@ -225,7 +221,6 @@
225
221
  text-decoration: var(--cirth-text-decoration);
226
222
  -webkit-text-decoration-color: var(--cirth-underline);
227
223
  text-decoration-color: var(--cirth-underline);
228
- text-underline-offset: .125em;
229
224
  transition: background-color var(--cirth-transition), color var(--cirth-transition), text-decoration var(--cirth-transition), box-shadow var(--cirth-transition);
230
225
  outline: none;
231
226
  }
@@ -249,7 +244,6 @@
249
244
  text-transform: none;
250
245
  margin: 0;
251
246
  font-family: inherit;
252
- overflow: visible;
253
247
  }
254
248
 
255
249
  .cirth button, .cirth [type="submit"], .cirth [type="reset"], .cirth [type="button"] {
@@ -398,17 +392,16 @@
398
392
  border-collapse: collapse;
399
393
  border-spacing: 0;
400
394
  text-indent: 0;
395
+ border-color: currentColor;
401
396
  width: 100%;
402
397
  }
403
398
 
404
399
  .cirth th, .cirth td {
405
400
  padding: calc(var(--cirth-spacing) / 2) var(--cirth-spacing);
406
401
  border-bottom: var(--cirth-border-width) solid var(--cirth-table-border-color);
407
- background-color: var(--cirth-background-color);
408
402
  color: var(--cirth-color);
409
403
  font-weight: var(--cirth-font-weight);
410
404
  font-variant-numeric: tabular-nums;
411
- text-align: left;
412
405
  text-align: start;
413
406
  }
414
407
 
@@ -421,22 +414,15 @@
421
414
  vertical-align: middle;
422
415
  }
423
416
 
424
- .cirth audio, .cirth video {
425
- display: inline-block;
426
- }
427
-
428
- .cirth audio:not([controls]) {
429
- height: 0;
430
- display: none;
431
- }
432
-
433
417
  .cirth :where(iframe) {
434
418
  border-style: none;
435
419
  }
436
420
 
437
421
  .cirth img {
438
- border-style: none;
439
422
  max-width: 100%;
423
+ }
424
+
425
+ .cirth img:where(:not([height]), [width][height]) {
440
426
  height: auto;
441
427
  }
442
428
 
@@ -444,10 +430,6 @@
444
430
  fill: currentColor;
445
431
  }
446
432
 
447
- .cirth svg:not(:root), .cirth svg:not(:host) {
448
- overflow: hidden;
449
- }
450
-
451
433
  .cirth pre, .cirth code, .cirth kbd, .cirth samp {
452
434
  font-size: .875em;
453
435
  font-family: var(--cirth-font-family);
@@ -459,7 +441,6 @@
459
441
  }
460
442
 
461
443
  .cirth pre {
462
- -ms-overflow-style: scrollbar;
463
444
  overflow: auto;
464
445
  }
465
446
 
@@ -495,6 +476,13 @@
495
476
  vertical-align: baseline;
496
477
  }
497
478
 
479
+ .cirth var {
480
+ color: var(--cirth-code-color);
481
+ font-size: .875em;
482
+ font-style: italic;
483
+ font-family: var(--cirth-font-family);
484
+ }
485
+
498
486
  .cirth figure {
499
487
  margin: 0;
500
488
  padding: 0;
@@ -514,14 +502,10 @@
514
502
  color: inherit;
515
503
  }
516
504
 
517
- .cirth [hidden], .cirth template {
505
+ .cirth [hidden]:where(:not([hidden="until-found"])) {
518
506
  display: none;
519
507
  }
520
508
 
521
- .cirth canvas {
522
- display: inline-block;
523
- }
524
-
525
509
  .cirth input, .cirth optgroup, .cirth select, .cirth textarea {
526
510
  font-size: var(--cirth-font-size-md);
527
511
  line-height: var(--cirth-line-height);
@@ -530,26 +514,7 @@
530
514
  font-family: inherit;
531
515
  }
532
516
 
533
- .cirth input {
534
- overflow: visible;
535
- }
536
-
537
- .cirth select {
538
- text-transform: none;
539
- }
540
-
541
517
  .cirth legend {
542
- max-width: 100%;
543
- color: inherit;
544
- white-space: normal;
545
- padding: 0;
546
- }
547
-
548
- .cirth textarea {
549
- overflow: auto;
550
- }
551
-
552
- .cirth [type="checkbox"], .cirth [type="radio"] {
553
518
  padding: 0;
554
519
  }
555
520
 
@@ -570,28 +535,15 @@
570
535
  -webkit-appearance: none;
571
536
  }
572
537
 
573
- .cirth ::-webkit-file-upload-button {
538
+ .cirth ::file-selector-button {
574
539
  -webkit-appearance: button;
575
540
  font: inherit;
576
541
  }
577
542
 
578
- .cirth ::-moz-focus-inner {
579
- border-style: none;
580
- padding: 0;
581
- }
582
-
583
- .cirth :-moz-focusring {
584
- outline: none;
585
- }
586
-
587
543
  .cirth :-moz-ui-invalid {
588
544
  box-shadow: none;
589
545
  }
590
546
 
591
- .cirth ::-ms-expand {
592
- display: none;
593
- }
594
-
595
547
  .cirth [type="file"], .cirth [type="range"] {
596
548
  border-width: 0;
597
549
  padding: 0;
@@ -668,13 +620,10 @@
668
620
  }
669
621
 
670
622
  .cirth :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid] {
671
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
672
- padding-left: var(--cirth-form-element-spacing-horizontal);
623
+ padding-inline: var(--cirth-form-element-spacing-horizontal) calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
673
624
  background-position: center right var(--cirth-space-3);
674
625
  background-size: var(--cirth-size-4) auto;
675
626
  background-repeat: no-repeat;
676
- padding-inline-start: var(--cirth-form-element-spacing-horizontal);
677
- padding-inline-end: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
678
627
  }
679
628
 
680
629
  .cirth :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) {
@@ -715,17 +664,11 @@
715
664
  background-position: center left var(--cirth-space-3);
716
665
  }
717
666
 
718
- .cirth input::placeholder, .cirth textarea::placeholder, .cirth select:invalid {
719
- color: var(--cirth-form-element-placeholder-color);
720
- opacity: 1;
721
- }
722
-
723
- .cirth input::-webkit-input-placeholder {
724
- color: var(--cirth-form-element-placeholder-color);
725
- opacity: 1;
667
+ [dir="rtl"] .cirth textarea[aria-invalid] {
668
+ background-position: top left var(--cirth-space-3);
726
669
  }
727
670
 
728
- .cirth textarea::-webkit-input-placeholder {
671
+ .cirth input::placeholder, .cirth textarea::placeholder, .cirth select:invalid {
729
672
  color: var(--cirth-form-element-placeholder-color);
730
673
  opacity: 1;
731
674
  }
@@ -734,20 +677,12 @@
734
677
  margin-bottom: var(--cirth-spacing);
735
678
  }
736
679
 
737
- .cirth select::-ms-expand {
738
- background-color: #0000;
739
- border: 0;
740
- }
741
-
742
680
  .cirth select:not([multiple], [size]) {
743
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
744
- padding-left: var(--cirth-form-element-spacing-horizontal);
681
+ padding-inline: var(--cirth-form-element-spacing-horizontal) calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
745
682
  background-image: var(--cirth-icon-chevron);
746
683
  background-position: center right var(--cirth-space-3);
747
684
  background-size: var(--cirth-size-4) auto;
748
685
  background-repeat: no-repeat;
749
- padding-inline-start: var(--cirth-form-element-spacing-horizontal);
750
- padding-inline-end: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
751
686
  }
752
687
 
753
688
  .cirth select[multiple] option:checked {
@@ -936,76 +871,80 @@
936
871
  .cirth input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]):is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
937
872
  --cirth-icon-position: var(--cirth-space-3);
938
873
  --cirth-icon-width: var(--cirth-size-4);
939
- padding-right: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
940
874
  background-image: var(--cirth-icon-date);
941
875
  background-position: center right var(--cirth-icon-position);
942
876
  background-size: var(--cirth-icon-width) auto;
943
877
  background-repeat: no-repeat;
878
+ padding-inline-end: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
944
879
  }
945
880
 
946
881
  .cirth input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="time"] {
947
882
  background-image: var(--cirth-icon-time);
948
883
  }
949
884
 
885
+ .cirth ::-webkit-date-and-time-value {
886
+ text-align: inherit;
887
+ }
888
+
889
+ .cirth ::-webkit-datetime-edit {
890
+ padding-block: 0;
891
+ }
892
+
950
893
  .cirth [type="date"]::-webkit-calendar-picker-indicator {
951
894
  width: var(--cirth-icon-width);
952
- margin-right: calc(var(--cirth-icon-width) * -1);
953
- margin-left: var(--cirth-icon-position);
895
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
954
896
  opacity: 0;
955
897
  }
956
898
 
957
899
  .cirth [type="datetime-local"]::-webkit-calendar-picker-indicator {
958
900
  width: var(--cirth-icon-width);
959
- margin-right: calc(var(--cirth-icon-width) * -1);
960
- margin-left: var(--cirth-icon-position);
901
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
961
902
  opacity: 0;
962
903
  }
963
904
 
964
905
  .cirth [type="month"]::-webkit-calendar-picker-indicator {
965
906
  width: var(--cirth-icon-width);
966
- margin-right: calc(var(--cirth-icon-width) * -1);
967
- margin-left: var(--cirth-icon-position);
907
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
968
908
  opacity: 0;
969
909
  }
970
910
 
971
911
  .cirth [type="time"]::-webkit-calendar-picker-indicator {
972
912
  width: var(--cirth-icon-width);
973
- margin-right: calc(var(--cirth-icon-width) * -1);
974
- margin-left: var(--cirth-icon-position);
913
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
975
914
  opacity: 0;
976
915
  }
977
916
 
978
917
  .cirth [type="week"]::-webkit-calendar-picker-indicator {
979
918
  width: var(--cirth-icon-width);
980
- margin-right: calc(var(--cirth-icon-width) * -1);
981
- margin-left: var(--cirth-icon-position);
919
+ margin-inline: var(--cirth-icon-position) calc(var(--cirth-icon-width) * -1);
982
920
  opacity: 0;
983
921
  }
984
922
 
985
923
  @-moz-document url-prefix() {
986
924
  .cirth [type="date"], .cirth [type="datetime-local"], .cirth [type="month"], .cirth [type="time"], .cirth [type="week"] {
987
- padding-right: var(--cirth-form-element-spacing-horizontal);
988
925
  background-image: none;
926
+ padding-inline-end: var(--cirth-form-element-spacing-horizontal);
989
927
  }
990
928
  }
991
929
 
992
930
  [dir="rtl"] .cirth :is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
931
+ background-position: center left var(--cirth-icon-position);
993
932
  text-align: right;
994
933
  }
995
934
 
996
935
  .cirth [type="file"] {
997
936
  --cirth-color: var(--cirth-muted-color);
998
- margin-left: calc(var(--cirth-outline-width) * -1);
999
937
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) 0;
1000
- padding-left: var(--cirth-outline-width);
1001
938
  background: none;
1002
939
  border: 0;
1003
940
  border-radius: 0;
941
+ margin-inline-start: calc(var(--cirth-outline-width) * -1);
942
+ padding-inline-start: var(--cirth-outline-width);
1004
943
  }
1005
944
 
1006
945
  .cirth [type="file"]::file-selector-button {
1007
- margin-right: calc(var(--cirth-spacing) / 2);
1008
946
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
947
+ margin-inline-end: calc(var(--cirth-spacing) / 2);
1009
948
  }
1010
949
 
1011
950
  .cirth [type="file"]:is(:hover, :active, :focus)::file-selector-button {
@@ -1189,7 +1128,7 @@
1189
1128
  }
1190
1129
 
1191
1130
  .cirth details summary[role="button"] {
1192
- text-align: left;
1131
+ text-align: start;
1193
1132
  width: 100%;
1194
1133
  }
1195
1134
 
@@ -1209,10 +1148,6 @@
1209
1148
  transform: rotate(0);
1210
1149
  }
1211
1150
 
1212
- [dir="rtl"] .cirth details summary {
1213
- text-align: right;
1214
- }
1215
-
1216
1151
  [dir="rtl"] .cirth details summary:after {
1217
1152
  float: left;
1218
1153
  background-position: 0;
@@ -1227,12 +1162,15 @@
1227
1162
  }
1228
1163
 
1229
1164
  .cirth article > header, .cirth article > footer {
1230
- margin-right: calc(var(--cirth-block-spacing-horizontal) * -1);
1231
- margin-left: calc(var(--cirth-block-spacing-horizontal) * -1);
1165
+ margin-inline: calc(var(--cirth-block-spacing-horizontal) * -1);
1232
1166
  padding: calc(var(--cirth-block-spacing-vertical) - var(--cirth-space-2)) var(--cirth-block-spacing-horizontal);
1233
1167
  background-color: var(--cirth-card-sectioning-background-color);
1234
1168
  }
1235
1169
 
1170
+ .cirth article > header > :last-child, .cirth article > footer > :last-child {
1171
+ margin-bottom: 0;
1172
+ }
1173
+
1236
1174
  .cirth article > header {
1237
1175
  margin-top: calc(var(--cirth-block-spacing-vertical) * -1);
1238
1176
  margin-bottom: var(--cirth-block-spacing-vertical);
@@ -1256,33 +1194,50 @@
1256
1194
  box-shadow: var(--cirth-group-box-shadow, 0 0 0 #0000);
1257
1195
  vertical-align: middle;
1258
1196
  transition: box-shadow var(--cirth-transition);
1197
+ flex-wrap: wrap;
1259
1198
  display: inline-flex;
1260
1199
  position: relative;
1261
1200
  }
1262
1201
 
1202
+ .cirth [role="search"] > small, .cirth [role="group"] > small {
1203
+ margin-top: calc(var(--cirth-spacing) * .25);
1204
+ flex: 0 0 100%;
1205
+ order: 1;
1206
+ margin-bottom: 0;
1207
+ }
1208
+
1263
1209
  .cirth [role="search"] > *, .cirth [role="search"] input:not([type="checkbox"], [type="radio"]), .cirth [role="search"] select, .cirth [role="group"] > *, .cirth [role="group"] input:not([type="checkbox"], [type="radio"]), .cirth [role="group"] select {
1264
1210
  flex: auto;
1265
1211
  margin-bottom: 0;
1266
1212
  position: relative;
1267
1213
  }
1268
1214
 
1215
+ .cirth [role="search"] > :is(input, select, textarea), .cirth [role="search"] input:not([type="checkbox"], [type="radio"]):is(input, select, textarea), .cirth [role="search"] select:is(input, select, textarea), .cirth [role="group"] > :is(input, select, textarea), .cirth [role="group"] input:not([type="checkbox"], [type="radio"]):is(input, select, textarea), .cirth [role="group"] select:is(input, select, textarea) {
1216
+ flex: 99;
1217
+ }
1218
+
1269
1219
  .cirth [role="search"] > :not(:first-child), .cirth [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child), .cirth [role="search"] select:not(:first-child), .cirth [role="group"] > :not(:first-child), .cirth [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child), .cirth [role="group"] select:not(:first-child) {
1270
- border-top-left-radius: 0;
1271
- border-bottom-left-radius: 0;
1272
- margin-left: 0;
1220
+ border-start-start-radius: 0;
1221
+ border-end-start-radius: 0;
1222
+ margin-inline-start: 0;
1273
1223
  }
1274
1224
 
1275
1225
  .cirth [role="search"] > :not(:last-child), .cirth [role="search"] input:not([type="checkbox"], [type="radio"]):not(:last-child), .cirth [role="search"] select:not(:last-child), .cirth [role="group"] > :not(:last-child), .cirth [role="group"] input:not([type="checkbox"], [type="radio"]):not(:last-child), .cirth [role="group"] select:not(:last-child) {
1276
- border-top-right-radius: 0;
1277
- border-bottom-right-radius: 0;
1226
+ border-start-end-radius: 0;
1227
+ border-end-end-radius: 0;
1278
1228
  }
1279
1229
 
1280
1230
  .cirth [role="search"] > :focus, .cirth [role="search"] input:not([type="checkbox"], [type="radio"]):focus, .cirth [role="search"] select:focus, .cirth [role="group"] > :focus, .cirth [role="group"] input:not([type="checkbox"], [type="radio"]):focus, .cirth [role="group"] select:focus {
1281
1231
  z-index: 2;
1282
1232
  }
1283
1233
 
1234
+ :is(.cirth [role="search"] > :has( + small:last-child), .cirth [role="group"] > :has( + small:last-child)) {
1235
+ border-start-end-radius: var(--cirth-border-radius);
1236
+ border-end-end-radius: var(--cirth-border-radius);
1237
+ }
1238
+
1284
1239
  .cirth [role="search"] button:not(:first-child), .cirth [role="search"] [type="submit"]:not(:first-child), .cirth [role="search"] [type="reset"]:not(:first-child), .cirth [role="search"] [type="button"]:not(:first-child), .cirth [role="search"] [role="button"]:not(:first-child), .cirth [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child), .cirth [role="search"] select:not(:first-child), .cirth [role="group"] button:not(:first-child), .cirth [role="group"] [type="submit"]:not(:first-child), .cirth [role="group"] [type="reset"]:not(:first-child), .cirth [role="group"] [type="button"]:not(:first-child), .cirth [role="group"] [role="button"]:not(:first-child), .cirth [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child), .cirth [role="group"] select:not(:first-child) {
1285
- margin-left: calc(var(--cirth-border-width) * -1);
1240
+ margin-inline-start: calc(var(--cirth-border-width) * -1);
1286
1241
  }
1287
1242
 
1288
1243
  .cirth [role="search"] button, .cirth [role="search"] [type="submit"], .cirth [role="search"] [type="reset"], .cirth [role="search"] [type="button"], .cirth [role="search"] [role="button"], .cirth [role="group"] button, .cirth [role="group"] [type="submit"], .cirth [role="group"] [type="reset"], .cirth [role="group"] [type="button"], .cirth [role="group"] [role="button"] {
@@ -1294,19 +1249,7 @@
1294
1249
  --cirth-group-box-shadow: var(--cirth-group-box-shadow-focus-with-button);
1295
1250
  }
1296
1251
 
1297
- .cirth [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1298
- border-color: #0000;
1299
- }
1300
-
1301
- .cirth [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1302
- border-color: #0000;
1303
- }
1304
-
1305
- .cirth [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1306
- border-color: #0000;
1307
- }
1308
-
1309
- .cirth [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1252
+ :is(.cirth [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"], [aria-invalid]), .cirth [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select:not([aria-invalid]), .cirth [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"], [aria-invalid]), .cirth [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select:not([aria-invalid])) {
1310
1253
  border-color: #0000;
1311
1254
  }
1312
1255
 
@@ -1376,13 +1319,18 @@
1376
1319
  }
1377
1320
 
1378
1321
  .cirth [role="search"] > :first-child {
1379
- border-top-left-radius: var(--cirth-radius-pill);
1380
- border-bottom-left-radius: var(--cirth-radius-pill);
1322
+ border-start-start-radius: var(--cirth-radius-pill);
1323
+ border-end-start-radius: var(--cirth-radius-pill);
1381
1324
  }
1382
1325
 
1383
1326
  .cirth [role="search"] > :last-child {
1384
- border-top-right-radius: var(--cirth-radius-pill);
1385
- border-bottom-right-radius: var(--cirth-radius-pill);
1327
+ border-start-end-radius: var(--cirth-radius-pill);
1328
+ border-end-end-radius: var(--cirth-radius-pill);
1329
+ }
1330
+
1331
+ .cirth [role="search"] > :has( + small:last-child) {
1332
+ border-start-end-radius: var(--cirth-radius-pill);
1333
+ border-end-end-radius: var(--cirth-radius-pill);
1386
1334
  }
1387
1335
 
1388
1336
  .cirth [aria-busy="true"]:not(input, select, textarea, html, form) {
@@ -1390,14 +1338,24 @@
1390
1338
  }
1391
1339
 
1392
1340
  .cirth [aria-busy="true"]:not(input, select, textarea, html, form):before {
1393
- background-image: var(--cirth-icon-loading);
1394
1341
  content: "";
1395
1342
  vertical-align: -.125em;
1396
- background-repeat: no-repeat;
1397
- background-size: 1em;
1398
1343
  width: 1em;
1399
1344
  height: 1em;
1345
+ -webkit-mask-image: var(--cirth-icon-loading);
1346
+ mask-image: var(--cirth-icon-loading);
1347
+ background-color: currentColor;
1400
1348
  display: inline-block;
1349
+ -webkit-mask-size: 1em;
1350
+ mask-size: 1em;
1351
+ -webkit-mask-repeat: no-repeat;
1352
+ mask-repeat: no-repeat;
1353
+ }
1354
+
1355
+ @media (forced-colors: active) {
1356
+ .cirth [aria-busy="true"]:not(input, select, textarea, html, form):before {
1357
+ background-color: canvastext;
1358
+ }
1401
1359
  }
1402
1360
 
1403
1361
  .cirth [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty):before {
@@ -1408,6 +1366,18 @@
1408
1366
  text-align: center;
1409
1367
  }
1410
1368
 
1369
+ .cirth input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1370
+ background-image: var(--cirth-icon-loading);
1371
+ background-position: center left var(--cirth-form-element-spacing-horizontal);
1372
+ background-repeat: no-repeat;
1373
+ background-size: 1em;
1374
+ padding-inline-start: calc(var(--cirth-form-element-spacing-horizontal) + 1em + var(--cirth-spacing) * .5);
1375
+ }
1376
+
1377
+ [dir="rtl"] .cirth input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1378
+ background-position: center right var(--cirth-form-element-spacing-horizontal);
1379
+ }
1380
+
1411
1381
  .cirth button[aria-busy="true"], .cirth [type="submit"][aria-busy="true"], .cirth [type="button"][aria-busy="true"], .cirth [type="reset"][aria-busy="true"], .cirth [role="button"][aria-busy="true"], .cirth a[aria-busy="true"] {
1412
1382
  pointer-events: none;
1413
1383
  }
@@ -1438,6 +1408,7 @@
1438
1408
  .cirth dialog > article {
1439
1409
  width: 100%;
1440
1410
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1411
+ max-height: calc(100dvh - var(--cirth-spacing) * 2);
1441
1412
  margin: var(--cirth-spacing);
1442
1413
  overflow: auto;
1443
1414
  }
@@ -1460,13 +1431,13 @@
1460
1431
 
1461
1432
  .cirth dialog > article > header :is(a, button)[rel="prev"] {
1462
1433
  margin: 0;
1463
- margin-left: var(--cirth-spacing);
1464
1434
  float: right;
1435
+ margin-inline-start: var(--cirth-spacing);
1465
1436
  padding: 0;
1466
1437
  }
1467
1438
 
1468
1439
  .cirth dialog > article > footer {
1469
- text-align: right;
1440
+ text-align: end;
1470
1441
  }
1471
1442
 
1472
1443
  .cirth dialog > article > footer button, .cirth dialog > article > footer [role="button"] {
@@ -1474,7 +1445,7 @@
1474
1445
  }
1475
1446
 
1476
1447
  .cirth dialog > article > footer button:not(:first-of-type), .cirth dialog > article > footer [role="button"]:not(:first-of-type) {
1477
- margin-left: calc(var(--cirth-spacing) * .5);
1448
+ margin-inline-start: calc(var(--cirth-spacing) * .5);
1478
1449
  }
1479
1450
 
1480
1451
  .cirth dialog > article :is(a, button)[rel="prev"] {
@@ -1490,7 +1461,7 @@
1490
1461
  background-color: #0000;
1491
1462
  background-repeat: no-repeat;
1492
1463
  border: none;
1493
- margin-left: auto;
1464
+ margin-inline-start: auto;
1494
1465
  display: block;
1495
1466
  }
1496
1467
 
@@ -1502,6 +1473,10 @@
1502
1473
  display: none;
1503
1474
  }
1504
1475
 
1476
+ [dir="rtl"] .cirth dialog > article > header :is(a, button)[rel="prev"] {
1477
+ float: left;
1478
+ }
1479
+
1505
1480
  .cirth :where(nav li):before {
1506
1481
  float: left;
1507
1482
  content: "​";
@@ -1524,11 +1499,11 @@
1524
1499
  }
1525
1500
 
1526
1501
  .cirth nav ol:first-of-type, .cirth nav ul:first-of-type {
1527
- margin-left: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1502
+ margin-inline-start: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1528
1503
  }
1529
1504
 
1530
1505
  .cirth nav ol:last-of-type, .cirth nav ul:last-of-type {
1531
- margin-right: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1506
+ margin-inline-end: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1532
1507
  }
1533
1508
 
1534
1509
  .cirth nav li {
@@ -1537,23 +1512,27 @@
1537
1512
  display: inline-block;
1538
1513
  }
1539
1514
 
1540
- .cirth nav li :where(a, [role="link"]) {
1515
+ .cirth nav li :where(a:not([role="button"]), [role="link"]) {
1541
1516
  margin: calc(var(--cirth-nav-link-spacing-vertical) * -1) calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1542
1517
  padding: var(--cirth-nav-link-spacing-vertical) var(--cirth-nav-link-spacing-horizontal);
1543
1518
  border-radius: var(--cirth-border-radius);
1544
1519
  display: inline-block;
1545
1520
  }
1546
1521
 
1547
- .cirth nav li :where(a, [role="link"]):not(:hover) {
1522
+ .cirth nav li :where(a:not([role="button"]), [role="link"]):not(:hover) {
1548
1523
  text-decoration: none;
1549
1524
  }
1550
1525
 
1526
+ .cirth nav li [role="group"], .cirth nav li [role="search"] {
1527
+ width: auto;
1528
+ margin-bottom: 0;
1529
+ }
1530
+
1551
1531
  .cirth nav li button, .cirth nav li [role="button"], .cirth nav li [type="button"], .cirth nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]), .cirth nav li select {
1552
1532
  height: auto;
1553
- margin-right: inherit;
1554
- margin-bottom: 0;
1555
- margin-left: inherit;
1533
+ margin-inline: inherit;
1556
1534
  padding: calc(var(--cirth-nav-link-spacing-vertical) - var(--cirth-border-width) * 2) var(--cirth-nav-link-spacing-horizontal);
1535
+ margin-bottom: 0;
1557
1536
  }
1558
1537
 
1559
1538
  .cirth nav[aria-label="breadcrumb"] {
@@ -1605,10 +1584,6 @@
1605
1584
  margin: inherit;
1606
1585
  }
1607
1586
 
1608
- [dir="rtl"] .cirth nav[aria-label="breadcrumb"] ul li:not(:last-child) :after {
1609
- content: "\\";
1610
- }
1611
-
1612
1587
  .cirth progress {
1613
1588
  vertical-align: baseline;
1614
1589
  appearance: none;
@@ -1814,7 +1789,7 @@
1814
1789
  opacity: 0;
1815
1790
  }
1816
1791
 
1817
- to {
1792
+ 100% {
1818
1793
  transform: var(--cirth-tooltip-caret-slide-to);
1819
1794
  opacity: 1;
1820
1795
  }
@@ -1833,14 +1808,10 @@
1833
1808
  }
1834
1809
 
1835
1810
  .cirth [aria-hidden="false"][hidden]:not(:focus) {
1836
- clip: rect(0, 0, 0, 0);
1811
+ clip-path: inset(50%);
1837
1812
  position: absolute;
1838
1813
  }
1839
1814
 
1840
- .cirth a, .cirth area, .cirth button, .cirth input, .cirth label, .cirth select, .cirth summary, .cirth textarea, .cirth [tabindex] {
1841
- -ms-touch-action: manipulation;
1842
- }
1843
-
1844
1815
  .cirth [dir="rtl"] {
1845
1816
  direction: rtl;
1846
1817
  }
@@ -1999,6 +1970,7 @@
1999
1970
 
2000
1971
  .cirth small {
2001
1972
  --cirth-font-size: .875em;
1973
+ font-size: var(--cirth-font-size);
2002
1974
  }
2003
1975
 
2004
1976
  .cirth h1, .cirth h2, .cirth h3 {
@@ -2059,7 +2031,7 @@
2059
2031
  --cirth-border-width: .1875rem;
2060
2032
  }
2061
2033
 
2062
- .cirth pre, .cirth code, .cirth kbd, .cirth samp {
2034
+ .cirth pre, .cirth code, .cirth kbd, .cirth samp, .cirth var {
2063
2035
  --cirth-font-family: var(--cirth-font-family-mono);
2064
2036
  }
2065
2037
 
@@ -2110,7 +2082,7 @@
2110
2082
  --cirth-form-element-spacing-horizontal: var(--cirth-space-8);
2111
2083
  }
2112
2084
 
2113
- .cirth details summary[role="button"]:after, .cirth [aria-busy="true"]:not(input, select, textarea):is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):before {
2085
+ .cirth details summary[role="button"]:after {
2114
2086
  filter: brightness(0) invert();
2115
2087
  }
2116
2088