@cirthcss/cirth 0.9.0 → 0.11.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
@@ -10,6 +10,7 @@
10
10
  }
11
11
 
12
12
  :where(:root), :where(:host) {
13
+ scrollbar-gutter: stable;
13
14
  -webkit-tap-highlight-color: transparent;
14
15
  -webkit-text-size-adjust: 100%;
15
16
  -moz-text-size-adjust: 100%;
@@ -66,7 +67,7 @@ section {
66
67
  display: grid;
67
68
  }
68
69
 
69
- @media (min-width: 768px) {
70
+ @media (width >= 768px) {
70
71
  .row {
71
72
  grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
72
73
  }
@@ -856,14 +857,6 @@ label:has([type="checkbox"], [type="radio"]) {
856
857
  margin-inline-end: .5em;
857
858
  }
858
859
 
859
- [type="checkbox"]::-ms-check {
860
- display: none;
861
- }
862
-
863
- [type="radio"]::-ms-check {
864
- display: none;
865
- }
866
-
867
860
  [type="checkbox"]:checked, [type="checkbox"]:checked:active, [type="checkbox"]:checked:focus, [type="radio"]:checked, [type="radio"]:checked:active, [type="radio"]:checked:focus {
868
861
  --cirth-background-color: var(--cirth-primary-background);
869
862
  --cirth-border-color: var(--cirth-primary-border);
@@ -1094,14 +1087,6 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
1094
1087
  transition: background-color var(--cirth-transition), box-shadow var(--cirth-transition);
1095
1088
  }
1096
1089
 
1097
- [type="range"]::-ms-track {
1098
- border-radius: var(--cirth-border-radius);
1099
- background-color: var(--cirth-range-border-color);
1100
- width: 100%;
1101
- height: .375rem;
1102
- transition: background-color var(--cirth-transition), box-shadow var(--cirth-transition);
1103
- }
1104
-
1105
1090
  [type="range"]::-webkit-slider-thumb {
1106
1091
  -webkit-appearance: none;
1107
1092
  border: var(--cirth-border-width-2) solid var(--cirth-range-thumb-border-color);
@@ -1115,19 +1100,6 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
1115
1100
  }
1116
1101
 
1117
1102
  [type="range"]::-moz-range-thumb {
1118
- -webkit-appearance: none;
1119
- border: var(--cirth-border-width-2) solid var(--cirth-range-thumb-border-color);
1120
- background-color: var(--cirth-range-thumb-color);
1121
- cursor: pointer;
1122
- width: 1.25rem;
1123
- height: 1.25rem;
1124
- transition: background-color var(--cirth-transition), transform var(--cirth-transition);
1125
- border-radius: 50%;
1126
- margin-top: -.4375rem;
1127
- }
1128
-
1129
- [type="range"]::-ms-thumb {
1130
- -webkit-appearance: none;
1131
1103
  border: var(--cirth-border-width-2) solid var(--cirth-range-thumb-border-color);
1132
1104
  background-color: var(--cirth-range-thumb-color);
1133
1105
  cursor: pointer;
@@ -1151,10 +1123,6 @@ input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type
1151
1123
  transform: scale(1.25);
1152
1124
  }
1153
1125
 
1154
- [type="range"]:active::-ms-thumb {
1155
- transform: scale(1.25);
1156
- }
1157
-
1158
1126
  input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"])[type="search"] {
1159
1127
  background-image: var(--cirth-icon-search);
1160
1128
  background-position: center left var(--cirth-form-element-spacing-horizontal);
@@ -1208,10 +1176,6 @@ details summary::marker {
1208
1176
  display: none;
1209
1177
  }
1210
1178
 
1211
- details summary::-moz-list-bullet {
1212
- list-style-type: none;
1213
- }
1214
-
1215
1179
  details summary:after {
1216
1180
  width: var(--cirth-size-4);
1217
1181
  height: var(--cirth-size-4);
@@ -1681,17 +1645,58 @@ button[aria-busy="true"], [type="submit"][aria-busy="true"], [type="button"][ari
1681
1645
  pointer-events: none;
1682
1646
  }
1683
1647
 
1684
- :root, :host {
1685
- --cirth-scrollbar-width: 0px;
1648
+ meter {
1649
+ appearance: none;
1650
+ width: 100%;
1651
+ height: var(--cirth-size-2);
1652
+ margin-bottom: calc(var(--cirth-spacing) * .5);
1653
+ border: var(--cirth-border-width-1) solid var(--cirth-meter-border-color);
1654
+ border-radius: var(--cirth-border-radius);
1655
+ background: var(--cirth-meter-background-color);
1656
+ display: inline-block;
1657
+ overflow: hidden;
1658
+ }
1659
+
1660
+ meter::-webkit-meter-bar {
1661
+ background: none;
1662
+ }
1663
+
1664
+ meter::-webkit-meter-inner-element {
1665
+ display: flex;
1666
+ }
1667
+
1668
+ meter::-webkit-meter-optimum-value {
1669
+ background: var(--cirth-meter-optimum-color);
1670
+ }
1671
+
1672
+ meter::-webkit-meter-suboptimum-value {
1673
+ background: var(--cirth-meter-suboptimum-color);
1674
+ }
1675
+
1676
+ meter::-webkit-meter-even-less-good-value {
1677
+ background: var(--cirth-meter-even-less-good-color);
1678
+ }
1679
+
1680
+ meter::-moz-meter-bar {
1681
+ background: var(--cirth-meter-optimum-color);
1682
+ }
1683
+
1684
+ meter:-moz-meter-sub-optimum::-moz-meter-bar {
1685
+ background: var(--cirth-meter-suboptimum-color);
1686
+ }
1687
+
1688
+ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
1689
+ background: var(--cirth-meter-even-less-good-color);
1686
1690
  }
1687
1691
 
1688
1692
  dialog {
1693
+ opacity: 0;
1694
+ transition: opacity var(--cirth-transition), display var(--cirth-transition) allow-discrete, overlay var(--cirth-transition) allow-discrete;
1689
1695
  z-index: var(--cirth-z-index-modal);
1690
1696
  width: inherit;
1691
1697
  min-width: 100%;
1692
1698
  height: inherit;
1693
1699
  min-height: 100%;
1694
- -webkit-backdrop-filter: var(--cirth-modal-overlay-backdrop-filter);
1695
1700
  backdrop-filter: var(--cirth-modal-overlay-backdrop-filter);
1696
1701
  background-color: var(--cirth-modal-overlay-background-color);
1697
1702
  color: var(--cirth-color);
@@ -1704,7 +1709,25 @@ dialog {
1704
1709
  inset: 0;
1705
1710
  }
1706
1711
 
1712
+ dialog[open] {
1713
+ opacity: 1;
1714
+ }
1715
+
1716
+ @starting-style {
1717
+ dialog[open] {
1718
+ opacity: 0;
1719
+ }
1720
+ }
1721
+
1722
+ @starting-style {
1723
+ dialog[open] > article {
1724
+ opacity: 0;
1725
+ transform: translateY(-100%);
1726
+ }
1727
+ }
1728
+
1707
1729
  dialog > article {
1730
+ transition: opacity var(--cirth-transition), transform var(--cirth-transition);
1708
1731
  width: 100%;
1709
1732
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1710
1733
  max-height: calc(100dvh - var(--cirth-spacing) * 2);
@@ -1712,13 +1735,13 @@ dialog > article {
1712
1735
  overflow: auto;
1713
1736
  }
1714
1737
 
1715
- @media (min-width: 576px) {
1738
+ @media (width >= 576px) {
1716
1739
  dialog > article {
1717
1740
  max-width: 510px;
1718
1741
  }
1719
1742
  }
1720
1743
 
1721
- @media (min-width: 768px) {
1744
+ @media (width >= 768px) {
1722
1745
  dialog > article {
1723
1746
  max-width: 700px;
1724
1747
  }
@@ -1776,54 +1799,10 @@ dialog:not([open]), dialog[open="false"] {
1776
1799
  float: left;
1777
1800
  }
1778
1801
 
1779
- .modal-is-open {
1780
- pointer-events: none;
1781
- touch-action: none;
1782
- padding-inline-end: var(--cirth-scrollbar-width, 0);
1802
+ html:has(dialog[open]) {
1783
1803
  overflow: hidden;
1784
1804
  }
1785
1805
 
1786
- .modal-is-open dialog {
1787
- pointer-events: auto;
1788
- touch-action: auto;
1789
- }
1790
-
1791
- :where(.modal-is-opening, .modal-is-closing) dialog, :where(.modal-is-opening, .modal-is-closing) dialog > article {
1792
- animation-duration: var(--cirth-duration-normal);
1793
- animation-timing-function: var(--cirth-ease-in-out);
1794
- animation-fill-mode: both;
1795
- }
1796
-
1797
- :where(.modal-is-opening, .modal-is-closing) dialog {
1798
- animation-duration: calc(var(--cirth-duration-normal) * 4);
1799
- animation-name: modal-overlay;
1800
- }
1801
-
1802
- :where(.modal-is-opening, .modal-is-closing) dialog > article {
1803
- animation-delay: var(--cirth-duration-normal);
1804
- animation-name: modal;
1805
- }
1806
-
1807
- .modal-is-closing dialog, .modal-is-closing dialog > article {
1808
- animation-delay: var(--cirth-duration-instant);
1809
- animation-direction: reverse;
1810
- }
1811
-
1812
- @keyframes modal-overlay {
1813
- from {
1814
- -webkit-backdrop-filter: none;
1815
- backdrop-filter: none;
1816
- background-color: #0000;
1817
- }
1818
- }
1819
-
1820
- @keyframes modal {
1821
- from {
1822
- opacity: 0;
1823
- transform: translateY(-100%);
1824
- }
1825
- }
1826
-
1827
1806
  :where(nav li):before {
1828
1807
  float: left;
1829
1808
  content: "​";
@@ -1931,6 +1910,33 @@ aside li [role="button"] {
1931
1910
  margin: inherit;
1932
1911
  }
1933
1912
 
1913
+ :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog) {
1914
+ --cirth-popover-display: block;
1915
+ display: none;
1916
+ }
1917
+
1918
+ :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open {
1919
+ display: var(--cirth-popover-display);
1920
+ max-width: var(--cirth-popover-max-width);
1921
+ padding: var(--cirth-space-2) var(--cirth-space-3);
1922
+ border: var(--cirth-border-width) solid var(--cirth-popover-border-color);
1923
+ border-radius: var(--cirth-border-radius);
1924
+ background-color: var(--cirth-popover-background-color);
1925
+ box-shadow: var(--cirth-popover-box-shadow);
1926
+ color: var(--cirth-popover-color);
1927
+ transition: opacity var(--cirth-transition), display var(--cirth-transition) allow-discrete, overlay var(--cirth-transition) allow-discrete;
1928
+ }
1929
+
1930
+ @starting-style {
1931
+ :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open {
1932
+ opacity: 0;
1933
+ }
1934
+ }
1935
+
1936
+ :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):not(:popover-open) {
1937
+ opacity: 0;
1938
+ }
1939
+
1934
1940
  progress {
1935
1941
  vertical-align: baseline;
1936
1942
  appearance: none;
@@ -1940,7 +1946,6 @@ progress {
1940
1946
  border: var(--cirth-border-width-1) solid var(--cirth-progress-border-color);
1941
1947
  border-radius: var(--cirth-border-radius);
1942
1948
  background-color: var(--cirth-progress-background-color);
1943
- color: var(--cirth-progress-color);
1944
1949
  display: inline-block;
1945
1950
  overflow: hidden;
1946
1951
  }
@@ -1988,160 +1993,6 @@ progress::-moz-progress-bar {
1988
1993
  }
1989
1994
  }
1990
1995
 
1991
- [data-tooltip] {
1992
- position: relative;
1993
- }
1994
-
1995
- [data-tooltip]:not(a, button, input, [role="button"]) {
1996
- border-bottom: var(--cirth-border-width-1) dotted;
1997
- cursor: help;
1998
- text-decoration: none;
1999
- }
2000
-
2001
- [data-tooltip][data-placement="top"]:before, [data-tooltip][data-placement="top"]:after, [data-tooltip]:before, [data-tooltip]:after {
2002
- z-index: var(--cirth-z-index-tooltip);
2003
- padding: var(--cirth-space-1) var(--cirth-space-2);
2004
- border-radius: var(--cirth-border-radius);
2005
- background: var(--cirth-tooltip-background-color);
2006
- content: attr(data-tooltip);
2007
- color: var(--cirth-tooltip-color);
2008
- font-style: normal;
2009
- font-weight: var(--cirth-font-weight);
2010
- font-size: var(--cirth-font-size-sm);
2011
- text-overflow: ellipsis;
2012
- white-space: nowrap;
2013
- opacity: 0;
2014
- pointer-events: none;
2015
- text-decoration: none;
2016
- display: block;
2017
- position: absolute;
2018
- bottom: 100%;
2019
- left: 50%;
2020
- overflow: hidden;
2021
- transform: translate(-50%, -.25rem);
2022
- }
2023
-
2024
- [data-tooltip][data-placement="top"]:after, [data-tooltip]:after {
2025
- content: "";
2026
- color: var(--cirth-tooltip-background-color);
2027
- background-color: #0000;
2028
- border-top: .3rem solid;
2029
- border-left: .3rem solid #0000;
2030
- border-right: .3rem solid #0000;
2031
- border-radius: 0;
2032
- padding: 0;
2033
- transform: translate(-50%);
2034
- }
2035
-
2036
- [data-tooltip][data-placement="bottom"]:before, [data-tooltip][data-placement="bottom"]:after {
2037
- top: 100%;
2038
- bottom: auto;
2039
- transform: translate(-50%, .25rem);
2040
- }
2041
-
2042
- [data-tooltip][data-placement="bottom"]:after {
2043
- border: .3rem solid #0000;
2044
- border-bottom-color: currentColor;
2045
- transform: translate(-50%, -.3rem);
2046
- }
2047
-
2048
- [data-tooltip][data-placement="left"]:before, [data-tooltip][data-placement="left"]:after {
2049
- inset: 50% 100% auto auto;
2050
- transform: translate(-.25rem, -50%);
2051
- }
2052
-
2053
- [data-tooltip][data-placement="left"]:after {
2054
- border: .3rem solid #0000;
2055
- border-left-color: currentColor;
2056
- transform: translate(.3rem, -50%);
2057
- }
2058
-
2059
- [data-tooltip][data-placement="right"]:before, [data-tooltip][data-placement="right"]:after {
2060
- inset: 50% auto auto 100%;
2061
- transform: translate(.25rem, -50%);
2062
- }
2063
-
2064
- [data-tooltip][data-placement="right"]:after {
2065
- border: .3rem solid #0000;
2066
- border-right-color: currentColor;
2067
- transform: translate(-.3rem, -50%);
2068
- }
2069
-
2070
- [data-tooltip]:focus:before, [data-tooltip]:focus:after, [data-tooltip]:hover:before, [data-tooltip]:hover:after {
2071
- opacity: 1;
2072
- }
2073
-
2074
- @media (hover: hover) and (pointer: fine) {
2075
- [data-tooltip]:focus:before, [data-tooltip]:focus:after, [data-tooltip]:hover:before, [data-tooltip]:hover:after {
2076
- --cirth-tooltip-slide-to: translate(-50%, -.25rem);
2077
- animation-duration: var(--cirth-duration-normal);
2078
- opacity: 0;
2079
- animation-name: tooltip-slide;
2080
- animation-fill-mode: forwards;
2081
- transform: translate(-50%, .75rem);
2082
- }
2083
-
2084
- [data-tooltip]:focus:after, [data-tooltip]:hover:after {
2085
- --cirth-tooltip-caret-slide-to: translate(-50%, 0rem);
2086
- animation-name: tooltip-caret-slide;
2087
- transform: translate(-50%, -.25rem);
2088
- }
2089
-
2090
- [data-tooltip][data-placement="bottom"]:focus:before, [data-tooltip][data-placement="bottom"]:focus:after, [data-tooltip][data-placement="bottom"]:hover:before, [data-tooltip][data-placement="bottom"]:hover:after {
2091
- --cirth-tooltip-slide-to: translate(-50%, .25rem);
2092
- animation-name: tooltip-slide;
2093
- transform: translate(-50%, -.75rem);
2094
- }
2095
-
2096
- [data-tooltip][data-placement="bottom"]:focus:after, [data-tooltip][data-placement="bottom"]:hover:after {
2097
- --cirth-tooltip-caret-slide-to: translate(-50%, -.3rem);
2098
- animation-name: tooltip-caret-slide;
2099
- transform: translate(-50%, -.5rem);
2100
- }
2101
-
2102
- [data-tooltip][data-placement="left"]:focus:before, [data-tooltip][data-placement="left"]:focus:after, [data-tooltip][data-placement="left"]:hover:before, [data-tooltip][data-placement="left"]:hover:after {
2103
- --cirth-tooltip-slide-to: translate(-.25rem, -50%);
2104
- animation-name: tooltip-slide;
2105
- transform: translate(.75rem, -50%);
2106
- }
2107
-
2108
- [data-tooltip][data-placement="left"]:focus:after, [data-tooltip][data-placement="left"]:hover:after {
2109
- --cirth-tooltip-caret-slide-to: translate(.3rem, -50%);
2110
- animation-name: tooltip-caret-slide;
2111
- transform: translate(.05rem, -50%);
2112
- }
2113
-
2114
- [data-tooltip][data-placement="right"]:focus:before, [data-tooltip][data-placement="right"]:focus:after, [data-tooltip][data-placement="right"]:hover:before, [data-tooltip][data-placement="right"]:hover:after {
2115
- --cirth-tooltip-slide-to: translate(.25rem, -50%);
2116
- animation-name: tooltip-slide;
2117
- transform: translate(-.75rem, -50%);
2118
- }
2119
-
2120
- [data-tooltip][data-placement="right"]:focus:after, [data-tooltip][data-placement="right"]:hover:after {
2121
- --cirth-tooltip-caret-slide-to: translate(-.3rem, -50%);
2122
- animation-name: tooltip-caret-slide;
2123
- transform: translate(-.05rem, -50%);
2124
- }
2125
- }
2126
-
2127
- @keyframes tooltip-slide {
2128
- to {
2129
- transform: var(--cirth-tooltip-slide-to);
2130
- opacity: 1;
2131
- }
2132
- }
2133
-
2134
- @keyframes tooltip-caret-slide {
2135
- 50% {
2136
- opacity: 0;
2137
- }
2138
-
2139
- 100% {
2140
- transform: var(--cirth-tooltip-caret-slide-to);
2141
- opacity: 1;
2142
- }
2143
- }
2144
-
2145
1996
  [aria-controls] {
2146
1997
  cursor: pointer;
2147
1998
  }
@@ -2296,7 +2147,6 @@ progress::-moz-progress-bar {
2296
2147
  --cirth-z-index-fixed: 1030;
2297
2148
  --cirth-z-index-modal-backdrop: 1040;
2298
2149
  --cirth-z-index-modal: 1050;
2299
- --cirth-z-index-tooltip: 1070;
2300
2150
  --cirth-font-family: var(--cirth-font-family-sans);
2301
2151
  --cirth-line-height: var(--cirth-line-height-normal);
2302
2152
  --cirth-font-weight: var(--cirth-font-weight-regular);
@@ -2327,20 +2177,27 @@ progress::-moz-progress-bar {
2327
2177
  var(--cirth-primary-focus);
2328
2178
  --cirth-group-box-shadow-focus-with-input: 0 0 0 var(--cirth-border-width-1)
2329
2179
  var(--cirth-form-element-border-color);
2180
+ --cirth-meter-background-color: var(--cirth-progress-background-color);
2181
+ --cirth-meter-border-color: var(--cirth-progress-border-color);
2182
+ --cirth-popover-background-color: var(--cirth-card-background-color);
2183
+ --cirth-popover-border-color: var(--cirth-muted-border-color);
2184
+ --cirth-popover-color: var(--cirth-color);
2185
+ --cirth-popover-box-shadow: var(--cirth-box-shadow);
2186
+ --cirth-popover-max-width: min(30rem, 100% - var(--cirth-spacing) * 2);
2330
2187
  --cirth-modal-overlay-backdrop-filter: blur(.375rem);
2331
2188
  --cirth-nav-element-spacing-vertical: var(--cirth-space-4);
2332
2189
  --cirth-nav-element-spacing-horizontal: var(--cirth-space-2);
2333
2190
  --cirth-nav-link-spacing-vertical: var(--cirth-space-2);
2334
2191
  --cirth-nav-link-spacing-horizontal: var(--cirth-space-2);
2335
2192
  --cirth-nav-breadcrumb-divider: ">";
2336
- --cirth-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2337
- --cirth-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
2338
- --cirth-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
2339
- --cirth-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
2340
- --cirth-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
2341
- --cirth-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
2342
- --cirth-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
2343
- --cirth-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 146, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
2193
+ --cirth-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2194
+ --cirth-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
2195
+ --cirth-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
2196
+ --cirth-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
2197
+ --cirth-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
2198
+ --cirth-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
2199
+ --cirth-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 146, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
2200
+ --cirth-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 146, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
2344
2201
  }
2345
2202
 
2346
2203
  a, a.secondary, a.contrast {
@@ -2493,7 +2350,7 @@ details summary[role="button"]:not(.outline):after {
2493
2350
  filter: brightness(0) invert();
2494
2351
  }
2495
2352
 
2496
- [data-theme="light"], :root:not([data-theme="dark"]), :host(:not([data-theme="dark"])) {
2353
+ :where([data-theme="light"]), :root:where(:not([data-theme="dark"])), :host(:where(:not([data-theme="dark"]))) {
2497
2354
  --lightningcss-light: initial;
2498
2355
  --lightningcss-dark: ;
2499
2356
  color-scheme: light;
@@ -2593,21 +2450,22 @@ details summary[role="button"]:not(.outline):after {
2593
2450
  --cirth-dropdown-hover-background-color: oklch(96% 0 264);
2594
2451
  --cirth-loading-spinner-opacity: var(--cirth-opacity-disabled);
2595
2452
  --cirth-modal-overlay-background-color: oklch(93.85% .003 264deg / var(--cirth-opacity-overlay));
2453
+ --cirth-meter-optimum-color: oklch(52.7% .1 160.59);
2454
+ --cirth-meter-suboptimum-color: oklch(48.3% .086 78);
2455
+ --cirth-meter-even-less-good-color: oklch(44% .151 29.73);
2596
2456
  --cirth-progress-background-color: oklch(91.7% .006 264);
2597
2457
  --cirth-progress-border-color: oklch(61.3% .032 264);
2598
2458
  --cirth-progress-color: var(--cirth-primary-background);
2599
- --cirth-tooltip-background-color: var(--cirth-contrast-background);
2600
- --cirth-tooltip-color: var(--cirth-contrast-inverse);
2601
- --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(40, 124, 87)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2602
- --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(189, 47, 33)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2459
+ --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(40, 124, 87)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2460
+ --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(189, 47, 33)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2603
2461
  }
2604
2462
 
2605
- [data-theme="light"] input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), :root:not([data-theme="dark"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), :host(:not([data-theme="dark"])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2463
+ :where([data-theme="light"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), :root:where(:not([data-theme="dark"])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), :host(:where(:not([data-theme="dark"]))) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2606
2464
  --cirth-form-element-focus-color: var(--cirth-primary-focus);
2607
2465
  }
2608
2466
 
2609
2467
  @media only screen and (prefers-color-scheme: dark) {
2610
- :root:not([data-theme]), :host(:not([data-theme])) {
2468
+ :root:where(:not([data-theme])), :host(:where(:not([data-theme]))) {
2611
2469
  --lightningcss-light: ;
2612
2470
  --lightningcss-dark: initial;
2613
2471
  color-scheme: dark;
@@ -2707,25 +2565,26 @@ details summary[role="button"]:not(.outline):after {
2707
2565
  --cirth-dropdown-hover-background-color: oklch(26.7% .011 264);
2708
2566
  --cirth-loading-spinner-opacity: var(--cirth-opacity-disabled);
2709
2567
  --cirth-modal-overlay-background-color: oklch(9% 0 312deg / var(--cirth-opacity-overlay));
2568
+ --cirth-meter-optimum-color: oklch(65.7% .125 160.59);
2569
+ --cirth-meter-suboptimum-color: oklch(70% .124 78);
2570
+ --cirth-meter-even-less-good-color: oklch(74.3% .133 29.73);
2710
2571
  --cirth-progress-background-color: oklch(26.7% .011 264);
2711
2572
  --cirth-progress-border-color: oklch(52.7% .032 264);
2712
2573
  --cirth-progress-color: oklch(61.3% .113 69.35);
2713
- --cirth-tooltip-background-color: var(--cirth-contrast-background);
2714
- --cirth-tooltip-color: var(--cirth-contrast-inverse);
2715
- --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2716
- --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2574
+ --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2575
+ --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2717
2576
  }
2718
2577
 
2719
- :root:not([data-theme]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), :host(:not([data-theme])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2578
+ :root:where(:not([data-theme])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), :host(:where(:not([data-theme]))) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2720
2579
  --cirth-form-element-focus-color: var(--cirth-primary-focus);
2721
2580
  }
2722
2581
 
2723
- :root:not([data-theme]) details summary[role="button"].contrast:not(.outline):after, :host(:not([data-theme])) details summary[role="button"].contrast:not(.outline):after, :root:not([data-theme]) [aria-busy="true"]:not(input, select, textarea).contrast:is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before, :host(:not([data-theme])) [aria-busy="true"]:not(input, select, textarea).contrast:is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before {
2582
+ :root:where(:not([data-theme])) details summary[role="button"].contrast:not(.outline):after, :host(:where(:not([data-theme]))) details summary[role="button"].contrast:not(.outline):after, :root:where(:not([data-theme])) [aria-busy="true"]:not(input, select, textarea).contrast:is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before, :host(:where(:not([data-theme]))) [aria-busy="true"]:not(input, select, textarea).contrast:is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before {
2724
2583
  filter: brightness(0);
2725
2584
  }
2726
2585
  }
2727
2586
 
2728
- [data-theme="dark"] {
2587
+ :where([data-theme="dark"]) {
2729
2588
  --lightningcss-light: ;
2730
2589
  --lightningcss-dark: initial;
2731
2590
  color-scheme: dark;
@@ -2825,23 +2684,266 @@ details summary[role="button"]:not(.outline):after {
2825
2684
  --cirth-dropdown-hover-background-color: oklch(26.7% .011 264);
2826
2685
  --cirth-loading-spinner-opacity: var(--cirth-opacity-disabled);
2827
2686
  --cirth-modal-overlay-background-color: oklch(9% 0 312deg / var(--cirth-opacity-overlay));
2687
+ --cirth-meter-optimum-color: oklch(65.7% .125 160.59);
2688
+ --cirth-meter-suboptimum-color: oklch(70% .124 78);
2689
+ --cirth-meter-even-less-good-color: oklch(74.3% .133 29.73);
2828
2690
  --cirth-progress-background-color: oklch(26.7% .011 264);
2829
2691
  --cirth-progress-border-color: oklch(52.7% .032 264);
2830
2692
  --cirth-progress-color: oklch(61.3% .113 69.35);
2831
- --cirth-tooltip-background-color: var(--cirth-contrast-background);
2832
- --cirth-tooltip-color: var(--cirth-contrast-inverse);
2833
- --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2834
- --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2693
+ --cirth-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(75, 215, 153)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
2694
+ --cirth-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgb(246, 160, 145)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
2835
2695
  }
2836
2696
 
2837
- [data-theme="dark"] input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2697
+ :where([data-theme="dark"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2838
2698
  --cirth-form-element-focus-color: var(--cirth-primary-focus);
2839
2699
  }
2840
2700
 
2841
- [data-theme="dark"] details summary[role="button"].contrast:not(.outline):after, [data-theme="dark"] [aria-busy="true"]:not(input, select, textarea).contrast:is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before {
2701
+ :where([data-theme="dark"]) details summary[role="button"].contrast:not(.outline):after, :where([data-theme="dark"]) [aria-busy="true"]:not(input, select, textarea).contrast:is(button, [type="submit"], [type="button"], [type="reset"], [role="button"]):not(.outline):before {
2842
2702
  filter: brightness(0);
2843
2703
  }
2844
2704
 
2845
2705
  progress, [type="checkbox"], [type="radio"], [type="range"] {
2846
2706
  accent-color: var(--cirth-primary);
2847
2707
  }
2708
+
2709
+ @media (prefers-contrast: more) {
2710
+ :where([data-theme="light"]), :root:where(:not([data-theme="dark"])), :host(:where(:not([data-theme="dark"]))) {
2711
+ --cirth-color: oklch(22.3% .006 264);
2712
+ --cirth-h1-color: var(--cirth-color);
2713
+ --cirth-h2-color: var(--cirth-color);
2714
+ --cirth-h3-color: var(--cirth-color);
2715
+ --cirth-h4-color: var(--cirth-color);
2716
+ --cirth-h5-color: var(--cirth-color);
2717
+ --cirth-h6-color: var(--cirth-color);
2718
+ --cirth-muted-color: oklch(39.7% .025 264);
2719
+ --cirth-secondary: oklch(39.7% .025 264);
2720
+ --cirth-code-color: oklch(35.3% .021 264);
2721
+ --cirth-link-visited-color: oklch(35.3% .021 264);
2722
+ --cirth-muted-border-color: oklch(57% .032 264);
2723
+ --cirth-form-element-border-color: oklch(39.7% .025 264);
2724
+ --cirth-form-element-invalid-border-color: oklch(48.3% .166 29.73);
2725
+ --cirth-form-element-valid-border-color: oklch(48.3% .092 160.59);
2726
+ --cirth-primary: oklch(39.7% .073 69.35);
2727
+ --cirth-primary-hover: oklch(31% .057 69.35);
2728
+ --cirth-primary-underline: var(--cirth-primary);
2729
+ --cirth-secondary-underline: var(--cirth-secondary);
2730
+ --cirth-contrast-underline: var(--cirth-contrast);
2731
+ --cirth-primary-focus: oklch(48.3% .089 69.35);
2732
+ --cirth-secondary-focus: oklch(48.3% .03 264);
2733
+ --cirth-contrast-focus: oklch(48.3% .03 264);
2734
+ --cirth-switch-background-color: oklch(48.3% .03 264);
2735
+ --cirth-progress-border-color: oklch(48.3% .03 264);
2736
+ --cirth-meter-optimum-color: oklch(44% .084 160.59);
2737
+ --cirth-meter-suboptimum-color: oklch(39.7% .07 78);
2738
+ --cirth-meter-even-less-good-color: oklch(35.3% .122 29.73);
2739
+ --cirth-dropdown-border-color: var(--cirth-muted-border-color);
2740
+ }
2741
+ }
2742
+
2743
+ @media only screen and (prefers-contrast: more) and (prefers-color-scheme: dark) {
2744
+ :root:where(:not([data-theme])), :host(:where(:not([data-theme]))) {
2745
+ --cirth-color: oklch(96% 0 264);
2746
+ --cirth-h1-color: var(--cirth-color);
2747
+ --cirth-h2-color: var(--cirth-color);
2748
+ --cirth-h3-color: var(--cirth-color);
2749
+ --cirth-h4-color: var(--cirth-color);
2750
+ --cirth-h5-color: var(--cirth-color);
2751
+ --cirth-h6-color: var(--cirth-color);
2752
+ --cirth-muted-color: oklch(78.7% .021 264);
2753
+ --cirth-secondary: oklch(78.7% .021 264);
2754
+ --cirth-code-color: oklch(83% .016 264);
2755
+ --cirth-link-visited-color: oklch(78.7% .021 264);
2756
+ --cirth-muted-border-color: oklch(57% .032 264);
2757
+ --cirth-card-border-color: var(--cirth-muted-border-color);
2758
+ --cirth-form-element-border-color: oklch(70% .028 264);
2759
+ --cirth-form-element-invalid-border-color: oklch(78.7% .106 29.73);
2760
+ --cirth-form-element-valid-border-color: oklch(78.7% .15 160.59);
2761
+ --cirth-primary: oklch(78.7% .146 69.35);
2762
+ --cirth-primary-hover: oklch(87.3% .082 69.35);
2763
+ --cirth-primary-underline: var(--cirth-primary);
2764
+ --cirth-secondary-underline: var(--cirth-secondary);
2765
+ --cirth-contrast-underline: var(--cirth-contrast);
2766
+ --cirth-primary-focus: oklch(70% .129 69.35);
2767
+ --cirth-secondary-focus: oklch(70% .028 264);
2768
+ --cirth-contrast-focus: oklch(87.3% .011 264);
2769
+ --cirth-switch-background-color: oklch(65.7% .03 264);
2770
+ --cirth-progress-border-color: oklch(70% .028 264);
2771
+ --cirth-meter-optimum-color: oklch(74.3% .142 160.59);
2772
+ --cirth-meter-suboptimum-color: oklch(78.7% .139 78);
2773
+ --cirth-meter-even-less-good-color: oklch(83% .081 29.73);
2774
+ --cirth-dropdown-border-color: var(--cirth-muted-border-color);
2775
+ }
2776
+ }
2777
+
2778
+ @media (prefers-contrast: more) {
2779
+ :where([data-theme="dark"]) {
2780
+ --cirth-color: oklch(96% 0 264);
2781
+ --cirth-h1-color: var(--cirth-color);
2782
+ --cirth-h2-color: var(--cirth-color);
2783
+ --cirth-h3-color: var(--cirth-color);
2784
+ --cirth-h4-color: var(--cirth-color);
2785
+ --cirth-h5-color: var(--cirth-color);
2786
+ --cirth-h6-color: var(--cirth-color);
2787
+ --cirth-muted-color: oklch(78.7% .021 264);
2788
+ --cirth-secondary: oklch(78.7% .021 264);
2789
+ --cirth-code-color: oklch(83% .016 264);
2790
+ --cirth-link-visited-color: oklch(78.7% .021 264);
2791
+ --cirth-muted-border-color: oklch(57% .032 264);
2792
+ --cirth-card-border-color: var(--cirth-muted-border-color);
2793
+ --cirth-form-element-border-color: oklch(70% .028 264);
2794
+ --cirth-form-element-invalid-border-color: oklch(78.7% .106 29.73);
2795
+ --cirth-form-element-valid-border-color: oklch(78.7% .15 160.59);
2796
+ --cirth-primary: oklch(78.7% .146 69.35);
2797
+ --cirth-primary-hover: oklch(87.3% .082 69.35);
2798
+ --cirth-primary-underline: var(--cirth-primary);
2799
+ --cirth-secondary-underline: var(--cirth-secondary);
2800
+ --cirth-contrast-underline: var(--cirth-contrast);
2801
+ --cirth-primary-focus: oklch(70% .129 69.35);
2802
+ --cirth-secondary-focus: oklch(70% .028 264);
2803
+ --cirth-contrast-focus: oklch(87.3% .011 264);
2804
+ --cirth-switch-background-color: oklch(65.7% .03 264);
2805
+ --cirth-progress-border-color: oklch(70% .028 264);
2806
+ --cirth-meter-optimum-color: oklch(74.3% .142 160.59);
2807
+ --cirth-meter-suboptimum-color: oklch(78.7% .139 78);
2808
+ --cirth-meter-even-less-good-color: oklch(83% .081 29.73);
2809
+ --cirth-dropdown-border-color: var(--cirth-muted-border-color);
2810
+ }
2811
+ }
2812
+
2813
+ @media print {
2814
+ :root, :host {
2815
+ --cirth-print-color: oklch(0% 0 0);
2816
+ --cirth-print-muted-color: oklch(48.3% .03 264);
2817
+ --cirth-print-border-color: oklch(61.3% .032 264);
2818
+ }
2819
+
2820
+ html {
2821
+ --lightningcss-light: initial;
2822
+ --lightningcss-dark: ;
2823
+ color-scheme: light;
2824
+ background: none;
2825
+ }
2826
+
2827
+ body {
2828
+ color: var(--cirth-print-color);
2829
+ --lightningcss-light: initial;
2830
+ --lightningcss-dark: ;
2831
+ color-scheme: light;
2832
+ --cirth-color: var(--cirth-print-color);
2833
+ --cirth-h1-color: var(--cirth-print-color);
2834
+ --cirth-h2-color: var(--cirth-print-color);
2835
+ --cirth-h3-color: var(--cirth-print-color);
2836
+ --cirth-h4-color: var(--cirth-print-color);
2837
+ --cirth-h5-color: var(--cirth-print-color);
2838
+ --cirth-h6-color: var(--cirth-print-color);
2839
+ --cirth-code-color: var(--cirth-print-color);
2840
+ --cirth-code-kbd-color: var(--cirth-print-color);
2841
+ --cirth-form-element-color: var(--cirth-print-color);
2842
+ --cirth-muted-color: var(--cirth-print-muted-color);
2843
+ --cirth-form-element-placeholder-color: var(--cirth-print-muted-color);
2844
+ --cirth-primary: var(--cirth-print-color);
2845
+ --cirth-primary-hover: var(--cirth-print-color);
2846
+ --cirth-primary-underline: var(--cirth-print-color);
2847
+ --cirth-secondary: var(--cirth-print-color);
2848
+ --cirth-secondary-underline: var(--cirth-print-color);
2849
+ --cirth-contrast: var(--cirth-print-color);
2850
+ --cirth-contrast-underline: var(--cirth-print-color);
2851
+ --cirth-link-visited-color: var(--cirth-print-color);
2852
+ --cirth-muted-border-color: var(--cirth-print-border-color);
2853
+ --cirth-form-element-border-color: var(--cirth-print-border-color);
2854
+ --cirth-box-shadow: none;
2855
+ --cirth-card-box-shadow: none;
2856
+ --cirth-card-background-color: transparent;
2857
+ --cirth-card-sectioning-background-color: transparent;
2858
+ --cirth-code-background-color: transparent;
2859
+ --cirth-code-kbd-background-color: transparent;
2860
+ --cirth-form-element-background-color: transparent;
2861
+ --cirth-form-element-active-background-color: transparent;
2862
+ --cirth-table-row-stripped-background-color: transparent;
2863
+ --cirth-modal-overlay-background-color: transparent;
2864
+ --cirth-dropdown-background-color: transparent;
2865
+ --cirth-dropdown-box-shadow: none;
2866
+ --cirth-ins-color: oklch(35.3% .067 160.59);
2867
+ --cirth-del-color: oklch(35.3% .122 29.73);
2868
+ --cirth-meter-optimum-color: oklch(52.7% .1 160.59);
2869
+ --cirth-meter-suboptimum-color: oklch(48.3% .086 78);
2870
+ --cirth-meter-even-less-good-color: oklch(44% .151 29.73);
2871
+ background: none;
2872
+ }
2873
+
2874
+ kbd {
2875
+ border: var(--cirth-border-width) solid var(--cirth-print-border-color);
2876
+ }
2877
+
2878
+ :is(button, [type="submit"], [type="reset"], [type="button"], [role="button"]) {
2879
+ border-color: var(--cirth-print-border-color);
2880
+ box-shadow: none;
2881
+ color: var(--cirth-print-color);
2882
+ background: none;
2883
+ }
2884
+
2885
+ [type="file"]::file-selector-button {
2886
+ border-color: var(--cirth-print-border-color);
2887
+ box-shadow: none;
2888
+ color: var(--cirth-print-color);
2889
+ background: none;
2890
+ }
2891
+
2892
+ :is(mark, meter, progress, [type="checkbox"], [type="radio"]) {
2893
+ -webkit-print-color-adjust: exact;
2894
+ print-color-adjust: exact;
2895
+ }
2896
+
2897
+ a[href^="http"]:not([role="button"], nav a):after {
2898
+ content: " (" attr(href) ")";
2899
+ color: var(--cirth-print-muted-color);
2900
+ font-size: var(--cirth-font-size-sm);
2901
+ word-break: break-all;
2902
+ }
2903
+
2904
+ thead {
2905
+ display: table-header-group;
2906
+ }
2907
+
2908
+ tfoot {
2909
+ display: table-footer-group;
2910
+ }
2911
+
2912
+ tr {
2913
+ break-inside: avoid;
2914
+ }
2915
+
2916
+ pre {
2917
+ white-space: pre-wrap;
2918
+ overflow: visible;
2919
+ }
2920
+
2921
+ .overflow-auto {
2922
+ overflow: visible;
2923
+ }
2924
+
2925
+ dialog {
2926
+ backdrop-filter: none;
2927
+ min-width: 0;
2928
+ min-height: 0;
2929
+ position: static;
2930
+ }
2931
+
2932
+ dialog > article {
2933
+ max-height: none;
2934
+ overflow: visible;
2935
+ }
2936
+
2937
+ :is(h1, h2, h3, h4, h5, h6) {
2938
+ break-after: avoid;
2939
+ }
2940
+
2941
+ :is(figure, img) {
2942
+ break-inside: avoid;
2943
+ }
2944
+
2945
+ :is(blockquote, li, p) {
2946
+ orphans: 3;
2947
+ widows: 3;
2948
+ }
2949
+ }