lexgui 0.1.44 → 0.1.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/lexgui.css CHANGED
@@ -16,7 +16,9 @@
16
16
  --global-font-size-big: 14px;
17
17
  --global-color-primary: light-dark(#f9f9f9, #1c1c1c);
18
18
  --global-color-secondary: light-dark(#ececec, #2c2c2c);
19
- --global-color-terciary: light-dark(#dadada, #444);
19
+ --global-color-terciary: light-dark(#e0e0e0, #444);
20
+ --global-color-quaternary: light-dark(#c8c8c8, #555);
21
+ --global-color-quinary: light-dark(#b0b0b0, #666);
20
22
  --global-selected: #2d69da;
21
23
  --global-selected-light: #0d99ff;
22
24
  --global-selected-dark: #304b86;
@@ -38,6 +40,10 @@
38
40
  --graphnode-background: 17, 17, 17;
39
41
  }
40
42
 
43
+ :root[data-theme="light"] {
44
+ color-scheme: light;
45
+ }
46
+
41
47
  /* Some global colors */
42
48
  .orange {
43
49
  color: orange
@@ -276,6 +282,105 @@ body.noevents * {
276
282
  color: #f5f5f5;
277
283
  }
278
284
 
285
+ /* Footer */
286
+
287
+ .lexfooter {
288
+ min-height: 96px;
289
+ background-color: var(--global-color-primary);
290
+ padding: 15px;
291
+ width: 100%;
292
+ font-size: .875rem;
293
+ line-height: 1.25rem;
294
+ }
295
+
296
+ .lexfooter .wrapper {
297
+ width: calc(100% - 30px);
298
+ }
299
+
300
+ .lexfooter .columns {
301
+ display: grid;
302
+ text-align: center;
303
+ }
304
+
305
+ .lexfooter ul {
306
+ list-style-type: none;
307
+ padding: 0;
308
+ margin: 0;
309
+ margin-bottom: 12px;
310
+ }
311
+
312
+ .lexfooter ul li {
313
+ margin-bottom: 8px;
314
+ font-size: 14px;
315
+ }
316
+
317
+ .lexfooter a {
318
+ text-decoration: none;
319
+ color: var(--global-text-secondary);
320
+ transition: all 0.15s ease-in-out;
321
+ }
322
+
323
+ .lexfooter .credits-and-socials {
324
+ display: grid;
325
+ align-items: center;
326
+ grid-template-columns: 1fr 1fr;
327
+ padding-inline: 36px;
328
+ }
329
+
330
+ .lexfooter p {
331
+ font-size: var(--global-font-size);
332
+ }
333
+
334
+ .lexfooter .social {
335
+ text-align: right;
336
+ margin-block-start: 1em;
337
+ margin-block-end: 1em;
338
+ }
339
+
340
+ @media (max-width: 768px) {
341
+ .lexfooter .credits-and-socials {
342
+ display: block;
343
+ text-align: center;
344
+ }
345
+
346
+ .lexfooter .social {
347
+ text-align: center;
348
+ }
349
+ }
350
+
351
+ .lexfooter .social svg {
352
+ max-width: 28px;
353
+ max-height: 28px;
354
+ transition: all .2s ease-in-out;
355
+ fill: var(--global-text-secondary);
356
+ }
357
+
358
+ .lexfooter .social a {
359
+ max-width: 28px;
360
+ max-height: 28px;
361
+ color: var(--global-text-secondary);
362
+ margin-right: 6px;
363
+ vertical-align: -webkit-baseline-middle;
364
+ vertical-align: middle;
365
+ }
366
+
367
+ .lexfooter .social a a {
368
+ font-size: 24px;
369
+ }
370
+
371
+ .lexfooter a:hover {
372
+ color: var(--global-selected-light);
373
+ }
374
+
375
+ .lexfooter svg:hover {
376
+ fill: var(--global-selected-light);
377
+ }
378
+
379
+ .lexfooter hr {
380
+ border: none;
381
+ border-top: 1px solid #2c2c2c;
382
+ }
383
+
279
384
  /* Dialogs and alerts */
280
385
 
281
386
  .lexdialog {
@@ -434,7 +539,7 @@ body.noevents * {
434
539
  opacity: 0;
435
540
  }
436
541
 
437
- @media (prefers-color-scheme: light) {
542
+ :root[data-theme="light"] {
438
543
  .lexdialog {
439
544
  box-shadow: 0px 2px 6px #30303083;
440
545
  }
@@ -596,13 +701,13 @@ body.noevents * {
596
701
  transform: rotate(180deg);
597
702
  }
598
703
 
599
- @media (prefers-color-scheme: light) {
704
+ :root[data-theme="light"] {
600
705
  .lexbranchtitle {
601
706
  color: var(--global-text-secondary);
602
707
  background-color: var(--global-color-secondary);
603
708
  text-shadow: 0px 1px 6px #afafaf7c;
604
709
  }
605
-
710
+
606
711
  .lexbranch.closed .lexbranchtitle {
607
712
  background-color: inherit;
608
713
  }
@@ -734,6 +839,14 @@ body.noevents * {
734
839
  padding: 5px;
735
840
  }
736
841
 
842
+ .lexwidget .lextext input:focus {
843
+ border: 2px solid var(--global-selected);
844
+ }
845
+
846
+ .lexwidget .lextext input:invalid:focus {
847
+ border: 2px solid var(--global-color-error);
848
+ }
849
+
737
850
  .lexwidget .lextext div {
738
851
  color: var(--global-text-secondary);
739
852
  padding-left: 6px;
@@ -749,10 +862,6 @@ body.noevents * {
749
862
  margin-right: 16px;
750
863
  }
751
864
 
752
- .lexwidget .lextext input:focus {
753
- border: 2px solid var(--global-selected);
754
- }
755
-
756
865
  .lexwidget .inputicon {
757
866
  padding: 6px;
758
867
  font-size: 10px;
@@ -792,12 +901,6 @@ body.noevents * {
792
901
  color: var(--global-text-terciary);
793
902
  }
794
903
 
795
- @media (prefers-color-scheme: light) {
796
- .lexwidget .lextext {
797
- border: 1px solid var(--global-color-terciary) !important;
798
- }
799
- }
800
-
801
904
  .lexseparator {
802
905
  border-bottom: 1px solid var(--global-button-color);
803
906
  margin: 5px 0 5px 10px;
@@ -812,6 +915,17 @@ body.noevents * {
812
915
  margin: 5px 0 5px 4px;
813
916
  }
814
917
 
918
+ :root[data-theme="light"] {
919
+ .lexwidget .lextext {
920
+ border: 1px solid var(--global-color-terciary) !important;
921
+ }
922
+
923
+ .lexbranch .lexseparator {
924
+ border-top: 1px solid #e7e7e7;
925
+ border-bottom: 1px solid #c1c1c1;
926
+ }
927
+ }
928
+
815
929
  .lexfilter input {
816
930
  font-family: var(--global-font);
817
931
  }
@@ -867,9 +981,10 @@ body.noevents * {
867
981
  .lexbutton {
868
982
  display: grid;
869
983
  align-content: center;
870
- background-color: var(--global-button-color);
984
+ --button-color: var(--global-button-color);
985
+ background-color: var(--button-color);
871
986
  border-radius: 6px;
872
- border: none;
987
+ border: 1px solid transparent;
873
988
  margin-top: 2px;
874
989
  min-height: 22px !important;
875
990
  color: var(--global-text-primary);
@@ -880,8 +995,19 @@ body.noevents * {
880
995
  cursor: pointer;
881
996
  font-family: var(--global-font);
882
997
  transition: 0.1s linear;
998
+ padding: 0.25rem;
883
999
  }
884
1000
 
1001
+ /* Colors */
1002
+ .lexbutton.primary { --button-color: var(--global-selected); }
1003
+ .lexbutton.secondary { --button-color: var(--global-selected-light); }
1004
+ .lexbutton.accent { --button-color: var(--global-color-accent); }
1005
+ .lexbutton.warning { --button-color: var(--global-color-warning); }
1006
+ .lexbutton.error { --button-color: var(--global-color-error); }
1007
+ /* Few Sizes */
1008
+ .lexbutton.xs { width: 25% !important; margin: 0 auto; }
1009
+ .lexbutton.sm { width: 45% !important; margin: 0 auto; }
1010
+
885
1011
  .lexbutton span:has(.lexbadge) {
886
1012
  display: inline-flex;
887
1013
  flex-wrap: nowrap;
@@ -891,10 +1017,6 @@ body.noevents * {
891
1017
  gap: 0.4rem;
892
1018
  }
893
1019
 
894
- .lexbutton.accept {
895
- background-color: var(--global-selected);
896
- }
897
-
898
1020
  .lexbutton.foldback {
899
1021
  padding: 11px 10px;
900
1022
  padding-bottom: 14px;
@@ -914,23 +1036,18 @@ body.noevents * {
914
1036
  }
915
1037
 
916
1038
  .lexbutton:hover {
917
- background-color: var(--global-button-color-hovered);
1039
+ background-color: color-mix(in srgb, var(--button-color), #000 7%);
918
1040
  color: var(--global-text-primary);
919
1041
  }
920
1042
 
921
- .lexbutton.accept:hover {
922
- background-color: #3b6790;
923
- }
924
-
925
1043
  .lexbutton:active:not(.lexbutton.combo) {
926
- background-color: var(--global-color-terciary);
1044
+ background-color: color-mix(in srgb, var(--button-color), #ffffff 4%);
927
1045
  color: var(--global-text-secondary);
928
1046
  transform: scale(0.99);
929
1047
  }
930
1048
 
931
1049
  .lexbutton.selected {
932
1050
  background: #3c4145;
933
- outline: 1px solid #8c9bc7;
934
1051
  color: #DDD;
935
1052
  }
936
1053
 
@@ -939,29 +1056,28 @@ body.noevents * {
939
1056
  margin-top: 0px;
940
1057
  }
941
1058
 
942
- @media (prefers-color-scheme: light) {
1059
+ :root[data-theme="light"] {
943
1060
  .lexbutton {
944
1061
  background-color: var(--global-button-color);
945
1062
  color: var(--global-text-primary);
946
1063
  border: 1px solid var(--global-color-terciary) !important;
947
1064
  }
948
-
1065
+
949
1066
  .lexbutton.accept {
950
1067
  background-color: var(--global-selected);
951
1068
  }
952
-
1069
+
953
1070
  .lexbutton:hover {
954
1071
  background-color: var(--global-button-color-hovered);
955
1072
  color: var(--global-text-primary);
956
1073
  }
957
-
1074
+
958
1075
  .lexbutton.accept:hover {
959
1076
  background-color: #3b6790;
960
1077
  }
961
-
1078
+
962
1079
  .lexbutton.selected {
963
1080
  background: #3c4145;
964
- outline: 1px solid #8c9bc7;
965
1081
  color: #DDD;
966
1082
  }
967
1083
  }
@@ -1073,16 +1189,25 @@ body.noevents * {
1073
1189
  padding: 0px;
1074
1190
  transform: translateY(-4px);
1075
1191
  z-index: 10;
1192
+ margin: 0;
1076
1193
  margin-top: 5px;
1077
1194
  width: 100%;
1078
1195
  box-shadow: 0 0px 12px rgba(0, 0, 0, 0.788);
1079
- border-bottom-left-radius: 10px;
1080
- border-bottom-right-radius: 10px;
1196
+ border-bottom-left-radius: 8px;
1197
+ border-bottom-right-radius: 8px;
1081
1198
  max-height: -webkit-fill-available;
1082
1199
  overflow-y: auto;
1083
1200
  overflow-x: hidden;
1084
1201
  }
1085
1202
 
1203
+ .lexdropdown ul.place-above {
1204
+ max-height: unset;
1205
+ border-bottom-left-radius: 0px;
1206
+ border-bottom-right-radius: 0px;
1207
+ border-top-left-radius: 8px;
1208
+ border-top-right-radius: 8px;
1209
+ }
1210
+
1086
1211
  .lexdropdown .lexdropdownitem {
1087
1212
  width: 100%;
1088
1213
  cursor: pointer;
@@ -1126,7 +1251,7 @@ body.noevents * {
1126
1251
  margin-top: 8px;
1127
1252
  }
1128
1253
 
1129
- @media (prefers-color-scheme: light) {
1254
+ :root[data-theme="light"] {
1130
1255
 
1131
1256
  .lexdropdown .lexfilter {
1132
1257
  background-color: var(--global-color-primary);
@@ -1222,9 +1347,10 @@ body.noevents * {
1222
1347
  /* Toggle Widget */
1223
1348
 
1224
1349
  .lextoggle {
1225
- /* --toggle-color: var(--global-selected); */
1226
- border: 1px solid currentColor;
1227
- color: var(--global-text-secondary);
1350
+ --toggle-color: var(--global-button-color);
1351
+ border: 1px solid transparent;
1352
+ color: #f9f9f9;
1353
+ background-color: var(--global-color-quaternary);
1228
1354
  cursor: pointer;
1229
1355
  -webkit-appearance: none;
1230
1356
  -moz-appearance: none;
@@ -1233,9 +1359,9 @@ body.noevents * {
1233
1359
  -webkit-user-select: none;
1234
1360
  user-select: none;
1235
1361
  border-radius: 12px;
1236
- padding: 0.16rem;
1237
- width: 2rem;
1238
- height: 1.22rem;
1362
+ padding: 3px;
1363
+ width: 36px;
1364
+ height: 22px;
1239
1365
  flex-shrink: 0;
1240
1366
  grid-template-columns: 0fr 1fr 1fr;
1241
1367
  place-content: center;
@@ -1244,12 +1370,16 @@ body.noevents * {
1244
1370
  position: relative
1245
1371
  }
1246
1372
 
1373
+ .lextoggle.outline {
1374
+ border: 1px solid transparent;
1375
+ }
1376
+
1247
1377
  /* Colors */
1248
- .lextoggle.primary { --toggle-color: var(--global-selected); color: var(--toggle-color); }
1249
- .lextoggle.secondary { --toggle-color: var(--global-selected-light); color: var(--toggle-color); }
1250
- .lextoggle.accent { --toggle-color: var(--global-color-accent); color: var(--toggle-color); }
1251
- .lextoggle.warning { --toggle-color: var(--global-color-warning); color: var(--toggle-color); }
1252
- .lextoggle.error { --toggle-color: var(--global-color-error); color: var(--toggle-color); }
1378
+ .lextoggle.primary { --toggle-color: var(--global-selected); }
1379
+ .lextoggle.secondary { --toggle-color: var(--global-selected-light); }
1380
+ .lextoggle.accent { --toggle-color: var(--global-color-accent); }
1381
+ .lextoggle.warning { --toggle-color: var(--global-color-warning); }
1382
+ .lextoggle.error { --toggle-color: var(--global-color-error); }
1253
1383
 
1254
1384
  .lextoggle > * {
1255
1385
  z-index: 1;
@@ -1266,7 +1396,7 @@ body.noevents * {
1266
1396
  transition: opacity .2s,rotate .4s
1267
1397
  }
1268
1398
 
1269
- .lextoggle>:focus {
1399
+ .lextoggle > :focus {
1270
1400
  outline-style: none
1271
1401
  }
1272
1402
 
@@ -1311,8 +1441,15 @@ body.noevents * {
1311
1441
  }
1312
1442
 
1313
1443
  .lextoggle:checked, .lextoggle[aria-checked=true], .lextoggle:has(>input:checked) {
1314
- background-color: #1f1f1f;
1315
- grid-template-columns: 1fr 1fr 0fr
1444
+ border: 1px solid var(--global-color-secondary);
1445
+ background-color: var(--toggle-color);
1446
+ grid-template-columns: 1fr 1fr 0fr;
1447
+ }
1448
+
1449
+ .lextoggle.outline:checked, .lextoggle.outline[aria-checked=true], .lextoggle.outline:has(>input:checked) {
1450
+ color: var(--toggle-color);
1451
+ border: 1px solid currentColor;
1452
+ background-color: var(--global-color-primary);
1316
1453
  }
1317
1454
 
1318
1455
  :is(.lextoggle:checked, .lextoggle[aria-checked=true], .lextoggle:has(>input:checked)):before {
@@ -1859,29 +1996,6 @@ input[type="range"] {
1859
1996
 
1860
1997
  /* File Input */
1861
1998
 
1862
- /* .lexfileinput {
1863
- cursor: pointer;
1864
- border: 1px solid #0000;
1865
- -webkit-appearance: none;
1866
- -moz-appearance: none;
1867
- appearance: none;
1868
- background-color: #121212;
1869
- vertical-align: middle;
1870
- webkit-user-select: none;
1871
- -webkit-user-select: none;
1872
- user-select: none;
1873
- width: clamp(3rem,20rem,100%);
1874
- height: var(--size);
1875
- border-color: var(--input-color);
1876
- --size: calc(var(--size-field,.25rem)*10);
1877
- --input-color: color-mix(in oklab,#121212 20%,#0000);
1878
- border-radius: 8px;
1879
- align-items: center;
1880
- padding-inline-end:.75rem;font-size: .875rem;
1881
- line-height: 2;
1882
- display: inline-flex
1883
- } */
1884
-
1885
1999
  .lexfileinput::file-selector-button {
1886
2000
  align-content: center;
1887
2001
  background-color: var(--global-button-color);
@@ -1924,7 +2038,7 @@ input[type="range"] {
1924
2038
  }
1925
2039
 
1926
2040
  .lexprogress span {
1927
- width: 5%;
2041
+ width: 10%;
1928
2042
  }
1929
2043
 
1930
2044
  .lexprogressbar {
@@ -1935,15 +2049,19 @@ input[type="range"] {
1935
2049
  -webkit-transition: .2s;
1936
2050
  transition: opacity .2s;
1937
2051
  margin-top: 2px;
2052
+ -webkit-user-select: none;
2053
+ -moz-user-select: none;
2054
+ -ms-user-select: none;
2055
+ user-select: none;
1938
2056
  }
1939
2057
 
1940
2058
  .lexprogressbar.editable:hover {
1941
- cursor: grab;
2059
+ cursor: pointer;
1942
2060
  }
1943
2061
 
1944
- .lexprogressbar.editable:active {
2062
+ /* .lexprogressbar.editable.grabbing {
1945
2063
  cursor: grabbing;
1946
- }
2064
+ } */
1947
2065
 
1948
2066
  /* The gray background in Chrome, etc. */
1949
2067
  .lexprogressbar::-webkit-meter-bar {
@@ -2194,8 +2312,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2194
2312
  margin-top: 10px;
2195
2313
  margin-bottom: 8px;
2196
2314
  border-radius: 6px;
2197
- padding-left: 4px;
2198
- padding-right: 4px;
2315
+ padding-inline: 4px;
2199
2316
  }
2200
2317
 
2201
2318
  .lexmenubar .lexmenubuttons.center {
@@ -2210,7 +2327,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2210
2327
  }
2211
2328
 
2212
2329
  .lexmenubar .lexmenubutton {
2213
- display: flex;
2330
+ /* display: flex; */
2214
2331
  justify-content: center;
2215
2332
  padding: 8px;
2216
2333
  padding-top: 0.6em;
@@ -2506,6 +2623,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2506
2623
  justify-content: center;
2507
2624
  background: none;
2508
2625
  color: var(--global-text-secondary);
2626
+ height: 100%;
2509
2627
  }
2510
2628
 
2511
2629
  .lexoverlaybuttons .lexbutton span {
@@ -2513,7 +2631,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2513
2631
  }
2514
2632
 
2515
2633
  .lexoverlaybuttons .lexbutton a {
2516
- line-height: 12px;
2634
+ line-height: 10px;
2517
2635
  font-size: var(--global-font-size-big);
2518
2636
  }
2519
2637
 
@@ -2522,7 +2640,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2522
2640
  margin-left: 4px;
2523
2641
  }
2524
2642
 
2525
- @media (prefers-color-scheme: light) {
2643
+ :root[data-theme="light"] {
2526
2644
  .lexoverlaybuttons .lexbutton img {
2527
2645
  filter: invert(1);
2528
2646
  }
@@ -2565,7 +2683,6 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2565
2683
  background: none;
2566
2684
  -webkit-backdrop-filter: none;
2567
2685
  backdrop-filter: none;
2568
- height: 100%;
2569
2686
  }
2570
2687
 
2571
2688
  .lexoverlaybuttonscontainer.vertical .lexoverlaygroup {
@@ -2593,7 +2710,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2593
2710
  }
2594
2711
 
2595
2712
  .lexoverlaybuttons .lexwidget:last-child {
2596
- margin-right: 0px;
2713
+ margin-right: 0px;
2597
2714
  }
2598
2715
 
2599
2716
  /* Area Tabs */
@@ -2777,7 +2894,8 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2777
2894
  }
2778
2895
 
2779
2896
  .lexlayer {
2780
- background-color: var(--global-color-primary);
2897
+ --layer-color: var(--global-color-primary);
2898
+ background-color: var(--layer-color);
2781
2899
  color: var(--global-text-primary);
2782
2900
  text-align: center;
2783
2901
  line-height: 19px;
@@ -2789,16 +2907,17 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2789
2907
  }
2790
2908
 
2791
2909
  .lexlayer.selected {
2792
- background: light-dark(var(--global-selected-light), var(--global-selected));
2793
- color: white;
2910
+ --layer-color: light-dark(var(--global-selected-light), var(--global-selected));
2911
+ color: #fff;
2794
2912
  }
2795
2913
 
2796
2914
  .lexlayer:hover {
2797
- background-color: #497baad4;
2915
+ background-color: color-mix(in srgb, var(--layer-color), #000 7%);
2798
2916
  }
2799
2917
 
2800
2918
  .lexlayer:active {
2801
- background-color: #497baab3;
2919
+ background-color: color-mix(in srgb, var(--layer-color), #ffffff 4%);
2920
+ transform: scale(0.99);
2802
2921
  }
2803
2922
 
2804
2923
  /* List Widget */
@@ -2886,36 +3005,63 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2886
3005
  .lextags {
2887
3006
  display: inline-flex;
2888
3007
  flex-wrap: wrap;
2889
- justify-content: center;
2890
3008
  line-height: 12px;
3009
+ background-color: light-dark(var(--global-color-terciary), var(--global-button-color));
3010
+ border-radius: 8px;
3011
+ padding: 4px;
2891
3012
  }
2892
3013
 
2893
3014
  .lextags input {
2894
- width: 100%;
2895
- margin-bottom: 0.5em;
2896
- text-align: center;
3015
+ width: 60%;
2897
3016
  }
2898
3017
 
2899
3018
  .lextags .lextag {
2900
3019
  padding: 6px;
2901
3020
  background-color: var(--global-color-primary);
2902
3021
  margin: 2px;
2903
- border-radius: 12px;
3022
+ border-radius: 6px;
2904
3023
  min-width: 16px;
2905
3024
  justify-content: center;
2906
3025
  color: var(--global-text-primary);
2907
3026
  display: inherit;
2908
3027
  font-size: var(--global-font-size);
3028
+ cursor: default;
3029
+ -webkit-user-select: none;
3030
+ -moz-user-select: none;
3031
+ user-select: none;
2909
3032
  }
2910
3033
 
2911
- .lextags .lextag:hover {
2912
- background-color: var(--global-selected);
2913
- color: #f5f5f5;
3034
+ .lextags .lextag a:hover {
3035
+ color: light-dark(var(--global-text-terciary), var(--global-text-secondary));
2914
3036
  cursor: pointer;
2915
3037
  }
2916
3038
 
2917
- .lextags .lextag:hover::after {
2918
- content: "⊗";
3039
+ /* Counter Widget */
3040
+
3041
+ .lexcounter {
3042
+ display: flex;
3043
+ margin: 0 auto;
3044
+ }
3045
+
3046
+ .lexcounterbox {
3047
+ display: grid;
3048
+ text-align: -webkit-center;
3049
+ text-align: center;
3050
+ margin-left: 16px;
3051
+ margin-right: 16px;
3052
+ }
3053
+
3054
+ .lexcounterbox .lexcountervalue {
3055
+ width: 100%;
3056
+ font-size: 32px;
3057
+ font-weight: 700;
3058
+
3059
+ }
3060
+
3061
+ .lexcounterbox .lexcounterlabel {
3062
+ width: 100%;
3063
+ margin-top: -22px;
3064
+ color: var(--global-text-secondary);
2919
3065
  }
2920
3066
 
2921
3067
  /* Custom Widgets Widget */
@@ -3056,7 +3202,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3056
3202
  margin-top: 8px;
3057
3203
  }
3058
3204
 
3059
- @media (prefers-color-scheme: light) {
3205
+ :root[data-theme="light"] {
3060
3206
 
3061
3207
  .lexknob .knobcircle {
3062
3208
  background: rgb(182, 182, 182);
@@ -3090,6 +3236,54 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3090
3236
  }
3091
3237
  }
3092
3238
 
3239
+ /* Icon swap */
3240
+
3241
+ .swap {
3242
+ cursor: pointer;
3243
+ vertical-align: middle;
3244
+ -webkit-user-select: none;
3245
+ -moz-user-select: none;
3246
+ user-select: none;
3247
+ place-content: center;
3248
+ display: inline-grid;
3249
+ position: relative;
3250
+ }
3251
+
3252
+ .swap input {
3253
+ -webkit-appearance: none;
3254
+ -moz-appearance: none;
3255
+ appearance: none;
3256
+ border: none;
3257
+ }
3258
+
3259
+ .swap > * {
3260
+ grid-row-start: 1;
3261
+ grid-column-start: 1;
3262
+ transition-property: transform,rotate,opacity;
3263
+ transition-duration: .2s;
3264
+ transition-timing-function: cubic-bezier(0,0,.2,1);
3265
+ }
3266
+
3267
+ .swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off {
3268
+ opacity: 0;
3269
+ }
3270
+
3271
+ .swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate {
3272
+ opacity: 1;
3273
+ }
3274
+
3275
+ .swap .swap-on,.swap .swap-indeterminate, .swap input:indeterminate~.swap-on {
3276
+ rotate: 45deg;
3277
+ }
3278
+
3279
+ .swap input:is(:checked,:indeterminate)~.swap-on, .swap.swap-active .swap-on {
3280
+ rotate: none;
3281
+ }
3282
+
3283
+ .swap input:is(:checked,:indeterminate)~.swap-off, .swap.swap-active .swap-off {
3284
+ rotate: -45deg;
3285
+ }
3286
+
3093
3287
  /** Timeline */
3094
3288
 
3095
3289
  .lextimeline {
@@ -4048,7 +4242,7 @@ pre .line-gutter {
4048
4242
 
4049
4243
  .cm-bln.markdown { color: #a1d2f0; } /* builtin */
4050
4244
 
4051
- @media (prefers-color-scheme: light) {
4245
+ :root[data-theme="light"] {
4052
4246
  .lexcodeeditor pre.active-line {
4053
4247
  background-color: #c5c4c4ab;
4054
4248
  }