@toheeb/base 2.0.1 → 3.0.0-alpha.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.
@@ -34,10 +34,10 @@
34
34
 
35
35
 
36
36
  /* 1 */
37
- :root {
37
+ html {
38
38
 
39
39
  /* 1a */
40
- font-family: system-ui, sans-serif;
40
+ font-family: system-ui, sans-serif;
41
41
  font-size: 1rem;
42
42
 
43
43
  /* 1b */
@@ -84,7 +84,6 @@
84
84
  }
85
85
 
86
86
 
87
-
88
87
  /****************************************************
89
88
  * Font Size
90
89
  * __________________________________________________
@@ -97,7 +96,7 @@
97
96
  *
98
97
  *****************************************************/
99
98
 
100
- hgroup > p:has(~ :is(h1, h2, h3, h4, h5, h6))
99
+ hgroup > p:has(~ :where(h1, h2, h3, h4, h5, h6))
101
100
  {
102
101
  font-size: calc(pow(var(--font-scale), -1) * 1em);
103
102
  }
@@ -111,7 +110,7 @@ html
111
110
  font-size: calc(pow(var(--font-scale), 0) * 1em);
112
111
  }
113
112
 
114
- hgroup > :is(h1, h2, h3, h4, h5, h6) ~ p
113
+ hgroup > :where(h1, h2, h3, h4, h5, h6) ~ p
115
114
  {
116
115
  font-size: calc(pow(var(--font-scale), 1) * 1em);
117
116
  }
@@ -218,7 +217,7 @@ h6
218
217
  line-height: calc(1 + ((var(--line-height) - 1) / pow(var(--font-scale), 2)));
219
218
  }
220
219
 
221
- hgroup > :is(h1, h2, h3, h4, h5, h6) ~ p
220
+ hgroup > :where(h1, h2, h3, h4, h5, h6) ~ p
222
221
  {
223
222
  line-height: calc(1 + ((var(--line-height) - 1) / pow(var(--font-scale), 1)));
224
223
  }
@@ -231,7 +230,7 @@ html
231
230
  line-height: calc(1 + ((var(--line-height) - 1) / pow(var(--font-scale), 0)));
232
231
  }
233
232
 
234
- hgroup > p:has(~ :is(h1, h2, h3, h4, h5, h6))
233
+ hgroup > p:has(~ :where(h1, h2, h3, h4, h5, h6))
235
234
  {
236
235
  line-height: calc(1 + ((var(--line-height) - 1) / pow(var(--font-scale), -1)));
237
236
  }
@@ -239,59 +238,65 @@ hgroup > p:has(~ :is(h1, h2, h3, h4, h5, h6))
239
238
 
240
239
  /* 3a */
241
240
 
242
- video,
243
- audio,
244
- iframe,
245
- object,
246
- svg:not([height='16']),
247
- img:not([height='16']),
248
-
241
+ /* [data-display="block"], */
249
242
  p,
250
243
  pre
251
244
  {
252
245
  margin-block: var(--line-lead);
253
246
  }
247
+ /*
248
+ p:where(:has(> span:first-child > :is(audio, canvas, embed, iframe, img, object, svg, video, picture):only-child)) {
249
+ margin-block-start: calc(2 * var(--line-lead));
250
+ }
251
+
252
+ p:where(:has(> span:last-child > :is(audio, canvas, embed, iframe, img, object, svg, video, picture):only-child)) {
253
+ margin-block-end: calc(2 * var(--line-lead));
254
+ } */
255
+
254
256
 
255
257
 
256
258
  /* 3b */
257
259
 
258
- :is(p, pre):has(> span:first-child):has(> span:first-child > :is(audio, video, iframe, object, svg:not([height='16']), img:not([height="16"])):only-child)
259
- {
260
- margin-block-start: calc(2 * var(--line-lead));
260
+ /* Add a small margin by default. To target those within a text. It also adds to p's margin if at start or end. */
261
+ span:where(:has(> [data-display="block"]:only-child)) {
262
+ margin-block: var(--line-lead);
261
263
  }
262
264
 
263
- :is(p, pre):has(> span:last-child):has(> span:last-child > :is(audio, video, iframe, object, svg:not([height='16']), img:not([height="16"])):only-child)
264
- {
265
- margin-block-end: calc(2 * var(--line-lead));
265
+ span:where(:first-child:has(> [data-display="block"]:only-child)) {
266
+ margin-block-start: calc(2 * var(--line-lead));
267
+ }
266
268
 
267
- /* 4c */
268
- padding-block-end: 0;
269
+ /* remove the lh pad if the last of paragraph. To be added via paragraph. padding makes this result inclusive of the p
270
+ s margin */
271
+ span:where(:last-child:has(> [data-display="block"]:only-child)) {
272
+ margin-block-end: calc(var(--line-lead) - var(--lh-pad));
269
273
  }
270
274
 
271
275
 
276
+
272
277
  /* 3d */
273
278
 
274
- :is(section, article):has(> hgroup > h6) {
279
+ :where(section, article):has(> hgroup > h6) {
275
280
  padding-block-start: calc(2 * var(--line-lead));
276
281
  }
277
282
 
278
- :is(section, article):has(> hgroup > h5) {
283
+ :where(section, article):has(> hgroup > h5) {
279
284
  padding-block-start: calc(3 * var(--line-lead));
280
285
  }
281
286
 
282
- :is(section, article):has(> hgroup > h4) {
287
+ :where(section, article):has(> hgroup > h4) {
283
288
  padding-block-start: calc(4 * var(--line-lead));
284
289
  }
285
290
 
286
- :is(section, article):has(> hgroup > h3) {
291
+ :where(section, article):has(> hgroup > h3) {
287
292
  padding-block-start: calc(5 * var(--line-lead));
288
293
  }
289
294
 
290
- :is(section, article):has(> hgroup > h2) {
295
+ :where(section, article):has(> hgroup > h2) {
291
296
  padding-block-start: calc(6 * var(--line-lead));
292
297
  }
293
298
 
294
- :is(section, article):has(> hgroup > h1) {
299
+ :where(section, article):has(> hgroup > h1) {
295
300
  padding-block-start: calc(7 * var(--line-lead));
296
301
  }
297
302
 
@@ -327,7 +332,9 @@ pre
327
332
 
328
333
 
329
334
  /* 1 */
330
- *:has(~ main), main, main ~ *
335
+ *:has(~ main),
336
+ main ~ *,
337
+ main
331
338
  {
332
339
  width: 100%;
333
340
  max-width: calc(1.5 * var(--line-length));
@@ -336,7 +343,7 @@ pre
336
343
  }
337
344
 
338
345
  /* 2 */
339
- section:has(> hgroup) > *:not(:is(section:has(> hgroup), hgroup))
346
+ section:has(> hgroup) > *:not(:where(section:has(> hgroup), hgroup))
340
347
  {
341
348
  width: 100%;
342
349
  max-width: calc((6 * var(--line-lead)) + var(--line-length));
@@ -363,11 +370,11 @@ address,
363
370
  details,
364
371
  fieldset,
365
372
  blockquote,
366
- a:has(:is(p, pre)),
367
- del:has(:is(p, pre)),
368
- ins:has(:is(p, pre)),
369
- map:has(:is(p, pre)),
370
- object:has(:is(p, pre, h1, h2, h3, h4, h5, h6, summary, legend, dt, th)) > div:only-child
373
+ a:has(:where(p, pre)),
374
+ del:has(:where(p, pre)),
375
+ ins:has(:where(p, pre)),
376
+ map:has(:where(p, pre)),
377
+ object:has(:where(p, pre, h1, h2, h3, h4, h5, h6, summary, legend, dt, th)) > div:only-child
371
378
  {
372
379
  width: 100%;
373
380
  max-width: var(--line-length);
@@ -388,7 +395,9 @@ hr
388
395
  td,
389
396
  th,
390
397
  caption,
391
- *:has(~ main), main, main ~ *
398
+ *:has(~ main),
399
+ main ~ *,
400
+ main
392
401
  {
393
402
  padding-inline: calc(3ch * var(--border-width) / var(--border-width));
394
403
  }
@@ -478,10 +487,11 @@ h1, h2, h3, h4, h5, h6,
478
487
  summary, legend, dt, th
479
488
  {
480
489
  font-weight: 700;
490
+ text-wrap: balance;
481
491
  }
482
492
 
483
493
  /* 3 */
484
- hgroup p:has(~ :is(h1, h2, h3, h4, h5, h6)) {
494
+ hgroup p:has(~ :where(h1, h2, h3, h4, h5, h6)) {
485
495
  width: auto;
486
496
  display: inline-block;
487
497
  margin: 0 calc(3ch * var(--border-width) / var(--border-width)) 0 0;
@@ -495,7 +505,7 @@ main
495
505
  counter-reset: h1;
496
506
  }
497
507
 
498
- main > section:has(h1)
508
+ :where(main > section):has(h1)
499
509
  {
500
510
  counter-reset: h2;
501
511
  }
@@ -509,12 +519,12 @@ main > section:has(h1)
509
519
  }
510
520
 
511
521
 
512
- main > section > :is(section, article):has(> hgroup > h2)
522
+ main > section > :where(section, article):has(> hgroup > h2)
513
523
  {
514
524
  counter-reset: h3;
515
525
  }
516
526
 
517
- :where(main > section > :is(section, article):has(> hgroup > h2))::before
527
+ :where(main > section > :where(section, article):has(> hgroup > h2))::before
518
528
  {
519
529
  content: var(--content, counter(h2, decimal-leading-zero) "." / "");
520
530
 
@@ -528,12 +538,12 @@ main > section > :is(section, article):has(> hgroup > h2)
528
538
  }
529
539
 
530
540
 
531
- main > section > :is(section, article) > :is(section, article):has(> hgroup > h3)
541
+ main > section > :where(section, article) > :where(section, article):has(> hgroup > h3)
532
542
  {
533
543
  counter-reset: h4;
534
544
  }
535
545
 
536
- :where(main > section > :is(section, article) > :is(section, article):has(> hgroup > h3))::before
546
+ :where(main > section > :where(section, article) > :where(section, article):has(> hgroup > h3))::before
537
547
  {
538
548
  content: var(--content, counter(h3, decimal-leading-zero) "." / "");
539
549
 
@@ -549,12 +559,12 @@ main > section > :is(section, article) > :is(section, article):has(> hgroup > h3
549
559
  }
550
560
 
551
561
 
552
- main > section > :is(section, article) > :is(section, article) > :is(section, article):has(> hgroup > h4)
562
+ main > section > :where(section, article) > :where(section, article) > :where(section, article):has(> hgroup > h4)
553
563
  {
554
564
  counter-reset: h5;
555
565
  }
556
566
 
557
- :where(main > section > :is(section, article) > :is(section, article) > :is(section, article):has(> hgroup > h4))::before
567
+ :where(main > section > :where(section, article) > :where(section, article) > :where(section, article):has(> hgroup > h4))::before
558
568
  {
559
569
  content: var(--content, counter(h4, decimal-leading-zero) "." / "");
560
570
 
@@ -571,12 +581,12 @@ main > section > :is(section, article) > :is(section, article) > :is(section, ar
571
581
  }
572
582
 
573
583
 
574
- main > section > :is(section, article) > :is(section, article) > :is(section, article) > :is(section, article):has(> hgroup > h5)
584
+ main > section > :where(section, article) > :where(section, article) > :where(section, article) > :where(section, article):has(> hgroup > h5)
575
585
  {
576
586
  counter-reset: h6;
577
587
  }
578
588
 
579
- :where(main > section > :is(section, article) > :is(section, article) > :is(section, article) > :is(section, article):has(> hgroup > h5))::before
589
+ :where(main > section > :where(section, article) > :where(section, article) > :where(section, article) > :where(section, article):has(> hgroup > h5))::before
580
590
  {
581
591
  content: var(--content, counter(h5, decimal-leading-zero) "." / "");
582
592
 
@@ -593,12 +603,12 @@ main > section > :is(section, article) > :is(section, article) > :is(section, ar
593
603
  }
594
604
 
595
605
 
596
- main > section > :is(section, article) > :is(section, article) > :is(section, article) > :is(section, article) > :is(section, article):has(> hgroup > h6)
606
+ main > section > :where(section, article) > :where(section, article) > :where(section, article) > :where(section, article) > :where(section, article):has(> hgroup > h6)
597
607
  {
598
608
  counter-reset: h7;
599
609
  }
600
610
 
601
- :where(main > section > :is(section, article) > :is(section, article) > :is(section, article) > :is(section, article) > :is(section, article):has(> hgroup > h6))::before
611
+ :where(main > section > :where(section, article) > :where(section, article) > :where(section, article) > :where(section, article) > :where(section, article):has(> hgroup > h6))::before
602
612
  {
603
613
  content: var(--content, counter(h6, decimal-leading-zero) "." / "");
604
614
 
@@ -616,7 +626,7 @@ main > section > :is(section, article) > :is(section, article) > :is(section, ar
616
626
  }
617
627
 
618
628
 
619
- :is(section, article)::before
629
+ :where(section, article)::before
620
630
  {
621
631
  font-family: monospace;
622
632
  font-size: .7em;
@@ -627,6 +637,11 @@ main > section > :is(section, article) > :is(section, article) > :is(section, ar
627
637
  z-index: 1;
628
638
  }
629
639
 
640
+ * {
641
+ scroll-margin-top: 1lh;
642
+ }
643
+
644
+
630
645
  /* 4a */
631
646
  article::before {
632
647
  font-weight: bold;
@@ -647,7 +662,7 @@ summary
647
662
  cursor: pointer;
648
663
 
649
664
  /* 6b */
650
- list-style-position: outside;
665
+ /* list-style-position: outside; */
651
666
  }
652
667
 
653
668
  /* 7 */
@@ -663,9 +678,7 @@ hr
663
678
 
664
679
  height: 0;
665
680
 
666
- border: none;
667
- border-block-end: 1px solid;
668
- border-color: color-mix(in srgb, currentColor 50%, transparent 100%);
681
+ border-block-end: calc(var(--border-width) * 2px);
669
682
 
670
683
  margin-block: calc(2 * var(--line-lead));
671
684
  }
@@ -673,8 +686,10 @@ hr
673
686
 
674
687
  /* 9 */
675
688
 
676
- *:has(~ main), main, main ~ *,
677
- :is(section, article):has(> hgroup) > *
689
+ :where(section, article):has(> hgroup) > *,
690
+ *:has(~ main),
691
+ main ~ *,
692
+ main
678
693
  {
679
694
 
680
695
  /* 9a */
@@ -689,14 +704,15 @@ hr
689
704
  }
690
705
 
691
706
  /* 9d */
692
- :is(section, article):has(> hgroup)
707
+ :where(section, article):has(> hgroup)
693
708
  {
694
709
  padding-block: 0;
695
710
  }
696
711
 
697
712
  /* 9c */
698
- :is(*:has(~ main), main, main ~ *):first-child,
699
- :is(*:has(~ hgroup), hgroup, hgroup ~ *):first-child
713
+ main:not(:has(~ *)),
714
+ *:not(main):has(~ main):not(* + *),
715
+ :where(*:has(~ hgroup), hgroup, hgroup ~ *):first-child
700
716
  {
701
717
  border-block-start: none;
702
718
  }
@@ -717,10 +733,10 @@ hr
717
733
  figure,
718
734
  address,
719
735
  blockquote,
720
- a:has(:is(p, pre))[href],
721
- del:has(:is(p, pre)),
722
- ins:has(:is(p, pre)),
723
- map:has(:is(p, pre)),
736
+ a:has(:where(p, pre))[href],
737
+ del:has(:where(p, pre)),
738
+ ins:has(:where(p, pre)),
739
+ map:has(:where(p, pre)),
724
740
  )::before
725
741
  {
726
742
  content: var(--content, "");
@@ -737,7 +753,7 @@ hr
737
753
  margin-top: -1em;
738
754
 
739
755
  /* 10b */
740
- transform: translate(-1.4em, 1em);
756
+ transform: translate(-2em, .5em);
741
757
 
742
758
  /* 10c */
743
759
  position: sticky;
@@ -747,11 +763,15 @@ hr
747
763
  }
748
764
 
749
765
  /* 10d */
750
- :is(*:has(~ main), main, main ~ *)::before
766
+ :where(*:has(~ main), main, main ~ *)::before
751
767
  {
752
768
  top: 1em;
753
769
  }
754
770
 
771
+ :where(*:first-child:has(~ main))::before {
772
+ top: 0;
773
+ }
774
+
755
775
 
756
776
  /* 10e */
757
777
 
@@ -781,16 +801,16 @@ article::before
781
801
  }
782
802
 
783
803
 
784
- map:has(:is(p, pre))::before
804
+ map:has(:where(p, pre))::before
785
805
  {
786
806
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-photo%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M15%208h.01%22%20%2F%3E%3Cpath%20d%3D%22M3%206a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v12a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-12z%22%20%2F%3E%3Cpath%20d%3D%22M3%2016l5%20-5c.928%20-.893%202.072%20-.893%203%200l5%205%22%20%2F%3E%3Cpath%20d%3D%22M14%2014l1%20-1c.928%20-.893%202.072%20-.893%203%200l3%203%22%20%2F%3E%3C%2Fsvg%3E");
787
807
  }
788
808
 
789
- del:has(:is(p, pre))::before {
809
+ del:has(:where(p, pre))::before {
790
810
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItZmlsZS1taW51cyI+PHBhdGggc3Ryb2tlPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE0IDN2NGExIDEgMCAwIDAgMSAxaDQiIC8+PHBhdGggZD0iTTE3IDIxaC0xMGEyIDIgMCAwIDEgLTIgLTJ2LTE0YTIgMiAwIDAgMSAyIC0yaDdsNSA1djExYTIgMiAwIDAgMSAtMiAyeiIgLz48cGF0aCBkPSJNOSAxNGw2IDAiIC8+PC9zdmc+");
791
811
  }
792
812
 
793
- ins:has(:is(p, pre))::before
813
+ ins:has(:where(p, pre))::before
794
814
  {
795
815
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItZmlsZS1wbHVzIj48cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTQgM3Y0YTEgMSAwIDAgMCAxIDFoNCIgLz48cGF0aCBkPSJNMTcgMjFoLTEwYTIgMiAwIDAgMSAtMiAtMnYtMTRhMiAyIDAgMCAxIDIgLTJoN2w1IDV2MTFhMiAyIDAgMCAxIC0yIDJ6IiAvPjxwYXRoIGQ9Ik0xMiAxMWwwIDYiIC8+PHBhdGggZD0iTTkgMTRsNiAwIiAvPjwvc3ZnPg==");
796
816
  }
@@ -814,7 +834,7 @@ blockquote::before {
814
834
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-quotes%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M4%2012c-1.333%20-1.854%20-1.333%20-4.146%200%20-6%22%20%2F%3E%3Cpath%20d%3D%22M8%2012c-1.333%20-1.854%20-1.333%20-4.146%200%20-6%22%20%2F%3E%3Cpath%20d%3D%22M16%2018c1.333%20-1.854%201.333%20-4.146%200%20-6%22%20%2F%3E%3Cpath%20d%3D%22M20%2018c1.333%20-1.854%201.333%20-4.146%200%20-6%22%20%2F%3E%3C%2Fsvg%3E");
815
835
  }
816
836
 
817
- a:has(:is(p, pre))[href]::before
837
+ a:has(:where(p, pre))[href]::before
818
838
  {
819
839
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItbGluayI+PHBhdGggc3Ryb2tlPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTkgMTVsNiAtNiIgLz48cGF0aCBkPSJNMTEgNmwuNDYzIC0uNTM2YTUgNSAwIDAgMSA3LjA3MSA3LjA3MmwtLjUzNCAuNDY0IiAvPjxwYXRoIGQ9Ik0xMyAxOGwtLjM5NyAuNTM0YTUuMDY4IDUuMDY4IDAgMCAxIC03LjEyNyAwYTQuOTcyIDQuOTcyIDAgMCAxIDAgLTcuMDcxbC41MjQgLS40NjMiIC8+PC9zdmc+");
820
840
  }
@@ -877,20 +897,16 @@ form::before {
877
897
  ******************************************/
878
898
 
879
899
  /* 1 */
880
- ul,
881
- ol,
882
- dl,
883
- menu,
884
900
  figure,
885
901
  dialog,
886
902
  address,
887
903
  details,
888
904
  fieldset,
889
905
  blockquote,
890
- a:has(:is(p, pre)),
891
- del:has(:is(p, pre)),
892
- ins:has(:is(p, pre)),
893
- map:has(:is(p, pre))
906
+ a:has(:where(p, pre)),
907
+ del:has(:where(p, pre)),
908
+ ins:has(:where(p, pre)),
909
+ map:has(:where(p, pre))
894
910
  {
895
911
  border:
896
912
  calc(1px * var(--border-width))
@@ -911,6 +927,12 @@ map:has(:is(p, pre))
911
927
  text-decoration: none;
912
928
  }
913
929
 
930
+ details {
931
+ border: 0;
932
+ padding-inline: 0;
933
+ margin-block: var(--line-lead);
934
+ }
935
+
914
936
  dialog {
915
937
  margin: auto;
916
938
  }
@@ -922,43 +944,35 @@ dialog::backdrop {
922
944
 
923
945
 
924
946
  /* 1d */
925
- :is(
926
- ul,
927
- ol,
928
- dl,
929
- menu,
947
+ :where(
930
948
  table,
931
949
  figure,
932
950
  address,
933
951
  details,
934
952
  fieldset,
935
953
  blockquote,
936
- a:has(:is(p, pre)),
937
- del:has(:is(p, pre)),
938
- ins:has(:is(p, pre)),
939
- map:has(:is(p, pre)),
954
+ a:has(:where(p, pre)),
955
+ del:has(:where(p, pre)),
956
+ ins:has(:where(p, pre)),
957
+ map:has(:where(p, pre)),
940
958
  ) +
941
- :is(
942
- ul,
943
- ol,
944
- dl,
945
- menu,
959
+ :where(
946
960
  table,
947
961
  figure,
948
962
  address,
949
963
  details,
950
964
  blockquote,
951
- a:has(:is(p, pre)),
952
- del:has(:is(p, pre)),
953
- ins:has(:is(p, pre)),
954
- map:has(:is(p, pre)),
965
+ a:has(:where(p, pre)),
966
+ del:has(:where(p, pre)),
967
+ ins:has(:where(p, pre)),
968
+ map:has(:where(p, pre)),
955
969
  )
956
970
  {
957
971
  margin-block-start: calc(3 * var(--line-lead));
958
972
  }
959
973
 
960
974
  /* 1f */
961
- :is(p, pre) + fieldset:has(> legend)
975
+ :where(p, pre) + fieldset:has(> legend)
962
976
  {
963
977
  margin-block-start: calc(1 * var(--line-lead));
964
978
  }
@@ -970,14 +984,14 @@ dl
970
984
  }
971
985
 
972
986
  /* 2 */
973
- :is(
987
+ :where(
974
988
  figure,
975
989
  address,
976
990
  blockquote,
977
- a:has(:is(p, pre)),
978
- del:has(:is(p, pre)),
979
- ins:has(:is(p, pre)),
980
- map:has(:is(p, pre)),
991
+ a:has(:where(p, pre)),
992
+ del:has(:where(p, pre)),
993
+ ins:has(:where(p, pre)),
994
+ map:has(:where(p, pre)),
981
995
  )::before
982
996
  {
983
997
  transform: translate(-3.2em, 1em);
@@ -987,19 +1001,19 @@ dl
987
1001
 
988
1002
  /* 3a */
989
1003
 
990
- figcaption:first-child
1004
+ figcaption:where(:first-child)
991
1005
  {
992
- border-block-end: 1px solid var(--border-color);
1006
+ border-block-end: calc(1px * var(--border-width)) solid var(--border-color);
993
1007
  }
994
1008
 
995
- figcaption:last-child
1009
+ figcaption:where(:last-child)
996
1010
  {
997
- border-block-start: 1px solid var(--border-color);
1011
+ border-block-start: calc(1px * var(--border-width)) solid var(--border-color);
998
1012
  }
999
1013
 
1000
1014
 
1001
1015
  /* 3b */
1002
- legend,
1016
+ /* legend,
1003
1017
  details[open] > summary
1004
1018
  {
1005
1019
  border-block-end:
@@ -1007,7 +1021,7 @@ details[open] > summary
1007
1021
  solid
1008
1022
  var(--border-color)
1009
1023
  ;
1010
- }
1024
+ } */
1011
1025
 
1012
1026
 
1013
1027
  /* 3c */
@@ -1043,7 +1057,7 @@ table
1043
1057
  caption
1044
1058
  {
1045
1059
  display: block;
1046
- border: 1px solid var(--border-color);
1060
+ border: calc(var(--border-width) * 2px) var(--border-color);
1047
1061
  text-align: start;
1048
1062
  position: sticky;
1049
1063
  left: 0;
@@ -1081,7 +1095,23 @@ ul,
1081
1095
  dl,
1082
1096
  menu
1083
1097
  {
1084
- padding-inline-start: calc(3ch * var(--border-width) / var(--border-width));
1098
+ position: relative;
1099
+
1100
+ &::after {
1101
+ content: "";
1102
+ position: absolute;
1103
+ bottom: 0;
1104
+ left: -1em;
1105
+
1106
+ width: 1ch;
1107
+ height: .5px;
1108
+
1109
+ background-color: var(--border-color);
1110
+ }
1111
+
1112
+ & & {
1113
+ padding-inline: calc(3ch * var(--border-width) / var(--border-width));
1114
+ }
1085
1115
  }
1086
1116
 
1087
1117
 
@@ -1109,6 +1139,7 @@ dl > div
1109
1139
  /* 4c */
1110
1140
  ::marker
1111
1141
  {
1142
+ content: var(--content);
1112
1143
  font-size: .75em;
1113
1144
  }
1114
1145
 
@@ -1167,31 +1198,33 @@ dl > div
1167
1198
  ******************************************/
1168
1199
 
1169
1200
  /* 1 */
1170
- :is(svg, img)[height="16"] {
1171
- height: 1em;
1201
+ svg, img {
1202
+ vertical-align: middle;
1203
+ }
1204
+
1205
+ svg, math, canvas, img, video, audio, iframe, embed, object
1206
+ {
1207
+ max-width: 100%;
1208
+ }
1209
+
1210
+ span:has(> :where([data-display="block"]):only-child)
1211
+ {
1212
+ max-width: calc(100% + var(--line-lead)*2);
1213
+ width: clamp(100%, var(--border-width) * 100vw, 100vw);
1214
+ translate: calc(var(--line-lead) * -1);
1215
+ display: block;
1172
1216
  }
1173
1217
 
1174
1218
  /* 2 */
1175
- video,
1176
- audio,
1177
- iframe,
1178
- object,
1179
- svg:not([height='16']),
1180
- img:not([height='16'])
1219
+ [data-display="block"]
1181
1220
  {
1182
1221
  display: block;
1183
1222
  max-width: 100%;
1223
+ height: auto;
1184
1224
  }
1185
1225
 
1186
1226
 
1187
1227
  /* 3 */
1188
- kbd,
1189
- code,
1190
- samp,
1191
- output
1192
- {
1193
- font-family: monospace;
1194
- }
1195
1228
 
1196
1229
 
1197
1230
  /* 4 */
@@ -1210,19 +1243,23 @@ strong
1210
1243
  font-weight: 700;
1211
1244
  }
1212
1245
 
1246
+ strong::after {
1247
+ content: var(--content, ":");
1248
+ }
1249
+
1213
1250
  mark
1214
1251
  {
1215
1252
  background-color: color-mix(in srgb, currentColor 5%, transparent 100%);
1216
1253
  padding: 0 .4em .3em;
1217
1254
  }
1218
1255
 
1219
- ins:not(:has(p, pre)),
1220
- del:not(:has(p, pre))
1256
+ ins:where(:not(:has(p, pre))),
1257
+ del:where(:not(:has(p, pre)))
1221
1258
  {
1222
1259
  text-decoration-thickness: calc(.0625em * var(--border-width));
1223
1260
  }
1224
1261
 
1225
- ins:not(:has(p, pre))
1262
+ ins:where(:not(:has(p, pre)))
1226
1263
  {
1227
1264
  text-underline-position: from-font;
1228
1265
  }
@@ -1257,12 +1294,13 @@ sup
1257
1294
  top: -1.5ex;
1258
1295
  }
1259
1296
 
1260
-
1261
- small
1262
- {
1263
- font-size: .875em;
1297
+ small::before {
1298
+ content: var(--content, "(");
1264
1299
  }
1265
1300
 
1301
+ small::after {
1302
+ content: var(--content, ")");
1303
+ }
1266
1304
 
1267
1305
  /* 6 */
1268
1306
 
@@ -1271,7 +1309,6 @@ b,
1271
1309
  u,
1272
1310
  s,
1273
1311
  em,
1274
- cite,
1275
1312
  a:not(:has(p, pre))
1276
1313
  {
1277
1314
  /* font-weight: 400; */
@@ -1287,8 +1324,8 @@ a:not(:has(p, pre))
1287
1324
  s,
1288
1325
  em,
1289
1326
  kbd,
1290
- cite,
1291
1327
  samp,
1328
+ cite,
1292
1329
  output,
1293
1330
  map:not(:has(p, pre)),
1294
1331
  a:not(:has(p, pre))[href],
@@ -1301,7 +1338,7 @@ a:not(:has(p, pre))
1301
1338
  mask-size: cover;
1302
1339
  mask-repeat: no-repeat;
1303
1340
  background-color: currentColor;
1304
- vertical-align: text-top;
1341
+ vertical-align: top;
1305
1342
  }
1306
1343
 
1307
1344
  kbd::after,
@@ -1351,41 +1388,38 @@ output::after
1351
1388
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfOF8yMCkiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE0IDhWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxMmEyIDIgMCAwIDAgMiAyaDdhMiAyIDAgMCAwIDItMnYtMm00LTcgMyAzaC02bTMgMyAzLTMiLz48L2c+PC9zdmc+");
1352
1389
  }
1353
1390
 
1354
- cite::after
1355
- {
1356
- mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItdGFnIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNNi41IDcuNWExIDEgMCAxIDAgMiAwIDEgMSAwIDEgMC0yIDAiLz48cGF0aCBkPSJNMyA2djUuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0bDcuNzEgNy43MWEyLjQxIDIuNDEgMCAwIDAgMy40MDggMGw1LjU5Mi01LjU5MmEyLjQxIDIuNDEgMCAwIDAgMC0zLjQwOGwtNy43MS03LjcxQTIgMiAwIDAgMCAxMS4xNzIgM0g2YTMgMyAwIDAgMC0zIDMiLz48L3N2Zz4=");
1357
- margin-inline-start: .2em;
1391
+ cite::after {
1392
+ mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItZmlsZSI+PHBhdGggc3Ryb2tlPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE0IDN2NGExIDEgMCAwIDAgMSAxaDQiIC8+PHBhdGggZD0iTTE3IDIxaC0xMGEyIDIgMCAwIDEgLTIgLTJ2LTE0YTIgMiAwIDAgMSAyIC0yaDdsNSA1djExYTIgMiAwIDAgMSAtMiAyIiAvPjwvc3ZnPg==");
1358
1393
  }
1359
1394
 
1360
- map:not(:has(p, pre))::after
1395
+ map:where(:not(:has(p, pre)))::after
1361
1396
  {
1362
1397
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-photo%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M15%208h.01%22%20%2F%3E%3Cpath%20d%3D%22M3%206a3%203%200%200%201%203%20-3h12a3%203%200%200%201%203%203v12a3%203%200%200%201%20-3%203h-12a3%203%200%200%201%20-3%20-3v-12z%22%20%2F%3E%3Cpath%20d%3D%22M3%2016l5%20-5c.928%20-.893%202.072%20-.893%203%200l5%205%22%20%2F%3E%3Cpath%20d%3D%22M14%2014l1%20-1c.928%20-.893%202.072%20-.893%203%200l3%203%22%20%2F%3E%3C%2Fsvg%3E");
1363
1398
  }
1364
1399
 
1365
- a:not(:has(p, pre))[href]::after
1400
+ :where(a:not(:has(p, pre)))[href]::after
1366
1401
  {
1367
1402
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItZXh0ZXJuYWwtbGluayI+PHBhdGggc3Ryb2tlPSJub25lIiBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTEyIDZoLTZhMiAyIDAgMCAwIC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMiAtMnYtNiIgLz48cGF0aCBkPSJNMTEgMTNsOSAtOSIgLz48cGF0aCBkPSJNMTUgNGg1djUiIC8+PC9zdmc+");
1368
1403
  }
1369
1404
 
1370
- a:not(:has(p, pre))[href]:hover {
1405
+ :where(a:not(:has(p, pre)))[href]:hover {
1371
1406
  cursor: pointer;
1372
1407
  text-decoration: underline 1px currentColor;
1373
1408
  }
1374
1409
 
1375
1410
 
1376
1411
  /* 7 */
1377
-
1412
+ [role="button"],
1378
1413
  button,
1379
1414
  select,
1380
1415
  textarea,
1381
- input[type]
1416
+ :where(input[type])
1382
1417
  {
1383
1418
  font: inherit;
1384
1419
 
1385
1420
  /* 7a */
1386
- height: 1lh;
1387
- border: 1px solid currentColor;
1388
- padding: 0 .5em var(--lh-pad);
1421
+ border: calc(1px * var(--border-width)) solid var(--border-color);
1422
+ padding: 0 calc(.5em * var(--border-width)) var(--lh-pad);
1389
1423
 
1390
1424
  /* 7d */
1391
1425
  background-color: transparent;
@@ -1395,21 +1429,87 @@ input[type]
1395
1429
 
1396
1430
  /* 7f */
1397
1431
  cursor: pointer;
1432
+
1433
+ &[disabled] {
1434
+ opacity: .5;
1435
+ }
1398
1436
  }
1399
1437
 
1438
+ select {
1439
+ white-space: nowrap;
1440
+ overflow: hidden;
1441
+ position: relative;
1442
+ padding-right: 1.5em;
1443
+ }
1400
1444
 
1401
- /* 7b */
1445
+ select::after {
1446
+ content: "";
1447
+ display: block;
1448
+ background-color: var(--background-color);
1449
+ border-left: 1px solid var(--border-color);
1450
+ width: 1em;
1451
+ height: 100%;
1452
+ position: absolute;
1453
+ right: 0;
1454
+ top: 0;
1455
+ }
1402
1456
 
1403
- textarea,
1404
- input[type=range],
1405
- input[type=radio],
1406
- input[type=checkbox]
1407
- {
1408
- height: auto;
1457
+ select::picker-icon {
1458
+ position: absolute;
1459
+ right: .4em;
1460
+ z-index: 10;
1461
+ padding-top: var(--lh-pad);
1462
+ transform-origin: 50% 60%;
1409
1463
  }
1410
1464
 
1465
+ [role="button"] {
1466
+ --content: none;
1467
+ }
1468
+
1469
+ :where(
1470
+ input[type="text"][list],
1471
+ input[type="search"][list],
1472
+ input[type="tel"][list],
1473
+ input[type="url"][list],
1474
+ input[type="email"][list],
1475
+ ) {
1476
+ padding-right: 1em;
1477
+
1478
+ background-image: linear-gradient(
1479
+ to right,
1480
+ transparent calc(100% - 1rem),
1481
+ var(--border-color) calc(100% - 1rem),
1482
+ var(--border-color) calc(100% - 1rem + 1px),
1483
+ transparent calc(100% - 1rem + 1px)
1484
+ );
1485
+
1486
+
1487
+ &::-webkit-calendar-picker-indicator {
1488
+ display: none !important;
1489
+ appearance: none;
1490
+ }
1491
+
1492
+ span:has(> &:only-child):focus-within::after {
1493
+ content: "";
1494
+ width: .5em;
1495
+ height: .5em;
1496
+ mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M20.118 3h-16.225a2.914 2.914 0 0 0 -2.503 4.371l8.116 13.549a2.917 2.917 0 0 0 4.987 .005l8.11 -13.539a2.914 2.914 0 0 0 -2.486 -4.386z' /></svg>");
1497
+ mask-repeat: no-repeat;
1498
+ background-color: currentColor;
1499
+ position: absolute;
1500
+ top: calc(50% - (.5em / 1.6));
1501
+ right: .3em;
1502
+ }
1503
+ }
1504
+
1505
+
1506
+
1507
+
1508
+ /* 7b */
1509
+
1510
+
1411
1511
  span:has(>
1412
- :is(
1512
+ :where(
1413
1513
  textarea,
1414
1514
  input[type=radio],
1415
1515
  input[type=range],
@@ -1422,15 +1522,6 @@ span:has(>
1422
1522
 
1423
1523
 
1424
1524
  /* 7c */
1425
- button,
1426
- input[type=image],
1427
- input[type=reset],
1428
- input[type=submit],
1429
- input[type=button]
1430
- {
1431
- line-height: .5lh;
1432
- height: 2lh;
1433
- }
1434
1525
 
1435
1526
 
1436
1527
  /* 8 */
@@ -1453,21 +1544,21 @@ select:open::picker-icon {
1453
1544
 
1454
1545
 
1455
1546
  /* 9a */
1456
- span:has(> input:only-child),
1457
- span:has(> select:only-child)
1547
+ span:where(:has(> input:only-child)),
1548
+ span:where(:has(> select:only-child))
1458
1549
  {
1459
1550
  display: inline-flex;
1460
1551
  position: relative;
1461
1552
  }
1462
1553
 
1463
1554
  /* 9b */
1464
- span > input[type=url]:only-child,
1465
- span > input[type=tel]:only-child,
1466
- span > input[type=text]:only-child,
1467
- span > input[type=email]:only-child,
1468
- span > input[type=number]:only-child,
1469
- span > input[type=search]:only-child,
1470
- span > input[type=password]:only-child
1555
+ span > :where(input[type=url]:only-child),
1556
+ span > :where(input[type=tel]:only-child),
1557
+ span > :where(input[type=text]:only-child),
1558
+ span > :where(input[type=email]:only-child),
1559
+ span > :where(input[type=number]:only-child),
1560
+ span > :where(input[type=search]:only-child),
1561
+ span > :where(input[type=password]:only-child)
1471
1562
  {
1472
1563
  padding-inline-start: 1.4em;
1473
1564
  }
@@ -1477,7 +1568,7 @@ span > input[type=password]:only-child
1477
1568
 
1478
1569
  :where(
1479
1570
  span:has(
1480
- > :is(
1571
+ > :where(
1481
1572
  input[type=tel],
1482
1573
  input[type=url],
1483
1574
  input[type=text],
@@ -1487,7 +1578,7 @@ span > input[type=password]:only-child
1487
1578
  input[type=password],
1488
1579
  ):only-child
1489
1580
  )
1490
- )::after
1581
+ )::before
1491
1582
  {
1492
1583
  content: var(--content, "");
1493
1584
  position: absolute;
@@ -1497,45 +1588,45 @@ span > input[type=password]:only-child
1497
1588
  margin-block: auto;
1498
1589
 
1499
1590
  display: block;
1500
- width: .75em;
1501
- height: .75em;
1591
+ font-size: .75em;
1592
+ width: 1em;
1593
+ height: 1em;
1502
1594
  mask-size: cover;
1503
1595
  mask-repeat: no-repeat;
1504
- background-color: #000;
1505
- color: currentColor;
1596
+ background-color: currentColor;
1506
1597
  }
1507
1598
 
1508
- span:has(input[type=search]:only-child)::after
1599
+ span:where(:has(input[type=search]:only-child))::before
1509
1600
  {
1510
1601
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-search%22%3E%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M10%2010m-7%200a7%207%200%201%200%2014%200a7%207%200%201%200%20-14%200%22%20%2F%3E%3Cpath%20d%3D%22M21%2021l-6%20-6%22%20%2F%3E%3C%2Fsvg%3E");
1511
1602
  }
1512
1603
 
1513
- span:has(input[type=text]:only-child)::after
1604
+ span:where(:has(input[type=text]:only-child))::before
1514
1605
  {
1515
1606
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItdGV4dC1pbmNyZWFzZSI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0iTTQgMTlWOC41YTMuNSAzLjUgMCAxIDEgNyAwVjE5bS03LTZoN203LTR2Nm0zLTNoLTYiLz48L3N2Zz4=");
1516
1607
  }
1517
1608
 
1518
- span:has(input[type=tel]:only-child)::after
1609
+ span:where(:has(input[type=tel]:only-child))::before
1519
1610
  {
1520
1611
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItcGhvbmUiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Ik01IDRoNGwyIDUtMi41IDEuNWExMSAxMSAwIDAgMCA1IDVMMTUgMTNsNSAydjRhMiAyIDAgMCAxLTIgMkExNiAxNiAwIDAgMSAzIDZhMiAyIDAgMCAxIDItMiIvPjwvc3ZnPg==");
1521
1612
  }
1522
1613
 
1523
- span:has(input[type=email]:only-child)::after
1614
+ span:where(:has(input[type=email]:only-child))::before
1524
1615
  {
1525
1616
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItYXQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Ik04IDEyYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjxwYXRoIGQ9Ik0xNiAxMnYxLjVhMi41IDIuNSAwIDAgMCA1IDBWMTJhOSA5IDAgMSAwLTUuNSA4LjI4Ii8+PC9zdmc+");
1526
1617
  }
1527
1618
 
1528
- span:has(input[type=number]:only-child)::after
1619
+ span:where(:has(input[type=number]:only-child))::before
1529
1620
  {
1530
1621
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItbnVtYmVyLTEyMyI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTMgMTAgMi0ydjhtNC04aDNhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFoLTJhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoM200LThoMi41QTEuNSAxLjUgMCAwIDEgMjEgOS41djFhMS41IDEuNSAwIDAgMS0xLjUgMS41SDE4aDEuNWExLjUgMS41IDAgMCAxIDEuNSAxLjV2MWExLjUgMS41IDAgMCAxLTEuNSAxLjVIMTciLz48L3N2Zz4=");
1531
1622
  }
1532
1623
 
1533
- span:has(input[type=password]:only-child)::after
1624
+ span:where(:has(input[type=password]:only-child))::before
1534
1625
  {
1535
1626
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItcGFzc3dvcmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Ik0xMiAxMHY0bS0yLTEgNC0ybS00IDAgNCAybS05LTN2NG0tMi0xIDQtMm0tNCAwIDQgMm0xMi0zdjRtLTItMSA0LTJtLTQgMCA0IDIiLz48L3N2Zz4=");
1536
1627
  }
1537
1628
 
1538
- span:has(input[type=url]:only-child)::after
1629
+ span:where(:has(input[type=url]:only-child))::before
1539
1630
  {
1540
1631
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imljb24gaWNvbi10YWJsZXIgaWNvbnMtdGFibGVyLW91dGxpbmUgaWNvbi10YWJsZXItd29ybGQtd3d3Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNMTkuNSA3QTkgOSAwIDAgMCAxMiAzYTguOTkgOC45OSAwIDAgMC03LjQ4NCA0Ii8+PHBhdGggZD0iTTExLjUgM2ExNyAxNyAwIDAgMC0xLjgyNiA0TTEyLjUgM2ExNyAxNyAwIDAgMSAxLjgyOCA0TTE5LjUgMTdhOSA5IDAgMCAxLTcuNSA0IDguOTkgOC45OSAwIDAgMS03LjQ4NC00Ii8+PHBhdGggZD0iTTExLjUgMjFhMTcgMTcgMCAwIDEtMS44MjYtNG0yLjgyNiA0YTE3IDE3IDAgMCAwIDEuODI4LTRNMiAxMGwxIDQgMS41LTRMNiAxNGwxLTRtMTAgMCAxIDQgMS41LTQgMS41IDQgMS00TTkuNSAxMGwxIDQgMS41LTQgMS41IDQgMS00Ii8+PC9zdmc+");
1541
1632
  }