@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.
package/dist/cirth.css CHANGED
@@ -45,17 +45,14 @@ section {
45
45
 
46
46
  .container, .container-fluid {
47
47
  width: 100%;
48
- padding-right: var(--cirth-spacing);
49
- padding-left: var(--cirth-spacing);
50
- margin-left: auto;
51
- margin-right: auto;
48
+ padding-inline: var(--cirth-spacing);
49
+ margin-inline: auto;
52
50
  }
53
51
 
54
52
  @media (min-width: 576px) {
55
53
  .container {
56
54
  max-width: 510px;
57
- padding-left: 0;
58
- padding-right: 0;
55
+ padding-inline: 0;
59
56
  }
60
57
  }
61
58
 
@@ -100,6 +97,10 @@ section {
100
97
  min-width: 0;
101
98
  }
102
99
 
100
+ .grid > :where(button, [type="submit"], [type="reset"], [role="button"], input:not([type="checkbox"], [type="radio"]), select, textarea) {
101
+ margin-bottom: 0;
102
+ }
103
+
103
104
  .overflow-auto {
104
105
  overflow: auto;
105
106
  }
@@ -213,8 +214,6 @@ mark {
213
214
  blockquote {
214
215
  margin: var(--cirth-typography-spacing-vertical) 0;
215
216
  padding: var(--cirth-spacing);
216
- border-right: none;
217
- border-left: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
218
217
  border-inline-start: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
219
218
  border-inline-end: none;
220
219
  display: block;
@@ -254,7 +253,6 @@ del {
254
253
  text-decoration: var(--cirth-text-decoration);
255
254
  -webkit-text-decoration-color: var(--cirth-underline);
256
255
  text-decoration-color: var(--cirth-underline);
257
- text-underline-offset: .125em;
258
256
  transition: background-color var(--cirth-transition), color var(--cirth-transition), text-decoration var(--cirth-transition), box-shadow var(--cirth-transition);
259
257
  outline: none;
260
258
  }
@@ -507,11 +505,9 @@ button:focus-visible, button[aria-current]:not([aria-current="false"]):focus-vis
507
505
  th, td {
508
506
  padding: calc(var(--cirth-spacing) / 2) var(--cirth-spacing);
509
507
  border-bottom: var(--cirth-border-width) solid var(--cirth-table-border-color);
510
- background-color: var(--cirth-background-color);
511
508
  color: var(--cirth-color);
512
509
  font-weight: var(--cirth-font-weight);
513
510
  font-variant-numeric: tabular-nums;
514
- text-align: left;
515
511
  text-align: start;
516
512
  }
517
513
 
@@ -544,6 +540,9 @@ audio:not([controls]) {
544
540
  img {
545
541
  border-style: none;
546
542
  max-width: 100%;
543
+ }
544
+
545
+ img:where(:not([height]), [width][height]) {
547
546
  height: auto;
548
547
  }
549
548
 
@@ -602,6 +601,13 @@ kbd {
602
601
  vertical-align: baseline;
603
602
  }
604
603
 
604
+ var {
605
+ color: var(--cirth-code-color);
606
+ font-size: .875em;
607
+ font-style: italic;
608
+ font-family: var(--cirth-font-family);
609
+ }
610
+
605
611
  figure {
606
612
  margin: 0;
607
613
  padding: 0;
@@ -775,8 +781,6 @@ label[aria-disabled="true"] input[disabled] {
775
781
  }
776
782
 
777
783
  :where(input, select, textarea):not([type="checkbox"], [type="radio"], [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"], [type="range"])[aria-invalid] {
778
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
779
- padding-left: var(--cirth-form-element-spacing-horizontal);
780
784
  background-position: center right var(--cirth-space-3);
781
785
  background-size: var(--cirth-size-4) auto;
782
786
  background-repeat: no-repeat;
@@ -822,6 +826,10 @@ label[aria-disabled="true"] input[disabled] {
822
826
  background-position: center left var(--cirth-space-3);
823
827
  }
824
828
 
829
+ [dir="rtl"] textarea[aria-invalid] {
830
+ background-position: top left var(--cirth-space-3);
831
+ }
832
+
825
833
  input::placeholder, textarea::placeholder, select:invalid {
826
834
  color: var(--cirth-form-element-placeholder-color);
827
835
  opacity: 1;
@@ -847,8 +855,6 @@ select::-ms-expand {
847
855
  }
848
856
 
849
857
  select:not([multiple], [size]) {
850
- padding-right: calc(var(--cirth-form-element-spacing-horizontal) + var(--cirth-space-6));
851
- padding-left: var(--cirth-form-element-spacing-horizontal);
852
858
  background-image: var(--cirth-icon-chevron);
853
859
  background-position: center right var(--cirth-space-3);
854
860
  background-size: var(--cirth-size-4) auto;
@@ -1043,11 +1049,11 @@ label:has([type="checkbox"], [type="radio"]) {
1043
1049
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]):is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
1044
1050
  --cirth-icon-position: var(--cirth-space-3);
1045
1051
  --cirth-icon-width: var(--cirth-size-4);
1046
- padding-right: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
1047
1052
  background-image: var(--cirth-icon-date);
1048
1053
  background-position: center right var(--cirth-icon-position);
1049
1054
  background-size: var(--cirth-icon-width) auto;
1050
1055
  background-repeat: no-repeat;
1056
+ padding-inline-end: calc(var(--cirth-icon-width) + var(--cirth-icon-position));
1051
1057
  }
1052
1058
 
1053
1059
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="time"] {
@@ -1056,63 +1062,64 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
1056
1062
 
1057
1063
  [type="date"]::-webkit-calendar-picker-indicator {
1058
1064
  width: var(--cirth-icon-width);
1059
- margin-right: calc(var(--cirth-icon-width) * -1);
1060
- margin-left: var(--cirth-icon-position);
1061
1065
  opacity: 0;
1066
+ margin-inline-start: var(--cirth-icon-position);
1067
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1062
1068
  }
1063
1069
 
1064
1070
  [type="datetime-local"]::-webkit-calendar-picker-indicator {
1065
1071
  width: var(--cirth-icon-width);
1066
- margin-right: calc(var(--cirth-icon-width) * -1);
1067
- margin-left: var(--cirth-icon-position);
1068
1072
  opacity: 0;
1073
+ margin-inline-start: var(--cirth-icon-position);
1074
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1069
1075
  }
1070
1076
 
1071
1077
  [type="month"]::-webkit-calendar-picker-indicator {
1072
1078
  width: var(--cirth-icon-width);
1073
- margin-right: calc(var(--cirth-icon-width) * -1);
1074
- margin-left: var(--cirth-icon-position);
1075
1079
  opacity: 0;
1080
+ margin-inline-start: var(--cirth-icon-position);
1081
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1076
1082
  }
1077
1083
 
1078
1084
  [type="time"]::-webkit-calendar-picker-indicator {
1079
1085
  width: var(--cirth-icon-width);
1080
- margin-right: calc(var(--cirth-icon-width) * -1);
1081
- margin-left: var(--cirth-icon-position);
1082
1086
  opacity: 0;
1087
+ margin-inline-start: var(--cirth-icon-position);
1088
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1083
1089
  }
1084
1090
 
1085
1091
  [type="week"]::-webkit-calendar-picker-indicator {
1086
1092
  width: var(--cirth-icon-width);
1087
- margin-right: calc(var(--cirth-icon-width) * -1);
1088
- margin-left: var(--cirth-icon-position);
1089
1093
  opacity: 0;
1094
+ margin-inline-start: var(--cirth-icon-position);
1095
+ margin-inline-end: calc(var(--cirth-icon-width) * -1);
1090
1096
  }
1091
1097
 
1092
1098
  @-moz-document url-prefix() {
1093
1099
  [type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"] {
1094
- padding-right: var(--cirth-form-element-spacing-horizontal);
1095
1100
  background-image: none;
1101
+ padding-inline-end: var(--cirth-form-element-spacing-horizontal);
1096
1102
  }
1097
1103
  }
1098
1104
 
1099
1105
  [dir="rtl"] :is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
1106
+ background-position: center left var(--cirth-icon-position);
1100
1107
  text-align: right;
1101
1108
  }
1102
1109
 
1103
1110
  [type="file"] {
1104
1111
  --cirth-color: var(--cirth-muted-color);
1105
- margin-left: calc(var(--cirth-outline-width) * -1);
1106
1112
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) 0;
1107
- padding-left: var(--cirth-outline-width);
1108
1113
  background: none;
1109
1114
  border: 0;
1110
1115
  border-radius: 0;
1116
+ margin-inline-start: calc(var(--cirth-outline-width) * -1);
1117
+ padding-inline-start: var(--cirth-outline-width);
1111
1118
  }
1112
1119
 
1113
1120
  [type="file"]::file-selector-button {
1114
- margin-right: calc(var(--cirth-spacing) / 2);
1115
1121
  padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
1122
+ margin-inline-end: calc(var(--cirth-spacing) / 2);
1116
1123
  }
1117
1124
 
1118
1125
  [type="file"]:is(:hover, :active, :focus)::file-selector-button {
@@ -1296,7 +1303,7 @@ details summary:focus-visible:not([role]) {
1296
1303
  }
1297
1304
 
1298
1305
  details summary[role="button"] {
1299
- text-align: left;
1306
+ text-align: start;
1300
1307
  width: 100%;
1301
1308
  }
1302
1309
 
@@ -1316,10 +1323,6 @@ details[open] > summary:after {
1316
1323
  transform: rotate(0);
1317
1324
  }
1318
1325
 
1319
- [dir="rtl"] details summary {
1320
- text-align: right;
1321
- }
1322
-
1323
1326
  [dir="rtl"] details summary:after {
1324
1327
  float: left;
1325
1328
  background-position: 0;
@@ -1334,12 +1337,15 @@ article {
1334
1337
  }
1335
1338
 
1336
1339
  article > header, article > footer {
1337
- margin-right: calc(var(--cirth-block-spacing-horizontal) * -1);
1338
- margin-left: calc(var(--cirth-block-spacing-horizontal) * -1);
1340
+ margin-inline: calc(var(--cirth-block-spacing-horizontal) * -1);
1339
1341
  padding: calc(var(--cirth-block-spacing-vertical) - var(--cirth-space-2)) var(--cirth-block-spacing-horizontal);
1340
1342
  background-color: var(--cirth-card-sectioning-background-color);
1341
1343
  }
1342
1344
 
1345
+ article > header > :last-child, article > footer > :last-child {
1346
+ margin-bottom: 0;
1347
+ }
1348
+
1343
1349
  article > header {
1344
1350
  margin-top: calc(var(--cirth-block-spacing-vertical) * -1);
1345
1351
  margin-bottom: var(--cirth-block-spacing-vertical);
@@ -1365,6 +1371,7 @@ details.dropdown > summary:after, details.dropdown > button:after, details.dropd
1365
1371
  width: var(--cirth-size-4);
1366
1372
  height: calc(var(--cirth-size-4) * var(--cirth-line-height, var(--cirth-line-height-normal)));
1367
1373
  float: right;
1374
+ transform: rotate(0deg) translateX(calc(var(--cirth-form-element-spacing-horizontal) - var(--cirth-space-3)));
1368
1375
  background-image: var(--cirth-icon-chevron);
1369
1376
  background-position: 100%;
1370
1377
  background-size: var(--cirth-size-4) auto;
@@ -1372,7 +1379,6 @@ details.dropdown > summary:after, details.dropdown > button:after, details.dropd
1372
1379
  background-repeat: no-repeat;
1373
1380
  margin-inline-start: var(--cirth-space-1);
1374
1381
  display: block;
1375
- transform: rotate(0) translateX(.2rem);
1376
1382
  }
1377
1383
 
1378
1384
  nav details.dropdown {
@@ -1454,12 +1460,7 @@ details.dropdown > summary + ul {
1454
1460
  padding: 0;
1455
1461
  display: flex;
1456
1462
  position: absolute;
1457
- left: 0;
1458
- }
1459
-
1460
- details.dropdown > summary + ul[dir="rtl"] {
1461
- left: auto;
1462
- right: 0;
1463
+ inset-inline-start: 0;
1463
1464
  }
1464
1465
 
1465
1466
  details.dropdown > summary + ul li {
@@ -1493,7 +1494,9 @@ details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a
1493
1494
  }
1494
1495
 
1495
1496
  details.dropdown > summary + ul li label {
1496
- width: 100%;
1497
+ margin: calc(var(--cirth-form-element-spacing-vertical) * -.5) calc(var(--cirth-form-element-spacing-horizontal) * -1);
1498
+ padding: calc(var(--cirth-form-element-spacing-vertical) * .5) var(--cirth-form-element-spacing-horizontal);
1499
+ display: block;
1497
1500
  }
1498
1501
 
1499
1502
  details.dropdown > summary + ul li:has(label):hover {
@@ -1526,6 +1529,16 @@ label > details.dropdown {
1526
1529
  margin-top: calc(var(--cirth-spacing) * .25);
1527
1530
  }
1528
1531
 
1532
+ [dir="rtl"] details.dropdown > summary:after, [dir="rtl"] details.dropdown > button:after, [dir="rtl"] details.dropdown > a:after {
1533
+ float: left;
1534
+ transform: rotate(0deg) translateX(calc((var(--cirth-form-element-spacing-horizontal) - var(--cirth-space-3)) * -1));
1535
+ background-position: 0;
1536
+ }
1537
+
1538
+ [dir="rtl"] nav details.dropdown > summary:after {
1539
+ transform: rotate(0) translateX(0);
1540
+ }
1541
+
1529
1542
  [role="search"], [role="group"] {
1530
1543
  width: 100%;
1531
1544
  margin-bottom: var(--cirth-spacing);
@@ -1533,33 +1546,50 @@ label > details.dropdown {
1533
1546
  box-shadow: var(--cirth-group-box-shadow, 0 0 0 #0000);
1534
1547
  vertical-align: middle;
1535
1548
  transition: box-shadow var(--cirth-transition);
1549
+ flex-wrap: wrap;
1536
1550
  display: inline-flex;
1537
1551
  position: relative;
1538
1552
  }
1539
1553
 
1554
+ [role="search"] > small, [role="group"] > small {
1555
+ margin-top: calc(var(--cirth-spacing) * .25);
1556
+ flex: 0 0 100%;
1557
+ order: 1;
1558
+ margin-bottom: 0;
1559
+ }
1560
+
1540
1561
  [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 {
1541
1562
  flex: auto;
1542
1563
  margin-bottom: 0;
1543
1564
  position: relative;
1544
1565
  }
1545
1566
 
1567
+ [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) {
1568
+ flex: 99;
1569
+ }
1570
+
1546
1571
  [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) {
1547
- border-top-left-radius: 0;
1548
- border-bottom-left-radius: 0;
1549
- margin-left: 0;
1572
+ border-start-start-radius: 0;
1573
+ border-end-start-radius: 0;
1574
+ margin-inline-start: 0;
1550
1575
  }
1551
1576
 
1552
1577
  [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) {
1553
- border-top-right-radius: 0;
1554
- border-bottom-right-radius: 0;
1578
+ border-start-end-radius: 0;
1579
+ border-end-end-radius: 0;
1555
1580
  }
1556
1581
 
1557
1582
  [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 {
1558
1583
  z-index: 2;
1559
1584
  }
1560
1585
 
1586
+ :is([role="search"] > :has( + small:last-child), [role="group"] > :has( + small:last-child)) {
1587
+ border-start-end-radius: var(--cirth-border-radius);
1588
+ border-end-end-radius: var(--cirth-border-radius);
1589
+ }
1590
+
1561
1591
  [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) {
1562
- margin-left: calc(var(--cirth-border-width) * -1);
1592
+ margin-inline-start: calc(var(--cirth-border-width) * -1);
1563
1593
  }
1564
1594
 
1565
1595
  [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"] {
@@ -1571,19 +1601,7 @@ label > details.dropdown {
1571
1601
  --cirth-group-box-shadow: var(--cirth-group-box-shadow-focus-with-button);
1572
1602
  }
1573
1603
 
1574
- [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1575
- border-color: #0000;
1576
- }
1577
-
1578
- [role="search"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1579
- border-color: #0000;
1580
- }
1581
-
1582
- [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) input:not([type="checkbox"], [type="radio"]) {
1583
- border-color: #0000;
1584
- }
1585
-
1586
- [role="group"]:has(button:focus, [type="submit"]:focus, [type="button"]:focus, [role="button"]:focus) select {
1604
+ :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])) {
1587
1605
  border-color: #0000;
1588
1606
  }
1589
1607
 
@@ -1653,13 +1671,18 @@ label > details.dropdown {
1653
1671
  }
1654
1672
 
1655
1673
  [role="search"] > :first-child {
1656
- border-top-left-radius: var(--cirth-radius-pill);
1657
- border-bottom-left-radius: var(--cirth-radius-pill);
1674
+ border-start-start-radius: var(--cirth-radius-pill);
1675
+ border-end-start-radius: var(--cirth-radius-pill);
1658
1676
  }
1659
1677
 
1660
1678
  [role="search"] > :last-child {
1661
- border-top-right-radius: var(--cirth-radius-pill);
1662
- border-bottom-right-radius: var(--cirth-radius-pill);
1679
+ border-start-end-radius: var(--cirth-radius-pill);
1680
+ border-end-end-radius: var(--cirth-radius-pill);
1681
+ }
1682
+
1683
+ [role="search"] > :has( + small:last-child) {
1684
+ border-start-end-radius: var(--cirth-radius-pill);
1685
+ border-end-end-radius: var(--cirth-radius-pill);
1663
1686
  }
1664
1687
 
1665
1688
  [aria-busy="true"]:not(input, select, textarea, html, form) {
@@ -1667,14 +1690,24 @@ label > details.dropdown {
1667
1690
  }
1668
1691
 
1669
1692
  [aria-busy="true"]:not(input, select, textarea, html, form):before {
1670
- background-image: var(--cirth-icon-loading);
1671
1693
  content: "";
1672
1694
  vertical-align: -.125em;
1673
- background-repeat: no-repeat;
1674
- background-size: 1em;
1675
1695
  width: 1em;
1676
1696
  height: 1em;
1697
+ -webkit-mask-image: var(--cirth-icon-loading);
1698
+ mask-image: var(--cirth-icon-loading);
1699
+ background-color: currentColor;
1677
1700
  display: inline-block;
1701
+ -webkit-mask-size: 1em;
1702
+ mask-size: 1em;
1703
+ -webkit-mask-repeat: no-repeat;
1704
+ mask-repeat: no-repeat;
1705
+ }
1706
+
1707
+ @media (forced-colors: active) {
1708
+ [aria-busy="true"]:not(input, select, textarea, html, form):before {
1709
+ background-color: canvastext;
1710
+ }
1678
1711
  }
1679
1712
 
1680
1713
  [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty):before {
@@ -1685,6 +1718,18 @@ label > details.dropdown {
1685
1718
  text-align: center;
1686
1719
  }
1687
1720
 
1721
+ input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1722
+ background-image: var(--cirth-icon-loading);
1723
+ background-position: center left var(--cirth-form-element-spacing-horizontal);
1724
+ background-repeat: no-repeat;
1725
+ background-size: 1em;
1726
+ padding-inline-start: calc(var(--cirth-form-element-spacing-horizontal) + 1em + var(--cirth-spacing) * .5);
1727
+ }
1728
+
1729
+ [dir="rtl"] input:is([type="submit"], [type="button"], [type="reset"])[aria-busy="true"] {
1730
+ background-position: center right var(--cirth-form-element-spacing-horizontal);
1731
+ }
1732
+
1688
1733
  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"] {
1689
1734
  pointer-events: none;
1690
1735
  }
@@ -1715,6 +1760,7 @@ dialog {
1715
1760
  dialog > article {
1716
1761
  width: 100%;
1717
1762
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1763
+ max-height: calc(100dvh - var(--cirth-spacing) * 2);
1718
1764
  margin: var(--cirth-spacing);
1719
1765
  overflow: auto;
1720
1766
  }
@@ -1737,13 +1783,13 @@ dialog > article > header > * {
1737
1783
 
1738
1784
  dialog > article > header .close, dialog > article > header :is(a, button)[rel="prev"] {
1739
1785
  margin: 0;
1740
- margin-left: var(--cirth-spacing);
1741
1786
  float: right;
1787
+ margin-inline-start: var(--cirth-spacing);
1742
1788
  padding: 0;
1743
1789
  }
1744
1790
 
1745
1791
  dialog > article > footer {
1746
- text-align: right;
1792
+ text-align: end;
1747
1793
  }
1748
1794
 
1749
1795
  dialog > article > footer button, dialog > article > footer [role="button"] {
@@ -1751,7 +1797,7 @@ dialog > article > footer button, dialog > article > footer [role="button"] {
1751
1797
  }
1752
1798
 
1753
1799
  dialog > article > footer button:not(:first-of-type), dialog > article > footer [role="button"]:not(:first-of-type) {
1754
- margin-left: calc(var(--cirth-spacing) * .5);
1800
+ margin-inline-start: calc(var(--cirth-spacing) * .5);
1755
1801
  }
1756
1802
 
1757
1803
  dialog > article .close, dialog > article :is(a, button)[rel="prev"] {
@@ -1767,7 +1813,7 @@ dialog > article .close, dialog > article :is(a, button)[rel="prev"] {
1767
1813
  background-color: #0000;
1768
1814
  background-repeat: no-repeat;
1769
1815
  border: none;
1770
- margin-left: auto;
1816
+ margin-inline-start: auto;
1771
1817
  display: block;
1772
1818
  }
1773
1819
 
@@ -1779,10 +1825,14 @@ dialog:not([open]), dialog[open="false"] {
1779
1825
  display: none;
1780
1826
  }
1781
1827
 
1828
+ [dir="rtl"] dialog > article > header :is(a, button)[rel="prev"], [dir="rtl"] dialog > article > header .close {
1829
+ float: left;
1830
+ }
1831
+
1782
1832
  .modal-is-open {
1783
- padding-right: var(--cirth-scrollbar-width, 0px);
1784
1833
  pointer-events: none;
1785
1834
  touch-action: none;
1835
+ padding-inline-end: var(--cirth-scrollbar-width, 0px);
1786
1836
  overflow: hidden;
1787
1837
  }
1788
1838
 
@@ -1849,11 +1899,11 @@ nav ol, nav ul {
1849
1899
  }
1850
1900
 
1851
1901
  nav ol:first-of-type, nav ul:first-of-type {
1852
- margin-left: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1902
+ margin-inline-start: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1853
1903
  }
1854
1904
 
1855
1905
  nav ol:last-of-type, nav ul:last-of-type {
1856
- margin-right: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1906
+ margin-inline-end: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1857
1907
  }
1858
1908
 
1859
1909
  nav li {
@@ -1862,23 +1912,27 @@ nav li {
1862
1912
  display: inline-block;
1863
1913
  }
1864
1914
 
1865
- nav li :where(a, [role="link"]) {
1915
+ nav li :where(a:not([role="button"]), [role="link"]) {
1866
1916
  margin: calc(var(--cirth-nav-link-spacing-vertical) * -1) calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1867
1917
  padding: var(--cirth-nav-link-spacing-vertical) var(--cirth-nav-link-spacing-horizontal);
1868
1918
  border-radius: var(--cirth-border-radius);
1869
1919
  display: inline-block;
1870
1920
  }
1871
1921
 
1872
- nav li :where(a, [role="link"]):not(:hover) {
1922
+ nav li :where(a:not([role="button"]), [role="link"]):not(:hover) {
1873
1923
  text-decoration: none;
1874
1924
  }
1875
1925
 
1926
+ nav li [role="group"], nav li [role="search"] {
1927
+ width: auto;
1928
+ margin-bottom: 0;
1929
+ }
1930
+
1876
1931
  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 {
1877
1932
  height: auto;
1878
- margin-right: inherit;
1879
- margin-bottom: 0;
1880
- margin-left: inherit;
1933
+ margin-inline: inherit;
1881
1934
  padding: calc(var(--cirth-nav-link-spacing-vertical) - var(--cirth-border-width) * 2) var(--cirth-nav-link-spacing-horizontal);
1935
+ margin-bottom: 0;
1882
1936
  }
1883
1937
 
1884
1938
  nav[aria-label="breadcrumb"] {
@@ -1930,10 +1984,6 @@ aside li [role="button"] {
1930
1984
  margin: inherit;
1931
1985
  }
1932
1986
 
1933
- [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child) :after {
1934
- content: "\\";
1935
- }
1936
-
1937
1987
  progress {
1938
1988
  vertical-align: baseline;
1939
1989
  appearance: none;
@@ -2337,7 +2387,7 @@ h4, h5, h6 {
2337
2387
  }
2338
2388
 
2339
2389
  h1 {
2340
- --cirth-font-size: clamp(2rem, 1.55rem + 1.8vw, 2.75rem);
2390
+ --cirth-font-size: clamp(2.25rem, 1.7rem + 2.2vw, 3.5rem);
2341
2391
  --cirth-line-height: var(--cirth-line-height-tight);
2342
2392
  --cirth-letter-spacing: var(--cirth-letter-spacing-tight);
2343
2393
  --cirth-typography-spacing-top: var(--cirth-space-12);
@@ -2386,7 +2436,7 @@ thead th, thead td, tfoot th, tfoot td {
2386
2436
  --cirth-border-width: .1875rem;
2387
2437
  }
2388
2438
 
2389
- pre, code, kbd, samp {
2439
+ pre, code, kbd, samp, var {
2390
2440
  --cirth-font-family: var(--cirth-font-family-mono);
2391
2441
  }
2392
2442
 
@@ -2461,7 +2511,7 @@ nav details.dropdown summary:focus-visible {
2461
2511
  --cirth-form-element-spacing-horizontal: var(--cirth-space-8);
2462
2512
  }
2463
2513
 
2464
- details summary[role="button"]:not(.outline):after, [aria-busy="true"]:not(input, select, textarea):is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before {
2514
+ details summary[role="button"]:not(.outline):after {
2465
2515
  filter: brightness(0) invert();
2466
2516
  }
2467
2517
 
@@ -2469,7 +2519,7 @@ details summary[role="button"]:not(.outline):after, [aria-busy="true"]:not(input
2469
2519
  --lightningcss-light: initial;
2470
2520
  --lightningcss-dark: ;
2471
2521
  color-scheme: light;
2472
- --cirth-background-color: oklch(100% 0 0);
2522
+ --cirth-background-color: oklch(97.4% .008 69.35);
2473
2523
  --cirth-color: oklch(35.3% .021 264);
2474
2524
  --cirth-text-selection-color: oklch(65.7% .121 69.35 / .25);
2475
2525
  --cirth-muted-color: oklch(52.7% .032 264);
@@ -2527,7 +2577,7 @@ details summary[role="button"]:not(.outline):after, [aria-busy="true"]:not(input
2527
2577
  --cirth-code-kbd-color: var(--cirth-background-color);
2528
2578
  --cirth-form-element-background-color: oklch(99% 0 336);
2529
2579
  --cirth-form-element-selected-background-color: oklch(91.7% .006 264);
2530
- --cirth-form-element-border-color: oklch(65.7% .03 264);
2580
+ --cirth-form-element-border-color: oklch(61.3% .032 264);
2531
2581
  --cirth-form-element-color: oklch(26.7% .011 264);
2532
2582
  --cirth-form-element-placeholder-color: var(--cirth-muted-color);
2533
2583
  --cirth-form-element-active-background-color: oklch(100% 0 0);
@@ -2553,7 +2603,7 @@ details summary[role="button"]:not(.outline):after, [aria-busy="true"]:not(input
2553
2603
  --cirth-accordion-active-summary-color: var(--cirth-primary-hover);
2554
2604
  --cirth-accordion-close-summary-color: var(--cirth-color);
2555
2605
  --cirth-accordion-open-summary-color: var(--cirth-muted-color);
2556
- --cirth-card-background-color: var(--cirth-background-color);
2606
+ --cirth-card-background-color: oklch(100% 0 0);
2557
2607
  --cirth-card-border-color: var(--cirth-muted-border-color);
2558
2608
  --cirth-card-box-shadow: var(--cirth-box-shadow);
2559
2609
  --cirth-card-sectioning-background-color: oklch(99% 0 336);
@@ -2565,7 +2615,7 @@ details summary[role="button"]:not(.outline):after, [aria-busy="true"]:not(input
2565
2615
  --cirth-loading-spinner-opacity: var(--cirth-opacity-disabled);
2566
2616
  --cirth-modal-overlay-background-color: oklch(93.85% .003 264deg / var(--cirth-opacity-overlay));
2567
2617
  --cirth-progress-background-color: oklch(91.7% .006 264);
2568
- --cirth-progress-border-color: oklch(65.7% .03 264);
2618
+ --cirth-progress-border-color: oklch(61.3% .032 264);
2569
2619
  --cirth-progress-color: var(--cirth-primary-background);
2570
2620
  --cirth-tooltip-background-color: var(--cirth-contrast-background);
2571
2621
  --cirth-tooltip-color: var(--cirth-contrast-inverse);