-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbin-bits.css
3001 lines (2930 loc) · 188 KB
/
bin-bits.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/**
* css-bin-bits
* BSD 2-Clause License
* Copyright (c) Jane Ori, PropJockey, 2023
*/
@supports (background: paint(css-bin-bits)) or (
(-webkit-hyphens: none) and (font-size-adjust: from-font)
) or (
(-moz-appearance: none) and (width: 1rlh)
) {
/* is Chrome or (is Safari and >= v17) or (Firefox and >= v120) */
/* Detects if @property is supported AND has correct integer rounding: */
:where([data-bin-bits]) {
--bin-NOT: 1 - ; /* (var(--bin-NOT) a) */
--bin-AND: * ; /* (a var(--bin-AND) b) */
--bin-NAND: * -1 + 2 + -1 * ; /* clamp(0, a var(--bin-NAND) b, 1) */
--bin-OR: + ; /* clamp(0, a var(--bin-OR) b, 1) */
--bin-NOR: * -1 + 1 - ; /* (a var(--bin-NOR) b) */
--bin-XOR: initial; /* (clamp(0, a var(--bin-OR) b, 1) var(--bin-AND) (var(--bin-NOT) (a var(--bin-AND) b))) */
}
@property --bin-a-sign { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-1 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-POS { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-NEG { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-EVEN { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-ODD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-VAL { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-SIGNED { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-SIGNED-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-LEFT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-SIGNED-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-a-MOD { syntax: "<integer>"; initial-value: 0; inherits: false; }
/* internal --bin-__ props */
@property --bin-__a-useRound { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-inputAbsInt { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-wo2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-shift { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-shiftPow2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-sloTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__a-modTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
/* INPUT via --bin-a-round or --bin-a-trunc with number in range [-65535, 65535] (+/- 16 bits) */
/* if --bin-a-round is provided, +/- 0.5 away-from-zero rounding will be used to cast to integer. */
/* Otherwise --bin-a-trunc is used and the value will be truncated to an integer (default 0). */
/* --bin-a-VAL is available to check what it was rounded/truncated to */
:where([data-bin-bits~="a"]) {
--bin-a-round: initial;
--bin-a-trunc: initial;
--bin-__a-input: max(min(var(--bin-a-round, var(--bin-a-trunc, 0)), 65535), -65535);
--bin-a-sign: calc(2 * (0.5 + max(-1, min(0, 100000 * var(--bin-__a-input)))));
--bin-a-POS: calc(var(--bin-a-sign) / 2 + 0.5);
--bin-a-NEG: calc(1 - var(--bin-a-POS));
--bin-__a-inputAbs: max(var(--bin-__a-input), var(--bin-__a-input) * -1);
--bin-__a-tryRound: min(1, var(--bin-a-round) * var(--bin-a-round) + 1);
--bin-__a-useRound: var(--bin-__a-tryRound, 0);
--bin-__a-inputAbsInt: calc(var(--bin-__a-inputAbs) - 0.5 * (1 - var(--bin-__a-useRound)));
--bin-a-16: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-inputAbsInt) / 32768 - 1))));
--bin-__a-wo16: calc(var(--bin-__a-inputAbsInt) - var(--bin-a-16) * 32768);
--bin-a-15: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo16) / 16384 - 1))));
--bin-__a-wo15: calc(var(--bin-__a-wo16) - var(--bin-a-15) * 16384);
--bin-a-14: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo15) / 8192 - 1))));
--bin-__a-wo14: calc(var(--bin-__a-wo15) - var(--bin-a-14) * 8192);
--bin-a-13: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo14) / 4096 - 1))));
--bin-__a-wo13: calc(var(--bin-__a-wo14) - var(--bin-a-13) * 4096);
--bin-a-12: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo13) / 2048 - 1))));
--bin-__a-wo12: calc(var(--bin-__a-wo13) - var(--bin-a-12) * 2048);
--bin-a-11: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo12) / 1024 - 1))));
--bin-__a-wo11: calc(var(--bin-__a-wo12) - var(--bin-a-11) * 1024);
--bin-a-10: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo11) / 512 - 1))));
--bin-__a-wo10: calc(var(--bin-__a-wo11) - var(--bin-a-10) * 512);
--bin-a-9: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo10) / 256 - 1))));
--bin-__a-wo9: calc(var(--bin-__a-wo10) - var(--bin-a-9) * 256);
--bin-a-8: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo9) / 128 - 1))));
--bin-__a-wo8: calc(var(--bin-__a-wo9) - var(--bin-a-8) * 128);
--bin-a-7: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo8) / 64 - 1))));
--bin-__a-wo7: calc(var(--bin-__a-wo8) - var(--bin-a-7) * 64);
--bin-a-6: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo7) / 32 - 1))));
--bin-__a-wo6: calc(var(--bin-__a-wo7) - var(--bin-a-6) * 32);
--bin-a-5: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo6) / 16 - 1))));
--bin-__a-wo5: calc(var(--bin-__a-wo6) - var(--bin-a-5) * 16);
--bin-a-4: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo5) / 8 - 1))));
--bin-__a-wo4: calc(var(--bin-__a-wo5) - var(--bin-a-4) * 8);
--bin-a-3: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo4) / 4 - 1))));
--bin-__a-wo3: calc(var(--bin-__a-wo4) - var(--bin-a-3) * 4);
--bin-a-2: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo3) / 2 - 1))));
--bin-__a-wo2: calc(var(--bin-__a-wo3) - var(--bin-a-2) * 2);
--bin-a-1: calc(1 + max(-1, min(0, 100000 * (var(--bin-__a-wo2) / 1 - 1))));
--bin-a-EVEN: calc(1 - var(--bin-a-1));
--bin-a-ODD: var(--bin-a-1);
--bin-a-VAL: calc(
var(--bin-a-16) * 32768 +
var(--bin-a-15) * 16384 +
var(--bin-a-14) * 8192 +
var(--bin-a-13) * 4096 +
var(--bin-a-12) * 2048 +
var(--bin-a-11) * 1024 +
var(--bin-a-10) * 512 +
var(--bin-a-9) * 256 +
var(--bin-a-8) * 128 +
var(--bin-a-7) * 64 +
var(--bin-a-6) * 32 +
var(--bin-a-5) * 16 +
var(--bin-a-4) * 8 +
var(--bin-a-3) * 4 +
var(--bin-a-2) * 2 +
var(--bin-a-1)
);
--bin-a-NOT: calc(
(1 - var(--bin-a-16)) * 32768 +
(1 - var(--bin-a-15)) * 16384 +
(1 - var(--bin-a-14)) * 8192 +
(1 - var(--bin-a-13)) * 4096 +
(1 - var(--bin-a-12)) * 2048 +
(1 - var(--bin-a-11)) * 1024 +
(1 - var(--bin-a-10)) * 512 +
(1 - var(--bin-a-9)) * 256 +
(1 - var(--bin-a-8)) * 128 +
(1 - var(--bin-a-7)) * 64 +
(1 - var(--bin-a-6)) * 32 +
(1 - var(--bin-a-5)) * 16 +
(1 - var(--bin-a-4)) * 8 +
(1 - var(--bin-a-3)) * 4 +
(1 - var(--bin-a-2)) * 2 +
(1 - var(--bin-a-1))
);
--bin-a-SIGNED: calc(var(--bin-a-sign) * var(--bin-a-VAL));
--bin-a-SIGNED-NOT: calc(-1 * var(--bin-a-sign) * var(--bin-a-NOT));
--bin-a-shift: initial;
--bin-__a-shift: min(15, max(0, var(--bin-a-shift, 0)));
--bin-__a-shiftPow2: calc(
(min(1, max(0, var(--bin-__a-shift) - 0)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 1)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 2)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 3)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 4)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 5)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 6)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 7)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 8)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 9)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 10)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 11)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 12)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 13)) + 1) *
(min(1, max(0, var(--bin-__a-shift) - 14)) + 1)
);
--bin-__a-slOverflow: calc(var(--bin-a-VAL) / (65536 / var(--bin-__a-shiftPow2)));
--bin-__a-sloTrunc: calc(var(--bin-__a-slOverflow) - 0.5);
--bin-a-LEFT: calc(65536 * (var(--bin-__a-slOverflow) - var(--bin-__a-sloTrunc)));
--bin-a-RIGHT: calc(var(--bin-a-VAL) / var(--bin-__a-shiftPow2) - 0.5);
--bin-a-SIGNED-RIGHT: calc(var(--bin-a-sign) * (
var(--bin-a-NEG) * (var(--bin-__a-shiftPow2) - 1) * (65536 / var(--bin-__a-shiftPow2)) +
var(--bin-a-RIGHT)
));
--bin-a-mod: initial;
--bin-__a-modBy: max(1, var(--bin-a-mod, 1));
--bin-__a-modTrunc: calc((var(--bin-a-VAL) / var(--bin-__a-modBy)) - 0.5);
--bin-a-MOD: calc(var(--bin-a-VAL) - var(--bin-__a-modBy) * var(--bin-__a-modTrunc));
}
@property --bin-b-sign { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-1 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-POS { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-NEG { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-EVEN { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-ODD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-VAL { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-SIGNED { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-SIGNED-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-LEFT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-SIGNED-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-b-MOD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-useRound { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-inputAbsInt { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-wo2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-shift { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-shiftPow2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-sloTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__b-modTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
:where([data-bin-bits~="b"]) {
--bin-b-round: initial;
--bin-b-trunc: initial;
--bin-__b-input: max(min(var(--bin-b-round, var(--bin-b-trunc, 0)), 65535), -65535);
--bin-b-sign: calc(2 * (0.5 + max(-1, min(0, 100000 * var(--bin-__b-input)))));
--bin-b-POS: calc(var(--bin-b-sign) / 2 + 0.5);
--bin-b-NEG: calc(1 - var(--bin-b-POS));
--bin-__b-inputAbs: max(var(--bin-__b-input), var(--bin-__b-input) * -1);
--bin-__b-tryRound: min(1, var(--bin-b-round) * var(--bin-b-round) + 1);
--bin-__b-useRound: var(--bin-__b-tryRound, 0);
--bin-__b-inputAbsInt: calc(var(--bin-__b-inputAbs) - 0.5 * (1 - var(--bin-__b-useRound)));
--bin-b-16: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-inputAbsInt) / 32768 - 1))));
--bin-__b-wo16: calc(var(--bin-__b-inputAbsInt) - var(--bin-b-16) * 32768);
--bin-b-15: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo16) / 16384 - 1))));
--bin-__b-wo15: calc(var(--bin-__b-wo16) - var(--bin-b-15) * 16384);
--bin-b-14: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo15) / 8192 - 1))));
--bin-__b-wo14: calc(var(--bin-__b-wo15) - var(--bin-b-14) * 8192);
--bin-b-13: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo14) / 4096 - 1))));
--bin-__b-wo13: calc(var(--bin-__b-wo14) - var(--bin-b-13) * 4096);
--bin-b-12: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo13) / 2048 - 1))));
--bin-__b-wo12: calc(var(--bin-__b-wo13) - var(--bin-b-12) * 2048);
--bin-b-11: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo12) / 1024 - 1))));
--bin-__b-wo11: calc(var(--bin-__b-wo12) - var(--bin-b-11) * 1024);
--bin-b-10: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo11) / 512 - 1))));
--bin-__b-wo10: calc(var(--bin-__b-wo11) - var(--bin-b-10) * 512);
--bin-b-9: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo10) / 256 - 1))));
--bin-__b-wo9: calc(var(--bin-__b-wo10) - var(--bin-b-9) * 256);
--bin-b-8: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo9) / 128 - 1))));
--bin-__b-wo8: calc(var(--bin-__b-wo9) - var(--bin-b-8) * 128);
--bin-b-7: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo8) / 64 - 1))));
--bin-__b-wo7: calc(var(--bin-__b-wo8) - var(--bin-b-7) * 64);
--bin-b-6: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo7) / 32 - 1))));
--bin-__b-wo6: calc(var(--bin-__b-wo7) - var(--bin-b-6) * 32);
--bin-b-5: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo6) / 16 - 1))));
--bin-__b-wo5: calc(var(--bin-__b-wo6) - var(--bin-b-5) * 16);
--bin-b-4: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo5) / 8 - 1))));
--bin-__b-wo4: calc(var(--bin-__b-wo5) - var(--bin-b-4) * 8);
--bin-b-3: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo4) / 4 - 1))));
--bin-__b-wo3: calc(var(--bin-__b-wo4) - var(--bin-b-3) * 4);
--bin-b-2: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo3) / 2 - 1))));
--bin-__b-wo2: calc(var(--bin-__b-wo3) - var(--bin-b-2) * 2);
--bin-b-1: calc(1 + max(-1, min(0, 100000 * (var(--bin-__b-wo2) / 1 - 1))));
--bin-b-EVEN: calc(1 - var(--bin-b-1));
--bin-b-ODD: var(--bin-b-1);
--bin-b-VAL: calc(
var(--bin-b-16) * 32768 +
var(--bin-b-15) * 16384 +
var(--bin-b-14) * 8192 +
var(--bin-b-13) * 4096 +
var(--bin-b-12) * 2048 +
var(--bin-b-11) * 1024 +
var(--bin-b-10) * 512 +
var(--bin-b-9) * 256 +
var(--bin-b-8) * 128 +
var(--bin-b-7) * 64 +
var(--bin-b-6) * 32 +
var(--bin-b-5) * 16 +
var(--bin-b-4) * 8 +
var(--bin-b-3) * 4 +
var(--bin-b-2) * 2 +
var(--bin-b-1)
);
--bin-b-NOT: calc(
(1 - var(--bin-b-16)) * 32768 +
(1 - var(--bin-b-15)) * 16384 +
(1 - var(--bin-b-14)) * 8192 +
(1 - var(--bin-b-13)) * 4096 +
(1 - var(--bin-b-12)) * 2048 +
(1 - var(--bin-b-11)) * 1024 +
(1 - var(--bin-b-10)) * 512 +
(1 - var(--bin-b-9)) * 256 +
(1 - var(--bin-b-8)) * 128 +
(1 - var(--bin-b-7)) * 64 +
(1 - var(--bin-b-6)) * 32 +
(1 - var(--bin-b-5)) * 16 +
(1 - var(--bin-b-4)) * 8 +
(1 - var(--bin-b-3)) * 4 +
(1 - var(--bin-b-2)) * 2 +
(1 - var(--bin-b-1))
);
--bin-b-SIGNED: calc(var(--bin-b-sign) * var(--bin-b-VAL));
--bin-b-SIGNED-NOT: calc(-1 * var(--bin-b-sign) * var(--bin-b-NOT));
--bin-b-shift: initial;
--bin-__b-shift: min(15, max(0, var(--bin-b-shift, 0)));
--bin-__b-shiftPow2: calc(
(min(1, max(0, var(--bin-__b-shift) - 0)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 1)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 2)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 3)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 4)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 5)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 6)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 7)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 8)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 9)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 10)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 11)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 12)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 13)) + 1) *
(min(1, max(0, var(--bin-__b-shift) - 14)) + 1)
);
--bin-__b-slOverflow: calc(var(--bin-b-VAL) / (65536 / var(--bin-__b-shiftPow2)));
--bin-__b-sloTrunc: calc(var(--bin-__b-slOverflow) - 0.5);
--bin-b-LEFT: calc(65536 * (var(--bin-__b-slOverflow) - var(--bin-__b-sloTrunc)));
--bin-b-RIGHT: calc(var(--bin-b-VAL) / var(--bin-__b-shiftPow2) - 0.5);
--bin-b-SIGNED-RIGHT: calc(var(--bin-b-sign) * (
var(--bin-b-NEG) * (var(--bin-__b-shiftPow2) - 1) * (65536 / var(--bin-__b-shiftPow2)) +
var(--bin-b-RIGHT)
));
--bin-b-mod: initial;
--bin-__b-modBy: max(1, var(--bin-b-mod, 1));
--bin-__b-modTrunc: calc((var(--bin-b-VAL) / var(--bin-__b-modBy)) - 0.5);
--bin-b-MOD: calc(var(--bin-b-VAL) - var(--bin-__b-modBy) * var(--bin-__b-modTrunc));
}
@property --bin-c-sign { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-1 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-POS { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-NEG { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-EVEN { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-ODD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-VAL { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-SIGNED { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-SIGNED-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-LEFT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-SIGNED-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-c-MOD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-useRound { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-inputAbsInt { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-wo2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-shift { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-shiftPow2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-sloTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__c-modTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
:where([data-bin-bits~="c"]) {
--bin-c-round: initial;
--bin-c-trunc: initial;
--bin-__c-input: max(min(var(--bin-c-round, var(--bin-c-trunc, 0)), 65535), -65535);
--bin-c-sign: calc(2 * (0.5 + max(-1, min(0, 100000 * var(--bin-__c-input)))));
--bin-c-POS: calc(var(--bin-c-sign) / 2 + 0.5);
--bin-c-NEG: calc(1 - var(--bin-c-POS));
--bin-__c-inputAbs: max(var(--bin-__c-input), var(--bin-__c-input) * -1);
--bin-__c-tryRound: min(1, var(--bin-c-round) * var(--bin-c-round) + 1);
--bin-__c-useRound: var(--bin-__c-tryRound, 0);
--bin-__c-inputAbsInt: calc(var(--bin-__c-inputAbs) - 0.5 * (1 - var(--bin-__c-useRound)));
--bin-c-16: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-inputAbsInt) / 32768 - 1))));
--bin-__c-wo16: calc(var(--bin-__c-inputAbsInt) - var(--bin-c-16) * 32768);
--bin-c-15: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo16) / 16384 - 1))));
--bin-__c-wo15: calc(var(--bin-__c-wo16) - var(--bin-c-15) * 16384);
--bin-c-14: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo15) / 8192 - 1))));
--bin-__c-wo14: calc(var(--bin-__c-wo15) - var(--bin-c-14) * 8192);
--bin-c-13: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo14) / 4096 - 1))));
--bin-__c-wo13: calc(var(--bin-__c-wo14) - var(--bin-c-13) * 4096);
--bin-c-12: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo13) / 2048 - 1))));
--bin-__c-wo12: calc(var(--bin-__c-wo13) - var(--bin-c-12) * 2048);
--bin-c-11: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo12) / 1024 - 1))));
--bin-__c-wo11: calc(var(--bin-__c-wo12) - var(--bin-c-11) * 1024);
--bin-c-10: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo11) / 512 - 1))));
--bin-__c-wo10: calc(var(--bin-__c-wo11) - var(--bin-c-10) * 512);
--bin-c-9: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo10) / 256 - 1))));
--bin-__c-wo9: calc(var(--bin-__c-wo10) - var(--bin-c-9) * 256);
--bin-c-8: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo9) / 128 - 1))));
--bin-__c-wo8: calc(var(--bin-__c-wo9) - var(--bin-c-8) * 128);
--bin-c-7: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo8) / 64 - 1))));
--bin-__c-wo7: calc(var(--bin-__c-wo8) - var(--bin-c-7) * 64);
--bin-c-6: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo7) / 32 - 1))));
--bin-__c-wo6: calc(var(--bin-__c-wo7) - var(--bin-c-6) * 32);
--bin-c-5: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo6) / 16 - 1))));
--bin-__c-wo5: calc(var(--bin-__c-wo6) - var(--bin-c-5) * 16);
--bin-c-4: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo5) / 8 - 1))));
--bin-__c-wo4: calc(var(--bin-__c-wo5) - var(--bin-c-4) * 8);
--bin-c-3: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo4) / 4 - 1))));
--bin-__c-wo3: calc(var(--bin-__c-wo4) - var(--bin-c-3) * 4);
--bin-c-2: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo3) / 2 - 1))));
--bin-__c-wo2: calc(var(--bin-__c-wo3) - var(--bin-c-2) * 2);
--bin-c-1: calc(1 + max(-1, min(0, 100000 * (var(--bin-__c-wo2) / 1 - 1))));
--bin-c-EVEN: calc(1 - var(--bin-c-1));
--bin-c-ODD: var(--bin-c-1);
--bin-c-VAL: calc(
var(--bin-c-16) * 32768 +
var(--bin-c-15) * 16384 +
var(--bin-c-14) * 8192 +
var(--bin-c-13) * 4096 +
var(--bin-c-12) * 2048 +
var(--bin-c-11) * 1024 +
var(--bin-c-10) * 512 +
var(--bin-c-9) * 256 +
var(--bin-c-8) * 128 +
var(--bin-c-7) * 64 +
var(--bin-c-6) * 32 +
var(--bin-c-5) * 16 +
var(--bin-c-4) * 8 +
var(--bin-c-3) * 4 +
var(--bin-c-2) * 2 +
var(--bin-c-1)
);
--bin-c-NOT: calc(
(1 - var(--bin-c-16)) * 32768 +
(1 - var(--bin-c-15)) * 16384 +
(1 - var(--bin-c-14)) * 8192 +
(1 - var(--bin-c-13)) * 4096 +
(1 - var(--bin-c-12)) * 2048 +
(1 - var(--bin-c-11)) * 1024 +
(1 - var(--bin-c-10)) * 512 +
(1 - var(--bin-c-9)) * 256 +
(1 - var(--bin-c-8)) * 128 +
(1 - var(--bin-c-7)) * 64 +
(1 - var(--bin-c-6)) * 32 +
(1 - var(--bin-c-5)) * 16 +
(1 - var(--bin-c-4)) * 8 +
(1 - var(--bin-c-3)) * 4 +
(1 - var(--bin-c-2)) * 2 +
(1 - var(--bin-c-1))
);
--bin-c-SIGNED: calc(var(--bin-c-sign) * var(--bin-c-VAL));
--bin-c-SIGNED-NOT: calc(-1 * var(--bin-c-sign) * var(--bin-c-NOT));
--bin-c-shift: initial;
--bin-__c-shift: min(15, max(0, var(--bin-c-shift, 0)));
--bin-__c-shiftPow2: calc(
(min(1, max(0, var(--bin-__c-shift) - 0)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 1)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 2)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 3)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 4)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 5)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 6)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 7)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 8)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 9)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 10)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 11)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 12)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 13)) + 1) *
(min(1, max(0, var(--bin-__c-shift) - 14)) + 1)
);
--bin-__c-slOverflow: calc(var(--bin-c-VAL) / (65536 / var(--bin-__c-shiftPow2)));
--bin-__c-sloTrunc: calc(var(--bin-__c-slOverflow) - 0.5);
--bin-c-LEFT: calc(65536 * (var(--bin-__c-slOverflow) - var(--bin-__c-sloTrunc)));
--bin-c-RIGHT: calc(var(--bin-c-VAL) / var(--bin-__c-shiftPow2) - 0.5);
--bin-c-SIGNED-RIGHT: calc(var(--bin-c-sign) * (
var(--bin-c-NEG) * (var(--bin-__c-shiftPow2) - 1) * (65536 / var(--bin-__c-shiftPow2)) +
var(--bin-c-RIGHT)
));
--bin-c-mod: initial;
--bin-__c-modBy: max(1, var(--bin-c-mod, 1));
--bin-__c-modTrunc: calc((var(--bin-c-VAL) / var(--bin-__c-modBy)) - 0.5);
--bin-c-MOD: calc(var(--bin-c-VAL) - var(--bin-__c-modBy) * var(--bin-__c-modTrunc));
}
@property --bin-d-sign { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-1 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-POS { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-NEG { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-EVEN { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-ODD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-VAL { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-SIGNED { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-SIGNED-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-LEFT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-SIGNED-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-d-MOD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-useRound { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-inputAbsInt { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-wo2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-shift { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-shiftPow2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-sloTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__d-modTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
:where([data-bin-bits~="d"]) {
--bin-d-round: initial;
--bin-d-trunc: initial;
--bin-__d-input: max(min(var(--bin-d-round, var(--bin-d-trunc, 0)), 65535), -65535);
--bin-d-sign: calc(2 * (0.5 + max(-1, min(0, 100000 * var(--bin-__d-input)))));
--bin-d-POS: calc(var(--bin-d-sign) / 2 + 0.5);
--bin-d-NEG: calc(1 - var(--bin-d-POS));
--bin-__d-inputAbs: max(var(--bin-__d-input), var(--bin-__d-input) * -1);
--bin-__d-tryRound: min(1, var(--bin-d-round) * var(--bin-d-round) + 1);
--bin-__d-useRound: var(--bin-__d-tryRound, 0);
--bin-__d-inputAbsInt: calc(var(--bin-__d-inputAbs) - 0.5 * (1 - var(--bin-__d-useRound)));
--bin-d-16: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-inputAbsInt) / 32768 - 1))));
--bin-__d-wo16: calc(var(--bin-__d-inputAbsInt) - var(--bin-d-16) * 32768);
--bin-d-15: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo16) / 16384 - 1))));
--bin-__d-wo15: calc(var(--bin-__d-wo16) - var(--bin-d-15) * 16384);
--bin-d-14: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo15) / 8192 - 1))));
--bin-__d-wo14: calc(var(--bin-__d-wo15) - var(--bin-d-14) * 8192);
--bin-d-13: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo14) / 4096 - 1))));
--bin-__d-wo13: calc(var(--bin-__d-wo14) - var(--bin-d-13) * 4096);
--bin-d-12: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo13) / 2048 - 1))));
--bin-__d-wo12: calc(var(--bin-__d-wo13) - var(--bin-d-12) * 2048);
--bin-d-11: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo12) / 1024 - 1))));
--bin-__d-wo11: calc(var(--bin-__d-wo12) - var(--bin-d-11) * 1024);
--bin-d-10: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo11) / 512 - 1))));
--bin-__d-wo10: calc(var(--bin-__d-wo11) - var(--bin-d-10) * 512);
--bin-d-9: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo10) / 256 - 1))));
--bin-__d-wo9: calc(var(--bin-__d-wo10) - var(--bin-d-9) * 256);
--bin-d-8: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo9) / 128 - 1))));
--bin-__d-wo8: calc(var(--bin-__d-wo9) - var(--bin-d-8) * 128);
--bin-d-7: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo8) / 64 - 1))));
--bin-__d-wo7: calc(var(--bin-__d-wo8) - var(--bin-d-7) * 64);
--bin-d-6: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo7) / 32 - 1))));
--bin-__d-wo6: calc(var(--bin-__d-wo7) - var(--bin-d-6) * 32);
--bin-d-5: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo6) / 16 - 1))));
--bin-__d-wo5: calc(var(--bin-__d-wo6) - var(--bin-d-5) * 16);
--bin-d-4: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo5) / 8 - 1))));
--bin-__d-wo4: calc(var(--bin-__d-wo5) - var(--bin-d-4) * 8);
--bin-d-3: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo4) / 4 - 1))));
--bin-__d-wo3: calc(var(--bin-__d-wo4) - var(--bin-d-3) * 4);
--bin-d-2: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo3) / 2 - 1))));
--bin-__d-wo2: calc(var(--bin-__d-wo3) - var(--bin-d-2) * 2);
--bin-d-1: calc(1 + max(-1, min(0, 100000 * (var(--bin-__d-wo2) / 1 - 1))));
--bin-d-EVEN: calc(1 - var(--bin-d-1));
--bin-d-ODD: var(--bin-d-1);
--bin-d-VAL: calc(
var(--bin-d-16) * 32768 +
var(--bin-d-15) * 16384 +
var(--bin-d-14) * 8192 +
var(--bin-d-13) * 4096 +
var(--bin-d-12) * 2048 +
var(--bin-d-11) * 1024 +
var(--bin-d-10) * 512 +
var(--bin-d-9) * 256 +
var(--bin-d-8) * 128 +
var(--bin-d-7) * 64 +
var(--bin-d-6) * 32 +
var(--bin-d-5) * 16 +
var(--bin-d-4) * 8 +
var(--bin-d-3) * 4 +
var(--bin-d-2) * 2 +
var(--bin-d-1)
);
--bin-d-NOT: calc(
(1 - var(--bin-d-16)) * 32768 +
(1 - var(--bin-d-15)) * 16384 +
(1 - var(--bin-d-14)) * 8192 +
(1 - var(--bin-d-13)) * 4096 +
(1 - var(--bin-d-12)) * 2048 +
(1 - var(--bin-d-11)) * 1024 +
(1 - var(--bin-d-10)) * 512 +
(1 - var(--bin-d-9)) * 256 +
(1 - var(--bin-d-8)) * 128 +
(1 - var(--bin-d-7)) * 64 +
(1 - var(--bin-d-6)) * 32 +
(1 - var(--bin-d-5)) * 16 +
(1 - var(--bin-d-4)) * 8 +
(1 - var(--bin-d-3)) * 4 +
(1 - var(--bin-d-2)) * 2 +
(1 - var(--bin-d-1))
);
--bin-d-SIGNED: calc(var(--bin-d-sign) * var(--bin-d-VAL));
--bin-d-SIGNED-NOT: calc(-1 * var(--bin-d-sign) * var(--bin-d-NOT));
--bin-d-shift: initial;
--bin-__d-shift: min(15, max(0, var(--bin-d-shift, 0)));
--bin-__d-shiftPow2: calc(
(min(1, max(0, var(--bin-__d-shift) - 0)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 1)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 2)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 3)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 4)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 5)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 6)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 7)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 8)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 9)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 10)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 11)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 12)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 13)) + 1) *
(min(1, max(0, var(--bin-__d-shift) - 14)) + 1)
);
--bin-__d-slOverflow: calc(var(--bin-d-VAL) / (65536 / var(--bin-__d-shiftPow2)));
--bin-__d-sloTrunc: calc(var(--bin-__d-slOverflow) - 0.5);
--bin-d-LEFT: calc(65536 * (var(--bin-__d-slOverflow) - var(--bin-__d-sloTrunc)));
--bin-d-RIGHT: calc(var(--bin-d-VAL) / var(--bin-__d-shiftPow2) - 0.5);
--bin-d-SIGNED-RIGHT: calc(var(--bin-d-sign) * (
var(--bin-d-NEG) * (var(--bin-__d-shiftPow2) - 1) * (65536 / var(--bin-__d-shiftPow2)) +
var(--bin-d-RIGHT)
));
--bin-d-mod: initial;
--bin-__d-modBy: max(1, var(--bin-d-mod, 1));
--bin-__d-modTrunc: calc((var(--bin-d-VAL) / var(--bin-__d-modBy)) - 0.5);
--bin-d-MOD: calc(var(--bin-d-VAL) - var(--bin-__d-modBy) * var(--bin-__d-modTrunc));
}
@property --bin-e-sign { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-1 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-POS { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-NEG { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-EVEN { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-ODD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-VAL { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-SIGNED { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-SIGNED-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-LEFT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-SIGNED-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-e-MOD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-useRound { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-inputAbsInt { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-wo2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-shift { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-shiftPow2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-sloTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__e-modTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
:where([data-bin-bits~="e"]) {
--bin-e-round: initial;
--bin-e-trunc: initial;
--bin-__e-input: max(min(var(--bin-e-round, var(--bin-e-trunc, 0)), 65535), -65535);
--bin-e-sign: calc(2 * (0.5 + max(-1, min(0, 100000 * var(--bin-__e-input)))));
--bin-e-POS: calc(var(--bin-e-sign) / 2 + 0.5);
--bin-e-NEG: calc(1 - var(--bin-e-POS));
--bin-__e-inputAbs: max(var(--bin-__e-input), var(--bin-__e-input) * -1);
--bin-__e-tryRound: min(1, var(--bin-e-round) * var(--bin-e-round) + 1);
--bin-__e-useRound: var(--bin-__e-tryRound, 0);
--bin-__e-inputAbsInt: calc(var(--bin-__e-inputAbs) - 0.5 * (1 - var(--bin-__e-useRound)));
--bin-e-16: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-inputAbsInt) / 32768 - 1))));
--bin-__e-wo16: calc(var(--bin-__e-inputAbsInt) - var(--bin-e-16) * 32768);
--bin-e-15: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo16) / 16384 - 1))));
--bin-__e-wo15: calc(var(--bin-__e-wo16) - var(--bin-e-15) * 16384);
--bin-e-14: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo15) / 8192 - 1))));
--bin-__e-wo14: calc(var(--bin-__e-wo15) - var(--bin-e-14) * 8192);
--bin-e-13: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo14) / 4096 - 1))));
--bin-__e-wo13: calc(var(--bin-__e-wo14) - var(--bin-e-13) * 4096);
--bin-e-12: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo13) / 2048 - 1))));
--bin-__e-wo12: calc(var(--bin-__e-wo13) - var(--bin-e-12) * 2048);
--bin-e-11: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo12) / 1024 - 1))));
--bin-__e-wo11: calc(var(--bin-__e-wo12) - var(--bin-e-11) * 1024);
--bin-e-10: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo11) / 512 - 1))));
--bin-__e-wo10: calc(var(--bin-__e-wo11) - var(--bin-e-10) * 512);
--bin-e-9: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo10) / 256 - 1))));
--bin-__e-wo9: calc(var(--bin-__e-wo10) - var(--bin-e-9) * 256);
--bin-e-8: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo9) / 128 - 1))));
--bin-__e-wo8: calc(var(--bin-__e-wo9) - var(--bin-e-8) * 128);
--bin-e-7: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo8) / 64 - 1))));
--bin-__e-wo7: calc(var(--bin-__e-wo8) - var(--bin-e-7) * 64);
--bin-e-6: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo7) / 32 - 1))));
--bin-__e-wo6: calc(var(--bin-__e-wo7) - var(--bin-e-6) * 32);
--bin-e-5: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo6) / 16 - 1))));
--bin-__e-wo5: calc(var(--bin-__e-wo6) - var(--bin-e-5) * 16);
--bin-e-4: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo5) / 8 - 1))));
--bin-__e-wo4: calc(var(--bin-__e-wo5) - var(--bin-e-4) * 8);
--bin-e-3: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo4) / 4 - 1))));
--bin-__e-wo3: calc(var(--bin-__e-wo4) - var(--bin-e-3) * 4);
--bin-e-2: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo3) / 2 - 1))));
--bin-__e-wo2: calc(var(--bin-__e-wo3) - var(--bin-e-2) * 2);
--bin-e-1: calc(1 + max(-1, min(0, 100000 * (var(--bin-__e-wo2) / 1 - 1))));
--bin-e-EVEN: calc(1 - var(--bin-e-1));
--bin-e-ODD: var(--bin-e-1);
--bin-e-VAL: calc(
var(--bin-e-16) * 32768 +
var(--bin-e-15) * 16384 +
var(--bin-e-14) * 8192 +
var(--bin-e-13) * 4096 +
var(--bin-e-12) * 2048 +
var(--bin-e-11) * 1024 +
var(--bin-e-10) * 512 +
var(--bin-e-9) * 256 +
var(--bin-e-8) * 128 +
var(--bin-e-7) * 64 +
var(--bin-e-6) * 32 +
var(--bin-e-5) * 16 +
var(--bin-e-4) * 8 +
var(--bin-e-3) * 4 +
var(--bin-e-2) * 2 +
var(--bin-e-1)
);
--bin-e-NOT: calc(
(1 - var(--bin-e-16)) * 32768 +
(1 - var(--bin-e-15)) * 16384 +
(1 - var(--bin-e-14)) * 8192 +
(1 - var(--bin-e-13)) * 4096 +
(1 - var(--bin-e-12)) * 2048 +
(1 - var(--bin-e-11)) * 1024 +
(1 - var(--bin-e-10)) * 512 +
(1 - var(--bin-e-9)) * 256 +
(1 - var(--bin-e-8)) * 128 +
(1 - var(--bin-e-7)) * 64 +
(1 - var(--bin-e-6)) * 32 +
(1 - var(--bin-e-5)) * 16 +
(1 - var(--bin-e-4)) * 8 +
(1 - var(--bin-e-3)) * 4 +
(1 - var(--bin-e-2)) * 2 +
(1 - var(--bin-e-1))
);
--bin-e-SIGNED: calc(var(--bin-e-sign) * var(--bin-e-VAL));
--bin-e-SIGNED-NOT: calc(-1 * var(--bin-e-sign) * var(--bin-e-NOT));
--bin-e-shift: initial;
--bin-__e-shift: min(15, max(0, var(--bin-e-shift, 0)));
--bin-__e-shiftPow2: calc(
(min(1, max(0, var(--bin-__e-shift) - 0)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 1)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 2)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 3)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 4)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 5)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 6)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 7)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 8)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 9)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 10)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 11)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 12)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 13)) + 1) *
(min(1, max(0, var(--bin-__e-shift) - 14)) + 1)
);
--bin-__e-slOverflow: calc(var(--bin-e-VAL) / (65536 / var(--bin-__e-shiftPow2)));
--bin-__e-sloTrunc: calc(var(--bin-__e-slOverflow) - 0.5);
--bin-e-LEFT: calc(65536 * (var(--bin-__e-slOverflow) - var(--bin-__e-sloTrunc)));
--bin-e-RIGHT: calc(var(--bin-e-VAL) / var(--bin-__e-shiftPow2) - 0.5);
--bin-e-SIGNED-RIGHT: calc(var(--bin-e-sign) * (
var(--bin-e-NEG) * (var(--bin-__e-shiftPow2) - 1) * (65536 / var(--bin-__e-shiftPow2)) +
var(--bin-e-RIGHT)
));
--bin-e-mod: initial;
--bin-__e-modBy: max(1, var(--bin-e-mod, 1));
--bin-__e-modTrunc: calc((var(--bin-e-VAL) / var(--bin-__e-modBy)) - 0.5);
--bin-e-MOD: calc(var(--bin-e-VAL) - var(--bin-__e-modBy) * var(--bin-__e-modTrunc));
}
@property --bin-f-sign { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-1 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-POS { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-NEG { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-EVEN { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-ODD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-VAL { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-SIGNED { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-SIGNED-NOT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-LEFT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-SIGNED-RIGHT { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-f-MOD { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-useRound { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-inputAbsInt { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo16 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo15 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo14 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo13 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo12 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo11 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo10 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo9 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo8 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo7 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo6 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo5 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo4 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo3 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-wo2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-shift { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-shiftPow2 { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-sloTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
@property --bin-__f-modTrunc { syntax: "<integer>"; initial-value: 0; inherits: false; }
:where([data-bin-bits~="f"]) {
--bin-f-round: initial;
--bin-f-trunc: initial;
--bin-__f-input: max(min(var(--bin-f-round, var(--bin-f-trunc, 0)), 65535), -65535);
--bin-f-sign: calc(2 * (0.5 + max(-1, min(0, 100000 * var(--bin-__f-input)))));
--bin-f-POS: calc(var(--bin-f-sign) / 2 + 0.5);
--bin-f-NEG: calc(1 - var(--bin-f-POS));
--bin-__f-inputAbs: max(var(--bin-__f-input), var(--bin-__f-input) * -1);
--bin-__f-tryRound: min(1, var(--bin-f-round) * var(--bin-f-round) + 1);
--bin-__f-useRound: var(--bin-__f-tryRound, 0);
--bin-__f-inputAbsInt: calc(var(--bin-__f-inputAbs) - 0.5 * (1 - var(--bin-__f-useRound)));
--bin-f-16: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-inputAbsInt) / 32768 - 1))));
--bin-__f-wo16: calc(var(--bin-__f-inputAbsInt) - var(--bin-f-16) * 32768);
--bin-f-15: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo16) / 16384 - 1))));
--bin-__f-wo15: calc(var(--bin-__f-wo16) - var(--bin-f-15) * 16384);
--bin-f-14: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo15) / 8192 - 1))));
--bin-__f-wo14: calc(var(--bin-__f-wo15) - var(--bin-f-14) * 8192);
--bin-f-13: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo14) / 4096 - 1))));
--bin-__f-wo13: calc(var(--bin-__f-wo14) - var(--bin-f-13) * 4096);
--bin-f-12: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo13) / 2048 - 1))));
--bin-__f-wo12: calc(var(--bin-__f-wo13) - var(--bin-f-12) * 2048);
--bin-f-11: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo12) / 1024 - 1))));
--bin-__f-wo11: calc(var(--bin-__f-wo12) - var(--bin-f-11) * 1024);
--bin-f-10: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo11) / 512 - 1))));
--bin-__f-wo10: calc(var(--bin-__f-wo11) - var(--bin-f-10) * 512);
--bin-f-9: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo10) / 256 - 1))));
--bin-__f-wo9: calc(var(--bin-__f-wo10) - var(--bin-f-9) * 256);
--bin-f-8: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo9) / 128 - 1))));
--bin-__f-wo8: calc(var(--bin-__f-wo9) - var(--bin-f-8) * 128);
--bin-f-7: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo8) / 64 - 1))));
--bin-__f-wo7: calc(var(--bin-__f-wo8) - var(--bin-f-7) * 64);
--bin-f-6: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo7) / 32 - 1))));
--bin-__f-wo6: calc(var(--bin-__f-wo7) - var(--bin-f-6) * 32);
--bin-f-5: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo6) / 16 - 1))));
--bin-__f-wo5: calc(var(--bin-__f-wo6) - var(--bin-f-5) * 16);
--bin-f-4: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo5) / 8 - 1))));
--bin-__f-wo4: calc(var(--bin-__f-wo5) - var(--bin-f-4) * 8);
--bin-f-3: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo4) / 4 - 1))));
--bin-__f-wo3: calc(var(--bin-__f-wo4) - var(--bin-f-3) * 4);
--bin-f-2: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo3) / 2 - 1))));
--bin-__f-wo2: calc(var(--bin-__f-wo3) - var(--bin-f-2) * 2);
--bin-f-1: calc(1 + max(-1, min(0, 100000 * (var(--bin-__f-wo2) / 1 - 1))));
--bin-f-EVEN: calc(1 - var(--bin-f-1));
--bin-f-ODD: var(--bin-f-1);
--bin-f-VAL: calc(
var(--bin-f-16) * 32768 +
var(--bin-f-15) * 16384 +
var(--bin-f-14) * 8192 +
var(--bin-f-13) * 4096 +
var(--bin-f-12) * 2048 +
var(--bin-f-11) * 1024 +
var(--bin-f-10) * 512 +
var(--bin-f-9) * 256 +
var(--bin-f-8) * 128 +
var(--bin-f-7) * 64 +
var(--bin-f-6) * 32 +
var(--bin-f-5) * 16 +
var(--bin-f-4) * 8 +
var(--bin-f-3) * 4 +
var(--bin-f-2) * 2 +
var(--bin-f-1)
);
--bin-f-NOT: calc(
(1 - var(--bin-f-16)) * 32768 +
(1 - var(--bin-f-15)) * 16384 +
(1 - var(--bin-f-14)) * 8192 +
(1 - var(--bin-f-13)) * 4096 +
(1 - var(--bin-f-12)) * 2048 +
(1 - var(--bin-f-11)) * 1024 +
(1 - var(--bin-f-10)) * 512 +
(1 - var(--bin-f-9)) * 256 +
(1 - var(--bin-f-8)) * 128 +
(1 - var(--bin-f-7)) * 64 +
(1 - var(--bin-f-6)) * 32 +
(1 - var(--bin-f-5)) * 16 +
(1 - var(--bin-f-4)) * 8 +
(1 - var(--bin-f-3)) * 4 +
(1 - var(--bin-f-2)) * 2 +
(1 - var(--bin-f-1))
);
--bin-f-SIGNED: calc(var(--bin-f-sign) * var(--bin-f-VAL));