@cirthcss/cirth 0.4.0 → 0.6.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.
@@ -40,47 +40,44 @@
40
40
  margin-bottom: var(--cirth-block-spacing-vertical);
41
41
  }
42
42
 
43
- .container, .container-fluid {
43
+ .cirth .container, .cirth .container-fluid {
44
44
  width: 100%;
45
- padding-right: var(--cirth-spacing);
46
- padding-left: var(--cirth-spacing);
47
- margin-left: auto;
48
- margin-right: auto;
45
+ padding-inline: var(--cirth-spacing);
46
+ margin-inline: auto;
49
47
  }
50
48
 
51
49
  @media (min-width: 576px) {
52
- .container {
50
+ .cirth .container {
53
51
  max-width: 510px;
54
- padding-left: 0;
55
- padding-right: 0;
52
+ padding-inline: 0;
56
53
  }
57
54
  }
58
55
 
59
56
  @media (min-width: 768px) {
60
- .container {
57
+ .cirth .container {
61
58
  max-width: 700px;
62
59
  }
63
60
  }
64
61
 
65
62
  @media (min-width: 1024px) {
66
- .container {
63
+ .cirth .container {
67
64
  max-width: 950px;
68
65
  }
69
66
  }
70
67
 
71
68
  @media (min-width: 1280px) {
72
- .container {
69
+ .cirth .container {
73
70
  max-width: 1200px;
74
71
  }
75
72
  }
76
73
 
77
74
  @media (min-width: 1536px) {
78
- .container {
75
+ .cirth .container {
79
76
  max-width: 1450px;
80
77
  }
81
78
  }
82
79
 
83
- .grid {
80
+ .cirth .grid {
84
81
  grid-column-gap: var(--cirth-grid-column-gap);
85
82
  grid-row-gap: var(--cirth-grid-row-gap);
86
83
  grid-template-columns: 1fr;
@@ -88,15 +85,19 @@
88
85
  }
89
86
 
90
87
  @media (min-width: 768px) {
91
- .grid {
88
+ .cirth .grid {
92
89
  grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
93
90
  }
94
91
  }
95
92
 
96
- .grid > * {
93
+ .cirth .grid > * {
97
94
  min-width: 0;
98
95
  }
99
96
 
97
+ .cirth .grid > :where(button, [type="submit"], [type="reset"], [role="button"], input:not([type="checkbox"], [type="radio"]), select, textarea) {
98
+ margin-bottom: 0;
99
+ }
100
+
100
101
  .cirth .overflow-auto {
101
102
  overflow: auto;
102
103
  }
@@ -210,8 +211,6 @@
210
211
  .cirth blockquote {
211
212
  margin: var(--cirth-typography-spacing-vertical) 0;
212
213
  padding: var(--cirth-spacing);
213
- border-right: none;
214
- border-left: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
215
214
  border-inline-start: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
216
215
  border-inline-end: none;
217
216
  display: block;
@@ -251,7 +250,6 @@
251
250
  text-decoration: var(--cirth-text-decoration);
252
251
  -webkit-text-decoration-color: var(--cirth-underline);
253
252
  text-decoration-color: var(--cirth-underline);
254
- text-underline-offset: .125em;
255
253
  transition: background-color var(--cirth-transition), color var(--cirth-transition), text-decoration var(--cirth-transition), box-shadow var(--cirth-transition);
256
254
  outline: none;
257
255
  }
@@ -457,24 +455,24 @@
457
455
  0 0 0 var(--cirth-outline-width) var(--cirth-contrast-focus);
458
456
  }
459
457
 
460
- .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline, [type="reset"].outline {
458
+ .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline, .cirth [type="reset"].outline {
461
459
  --cirth-background-color: transparent;
462
460
  --cirth-color: var(--cirth-primary);
463
461
  --cirth-border-color: var(--cirth-primary);
464
462
  }
465
463
 
466
- .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus), [type="reset"].outline:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
464
+ .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus), .cirth [type="reset"].outline:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
467
465
  --cirth-background-color: transparent;
468
466
  --cirth-color: var(--cirth-primary-hover);
469
467
  --cirth-border-color: var(--cirth-primary-hover);
470
468
  }
471
469
 
472
- .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline.secondary, [type="reset"].outline {
470
+ .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline.secondary, .cirth [type="reset"].outline {
473
471
  --cirth-color: var(--cirth-secondary);
474
472
  --cirth-border-color: var(--cirth-secondary);
475
473
  }
476
474
 
477
- .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline.secondary:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus), [type="reset"].outline:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
475
+ .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline.secondary:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus), .cirth [type="reset"].outline:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
478
476
  --cirth-color: var(--cirth-secondary-hover);
479
477
  --cirth-border-color: var(--cirth-secondary-hover);
480
478
  }
@@ -504,11 +502,9 @@
504
502
  .cirth th, .cirth td {
505
503
  padding: calc(var(--cirth-spacing) / 2) var(--cirth-spacing);
506
504
  border-bottom: var(--cirth-border-width) solid var(--cirth-table-border-color);
507
- background-color: var(--cirth-background-color);
508
505
  color: var(--cirth-color);
509
506
  font-weight: var(--cirth-font-weight);
510
507
  font-variant-numeric: tabular-nums;
511
- text-align: left;
512
508
  text-align: start;
513
509
  }
514
510
 
@@ -541,6 +537,9 @@
541
537
  .cirth img {
542
538
  border-style: none;
543
539
  max-width: 100%;
540
+ }
541
+
542
+ .cirth img:where(:not([height]), [width][height]) {
544
543
  height: auto;
545
544
  }
546
545
 
@@ -599,6 +598,13 @@
599
598
  vertical-align: baseline;
600
599
  }
601
600
 
601
+ .cirth var {
602
+ color: var(--cirth-code-color);
603
+ font-size: .875em;
604
+ font-style: italic;
605
+ font-family: var(--cirth-font-family);
606
+ }
607
+
602
608
  .cirth figure {
603
609
  margin: 0;
604
610
  padding: 0;
@@ -772,8 +778,6 @@
772
778
  }
773
779
 
774
780
  .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] {
775
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
776
- padding-left: var(--cirth-form-element-spacing-horizontal);
777
781
  background-position: center right var(--cirth-space-3);
778
782
  background-size: var(--cirth-size-4) auto;
779
783
  background-repeat: no-repeat;
@@ -819,6 +823,10 @@
819
823
  background-position: center left var(--cirth-space-3);
820
824
  }
821
825
 
826
+ [dir="rtl"] .cirth textarea[aria-invalid] {
827
+ background-position: top left var(--cirth-space-3);
828
+ }
829
+
822
830
  .cirth input::placeholder, .cirth textarea::placeholder, .cirth select:invalid {
823
831
  color: var(--cirth-form-element-placeholder-color);
824
832
  opacity: 1;
@@ -844,8 +852,6 @@
844
852
  }
845
853
 
846
854
  .cirth select:not([multiple], [size]) {
847
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
848
- padding-left: var(--cirth-form-element-spacing-horizontal);
849
855
  background-image: var(--cirth-icon-chevron);
850
856
  background-position: center right var(--cirth-space-3);
851
857
  background-size: var(--cirth-size-4) auto;
@@ -1040,11 +1046,11 @@
1040
1046
  .cirth input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]):is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
1041
1047
  --cirth-icon-position: var(--cirth-space-3);
1042
1048
  --cirth-icon-width: var(--cirth-size-4);
1043
- padding-right: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
1044
1049
  background-image: var(--cirth-icon-date);
1045
1050
  background-position: center right var(--cirth-icon-position);
1046
1051
  background-size: var(--cirth-icon-width) auto;
1047
1052
  background-repeat: no-repeat;
1053
+ padding-inline-end: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
1048
1054
  }
1049
1055
 
1050
1056
  .cirth input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="time"] {
@@ -1053,63 +1059,64 @@
1053
1059
 
1054
1060
  .cirth [type="date"]::-webkit-calendar-picker-indicator {
1055
1061
  width: var(--cirth-icon-width);
1056
- margin-right: calc(var(--cirth-icon-width) * -1);
1057
- margin-left: var(--cirth-icon-position);
1058
1062
  opacity: 0;
1063
+ margin-inline-start: var(--cirth-icon-position);
1064
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1059
1065
  }
1060
1066
 
1061
1067
  .cirth [type="datetime-local"]::-webkit-calendar-picker-indicator {
1062
1068
  width: var(--cirth-icon-width);
1063
- margin-right: calc(var(--cirth-icon-width) * -1);
1064
- margin-left: var(--cirth-icon-position);
1065
1069
  opacity: 0;
1070
+ margin-inline-start: var(--cirth-icon-position);
1071
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1066
1072
  }
1067
1073
 
1068
1074
  .cirth [type="month"]::-webkit-calendar-picker-indicator {
1069
1075
  width: var(--cirth-icon-width);
1070
- margin-right: calc(var(--cirth-icon-width) * -1);
1071
- margin-left: var(--cirth-icon-position);
1072
1076
  opacity: 0;
1077
+ margin-inline-start: var(--cirth-icon-position);
1078
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1073
1079
  }
1074
1080
 
1075
1081
  .cirth [type="time"]::-webkit-calendar-picker-indicator {
1076
1082
  width: var(--cirth-icon-width);
1077
- margin-right: calc(var(--cirth-icon-width) * -1);
1078
- margin-left: var(--cirth-icon-position);
1079
1083
  opacity: 0;
1084
+ margin-inline-start: var(--cirth-icon-position);
1085
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1080
1086
  }
1081
1087
 
1082
1088
  .cirth [type="week"]::-webkit-calendar-picker-indicator {
1083
1089
  width: var(--cirth-icon-width);
1084
- margin-right: calc(var(--cirth-icon-width) * -1);
1085
- margin-left: var(--cirth-icon-position);
1086
1090
  opacity: 0;
1091
+ margin-inline-start: var(--cirth-icon-position);
1092
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1087
1093
  }
1088
1094
 
1089
1095
  @-moz-document url-prefix() {
1090
1096
  .cirth [type="date"], .cirth [type="datetime-local"], .cirth [type="month"], .cirth [type="time"], .cirth [type="week"] {
1091
- padding-right: var(--cirth-form-element-spacing-horizontal);
1092
1097
  background-image: none;
1098
+ padding-inline-end: var(--cirth-form-element-spacing-horizontal);
1093
1099
  }
1094
1100
  }
1095
1101
 
1096
1102
  [dir="rtl"] .cirth :is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
1103
+ background-position: center left var(--cirth-icon-position);
1097
1104
  text-align: right;
1098
1105
  }
1099
1106
 
1100
1107
  .cirth [type="file"] {
1101
1108
  --cirth-color: var(--cirth-muted-color);
1102
- margin-left: calc(var(--cirth-outline-width) * -1);
1103
1109
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) 0;
1104
- padding-left: var(--cirth-outline-width);
1105
1110
  background: none;
1106
1111
  border: 0;
1107
1112
  border-radius: 0;
1113
+ margin-inline-start: calc(var(--cirth-outline-width) * -1);
1114
+ padding-inline-start: var(--cirth-outline-width);
1108
1115
  }
1109
1116
 
1110
1117
  .cirth [type="file"]::file-selector-button {
1111
- margin-right: calc(var(--cirth-spacing) / 2);
1112
1118
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
1119
+ margin-inline-end: calc(var(--cirth-spacing) / 2);
1113
1120
  }
1114
1121
 
1115
1122
  .cirth [type="file"]:is(:hover, :active, :focus)::file-selector-button {
@@ -1293,7 +1300,7 @@
1293
1300
  }
1294
1301
 
1295
1302
  .cirth details summary[role="button"] {
1296
- text-align: left;
1303
+ text-align: start;
1297
1304
  width: 100%;
1298
1305
  }
1299
1306
 
@@ -1313,10 +1320,6 @@
1313
1320
  transform: rotate(0);
1314
1321
  }
1315
1322
 
1316
- [dir="rtl"] .cirth details summary {
1317
- text-align: right;
1318
- }
1319
-
1320
1323
  [dir="rtl"] .cirth details summary:after {
1321
1324
  float: left;
1322
1325
  background-position: 0;
@@ -1331,12 +1334,15 @@
1331
1334
  }
1332
1335
 
1333
1336
  .cirth article > header, .cirth article > footer {
1334
- margin-right: calc(var(--cirth-block-spacing-horizontal) * -1);
1335
- margin-left: calc(var(--cirth-block-spacing-horizontal) * -1);
1337
+ margin-inline: calc(var(--cirth-block-spacing-horizontal) * -1);
1336
1338
  padding: calc(var(--cirth-block-spacing-vertical) - var(--cirth-space-2)) var(--cirth-block-spacing-horizontal);
1337
1339
  background-color: var(--cirth-card-sectioning-background-color);
1338
1340
  }
1339
1341
 
1342
+ .cirth article > header > :last-child, .cirth article > footer > :last-child {
1343
+ margin-bottom: 0;
1344
+ }
1345
+
1340
1346
  .cirth article > header {
1341
1347
  margin-top: calc(var(--cirth-block-spacing-vertical) * -1);
1342
1348
  margin-bottom: var(--cirth-block-spacing-vertical);
@@ -1362,6 +1368,7 @@
1362
1368
  width: var(--cirth-size-4);
1363
1369
  height: calc(var(--cirth-size-4) * var(--cirth-line-height, var(--cirth-line-height-normal)));
1364
1370
  float: right;
1371
+ transform: rotate(0deg) translateX(calc(var(--cirth-form-element-spacing-horizontal) - var(--cirth-space-3)));
1365
1372
  background-image: var(--cirth-icon-chevron);
1366
1373
  background-position: 100%;
1367
1374
  background-size: var(--cirth-size-4) auto;
@@ -1369,7 +1376,6 @@
1369
1376
  background-repeat: no-repeat;
1370
1377
  margin-inline-start: var(--cirth-space-1);
1371
1378
  display: block;
1372
- transform: rotate(0) translateX(.2rem);
1373
1379
  }
1374
1380
 
1375
1381
  .cirth nav details.dropdown {
@@ -1451,12 +1457,7 @@
1451
1457
  padding: 0;
1452
1458
  display: flex;
1453
1459
  position: absolute;
1454
- left: 0;
1455
- }
1456
-
1457
- .cirth details.dropdown > summary + ul[dir="rtl"] {
1458
- left: auto;
1459
- right: 0;
1460
+ inset-inline-start: 0;
1460
1461
  }
1461
1462
 
1462
1463
  .cirth details.dropdown > summary + ul li {
@@ -1490,7 +1491,9 @@
1490
1491
  }
1491
1492
 
1492
1493
  .cirth details.dropdown > summary + ul li label {
1493
- width: 100%;
1494
+ margin: calc(var(--cirth-form-element-spacing-vertical) * -.5) calc(var(--cirth-form-element-spacing-horizontal) * -1);
1495
+ padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
1496
+ display: block;
1494
1497
  }
1495
1498
 
1496
1499
  .cirth details.dropdown > summary + ul li:has(label):hover {
@@ -1523,6 +1526,16 @@
1523
1526
  margin-top: calc(var(--cirth-spacing) * .25);
1524
1527
  }
1525
1528
 
1529
+ [dir="rtl"] .cirth details.dropdown > summary:after, [dir="rtl"] .cirth details.dropdown > button:after, [dir="rtl"] .cirth details.dropdown > a:after {
1530
+ float: left;
1531
+ transform: rotate(0deg) translateX(calc((var(--cirth-form-element-spacing-horizontal) - var(--cirth-space-3)) * -1));
1532
+ background-position: 0;
1533
+ }
1534
+
1535
+ [dir="rtl"] .cirth nav details.dropdown > summary:after {
1536
+ transform: rotate(0) translateX(0);
1537
+ }
1538
+
1526
1539
  .cirth [role="search"], .cirth [role="group"] {
1527
1540
  width: 100%;
1528
1541
  margin-bottom: var(--cirth-spacing);
@@ -1530,33 +1543,50 @@
1530
1543
  box-shadow: var(--cirth-group-box-shadow, 0 0 0 #0000);
1531
1544
  vertical-align: middle;
1532
1545
  transition: box-shadow var(--cirth-transition);
1546
+ flex-wrap: wrap;
1533
1547
  display: inline-flex;
1534
1548
  position: relative;
1535
1549
  }
1536
1550
 
1551
+ .cirth [role="search"] > small, .cirth [role="group"] > small {
1552
+ margin-top: calc(var(--cirth-spacing) * .25);
1553
+ flex: 0 0 100%;
1554
+ order: 1;
1555
+ margin-bottom: 0;
1556
+ }
1557
+
1537
1558
  .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 {
1538
1559
  flex: auto;
1539
1560
  margin-bottom: 0;
1540
1561
  position: relative;
1541
1562
  }
1542
1563
 
1564
+ .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) {
1565
+ flex: 99;
1566
+ }
1567
+
1543
1568
  .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) {
1544
- border-top-left-radius: 0;
1545
- border-bottom-left-radius: 0;
1546
- margin-left: 0;
1569
+ border-start-start-radius: 0;
1570
+ border-end-start-radius: 0;
1571
+ margin-inline-start: 0;
1547
1572
  }
1548
1573
 
1549
1574
  .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) {
1550
- border-top-right-radius: 0;
1551
- border-bottom-right-radius: 0;
1575
+ border-start-end-radius: 0;
1576
+ border-end-end-radius: 0;
1552
1577
  }
1553
1578
 
1554
1579
  .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 {
1555
1580
  z-index: 2;
1556
1581
  }
1557
1582
 
1583
+ :is(.cirth [role="search"] > :has( + small:last-child), .cirth [role="group"] > :has( + small:last-child)) {
1584
+ border-start-end-radius: var(--cirth-border-radius);
1585
+ border-end-end-radius: var(--cirth-border-radius);
1586
+ }
1587
+
1558
1588
  .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) {
1559
- margin-left: calc(var(--cirth-border-width) * -1);
1589
+ margin-inline-start: calc(var(--cirth-border-width) * -1);
1560
1590
  }
1561
1591
 
1562
1592
  .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"] {
@@ -1568,19 +1598,7 @@
1568
1598
  --cirth-group-box-shadow: var(--cirth-group-box-shadow-focus-with-button);
1569
1599
  }
1570
1600
 
1571
- .cirth [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1572
- border-color: #0000;
1573
- }
1574
-
1575
- .cirth [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1576
- border-color: #0000;
1577
- }
1578
-
1579
- .cirth [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1580
- border-color: #0000;
1581
- }
1582
-
1583
- .cirth [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1601
+ :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])) {
1584
1602
  border-color: #0000;
1585
1603
  }
1586
1604
 
@@ -1650,13 +1668,18 @@
1650
1668
  }
1651
1669
 
1652
1670
  .cirth [role="search"] > :first-child {
1653
- border-top-left-radius: var(--cirth-radius-pill);
1654
- border-bottom-left-radius: var(--cirth-radius-pill);
1671
+ border-start-start-radius: var(--cirth-radius-pill);
1672
+ border-end-start-radius: var(--cirth-radius-pill);
1655
1673
  }
1656
1674
 
1657
1675
  .cirth [role="search"] > :last-child {
1658
- border-top-right-radius: var(--cirth-radius-pill);
1659
- border-bottom-right-radius: var(--cirth-radius-pill);
1676
+ border-start-end-radius: var(--cirth-radius-pill);
1677
+ border-end-end-radius: var(--cirth-radius-pill);
1678
+ }
1679
+
1680
+ .cirth [role="search"] > :has( + small:last-child) {
1681
+ border-start-end-radius: var(--cirth-radius-pill);
1682
+ border-end-end-radius: var(--cirth-radius-pill);
1660
1683
  }
1661
1684
 
1662
1685
  .cirth [aria-busy="true"]:not(input, select, textarea, html, form) {
@@ -1664,14 +1687,24 @@
1664
1687
  }
1665
1688
 
1666
1689
  .cirth [aria-busy="true"]:not(input, select, textarea, html, form):before {
1667
- background-image: var(--cirth-icon-loading);
1668
1690
  content: "";
1669
1691
  vertical-align: -.125em;
1670
- background-repeat: no-repeat;
1671
- background-size: 1em;
1672
1692
  width: 1em;
1673
1693
  height: 1em;
1694
+ -webkit-mask-image: var(--cirth-icon-loading);
1695
+ mask-image: var(--cirth-icon-loading);
1696
+ background-color: currentColor;
1674
1697
  display: inline-block;
1698
+ -webkit-mask-size: 1em;
1699
+ mask-size: 1em;
1700
+ -webkit-mask-repeat: no-repeat;
1701
+ mask-repeat: no-repeat;
1702
+ }
1703
+
1704
+ @media (forced-colors: active) {
1705
+ .cirth [aria-busy="true"]:not(input, select, textarea, html, form):before {
1706
+ background-color: canvastext;
1707
+ }
1675
1708
  }
1676
1709
 
1677
1710
  .cirth [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty):before {
@@ -1682,6 +1715,18 @@
1682
1715
  text-align: center;
1683
1716
  }
1684
1717
 
1718
+ .cirth input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1719
+ background-image: var(--cirth-icon-loading);
1720
+ background-position: center left var(--cirth-form-element-spacing-horizontal);
1721
+ background-repeat: no-repeat;
1722
+ background-size: 1em;
1723
+ padding-inline-start: calc(var(--cirth-form-element-spacing-horizontal) + 1em + var(--cirth-spacing) * .5);
1724
+ }
1725
+
1726
+ [dir="rtl"] .cirth input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1727
+ background-position: center right var(--cirth-form-element-spacing-horizontal);
1728
+ }
1729
+
1685
1730
  .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"] {
1686
1731
  pointer-events: none;
1687
1732
  }
@@ -1712,6 +1757,7 @@
1712
1757
  .cirth dialog > article {
1713
1758
  width: 100%;
1714
1759
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1760
+ max-height: calc(100dvh - var(--cirth-spacing) * 2);
1715
1761
  margin: var(--cirth-spacing);
1716
1762
  overflow: auto;
1717
1763
  }
@@ -1734,13 +1780,13 @@
1734
1780
 
1735
1781
  .cirth dialog > article > header .close, .cirth dialog > article > header :is(a, button)[rel="prev"] {
1736
1782
  margin: 0;
1737
- margin-left: var(--cirth-spacing);
1738
1783
  float: right;
1784
+ margin-inline-start: var(--cirth-spacing);
1739
1785
  padding: 0;
1740
1786
  }
1741
1787
 
1742
1788
  .cirth dialog > article > footer {
1743
- text-align: right;
1789
+ text-align: end;
1744
1790
  }
1745
1791
 
1746
1792
  .cirth dialog > article > footer button, .cirth dialog > article > footer [role="button"] {
@@ -1748,7 +1794,7 @@
1748
1794
  }
1749
1795
 
1750
1796
  .cirth dialog > article > footer button:not(:first-of-type), .cirth dialog > article > footer [role="button"]:not(:first-of-type) {
1751
- margin-left: calc(var(--cirth-spacing) * .5);
1797
+ margin-inline-start: calc(var(--cirth-spacing) * .5);
1752
1798
  }
1753
1799
 
1754
1800
  .cirth dialog > article .close, .cirth dialog > article :is(a, button)[rel="prev"] {
@@ -1764,7 +1810,7 @@
1764
1810
  background-color: #0000;
1765
1811
  background-repeat: no-repeat;
1766
1812
  border: none;
1767
- margin-left: auto;
1813
+ margin-inline-start: auto;
1768
1814
  display: block;
1769
1815
  }
1770
1816
 
@@ -1776,10 +1822,14 @@
1776
1822
  display: none;
1777
1823
  }
1778
1824
 
1825
+ [dir="rtl"] .cirth dialog > article > header :is(a, button)[rel="prev"], [dir="rtl"] .cirth dialog > article > header .close {
1826
+ float: left;
1827
+ }
1828
+
1779
1829
  .cirth.modal-is-open, .cirth .modal-is-open {
1780
- padding-right: var(--cirth-scrollbar-width, 0px);
1781
1830
  pointer-events: none;
1782
1831
  touch-action: none;
1832
+ padding-inline-end: var(--cirth-scrollbar-width, 0px);
1783
1833
  overflow: hidden;
1784
1834
  }
1785
1835
 
@@ -1824,7 +1874,7 @@
1824
1874
  }
1825
1875
  }
1826
1876
 
1827
- :where(nav li):before {
1877
+ .cirth :where(nav li):before {
1828
1878
  float: left;
1829
1879
  content: "​";
1830
1880
  }
@@ -1846,11 +1896,11 @@
1846
1896
  }
1847
1897
 
1848
1898
  .cirth nav ol:first-of-type, .cirth nav ul:first-of-type {
1849
- margin-left: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1899
+ margin-inline-start: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1850
1900
  }
1851
1901
 
1852
1902
  .cirth nav ol:last-of-type, .cirth nav ul:last-of-type {
1853
- margin-right: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1903
+ margin-inline-end: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1854
1904
  }
1855
1905
 
1856
1906
  .cirth nav li {
@@ -1859,23 +1909,27 @@
1859
1909
  display: inline-block;
1860
1910
  }
1861
1911
 
1862
- .cirth nav li :where(a, [role="link"]) {
1912
+ .cirth nav li :where(a:not([role="button"]), [role="link"]) {
1863
1913
  margin: calc(var(--cirth-nav-link-spacing-vertical) * -1) calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1864
1914
  padding: var(--cirth-nav-link-spacing-vertical) var(--cirth-nav-link-spacing-horizontal);
1865
1915
  border-radius: var(--cirth-border-radius);
1866
1916
  display: inline-block;
1867
1917
  }
1868
1918
 
1869
- .cirth nav li :where(a, [role="link"]):not(:hover) {
1919
+ .cirth nav li :where(a:not([role="button"]), [role="link"]):not(:hover) {
1870
1920
  text-decoration: none;
1871
1921
  }
1872
1922
 
1923
+ .cirth nav li [role="group"], .cirth nav li [role="search"] {
1924
+ width: auto;
1925
+ margin-bottom: 0;
1926
+ }
1927
+
1873
1928
  .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 {
1874
1929
  height: auto;
1875
- margin-right: inherit;
1876
- margin-bottom: 0;
1877
- margin-left: inherit;
1930
+ margin-inline: inherit;
1878
1931
  padding: calc(var(--cirth-nav-link-spacing-vertical) - var(--cirth-border-width) * 2) var(--cirth-nav-link-spacing-horizontal);
1932
+ margin-bottom: 0;
1879
1933
  }
1880
1934
 
1881
1935
  .cirth nav[aria-label="breadcrumb"] {
@@ -1927,10 +1981,6 @@
1927
1981
  margin: inherit;
1928
1982
  }
1929
1983
 
1930
- [dir="rtl"] .cirth nav[aria-label="breadcrumb"] ul li:not(:last-child) :after {
1931
- content: "\\";
1932
- }
1933
-
1934
1984
  .cirth progress {
1935
1985
  vertical-align: baseline;
1936
1986
  appearance: none;
@@ -2334,7 +2384,7 @@
2334
2384
  }
2335
2385
 
2336
2386
  .cirth h1 {
2337
- --cirth-font-size: clamp(2rem, 1.55rem + 1.8vw, 2.75rem);
2387
+ --cirth-font-size: clamp(2.25rem, 1.7rem + 2.2vw, 3.5rem);
2338
2388
  --cirth-line-height: var(--cirth-line-height-tight);
2339
2389
  --cirth-letter-spacing: var(--cirth-letter-spacing-tight);
2340
2390
  --cirth-typography-spacing-top: var(--cirth-space-12);
@@ -2383,7 +2433,7 @@
2383
2433
  --cirth-border-width: .1875rem;
2384
2434
  }
2385
2435
 
2386
- .cirth pre, .cirth code, .cirth kbd, .cirth samp {
2436
+ .cirth pre, .cirth code, .cirth kbd, .cirth samp, .cirth var {
2387
2437
  --cirth-font-family: var(--cirth-font-family-mono);
2388
2438
  }
2389
2439
 
@@ -2458,7 +2508,7 @@
2458
2508
  --cirth-form-element-spacing-horizontal: var(--cirth-space-8);
2459
2509
  }
2460
2510
 
2461
- .cirth details summary[role="button"]:not(.outline):after, .cirth [aria-busy="true"]:not(input, select, textarea):is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before {
2511
+ .cirth details summary[role="button"]:not(.outline):after {
2462
2512
  filter: brightness(0) invert();
2463
2513
  }
2464
2514
 
@@ -2466,7 +2516,7 @@
2466
2516
  --lightningcss-light: initial;
2467
2517
  --lightningcss-dark: ;
2468
2518
  color-scheme: light;
2469
- --cirth-background-color: oklch(100% 0 0);
2519
+ --cirth-background-color: oklch(97.4% .008 69.35);
2470
2520
  --cirth-color: oklch(35.3% .021 264);
2471
2521
  --cirth-text-selection-color: oklch(65.7% .121 69.35 / .25);
2472
2522
  --cirth-muted-color: oklch(52.7% .032 264);
@@ -2524,7 +2574,7 @@
2524
2574
  --cirth-code-kbd-color: var(--cirth-background-color);
2525
2575
  --cirth-form-element-background-color: oklch(99% 0 336);
2526
2576
  --cirth-form-element-selected-background-color: oklch(91.7% .006 264);
2527
- --cirth-form-element-border-color: oklch(65.7% .03 264);
2577
+ --cirth-form-element-border-color: oklch(61.3% .032 264);
2528
2578
  --cirth-form-element-color: oklch(26.7% .011 264);
2529
2579
  --cirth-form-element-placeholder-color: var(--cirth-muted-color);
2530
2580
  --cirth-form-element-active-background-color: oklch(100% 0 0);
@@ -2550,7 +2600,7 @@
2550
2600
  --cirth-accordion-active-summary-color: var(--cirth-primary-hover);
2551
2601
  --cirth-accordion-close-summary-color: var(--cirth-color);
2552
2602
  --cirth-accordion-open-summary-color: var(--cirth-muted-color);
2553
- --cirth-card-background-color: var(--cirth-background-color);
2603
+ --cirth-card-background-color: oklch(100% 0 0);
2554
2604
  --cirth-card-border-color: var(--cirth-muted-border-color);
2555
2605
  --cirth-card-box-shadow: var(--cirth-box-shadow);
2556
2606
  --cirth-card-sectioning-background-color: oklch(99% 0 336);
@@ -2562,7 +2612,7 @@
2562
2612
  --cirth-loading-spinner-opacity: var(--cirth-opacity-disabled);
2563
2613
  --cirth-modal-overlay-background-color: oklch(93.85% .003 264deg / var(--cirth-opacity-overlay));
2564
2614
  --cirth-progress-background-color: oklch(91.7% .006 264);
2565
- --cirth-progress-border-color: oklch(65.7% .03 264);
2615
+ --cirth-progress-border-color: oklch(61.3% .032 264);
2566
2616
  --cirth-progress-color: var(--cirth-primary-background);
2567
2617
  --cirth-tooltip-background-color: var(--cirth-contrast-background);
2568
2618
  --cirth-tooltip-color: var(--cirth-contrast-inverse);