@cirthcss/cirth 0.14.1 → 0.15.0-beta.1

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.
@@ -42,20 +42,23 @@
42
42
  }
43
43
 
44
44
  .cirth .container, .cirth .container-fluid {
45
- grid-template-columns: minmax(var(--cirth-spacing), 1fr) minmax(0, 1fr) minmax(var(--cirth-spacing), 1fr);
46
45
  display: grid;
47
46
  }
48
47
 
49
48
  .cirth .container > *, .cirth .container-fluid > * {
50
- grid-column: 2;
49
+ grid-column: content;
51
50
  }
52
51
 
53
52
  .cirth .container {
54
- grid-template-columns: minmax(var(--cirth-spacing), 1fr) minmax(0, var(--cirth-container-max-width)) minmax(var(--cirth-spacing), 1fr);
53
+ grid-template-columns: [full-start] minmax(var(--cirth-container-gutter), 1fr) [content-start] minmax(0, var(--cirth-container-max-width)) [content-end] minmax(var(--cirth-container-gutter), 1fr) [full-end];
55
54
  }
56
55
 
57
- .cirth .breakout {
58
- grid-column: 1 / -1;
56
+ .cirth .container-fluid {
57
+ grid-template-columns: [full-start] var(--cirth-container-gutter) [content-start] minmax(0, 1fr) [content-end] var(--cirth-container-gutter) [full-end];
58
+ }
59
+
60
+ .cirth .container > .breakout {
61
+ grid-column: full;
59
62
  }
60
63
 
61
64
  .cirth .row {
@@ -96,6 +99,10 @@
96
99
  overflow: auto;
97
100
  }
98
101
 
102
+ .cirth .overflow-auto:focus-visible {
103
+ outline: var(--cirth-outline-width) solid var(--cirth-primary-focus);
104
+ }
105
+
99
106
  .cirth b, .cirth strong {
100
107
  font-weight: bolder;
101
108
  }
@@ -116,11 +123,9 @@
116
123
  }
117
124
 
118
125
  .cirth address, .cirth blockquote, .cirth dl, .cirth ol, .cirth p, .cirth pre, .cirth table, .cirth ul {
119
- margin-top: 0;
120
- margin-bottom: var(--cirth-typography-spacing-vertical);
126
+ margin-block: 0 var(--cirth-typography-spacing-vertical);
121
127
  color: var(--cirth-color);
122
128
  font-style: normal;
123
- font-weight: var(--cirth-font-weight);
124
129
  }
125
130
 
126
131
  .cirth p {
@@ -128,8 +133,7 @@
128
133
  }
129
134
 
130
135
  .cirth h1, .cirth h2, .cirth h3, .cirth h4, .cirth h5, .cirth h6 {
131
- margin-top: 0;
132
- margin-bottom: var(--cirth-typography-spacing-vertical);
136
+ margin-block: 0 calc(var(--cirth-typography-spacing-vertical) * .5);
133
137
  color: var(--cirth-color);
134
138
  font-weight: var(--cirth-font-weight);
135
139
  font-size: var(--cirth-font-size);
@@ -167,13 +171,12 @@
167
171
  margin-top: var(--cirth-typography-spacing-top);
168
172
  }
169
173
 
170
- .cirth p, .cirth hgroup {
174
+ .cirth hgroup {
171
175
  margin-bottom: var(--cirth-typography-spacing-vertical);
172
176
  }
173
177
 
174
178
  .cirth hgroup > * {
175
- margin-top: 0;
176
- margin-bottom: 0;
179
+ margin-block: 0;
177
180
  }
178
181
 
179
182
  .cirth hgroup > :not(:first-child):last-child {
@@ -195,6 +198,18 @@
195
198
  list-style: square;
196
199
  }
197
200
 
201
+ .cirth dt {
202
+ font-weight: var(--cirth-font-weight-semibold);
203
+ }
204
+
205
+ .cirth dd {
206
+ margin-inline-start: 0;
207
+ }
208
+
209
+ .cirth dl > dd + dt {
210
+ margin-top: calc(var(--cirth-typography-spacing-vertical) * .5);
211
+ }
212
+
198
213
  .cirth mark {
199
214
  padding: 0 var(--cirth-space-1);
200
215
  background-color: var(--cirth-mark-background-color);
@@ -207,7 +222,10 @@
207
222
  padding: var(--cirth-spacing);
208
223
  border-inline-start: var(--cirth-border-width-4) solid var(--cirth-blockquote-border-color);
209
224
  border-inline-end: none;
210
- display: block;
225
+ }
226
+
227
+ .cirth blockquote > :last-child, .cirth blockquote > :has( + footer) {
228
+ margin-bottom: 0;
211
229
  }
212
230
 
213
231
  .cirth blockquote footer {
@@ -279,10 +297,14 @@
279
297
  --cirth-underline: var(--cirth-contrast-hover-underline);
280
298
  }
281
299
 
282
- .cirth :where(a:not([role="button"])):visited:not(.secondary, .contrast, details.dropdown a, [aria-current]:not([aria-current="false"]), :hover, :active, :focus, nav a) {
300
+ .cirth :where(a:not([role="button"])):visited:not(.secondary, .contrast, details.dropdown a, [aria-current]:not([aria-current="false"]), :hover, :active, :focus, nav a, :has(article)) {
283
301
  color: var(--cirth-link-visited-color);
284
302
  }
285
303
 
304
+ .cirth :where(a:not([role="button"])):has(article) {
305
+ --cirth-color: inherit;
306
+ }
307
+
286
308
  .cirth a[role="button"] {
287
309
  display: inline-block;
288
310
  }
@@ -303,7 +325,7 @@
303
325
  --cirth-color: var(--cirth-primary-inverse);
304
326
  --cirth-box-shadow: var(--cirth-button-box-shadow, 0 0 0 #0000);
305
327
  max-width: 100%;
306
- min-block-size: calc(var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
328
+ min-block-size: max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
307
329
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
308
330
  border: var(--cirth-border-width) solid var(--cirth-border-color);
309
331
  border-radius: var(--cirth-border-radius);
@@ -328,7 +350,7 @@
328
350
  --cirth-color: var(--cirth-primary-inverse);
329
351
  --cirth-box-shadow: var(--cirth-button-box-shadow, 0 0 0 #0000);
330
352
  max-width: 100%;
331
- min-block-size: calc(var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
353
+ min-block-size: max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
332
354
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
333
355
  border: var(--cirth-border-width) solid var(--cirth-border-color);
334
356
  border-radius: var(--cirth-border-radius);
@@ -369,11 +391,11 @@
369
391
  }
370
392
 
371
393
  .cirth button:active, .cirth [type="submit"]:active, .cirth [type="reset"]:active, .cirth [type="button"]:active, .cirth [role="button"]:active {
372
- transform: translateY(.0625rem);
394
+ background-image: linear-gradient(#0000001f 0 0);
373
395
  }
374
396
 
375
397
  .cirth [type="file"]::file-selector-button:active {
376
- transform: translateY(.0625rem);
398
+ background-image: linear-gradient(#0000001f 0 0);
377
399
  }
378
400
 
379
401
  .cirth button:focus-visible, .cirth button[aria-current]:not([aria-current="false"]):focus-visible, .cirth [type="submit"]:focus-visible, .cirth [type="submit"][aria-current]:not([aria-current="false"]):focus-visible, .cirth [type="reset"]:focus-visible, .cirth [type="reset"][aria-current]:not([aria-current="false"]):focus-visible, .cirth [type="button"]:focus-visible, .cirth [type="button"][aria-current]:not([aria-current="false"]):focus-visible, .cirth [role="button"]:focus-visible, .cirth [role="button"][aria-current]:not([aria-current="false"]):focus-visible {
@@ -382,18 +404,6 @@
382
404
  outline: var(--cirth-outline-width) solid transparent;
383
405
  }
384
406
 
385
- .cirth [type="file"]::file-selector-button:focus-visible {
386
- --cirth-box-shadow: var(--cirth-button-hover-box-shadow, 0 0 0 #0000),
387
- 0 0 0 var(--cirth-outline-width) var(--cirth-primary-focus);
388
- outline: var(--cirth-outline-width) solid transparent;
389
- }
390
-
391
- .cirth [type="file"]::file-selector-button:is():focus-visible {
392
- --cirth-box-shadow: var(--cirth-button-hover-box-shadow, 0 0 0 #0000),
393
- 0 0 0 var(--cirth-outline-width) var(--cirth-primary-focus);
394
- outline: var(--cirth-outline-width) solid transparent;
395
- }
396
-
397
407
  .cirth [type="submit"], .cirth [type="reset"], .cirth [type="button"] {
398
408
  margin-bottom: var(--cirth-spacing);
399
409
  }
@@ -429,16 +439,6 @@
429
439
  0 0 0 var(--cirth-outline-width) var(--cirth-secondary-focus);
430
440
  }
431
441
 
432
- .cirth [type="file"]::file-selector-button:focus-visible {
433
- --cirth-box-shadow: var(--cirth-button-hover-box-shadow, 0 0 0 #0000),
434
- 0 0 0 var(--cirth-outline-width) var(--cirth-secondary-focus);
435
- }
436
-
437
- .cirth [type="file"]::file-selector-button:is():focus-visible {
438
- --cirth-box-shadow: var(--cirth-button-hover-box-shadow, 0 0 0 #0000),
439
- 0 0 0 var(--cirth-outline-width) var(--cirth-secondary-focus);
440
- }
441
-
442
442
  .cirth :is(button, [type="submit"], [type="button"], [role="button"]).contrast {
443
443
  --cirth-background-color: var(--cirth-contrast-background);
444
444
  --cirth-border-color: var(--cirth-contrast-border);
@@ -457,12 +457,11 @@
457
457
  }
458
458
 
459
459
  .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline, .cirth [type="reset"].outline {
460
- --cirth-background-color: var(--cirth-canvas);
460
+ --cirth-background-color: var(--cirth-form-element-background-color);
461
461
  }
462
462
 
463
463
  .cirth :is(button, [type="submit"], [type="button"], [role="button"]).ghost, .cirth [type="reset"].ghost {
464
464
  --cirth-background-color: transparent;
465
- --cirth-box-shadow: none;
466
465
  }
467
466
 
468
467
  .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline, .cirth [type="reset"].outline {
@@ -473,7 +472,7 @@
473
472
  .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) {
474
473
  --cirth-background-color: color-mix(in oklch,
475
474
  var(--cirth-primary) 12%,
476
- var(--cirth-canvas));
475
+ var(--cirth-form-element-background-color));
477
476
  --cirth-color: var(--cirth-primary-hover);
478
477
  --cirth-border-color: var(--cirth-primary-hover);
479
478
  }
@@ -486,7 +485,7 @@
486
485
  .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.secondary:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
487
486
  --cirth-background-color: color-mix(in oklch,
488
487
  var(--cirth-secondary) 12%,
489
- var(--cirth-canvas));
488
+ var(--cirth-form-element-background-color));
490
489
  --cirth-color: var(--cirth-secondary-hover);
491
490
  --cirth-border-color: var(--cirth-secondary-hover);
492
491
  }
@@ -499,7 +498,7 @@
499
498
  .cirth :is(button, [type="submit"], [type="button"], [role="button"]).outline.contrast:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus), .cirth [type="reset"].outline.contrast:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
500
499
  --cirth-background-color: color-mix(in oklch,
501
500
  var(--cirth-contrast) 12%,
502
- var(--cirth-canvas));
501
+ var(--cirth-form-element-background-color));
503
502
  --cirth-color: var(--cirth-contrast-hover);
504
503
  --cirth-border-color: var(--cirth-contrast-hover);
505
504
  }
@@ -548,22 +547,26 @@
548
547
  pointer-events: none;
549
548
  }
550
549
 
551
- .cirth form:invalid :is(button:not([type="button"], [type="reset"]), [type="submit"]) {
550
+ .cirth form:has(:user-invalid) :is(button:not([type="button"], [type="reset"]), [type="submit"]) {
552
551
  filter: grayscale();
553
552
  }
554
553
 
555
554
  .cirth :where(table) {
556
555
  border-collapse: collapse;
557
- border-spacing: 0;
558
556
  text-indent: 0;
559
557
  border-color: currentColor;
560
558
  width: 100%;
561
559
  }
562
560
 
561
+ .cirth caption {
562
+ color: var(--cirth-muted-color);
563
+ text-align: start;
564
+ padding-block-end: calc(var(--cirth-spacing) * .5);
565
+ }
566
+
563
567
  .cirth th, .cirth td {
564
568
  padding: calc(var(--cirth-spacing) / 2) var(--cirth-spacing);
565
569
  border-bottom: var(--cirth-border-width) solid var(--cirth-table-border-color);
566
- color: var(--cirth-color);
567
570
  font-weight: var(--cirth-font-weight);
568
571
  font-variant-numeric: tabular-nums;
569
572
  text-align: start;
@@ -629,10 +632,15 @@
629
632
 
630
633
  .cirth pre {
631
634
  margin-bottom: var(--cirth-spacing);
635
+ border: var(--cirth-border-width) solid var(--cirth-card-border-color);
632
636
  display: block;
633
637
  overflow-x: auto;
634
638
  }
635
639
 
640
+ .cirth pre:focus-visible {
641
+ outline: var(--cirth-outline-width) solid var(--cirth-primary-focus);
642
+ }
643
+
636
644
  .cirth pre > code, .cirth pre > samp {
637
645
  padding: var(--cirth-spacing);
638
646
  line-height: var(--cirth-line-height);
@@ -720,11 +728,11 @@
720
728
  }
721
729
 
722
730
  .cirth input:not([type="checkbox"], [type="radio"], [type="range"]) {
723
- height: calc(var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
731
+ height: max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
724
732
  }
725
733
 
726
734
  .cirth select, .cirth textarea {
727
- min-block-size: calc(var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
735
+ min-block-size: max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
728
736
  }
729
737
 
730
738
  .cirth fieldset {
@@ -742,10 +750,6 @@
742
750
  display: block;
743
751
  }
744
752
 
745
- .cirth fieldset legend {
746
- margin-bottom: calc(var(--cirth-spacing) * .5);
747
- }
748
-
749
753
  .cirth input:not([type="checkbox"], [type="radio"], [size]), .cirth button[type="submit"], .cirth select, .cirth textarea {
750
754
  width: 100%;
751
755
  }
@@ -770,6 +774,11 @@
770
774
  outline: none;
771
775
  }
772
776
 
777
+ .cirth :where(input, textarea)[readonly] {
778
+ background-color: var(--cirth-card-sectioning-background-color);
779
+ border-style: dashed;
780
+ }
781
+
773
782
  .cirth input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [readonly]):is(:active, :focus), .cirth :where(select, textarea):not([readonly]):is(:active, :focus) {
774
783
  --cirth-background-color: var(--cirth-form-element-active-background-color);
775
784
  }
@@ -778,10 +787,18 @@
778
787
  --cirth-border-color: var(--cirth-form-element-active-border-color);
779
788
  }
780
789
 
781
- .cirth input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="range"], [type="file"], [readonly]):hover:not(:active, :focus, [disabled], [aria-invalid]), .cirth :where(select, textarea):not([readonly]):hover:not(:active, :focus, [disabled], [aria-invalid]) {
782
- --cirth-border-color: color-mix(in oklch,
783
- var(--cirth-form-element-border-color) 65%,
784
- var(--cirth-color));
790
+ @media (hover: hover) and (pointer: fine) {
791
+ .cirth input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="range"], [type="file"], [readonly]):hover:not(:active, :focus, :disabled, [aria-invalid], :user-invalid) {
792
+ --cirth-border-color: color-mix(in oklch,
793
+ var(--cirth-form-element-border-color) 65%,
794
+ var(--cirth-color));
795
+ }
796
+
797
+ .cirth :where(select, textarea):not([readonly]):hover:not(:active, :focus, :disabled, [aria-invalid], :user-invalid) {
798
+ --cirth-border-color: color-mix(in oklch,
799
+ var(--cirth-form-element-border-color) 65%,
800
+ var(--cirth-color));
801
+ }
785
802
  }
786
803
 
787
804
  .cirth input:not([type="submit"], [type="button"], [type="reset"], [type="range"], [type="file"], [readonly]):focus, .cirth :where(select, textarea):not([readonly]):focus {
@@ -886,7 +903,7 @@
886
903
  .cirth textarea:is([aria-invalid], :user-invalid:not([aria-invalid], [type="range"]):not(select:focus)) {
887
904
  --cirth-icon-height: calc(var(--cirth-font-size-md) * var(--cirth-line-height) +
888
905
  var(--cirth-form-element-spacing-vertical) * 2 +
889
- var(--cirth-border-width) * 2);
906
+ (var(--cirth-border-width) * 2));
890
907
  background-position: top right var(--cirth-space-3);
891
908
  background-size: var(--cirth-font-size-md) var(--cirth-icon-height);
892
909
  }
@@ -1240,16 +1257,21 @@
1240
1257
 
1241
1258
  .cirth details {
1242
1259
  margin-bottom: var(--cirth-spacing);
1243
- display: block;
1244
1260
  }
1245
1261
 
1246
1262
  .cirth details summary {
1247
- line-height: var(--cirth-font-size-md);
1263
+ line-height: var(--cirth-line-height-normal);
1248
1264
  cursor: pointer;
1249
1265
  transition: color var(--cirth-transition);
1250
1266
  list-style-type: none;
1251
1267
  }
1252
1268
 
1269
+ @media (hover: hover) and (pointer: fine) {
1270
+ .cirth details summary:hover:not([role]) {
1271
+ color: var(--cirth-accordion-active-summary-color);
1272
+ }
1273
+ }
1274
+
1253
1275
  .cirth details summary:not([role]) {
1254
1276
  color: var(--cirth-accordion-close-summary-color);
1255
1277
  }
@@ -1263,16 +1285,16 @@
1263
1285
  }
1264
1286
 
1265
1287
  .cirth details summary:after {
1266
- width: var(--cirth-font-size-md);
1267
- height: var(--cirth-font-size-md);
1288
+ width: 1em;
1289
+ height: 1lh;
1268
1290
  float: right;
1269
- background-color: var(--cirth-muted-color);
1270
1291
  mask-image: var(--cirth-icon-chevron);
1271
- mask-position: 100%;
1272
- mask-size: var(--cirth-font-size-md) auto;
1292
+ background-color: currentColor;
1273
1293
  margin-inline-start: calc(var(--cirth-spacing, var(--cirth-space-4)) * .5);
1274
1294
  display: block;
1275
- transform: rotate(-90deg);
1295
+ transform: rotate(0);
1296
+ mask-position: 100%;
1297
+ mask-size: 1em;
1276
1298
  mask-repeat: no-repeat;
1277
1299
  }
1278
1300
 
@@ -1297,8 +1319,8 @@
1297
1319
 
1298
1320
  .cirth details summary:focus-visible:not([role]) {
1299
1321
  outline: var(--cirth-outline-width) solid var(--cirth-primary-focus);
1300
- outline-offset: calc(var(--cirth-spacing, var(--cirth-space-4)) * .5);
1301
- color: var(--cirth-primary);
1322
+ outline-offset: var(--cirth-space-1);
1323
+ color: var(--cirth-accordion-active-summary-color);
1302
1324
  }
1303
1325
 
1304
1326
  .cirth details summary[role="button"] {
@@ -1306,59 +1328,92 @@
1306
1328
  width: 100%;
1307
1329
  }
1308
1330
 
1309
- .cirth details summary[role="button"]:after {
1310
- height: calc(var(--cirth-font-size-md) * var(--cirth-line-height, var(--cirth-line-height-normal)));
1311
- }
1312
-
1313
1331
  .cirth details[open] > summary {
1314
- margin-bottom: var(--cirth-spacing);
1332
+ margin-bottom: var(--cirth-space-2);
1315
1333
  }
1316
1334
 
1317
- .cirth details[open] > summary:not([role]):not(:focus) {
1335
+ .cirth details[open] > summary:not([role]):not(:focus, :hover) {
1318
1336
  color: var(--cirth-accordion-open-summary-color);
1319
1337
  }
1320
1338
 
1321
1339
  .cirth details[open] > summary:after {
1322
- transform: rotate(0);
1340
+ transform: rotate(180deg);
1341
+ }
1342
+
1343
+ .cirth details:not(.dropdown) {
1344
+ border-block-end: var(--cirth-border-width) solid var(--cirth-muted-border-color);
1345
+ }
1346
+
1347
+ .cirth details:not(.dropdown) > summary {
1348
+ min-block-size: 2.75rem;
1349
+ padding-block: var(--cirth-space-2);
1350
+ font-weight: var(--cirth-font-weight-semibold);
1351
+ }
1352
+
1353
+ .cirth details:not(.dropdown)[open] {
1354
+ padding-block-end: var(--cirth-space-4);
1355
+ }
1356
+
1357
+ .cirth details:not(.dropdown) > :last-child:not(summary) {
1358
+ margin-bottom: 0;
1359
+ }
1360
+
1361
+ @media (prefers-reduced-motion: no-preference) {
1362
+ @supports selector(::details-content) {
1363
+ .cirth details:not(.dropdown)::details-content {
1364
+ block-size: 0;
1365
+ transition: block-size var(--cirth-transition), content-visibility var(--cirth-transition) allow-discrete;
1366
+ interpolate-size: allow-keywords;
1367
+ overflow: hidden;
1368
+ }
1369
+
1370
+ .cirth details:not(.dropdown)[open]::details-content {
1371
+ block-size: auto;
1372
+ }
1373
+ }
1323
1374
  }
1324
1375
 
1325
1376
  [dir="rtl"] .cirth details summary:after {
1326
1377
  float: left;
1327
- background-position: 0;
1328
1378
  }
1329
1379
 
1330
1380
  .cirth article {
1331
1381
  margin-bottom: var(--cirth-block-spacing-vertical);
1332
1382
  padding: var(--cirth-block-spacing-vertical) var(--cirth-block-spacing-horizontal);
1333
- border-radius: var(--cirth-border-radius);
1383
+ border: var(--cirth-border-width) solid var(--cirth-card-border-color);
1384
+ border-radius: var(--cirth-card-border-radius);
1334
1385
  background: var(--cirth-card-background-color);
1335
1386
  box-shadow: var(--cirth-card-box-shadow);
1336
1387
  }
1337
1388
 
1389
+ .cirth article > :last-child:not(header, footer), .cirth article > :is(header, footer) > :last-child {
1390
+ margin-bottom: 0;
1391
+ }
1392
+
1393
+ .cirth article > :is(header, footer) :is(h1, h2, h3, h4, h5, h6) {
1394
+ margin-top: 0;
1395
+ }
1396
+
1338
1397
  .cirth article > header, .cirth article > footer {
1339
1398
  margin-inline: calc(var(--cirth-block-spacing-horizontal) * -1);
1340
1399
  padding: calc(var(--cirth-block-spacing-vertical) - var(--cirth-space-2)) var(--cirth-block-spacing-horizontal);
1341
1400
  background-color: var(--cirth-card-sectioning-background-color);
1342
1401
  }
1343
1402
 
1344
- .cirth article > header > :last-child, .cirth article > footer > :last-child {
1345
- margin-bottom: 0;
1346
- }
1347
-
1348
1403
  .cirth article > header {
1349
1404
  margin-top: calc(var(--cirth-block-spacing-vertical) * -1);
1350
1405
  margin-bottom: var(--cirth-block-spacing-vertical);
1351
1406
  border-bottom: var(--cirth-border-width) solid var(--cirth-card-border-color);
1352
- border-top-right-radius: var(--cirth-border-radius);
1353
- border-top-left-radius: var(--cirth-border-radius);
1407
+ border-top-right-radius: var(--cirth-card-border-radius);
1408
+ border-top-left-radius: var(--cirth-card-border-radius);
1354
1409
  }
1355
1410
 
1356
1411
  .cirth article > footer {
1357
1412
  margin-top: var(--cirth-block-spacing-vertical);
1358
1413
  margin-bottom: calc(var(--cirth-block-spacing-vertical) * -1);
1359
1414
  border-top: var(--cirth-border-width) solid var(--cirth-card-border-color);
1360
- border-bottom-right-radius: var(--cirth-border-radius);
1361
- border-bottom-left-radius: var(--cirth-border-radius);
1415
+ border-bottom-right-radius: var(--cirth-card-border-radius);
1416
+ border-bottom-left-radius: var(--cirth-card-border-radius);
1362
1417
  }
1363
1418
 
1364
1419
  .cirth details.dropdown {
@@ -1395,7 +1450,7 @@
1395
1450
  }
1396
1451
 
1397
1452
  .cirth details.dropdown > summary:not([role]) {
1398
- height: calc(var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
1453
+ height: max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2);
1399
1454
  padding: var(--cirth-form-element-spacing-vertical) var(--cirth-form-element-spacing-horizontal);
1400
1455
  border: var(--cirth-border-width) solid var(--cirth-form-element-border-color);
1401
1456
  border-radius: var(--cirth-border-radius);
@@ -1408,6 +1463,12 @@
1408
1463
  transition: background-color var(--cirth-transition), border-color var(--cirth-transition), color var(--cirth-transition), box-shadow var(--cirth-transition);
1409
1464
  }
1410
1465
 
1466
+ @media (hover: hover) and (pointer: fine) {
1467
+ .cirth details.dropdown > summary:not([role]):hover:not(:active, :focus, [aria-invalid]) {
1468
+ border-color: color-mix(in oklch, var(--cirth-form-element-border-color) 65%, var(--cirth-form-element-color));
1469
+ }
1470
+ }
1471
+
1411
1472
  .cirth details.dropdown > summary:not([role]):active, .cirth details.dropdown > summary:not([role]):focus {
1412
1473
  border-color: var(--cirth-form-element-active-border-color);
1413
1474
  background-color: var(--cirth-form-element-active-background-color);
@@ -1419,6 +1480,7 @@
1419
1480
 
1420
1481
  .cirth details.dropdown > summary:not([role]):focus-visible {
1421
1482
  outline: var(--cirth-outline-width) solid transparent;
1483
+ outline-offset: 0;
1422
1484
  }
1423
1485
 
1424
1486
  .cirth details.dropdown > summary:not([role])[aria-invalid="false"] {
@@ -1761,31 +1823,19 @@
1761
1823
 
1762
1824
  .cirth dialog > article {
1763
1825
  transition: opacity var(--cirth-transition), transform var(--cirth-transition);
1764
- width: 100%;
1826
+ width: min(100% - var(--cirth-spacing) * 2, var(--cirth-modal-max-width));
1765
1827
  max-height: calc(100vh - var(--cirth-spacing) * 2);
1766
1828
  max-height: calc(100dvh - var(--cirth-spacing) * 2);
1767
1829
  margin: var(--cirth-spacing);
1768
1830
  overflow: auto;
1769
1831
  }
1770
1832
 
1771
- @media (width >= 576px) {
1772
- .cirth dialog > article {
1773
- max-width: 510px;
1774
- }
1775
- }
1776
-
1777
- @media (width >= 768px) {
1778
- .cirth dialog > article {
1779
- max-width: 700px;
1780
- }
1781
- }
1782
-
1783
1833
  .cirth dialog > article > header > * {
1784
1834
  margin-bottom: 0;
1785
1835
  }
1786
1836
 
1787
1837
  .cirth dialog > article > header .close, .cirth dialog > article > header :is(a, button)[rel="prev"] {
1788
- margin: calc(calc((var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-font-size-md)) / 2) * -1);
1838
+ margin: calc(calc((max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2) - var(--cirth-font-size-md)) / 2) * -1);
1789
1839
  float: right;
1790
1840
  margin-inline-start: var(--cirth-spacing);
1791
1841
  padding: 0;
@@ -1804,11 +1854,11 @@
1804
1854
  }
1805
1855
 
1806
1856
  .cirth dialog > article .close, .cirth dialog > article :is(a, button)[rel="prev"] {
1807
- width: calc(var(--cirth-font-size-md) + calc((var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-font-size-md)) / 2) * 2);
1808
- height: calc(var(--cirth-font-size-md) + calc((var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-font-size-md)) / 2) * 2);
1809
- margin-top: calc(var(--cirth-spacing) * -1 - calc((var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-font-size-md)) / 2));
1810
- margin-right: calc(calc((var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-font-size-md)) / 2) * -1);
1811
- margin-bottom: calc(var(--cirth-spacing) - calc((var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2 - var(--cirth-font-size-md)) / 2));
1857
+ width: calc(var(--cirth-font-size-md) + calc((max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2) - var(--cirth-font-size-md)) / 2) * 2);
1858
+ height: calc(var(--cirth-font-size-md) + calc((max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2) - var(--cirth-font-size-md)) / 2) * 2);
1859
+ margin-top: calc(var(--cirth-spacing) * -1 - calc((max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2) - var(--cirth-font-size-md)) / 2));
1860
+ margin-right: calc(calc((max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2) - var(--cirth-font-size-md)) / 2) * -1);
1861
+ margin-bottom: calc(var(--cirth-spacing) - calc((max(2.75rem, var(--cirth-font-size-md) * var(--cirth-line-height) + var(--cirth-form-element-spacing-vertical) * 2 + var(--cirth-border-width) * 2) - var(--cirth-font-size-md)) / 2));
1812
1862
  opacity: .5;
1813
1863
  transition: opacity var(--cirth-transition);
1814
1864
  background-color: #0000;
@@ -1848,11 +1898,11 @@
1848
1898
  }
1849
1899
 
1850
1900
  .cirth :where(nav li):before {
1851
- float: left;
1852
1901
  content: "​";
1902
+ position: absolute;
1853
1903
  }
1854
1904
 
1855
- .cirth nav, .cirth nav ul {
1905
+ .cirth nav, .cirth nav :is(ol, ul) {
1856
1906
  display: flex;
1857
1907
  }
1858
1908
 
@@ -1883,8 +1933,11 @@
1883
1933
  }
1884
1934
 
1885
1935
  .cirth nav li :where(a:not([role="button"]), [role="link"]) {
1886
- margin: calc(var(--cirth-nav-link-spacing-vertical) * -1) calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1936
+ --cirth-color: inherit;
1937
+ margin-block: calc(var(--cirth-nav-link-spacing-vertical) * -1);
1938
+ margin-inline: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1887
1939
  padding: var(--cirth-nav-link-spacing-vertical) var(--cirth-nav-link-spacing-horizontal);
1940
+ border-block-end: var(--cirth-border-width-2) solid transparent;
1888
1941
  border-radius: var(--cirth-border-radius);
1889
1942
  display: inline-block;
1890
1943
  }
@@ -1893,6 +1946,13 @@
1893
1946
  text-decoration: none;
1894
1947
  }
1895
1948
 
1949
+ .cirth nav li :where(a:not([role="button"]), [role="link"]):is([aria-current]:not([aria-current="false"]), [aria-selected="true"]) {
1950
+ --cirth-color: inherit;
1951
+ --cirth-text-decoration: none;
1952
+ border-block-end-color: var(--cirth-primary-border);
1953
+ border-radius: 0;
1954
+ }
1955
+
1896
1956
  .cirth nav li .group, .cirth nav li [role="search"] {
1897
1957
  width: auto;
1898
1958
  margin-bottom: 0;
@@ -1900,7 +1960,7 @@
1900
1960
 
1901
1961
  .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 {
1902
1962
  height: auto;
1903
- min-block-size: var(--cirth-space-6);
1963
+ min-block-size: var(--cirth-space-10);
1904
1964
  margin-inline: inherit;
1905
1965
  padding: calc(var(--cirth-nav-link-spacing-vertical) - var(--cirth-border-width) * 2) var(--cirth-nav-link-spacing-horizontal);
1906
1966
  margin-bottom: 0;
@@ -1911,16 +1971,16 @@
1911
1971
  align-items: center;
1912
1972
  }
1913
1973
 
1914
- .cirth nav[aria-label="breadcrumb"] ul li:not(:first-child) {
1974
+ .cirth nav[aria-label="breadcrumb"] :is(ol, ul) li:not(:first-child) {
1915
1975
  margin-inline-start: var(--cirth-nav-link-spacing-horizontal);
1916
1976
  }
1917
1977
 
1918
- .cirth nav[aria-label="breadcrumb"] ul li a {
1978
+ .cirth nav[aria-label="breadcrumb"] :is(ol, ul) li a {
1919
1979
  margin: calc(var(--cirth-nav-link-spacing-vertical) * -1) 0;
1920
- margin-inline-start: calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1980
+ margin-inline-start: calc(var(--cirth-nav-element-spacing-horizontal) * -1);
1921
1981
  }
1922
1982
 
1923
- .cirth nav[aria-label="breadcrumb"] ul li:not(:last-child):after {
1983
+ .cirth nav[aria-label="breadcrumb"] :is(ol, ul) li:not(:last-child):after {
1924
1984
  width: calc(var(--cirth-nav-link-spacing-horizontal) * 4);
1925
1985
  margin: 0 calc(var(--cirth-nav-link-spacing-horizontal) * -1);
1926
1986
  content: var(--cirth-nav-breadcrumb-divider);
@@ -1936,22 +1996,70 @@
1936
1996
  color: inherit;
1937
1997
  pointer-events: none;
1938
1998
  background-color: #0000;
1999
+ border-block-end-color: #0000;
1939
2000
  text-decoration: none;
1940
2001
  }
1941
2002
 
1942
- .cirth aside nav, .cirth aside ol, .cirth aside ul, .cirth aside li {
2003
+ .cirth header:not(:is(article, aside, dialog, figure, li, nav, section, td) *) > nav {
2004
+ --cirth-nav-element-spacing-vertical: var(--cirth-space-2);
2005
+ flex-wrap: wrap;
2006
+ align-items: center;
2007
+ }
2008
+
2009
+ .cirth header:not(:is(article, aside, dialog, figure, li, nav, section, td) *) > nav li :where(a:not([role="button"]), [role="link"]) {
2010
+ --cirth-color: var(--cirth-muted-color);
2011
+ --cirth-text-decoration: none;
2012
+ border-block-end: 0;
2013
+ border-radius: 0;
2014
+ }
2015
+
2016
+ .cirth header:not(:is(article, aside, dialog, figure, li, nav, section, td) *) > nav li :where(a:not([role="button"]), [role="link"]):is(:hover, :focus, :active) {
2017
+ --cirth-color: color-mix(in oklch,
2018
+ var(--cirth-muted-color),
2019
+ var(--cirth-contrast));
2020
+ }
2021
+
2022
+ .cirth header:not(:is(article, aside, dialog, figure, li, nav, section, td) *) > nav li :where(a:not([role="button"]), [role="link"]):is([aria-current]:not([aria-current="false"]), [aria-selected="true"]) {
2023
+ --cirth-color: var(--cirth-contrast);
2024
+ font-weight: var(--cirth-font-weight-semibold);
2025
+ }
2026
+
2027
+ .cirth header:not(:is(article, aside, dialog, figure, li, nav, section, td) *) > nav li :where(a:not([role="button"]), [role="link"])[aria-disabled="true"] {
2028
+ --cirth-color: color-mix(in oklch,
2029
+ var(--cirth-muted-color) 55%,
2030
+ transparent);
2031
+ pointer-events: none;
2032
+ }
2033
+
2034
+ .cirth header:not(:is(article, aside, dialog, figure, li, nav, section, td) *) > nav details.dropdown > summary:not([role]) {
2035
+ border-color: var(--cirth-muted-border-color);
2036
+ background-color: #0000;
2037
+ }
2038
+
2039
+ .cirth aside nav {
2040
+ --cirth-nav-element-spacing-horizontal: 0;
2041
+ display: block;
2042
+ }
2043
+
2044
+ .cirth aside nav ol, .cirth aside nav ul, .cirth aside nav li {
1943
2045
  display: block;
1944
2046
  }
1945
2047
 
1946
- .cirth aside li {
1947
- padding: calc(var(--cirth-nav-element-spacing-vertical) * .5) var(--cirth-nav-element-spacing-horizontal);
2048
+ .cirth aside nav li {
2049
+ padding: calc(var(--cirth-nav-element-spacing-vertical) * .5) 0;
1948
2050
  }
1949
2051
 
1950
- .cirth aside li a {
2052
+ .cirth aside nav li a {
2053
+ border-inline-start: var(--cirth-border-width-2) solid transparent;
1951
2054
  display: block;
1952
2055
  }
1953
2056
 
1954
- .cirth aside li [role="button"] {
2057
+ .cirth aside nav li a:is([aria-current]:not([aria-current="false"]), [aria-selected="true"]) {
2058
+ border-block-end-color: #0000;
2059
+ border-inline-start-color: var(--cirth-primary-border);
2060
+ }
2061
+
2062
+ .cirth aside nav li [role="button"] {
1955
2063
  margin: inherit;
1956
2064
  }
1957
2065
 
@@ -1969,11 +2077,18 @@
1969
2077
  background-color: var(--cirth-popover-background-color);
1970
2078
  box-shadow: var(--cirth-popover-box-shadow);
1971
2079
  color: var(--cirth-popover-color);
1972
- transition: opacity var(--cirth-transition), display var(--cirth-transition) allow-discrete, overlay var(--cirth-transition) allow-discrete;
1973
2080
  margin: auto;
1974
2081
  inset: 0;
1975
2082
  }
1976
2083
 
2084
+ .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open > :last-child {
2085
+ margin-bottom: 0;
2086
+ }
2087
+
2088
+ .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open {
2089
+ transition: opacity var(--cirth-transition), display var(--cirth-transition) allow-discrete, overlay var(--cirth-transition) allow-discrete;
2090
+ }
2091
+
1977
2092
  @starting-style {
1978
2093
  .cirth :is([popover=""], [popover="auto"], [popover="hint"]):not(dialog):popover-open {
1979
2094
  opacity: 0;
@@ -2086,12 +2201,16 @@
2086
2201
  }
2087
2202
 
2088
2203
  .cirth .sr-only-focusable:focus, .cirth .sr-only-focusable:focus-within {
2089
- clip-path: none;
2090
- white-space: normal;
2091
2204
  width: auto;
2092
2205
  height: auto;
2206
+ padding: var(--cirth-space-2) var(--cirth-space-4);
2207
+ clip-path: none;
2208
+ white-space: normal;
2209
+ z-index: var(--cirth-z-index-fixed);
2210
+ border-radius: var(--cirth-border-radius);
2211
+ background-color: var(--cirth-canvas);
2212
+ color: var(--cirth-ink);
2093
2213
  margin: 0;
2094
- position: static;
2095
2214
  overflow: visible;
2096
2215
  }
2097
2216
 
@@ -2124,7 +2243,7 @@
2124
2243
  --cirth-font-weight-medium: 500;
2125
2244
  --cirth-font-weight-semibold: 600;
2126
2245
  --cirth-font-weight-bold: 700;
2127
- --cirth-letter-spacing-tight: -.02em;
2246
+ --cirth-letter-spacing-tight: -.03em;
2128
2247
  --cirth-letter-spacing-snug: -.01em;
2129
2248
  --cirth-line-height-none: 1;
2130
2249
  --cirth-line-height-tight: 1.125;
@@ -2174,12 +2293,12 @@
2174
2293
  --cirth-z-index-modal-backdrop: 1040;
2175
2294
  --cirth-z-index-modal: 1050;
2176
2295
  --cirth-font-family: var(--cirth-font-family-sans);
2177
- --cirth-font-family-display: var(--cirth-font-family-serif);
2296
+ --cirth-font-family-display: var(--cirth-font-family-sans);
2178
2297
  --cirth-line-height: var(--cirth-line-height-normal);
2179
2298
  --cirth-font-weight: var(--cirth-font-weight-regular);
2180
2299
  --cirth-font-size: 100%;
2181
2300
  --cirth-text-underline-offset: .15em;
2182
- --cirth-border-radius: var(--cirth-radius-lg);
2301
+ --cirth-border-radius: var(--cirth-radius-sm);
2183
2302
  --cirth-card-border-radius: calc(var(--cirth-border-radius) * 1.5);
2184
2303
  --cirth-checkbox-border-radius: min(var(--cirth-border-radius),
2185
2304
  var(--cirth-radius-sm));
@@ -2190,28 +2309,32 @@
2190
2309
  --cirth-background-color: var(--cirth-canvas);
2191
2310
  --cirth-transition: var(--cirth-duration-normal) var(--cirth-ease-out);
2192
2311
  --cirth-spacing: var(--cirth-space-4);
2193
- --cirth-typography-spacing-vertical: var(--cirth-space-4);
2312
+ --cirth-typography-spacing-vertical: var(--cirth-spacing);
2194
2313
  --cirth-block-spacing-vertical: var(--cirth-spacing);
2195
2314
  --cirth-block-spacing-horizontal: var(--cirth-spacing);
2315
+ --cirth-container-gutter: clamp(var(--cirth-space-4),
2316
+ 4%,
2317
+ var(--cirth-space-12));
2196
2318
  --cirth-container-max-width: 60rem;
2197
2319
  --cirth-grid-column-gap: var(--cirth-spacing);
2198
2320
  --cirth-grid-row-gap: var(--cirth-spacing);
2199
2321
  --cirth-grid-min-column: 12rem;
2200
2322
  --cirth-form-element-spacing-vertical: var(--cirth-space-2);
2201
2323
  --cirth-form-element-spacing-horizontal: var(--cirth-space-4);
2202
- --cirth-form-label-font-weight: var(--cirth-font-weight);
2324
+ --cirth-form-label-font-weight: var(--cirth-font-weight-medium);
2203
2325
  --cirth-group-box-shadow: 0 0 0 #0000;
2204
2326
  --cirth-group-box-shadow-focus-with-button: 0 0 0 var(--cirth-outline-width)
2205
2327
  var(--cirth-primary-focus);
2206
2328
  --cirth-group-box-shadow-focus-with-input: 0 0 0 var(--cirth-border-width-1)
2207
2329
  var(--cirth-form-element-border-color);
2330
+ --cirth-card-box-shadow: none;
2208
2331
  --cirth-meter-background-color: var(--cirth-progress-background-color);
2209
2332
  --cirth-meter-border-color: var(--cirth-progress-border-color);
2210
- --cirth-popover-background-color: var(--cirth-card-background-color);
2211
2333
  --cirth-popover-border-color: var(--cirth-muted-border-color);
2212
- --cirth-popover-color: var(--cirth-color);
2334
+ --cirth-popover-color: var(--cirth-ink);
2213
2335
  --cirth-popover-box-shadow: var(--cirth-box-shadow);
2214
2336
  --cirth-popover-max-width: min(30rem, 100% - var(--cirth-spacing) * 2);
2337
+ --cirth-modal-max-width: 43.75rem;
2215
2338
  --cirth-modal-overlay-backdrop-filter: blur(.375rem);
2216
2339
  --cirth-nav-element-spacing-vertical: var(--cirth-space-4);
2217
2340
  --cirth-nav-element-spacing-horizontal: var(--cirth-space-2);
@@ -2241,30 +2364,35 @@
2241
2364
  --cirth-font-weight: var(--cirth-font-weight-semibold);
2242
2365
  }
2243
2366
 
2367
+ .cirth h1, .cirth h2 {
2368
+ --cirth-letter-spacing: var(--cirth-letter-spacing-tight);
2369
+ }
2370
+
2371
+ .cirth h3, .cirth h4 {
2372
+ --cirth-letter-spacing: var(--cirth-letter-spacing-snug);
2373
+ }
2374
+
2244
2375
  .cirth h1 {
2245
- --cirth-font-size: clamp(var(--cirth-font-size-5xl),
2246
- 1.7rem + 2.2vw,
2247
- var(--cirth-font-size-7xl));
2376
+ --cirth-font-size: clamp(var(--cirth-font-size-3xl),
2377
+ 1.31rem + 1.8vw,
2378
+ var(--cirth-font-size-6xl));
2248
2379
  --cirth-line-height: var(--cirth-line-height-tight);
2249
- --cirth-letter-spacing: var(--cirth-letter-spacing-tight);
2250
2380
  --cirth-typography-spacing-top: var(--cirth-space-12);
2251
2381
  }
2252
2382
 
2253
2383
  .cirth h2 {
2254
2384
  --cirth-font-size: clamp(var(--cirth-font-size-2xl),
2255
- 1.3rem + 1vw,
2385
+ 1.28rem + .9vw,
2256
2386
  var(--cirth-font-size-4xl));
2257
- --cirth-line-height: 1.15;
2258
- --cirth-letter-spacing: var(--cirth-letter-spacing-tight);
2387
+ --cirth-line-height: var(--cirth-line-height-snug);
2259
2388
  --cirth-typography-spacing-top: var(--cirth-space-12);
2260
2389
  }
2261
2390
 
2262
2391
  .cirth h3 {
2263
2392
  --cirth-font-size: clamp(var(--cirth-font-size-xl),
2264
- 1.15rem + .5vw,
2393
+ 1.14rem + .45vw,
2265
2394
  var(--cirth-font-size-2xl));
2266
- --cirth-line-height: 1.2;
2267
- --cirth-letter-spacing: var(--cirth-letter-spacing-snug);
2395
+ --cirth-line-height: var(--cirth-line-height-snug);
2268
2396
  --cirth-typography-spacing-top: var(--cirth-space-10);
2269
2397
  }
2270
2398
 
@@ -2287,14 +2415,12 @@
2287
2415
  }
2288
2416
 
2289
2417
  .cirth article {
2290
- --cirth-border-radius: var(--cirth-card-border-radius);
2291
- --cirth-block-spacing-vertical: var(--cirth-space-6);
2292
- --cirth-block-spacing-horizontal: var(--cirth-space-6);
2418
+ --cirth-block-spacing-vertical: var(--cirth-space-5);
2419
+ --cirth-block-spacing-horizontal: var(--cirth-space-5);
2293
2420
  }
2294
2421
 
2295
2422
  .cirth thead th, .cirth thead td, .cirth tfoot th, .cirth tfoot td {
2296
2423
  --cirth-font-weight: var(--cirth-font-weight-semibold);
2297
- --cirth-border-width: .1875rem;
2298
2424
  }
2299
2425
 
2300
2426
  .cirth pre, .cirth code, .cirth kbd, .cirth samp, .cirth var {
@@ -2309,11 +2435,6 @@
2309
2435
  --cirth-font-weight: bolder;
2310
2436
  }
2311
2437
 
2312
- .cirth input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth :where(select, textarea) {
2313
- --cirth-outline-width: var(--cirth-border-width-1);
2314
- --cirth-line-height: var(--cirth-line-height-relaxed);
2315
- }
2316
-
2317
2438
  .cirth [type="search"] {
2318
2439
  --cirth-border-radius: var(--cirth-radius-pill);
2319
2440
  }
@@ -2324,12 +2445,7 @@
2324
2445
 
2325
2446
  .cirth button, .cirth [type="submit"], .cirth [type="reset"], .cirth [type="button"], .cirth [role="button"] {
2326
2447
  --cirth-font-weight: var(--cirth-font-weight-semibold);
2327
- --cirth-line-height: var(--cirth-line-height-relaxed);
2328
- --cirth-form-element-spacing-horizontal: var(--cirth-space-5);
2329
- }
2330
-
2331
- .cirth [type="file"] {
2332
- --cirth-line-height: var(--cirth-line-height-relaxed);
2448
+ --cirth-form-element-spacing-horizontal: var(--cirth-space-4);
2333
2449
  }
2334
2450
 
2335
2451
  .cirth [type="checkbox"], .cirth [type="radio"] {
@@ -2382,9 +2498,10 @@
2382
2498
 
2383
2499
  .cirth {
2384
2500
  --cirth-canvas: light-dark(oklch(97.4% .004 69.35), oklch(20.15% .003 264));
2385
- --cirth-color: light-dark(oklch(35.3% .021 264), oklch(83% .016 264));
2501
+ --cirth-ink: light-dark(oklch(35.3% .021 264), oklch(83% .016 264));
2502
+ --cirth-color: var(--cirth-ink);
2386
2503
  --cirth-text-selection-color: light-dark(oklch(65.7% .121 69.35 / .25), oklch(70% .129 69.35 / .1875));
2387
- --cirth-muted-color: light-dark(oklch(52.7% .032 264), oklch(61.3% .032 264));
2504
+ --cirth-muted-color: light-dark(oklch(52.7% .032 264), oklch(65.7% .03 264));
2388
2505
  --cirth-muted-border-color: light-dark(oklch(93.85% .003 264), oklch(26.7% .011 264));
2389
2506
  --cirth-error: light-dark(oklch(44% .151 29.73), oklch(74.3% .133 29.73));
2390
2507
  --cirth-success: light-dark(oklch(52.7% .1 160.59), oklch(65.7% .125 160.59));
@@ -2402,9 +2519,9 @@
2402
2519
  --cirth-contrast-hover-background: light-dark(oklch(0% 0 0), oklch(100% 0 0));
2403
2520
  --cirth-contrast-focus: light-dark(oklch(48.3% .03 264 / .7), oklch(87.3% .011 264 / .5));
2404
2521
  --cirth-contrast-inverse: light-dark(oklch(100% 0 0), oklch(0% 0 0));
2405
- --cirth-link-visited-color: light-dark(oklch(48.3% .03 264), oklch(65.7% .03 264));
2522
+ --cirth-link-visited-color: light-dark(oklch(48.3% 0 264), oklch(65.7% 0 264));
2406
2523
  --cirth-box-shadow: light-dark(.0145rem .029rem .174rem oklch(65.7% .03 264 / .01698), .0335rem .067rem .402rem oklch(65.7% .03 264 / .024), .0625rem .125rem .75rem oklch(65.7% .03 264 / .03), .1125rem .225rem 1.35rem oklch(65.7% .03 264 / .036), .2085rem .417rem 2.502rem oklch(65.7% .03 264 / .04302), .5rem 1rem 6rem oklch(65.7% .03 264 / .06), 0 0 0 .0625rem oklch(65.7% .03 264 / .015),
2407
- .0145rem .029rem .174rem oklch(9% 0 312 / .01698), .0335rem .067rem .402rem oklch(9% 0 312 / .024), .0625rem .125rem .75rem oklch(9% 0 312 / .03), .1125rem .225rem 1.35rem oklch(9% 0 312 / .036), .2085rem .417rem 2.502rem oklch(9% 0 312 / .04302), .5rem 1rem 6rem oklch(9% 0 312 / .06), 0 0 0 .0625rem oklch(9% 0 312 / .015));
2524
+ .0145rem .029rem .174rem oklch(9% 0 none / .01698), .0335rem .067rem .402rem oklch(9% 0 none / .024), .0625rem .125rem .75rem oklch(9% 0 none / .03), .1125rem .225rem 1.35rem oklch(9% 0 none / .036), .2085rem .417rem 2.502rem oklch(9% 0 none / .04302), .5rem 1rem 6rem oklch(9% 0 none / .06), 0 0 0 .0625rem oklch(9% 0 none / .015));
2408
2525
  --cirth-h1-color: light-dark(oklch(22.3% .006 264), oklch(96% 0 264));
2409
2526
  --cirth-h2-color: light-dark(oklch(26.7% .011 264), oklch(91.7% .006 264));
2410
2527
  --cirth-h3-color: light-dark(oklch(31% .016 264), oklch(83% .016 264));
@@ -2412,21 +2529,13 @@
2412
2529
  --cirth-h5-color: light-dark(oklch(39.7% .025 264), oklch(74.3% .025 264));
2413
2530
  --cirth-h6-color: light-dark(oklch(44% .028 264), oklch(65.7% .03 264));
2414
2531
  --cirth-mark-color: light-dark(oklch(18% 0 264), oklch(100% 0 0));
2415
- --cirth-code-background-color: light-dark(oklch(97% 0 288), oklch(23.4% .00725 264));
2416
2532
  --cirth-code-color: light-dark(oklch(52.7% .032 264), oklch(65.7% .03 264));
2417
- --cirth-form-element-background-color: light-dark(oklch(99% 0 336), oklch(24.5% .0085 264));
2418
2533
  --cirth-form-element-selected-background-color: light-dark(oklch(91.7% .006 264), oklch(31% .016 264));
2419
2534
  --cirth-form-element-border-color: light-dark(oklch(61.3% .032 264), oklch(52.7% .032 264));
2420
2535
  --cirth-form-element-color: light-dark(oklch(26.7% .011 264), oklch(91.7% .006 264));
2421
- --cirth-form-element-active-background-color: light-dark(oklch(100% 0 0), oklch(23.4% .00725 264));
2422
2536
  --cirth-switch-background-color: light-dark(oklch(61.3% .032 264), oklch(52.7% .032 264));
2423
2537
  --cirth-range-border-color: light-dark(oklch(91.7% .006 264), oklch(26.7% .011 264));
2424
2538
  --cirth-range-active-border-color: light-dark(oklch(83% .016 264), oklch(31% .016 264));
2425
- --cirth-card-background-color: light-dark(oklch(100% 0 0), oklch(22.3% .006 264));
2426
- --cirth-card-sectioning-background-color: light-dark(oklch(99% 0 336), oklch(23.4% .00725 264));
2427
- --cirth-dropdown-background-color: light-dark(oklch(100% 0 0), oklch(22.3% .006 264));
2428
- --cirth-dropdown-border-color: light-dark(oklch(96% 0 264), oklch(26.7% .011 264));
2429
- --cirth-dropdown-hover-background-color: light-dark(oklch(96% 0 264), oklch(26.7% .011 264));
2430
2539
  --cirth-progress-background-color: light-dark(oklch(91.7% .006 264), oklch(26.7% .011 264));
2431
2540
  --cirth-progress-border-color: light-dark(oklch(61.3% .032 264), oklch(52.7% .032 264));
2432
2541
  }
@@ -2456,6 +2565,13 @@
2456
2565
  --cirth-primary-hover-underline: var(--cirth-primary-hover);
2457
2566
  --cirth-primary-focus: oklch(from var(--cirth-primary) l c h / 75%);
2458
2567
  --cirth-primary-inverse: oklch(100% 0 0);
2568
+ --cirth-code-background-color: oklch(from var(--cirth-canvas) calc(l - .019) c h);
2569
+ --cirth-card-sectioning-background-color: oklch(from var(--cirth-canvas) calc(l + .009) c h);
2570
+ --cirth-form-element-background-color: oklch(from var(--cirth-canvas) calc(l - .008) c h);
2571
+ --cirth-card-background-color: oklch(from var(--cirth-canvas) calc(l + .018) c h);
2572
+ --cirth-form-element-active-background-color: var(--cirth-canvas);
2573
+ --cirth-dropdown-background-color: var(--cirth-card-background-color);
2574
+ --cirth-popover-background-color: var(--cirth-card-background-color);
2459
2575
  --cirth-secondary-background: oklch(48.3% .03 264);
2460
2576
  --cirth-secondary-border: var(--cirth-secondary-background);
2461
2577
  --cirth-secondary-hover-border: var(--cirth-secondary-hover-background);
@@ -2471,13 +2587,13 @@
2471
2587
  --cirth-blockquote-footer-color: var(--cirth-muted-color);
2472
2588
  --cirth-button-box-shadow: 0 0 0 #0000;
2473
2589
  --cirth-button-hover-box-shadow: 0 0 0 #0000;
2474
- --cirth-table-border-color: var(--cirth-muted-border-color);
2590
+ --cirth-table-border-color: var(--cirth-card-border-color);
2475
2591
  --cirth-table-row-stripped-background-color: oklch(57% .032 264 / .0375);
2476
- --cirth-code-kbd-background-color: var(--cirth-color);
2592
+ --cirth-code-kbd-background-color: var(--cirth-ink);
2477
2593
  --cirth-code-kbd-color: var(--cirth-background-color);
2478
2594
  --cirth-form-element-placeholder-color: var(--cirth-muted-color);
2479
2595
  --cirth-form-element-active-border-color: var(--cirth-primary-border);
2480
- --cirth-form-element-focus-color: var(--cirth-primary-border);
2596
+ --cirth-form-element-focus-color: var(--cirth-primary-focus);
2481
2597
  --cirth-form-element-disabled-opacity: var(--cirth-opacity-disabled);
2482
2598
  --cirth-form-element-invalid-border-color: var(--cirth-error-border);
2483
2599
  --cirth-form-element-invalid-active-border-color: var(--cirth-error-active);
@@ -2492,12 +2608,15 @@
2492
2608
  --cirth-range-thumb-color: var(--cirth-secondary-background);
2493
2609
  --cirth-range-thumb-active-color: var(--cirth-primary-background);
2494
2610
  --cirth-accordion-active-summary-color: var(--cirth-primary-hover);
2495
- --cirth-accordion-close-summary-color: var(--cirth-color);
2496
- --cirth-accordion-open-summary-color: var(--cirth-muted-color);
2497
- --cirth-card-border-color: var(--cirth-muted-border-color);
2498
- --cirth-card-box-shadow: var(--cirth-box-shadow);
2611
+ --cirth-accordion-close-summary-color: var(--cirth-ink);
2612
+ --cirth-accordion-open-summary-color: var(--cirth-ink);
2613
+ --cirth-card-border-color: color-mix(in oklab,
2614
+ var(--cirth-form-element-border-color) 38%,
2615
+ var(--cirth-card-background-color));
2499
2616
  --cirth-dropdown-box-shadow: var(--cirth-box-shadow);
2500
- --cirth-dropdown-color: var(--cirth-color);
2617
+ --cirth-dropdown-color: var(--cirth-ink);
2618
+ --cirth-dropdown-border-color: var(--cirth-card-border-color);
2619
+ --cirth-dropdown-hover-background-color: var(--cirth-card-sectioning-background-color);
2501
2620
  --cirth-modal-overlay-background-color: oklch(93.85% .003 264deg / var(--cirth-opacity-overlay));
2502
2621
  --cirth-meter-optimum-color: var(--cirth-success);
2503
2622
  --cirth-meter-suboptimum-color: var(--cirth-warning);
@@ -2511,10 +2630,6 @@
2511
2630
  --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");
2512
2631
  }
2513
2632
 
2514
- .cirth:where([data-theme="light"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth :where([data-theme="light"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth:where(:not([data-theme="dark"])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2515
- --cirth-form-element-focus-color: var(--cirth-primary-focus);
2516
- }
2517
-
2518
2633
  @media only screen and (prefers-color-scheme: dark) {
2519
2634
  .cirth:where(:not([data-theme])) {
2520
2635
  color-scheme: dark;
@@ -2537,12 +2652,19 @@
2537
2652
  --cirth-primary-underline: oklch(from var(--cirth-primary) l c h / 50%);
2538
2653
  --cirth-primary-hover: oklch(from var(--cirth-primary) calc(l * 1.124) calc(c * 1.132) h);
2539
2654
  --cirth-primary-hover-background: color-mix(in oklch,
2540
- var(--cirth-primary) 81.4%,
2655
+ var(--cirth-primary) 72%,
2541
2656
  black);
2542
2657
  --cirth-primary-hover-border: var(--cirth-primary-hover-background);
2543
2658
  --cirth-primary-hover-underline: var(--cirth-primary-hover);
2544
2659
  --cirth-primary-focus: oklch(from var(--cirth-primary) l c h / 70%);
2545
2660
  --cirth-primary-inverse: oklch(100% 0 0);
2661
+ --cirth-code-background-color: oklch(from var(--cirth-canvas) calc(l - .02) c h);
2662
+ --cirth-card-sectioning-background-color: oklch(from var(--cirth-canvas) calc(l + .025) c h);
2663
+ --cirth-form-element-background-color: oklch(from var(--cirth-canvas) calc(l - .008) c h);
2664
+ --cirth-card-background-color: oklch(from var(--cirth-canvas) calc(l + .04) c h);
2665
+ --cirth-form-element-active-background-color: var(--cirth-canvas);
2666
+ --cirth-dropdown-background-color: var(--cirth-card-background-color);
2667
+ --cirth-popover-background-color: var(--cirth-card-background-color);
2546
2668
  --cirth-secondary-background: oklch(48.3% .03 264);
2547
2669
  --cirth-secondary-border: var(--cirth-secondary-background);
2548
2670
  --cirth-secondary-hover-border: var(--cirth-secondary-hover-background);
@@ -2558,13 +2680,13 @@
2558
2680
  --cirth-blockquote-footer-color: var(--cirth-muted-color);
2559
2681
  --cirth-button-box-shadow: 0 0 0 #0000;
2560
2682
  --cirth-button-hover-box-shadow: 0 0 0 #0000;
2561
- --cirth-table-border-color: var(--cirth-muted-border-color);
2683
+ --cirth-table-border-color: var(--cirth-card-border-color);
2562
2684
  --cirth-table-row-stripped-background-color: oklch(57% .032 264 / .0375);
2563
- --cirth-code-kbd-background-color: var(--cirth-color);
2685
+ --cirth-code-kbd-background-color: var(--cirth-ink);
2564
2686
  --cirth-code-kbd-color: var(--cirth-background-color);
2565
2687
  --cirth-form-element-placeholder-color: oklch(65.7% .03 264);
2566
2688
  --cirth-form-element-active-border-color: var(--cirth-primary-border);
2567
- --cirth-form-element-focus-color: var(--cirth-primary-border);
2689
+ --cirth-form-element-focus-color: var(--cirth-primary-focus);
2568
2690
  --cirth-form-element-disabled-opacity: var(--cirth-opacity-disabled);
2569
2691
  --cirth-form-element-invalid-border-color: var(--cirth-error-border);
2570
2692
  --cirth-form-element-invalid-active-border-color: var(--cirth-error-active);
@@ -2579,29 +2701,28 @@
2579
2701
  --cirth-range-thumb-color: var(--cirth-secondary-background);
2580
2702
  --cirth-range-thumb-active-color: var(--cirth-primary-background);
2581
2703
  --cirth-accordion-active-summary-color: var(--cirth-primary-hover);
2582
- --cirth-accordion-close-summary-color: var(--cirth-color);
2583
- --cirth-accordion-open-summary-color: var(--cirth-muted-color);
2584
- --cirth-card-border-color: var(--cirth-card-background-color);
2585
- --cirth-card-box-shadow: var(--cirth-box-shadow);
2704
+ --cirth-accordion-close-summary-color: var(--cirth-ink);
2705
+ --cirth-accordion-open-summary-color: var(--cirth-ink);
2706
+ --cirth-card-border-color: color-mix(in oklab,
2707
+ var(--cirth-form-element-border-color) 46%,
2708
+ var(--cirth-card-background-color));
2586
2709
  --cirth-dropdown-box-shadow: var(--cirth-box-shadow);
2587
- --cirth-dropdown-color: var(--cirth-color);
2588
- --cirth-modal-overlay-background-color: oklch(9% 0 312deg / var(--cirth-opacity-overlay));
2710
+ --cirth-dropdown-color: var(--cirth-ink);
2711
+ --cirth-dropdown-border-color: var(--cirth-card-border-color);
2712
+ --cirth-dropdown-hover-background-color: var(--cirth-card-sectioning-background-color);
2713
+ --cirth-modal-overlay-background-color: oklch(9% 0 0deg / var(--cirth-opacity-overlay));
2589
2714
  --cirth-meter-optimum-color: var(--cirth-success);
2590
2715
  --cirth-meter-suboptimum-color: var(--cirth-warning);
2591
2716
  --cirth-meter-even-less-good-color: var(--cirth-error);
2592
- --cirth-progress-color: oklch(61.3% .113 69.35);
2593
- --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(122, 132, 152)' 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");
2594
- --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(122, 132, 152)' 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");
2595
- --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(122, 132, 152)' 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");
2596
- --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(122, 132, 152)' 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");
2717
+ --cirth-progress-color: var(--cirth-primary);
2718
+ --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");
2719
+ --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");
2720
+ --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");
2721
+ --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");
2597
2722
  --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");
2598
2723
  --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");
2599
2724
  }
2600
2725
 
2601
- .cirth:where(:not([data-theme])) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2602
- --cirth-form-element-focus-color: var(--cirth-primary-focus);
2603
- }
2604
-
2605
2726
  .cirth:where(:not([data-theme])) details summary[role="button"].contrast:not(.outline):after, .cirth: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 {
2606
2727
  filter: brightness(0);
2607
2728
  }
@@ -2628,12 +2749,19 @@
2628
2749
  --cirth-primary-underline: oklch(from var(--cirth-primary) l c h / 50%);
2629
2750
  --cirth-primary-hover: oklch(from var(--cirth-primary) calc(l * 1.124) calc(c * 1.132) h);
2630
2751
  --cirth-primary-hover-background: color-mix(in oklch,
2631
- var(--cirth-primary) 81.4%,
2752
+ var(--cirth-primary) 72%,
2632
2753
  black);
2633
2754
  --cirth-primary-hover-border: var(--cirth-primary-hover-background);
2634
2755
  --cirth-primary-hover-underline: var(--cirth-primary-hover);
2635
2756
  --cirth-primary-focus: oklch(from var(--cirth-primary) l c h / 70%);
2636
2757
  --cirth-primary-inverse: oklch(100% 0 0);
2758
+ --cirth-code-background-color: oklch(from var(--cirth-canvas) calc(l - .02) c h);
2759
+ --cirth-card-sectioning-background-color: oklch(from var(--cirth-canvas) calc(l + .025) c h);
2760
+ --cirth-form-element-background-color: oklch(from var(--cirth-canvas) calc(l - .008) c h);
2761
+ --cirth-card-background-color: oklch(from var(--cirth-canvas) calc(l + .04) c h);
2762
+ --cirth-form-element-active-background-color: var(--cirth-canvas);
2763
+ --cirth-dropdown-background-color: var(--cirth-card-background-color);
2764
+ --cirth-popover-background-color: var(--cirth-card-background-color);
2637
2765
  --cirth-secondary-background: oklch(48.3% .03 264);
2638
2766
  --cirth-secondary-border: var(--cirth-secondary-background);
2639
2767
  --cirth-secondary-hover-border: var(--cirth-secondary-hover-background);
@@ -2649,13 +2777,13 @@
2649
2777
  --cirth-blockquote-footer-color: var(--cirth-muted-color);
2650
2778
  --cirth-button-box-shadow: 0 0 0 #0000;
2651
2779
  --cirth-button-hover-box-shadow: 0 0 0 #0000;
2652
- --cirth-table-border-color: var(--cirth-muted-border-color);
2780
+ --cirth-table-border-color: var(--cirth-card-border-color);
2653
2781
  --cirth-table-row-stripped-background-color: oklch(57% .032 264 / .0375);
2654
- --cirth-code-kbd-background-color: var(--cirth-color);
2782
+ --cirth-code-kbd-background-color: var(--cirth-ink);
2655
2783
  --cirth-code-kbd-color: var(--cirth-background-color);
2656
2784
  --cirth-form-element-placeholder-color: oklch(65.7% .03 264);
2657
2785
  --cirth-form-element-active-border-color: var(--cirth-primary-border);
2658
- --cirth-form-element-focus-color: var(--cirth-primary-border);
2786
+ --cirth-form-element-focus-color: var(--cirth-primary-focus);
2659
2787
  --cirth-form-element-disabled-opacity: var(--cirth-opacity-disabled);
2660
2788
  --cirth-form-element-invalid-border-color: var(--cirth-error-border);
2661
2789
  --cirth-form-element-invalid-active-border-color: var(--cirth-error-active);
@@ -2670,29 +2798,28 @@
2670
2798
  --cirth-range-thumb-color: var(--cirth-secondary-background);
2671
2799
  --cirth-range-thumb-active-color: var(--cirth-primary-background);
2672
2800
  --cirth-accordion-active-summary-color: var(--cirth-primary-hover);
2673
- --cirth-accordion-close-summary-color: var(--cirth-color);
2674
- --cirth-accordion-open-summary-color: var(--cirth-muted-color);
2675
- --cirth-card-border-color: var(--cirth-card-background-color);
2676
- --cirth-card-box-shadow: var(--cirth-box-shadow);
2801
+ --cirth-accordion-close-summary-color: var(--cirth-ink);
2802
+ --cirth-accordion-open-summary-color: var(--cirth-ink);
2803
+ --cirth-card-border-color: color-mix(in oklab,
2804
+ var(--cirth-form-element-border-color) 46%,
2805
+ var(--cirth-card-background-color));
2677
2806
  --cirth-dropdown-box-shadow: var(--cirth-box-shadow);
2678
- --cirth-dropdown-color: var(--cirth-color);
2679
- --cirth-modal-overlay-background-color: oklch(9% 0 312deg / var(--cirth-opacity-overlay));
2807
+ --cirth-dropdown-color: var(--cirth-ink);
2808
+ --cirth-dropdown-border-color: var(--cirth-card-border-color);
2809
+ --cirth-dropdown-hover-background-color: var(--cirth-card-sectioning-background-color);
2810
+ --cirth-modal-overlay-background-color: oklch(9% 0 0deg / var(--cirth-opacity-overlay));
2680
2811
  --cirth-meter-optimum-color: var(--cirth-success);
2681
2812
  --cirth-meter-suboptimum-color: var(--cirth-warning);
2682
2813
  --cirth-meter-even-less-good-color: var(--cirth-error);
2683
- --cirth-progress-color: oklch(61.3% .113 69.35);
2684
- --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(122, 132, 152)' 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");
2685
- --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(122, 132, 152)' 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");
2686
- --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(122, 132, 152)' 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");
2687
- --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(122, 132, 152)' 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");
2814
+ --cirth-progress-color: var(--cirth-primary);
2815
+ --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");
2816
+ --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");
2817
+ --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");
2818
+ --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");
2688
2819
  --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");
2689
2820
  --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");
2690
2821
  }
2691
2822
 
2692
- .cirth:where([data-theme="dark"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]), .cirth :where([data-theme="dark"]) input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
2693
- --cirth-form-element-focus-color: var(--cirth-primary-focus);
2694
- }
2695
-
2696
2823
  .cirth:where([data-theme="dark"]) details summary[role="button"].contrast:not(.outline):after, .cirth :where([data-theme="dark"]) details summary[role="button"].contrast:not(.outline):after, .cirth: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, .cirth :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 {
2697
2824
  filter: brightness(0);
2698
2825
  }
@@ -2703,7 +2830,7 @@
2703
2830
 
2704
2831
  @media (prefers-contrast: more) {
2705
2832
  .cirth:where([data-theme="light"]), .cirth :where([data-theme="light"]), .cirth:where(:not([data-theme="dark"])) {
2706
- --cirth-color: oklch(22.3% .006 264);
2833
+ --cirth-ink: oklch(22.3% .006 264);
2707
2834
  --cirth-h1-color: var(--cirth-color);
2708
2835
  --cirth-h2-color: var(--cirth-color);
2709
2836
  --cirth-h3-color: var(--cirth-color);
@@ -2741,7 +2868,7 @@
2741
2868
 
2742
2869
  @media only screen and (prefers-contrast: more) and (prefers-color-scheme: dark) {
2743
2870
  .cirth:where(:not([data-theme])) {
2744
- --cirth-color: oklch(96% 0 264);
2871
+ --cirth-ink: oklch(96% 0 264);
2745
2872
  --cirth-h1-color: var(--cirth-color);
2746
2873
  --cirth-h2-color: var(--cirth-color);
2747
2874
  --cirth-h3-color: var(--cirth-color);
@@ -2782,7 +2909,7 @@
2782
2909
 
2783
2910
  @media (prefers-contrast: more) {
2784
2911
  .cirth:where([data-theme="dark"]), .cirth :where([data-theme="dark"]) {
2785
- --cirth-color: oklch(96% 0 264);
2912
+ --cirth-ink: oklch(96% 0 264);
2786
2913
  --cirth-h1-color: var(--cirth-color);
2787
2914
  --cirth-h2-color: var(--cirth-color);
2788
2915
  --cirth-h3-color: var(--cirth-color);