Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
titaniumnetwork-dev
GitHub Repository: titaniumnetwork-dev/Ludicrous
Path: blob/main/public/webretro/assets/base.css
1224 views
1
body {
2
overflow: hidden;
3
font-family: sans-serif;
4
color: black;
5
6
--ffd-min: 200px;
7
8
/* theme */
9
--menuheight: 45px;
10
--maxmenuheight: 45px;
11
--menumarginy: 0px;
12
--menumarginx: 0px;
13
--submargin: 0px;
14
--menupaddingy: 12px;
15
--menupaddingx: 16px;
16
--subpadding: 4px 12px;
17
--rounding: 0px;
18
--barcolor: #dfdfdf;
19
--subcolor: #d8d8d8;
20
--barfontcolor: #000000;
21
--subfontcolor: #000000;
22
--barbuttoncolor: var(--barcolor);
23
--barbuttonshadow: none;
24
--disabledfontcolor: #5c5c5c;
25
26
/* do not modify */
27
--menubuttonbordery: calc(var(--menuheight) - calc(var(--menumarginy) * 2));
28
--menubuttoncontenty: calc(var(--menubuttonbordery) - calc(var(--menupaddingy) * 2));
29
}
30
31
body[data-theme~="iodinedark"] {
32
--barcolor: #2b2b2b;
33
--subcolor: #242424;
34
--barfontcolor: #dfdfdf;
35
--subfontcolor: #dfdfdf;
36
--disabledfontcolor: #898989;
37
}
38
39
body[data-theme~="webplayer"] {
40
--menuheight: 65px;
41
--maxmenuheight: 65px;
42
--menumarginy: 14px;
43
--menumarginx: 6px;
44
--submargin: 0px;
45
--subpadding: 10px;
46
--rounding: 2px;
47
--barcolor: #0275d8;
48
--subcolor: #f8f8f8;
49
--barfontcolor: #ffffff;
50
--subfontcolor: #202020;
51
--barbuttoncolor: rgba(255, 255, 255, 0.15);
52
--barbuttonshadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
53
}
54
55
body[data-theme~="navy"] {
56
--barcolor: #053ba1;
57
}
58
59
#mainarea {
60
background-color: black;
61
position: absolute;
62
width: 100vw;
63
height: 100vh;
64
left: 0px;
65
right: 0px;
66
top: 0px;
67
bottom: 0px;
68
overflow: hidden;
69
}
70
71
input[type="button"] {
72
color: black;
73
}
74
75
/* --- */
76
77
#canvas {
78
display: block;
79
position: absolute;
80
top: var(--menuheight);
81
z-index: 4;
82
width: 100vw;
83
height: calc(100vh - var(--menuheight));
84
}
85
86
#canvasmask {
87
position: absolute;
88
top: var(--menuheight);
89
width: 100vw;
90
height: calc(100vh - var(--menuheight));
91
transform: translateX(-100vw);
92
z-index: 5;
93
}
94
95
#canvasmask>* {
96
transform: translateX(100vw);
97
}
98
99
#canvas.textureSmooth {
100
image-rendering: auto;
101
}
102
103
#canvas.texturePixelated {
104
image-rendering: crisp-edges;
105
image-rendering: pixelated;
106
}
107
108
/* --- */
109
110
.console, .consolemarker, .consoleinput {
111
display: block;
112
outline: none;
113
appearance: none;
114
margin: 0px;
115
padding: 2px;
116
border: none;
117
background-color: black;
118
color: #eeeeee;
119
font-family: monospace;
120
}
121
122
.console {
123
width: calc(100% - 4px);
124
height: calc(100% - 24px);
125
resize: none;
126
overflow: auto;
127
white-space: pre;
128
}
129
130
.console::selection, .consoleinput::selection {
131
background-color: #f3f3f3;
132
color: black;
133
}
134
135
.consolemarker {
136
width: 16px;
137
height: 16px;
138
float: left;
139
user-select: none;
140
text-align: center;
141
font-weight: bold;
142
color: #367cf1;
143
}
144
145
.consolemarker::before {
146
content: ">";
147
}
148
149
.consoleinput {
150
width: calc(100% - 24px);
151
height: 16px;
152
float: right;
153
}
154
155
/* --- */
156
157
ul {
158
list-style: none;
159
padding: 0px;
160
margin: 0px;
161
}
162
163
#menubar {
164
position: fixed;
165
display: none;
166
background-color: var(--barcolor);
167
color: var(--barfontcolor);
168
transition: opacity 0.3s ease;
169
z-index: 20;
170
width: 100vw;
171
height: var(--menuheight);
172
opacity: 0;
173
}
174
175
#menubar:hover, #menubar.show {
176
opacity: 1;
177
}
178
179
#menu {
180
width: max-content;
181
height: 100%;
182
padding: 0px var(--menumarginx);
183
}
184
185
#menu li {
186
white-space: nowrap;
187
max-width: 250px;
188
position: relative;
189
}
190
191
#menu>li {
192
margin: var(--menumarginy) var(--menumarginx);
193
padding: var(--menupaddingy) var(--menupaddingx);
194
cursor: pointer;
195
display: inline-block;
196
float: left;
197
height: var(--menubuttoncontenty);
198
line-height: var(--menubuttoncontenty);
199
border-radius: var(--rounding);
200
background-color: var(--barbuttoncolor);
201
box-shadow: var(--barbuttonshadow);
202
}
203
204
#menu li:not(.disabled, .menu-nohover):hover {
205
background-color: rgba(0, 0, 0, 0.1);
206
}
207
208
#menu .menu-long {
209
white-space: normal;
210
}
211
212
#menu li input {
213
transform: scale(1.5);
214
cursor: pointer;
215
margin: 0px 12px 0px 0px;
216
}
217
218
#menu li a {
219
text-decoration: underline;
220
color: inherit;
221
}
222
223
#menu li:hover>ul {
224
visibility: visible;
225
opacity: 1;
226
}
227
228
#menu ul {
229
visibility: hidden;
230
opacity: 0;
231
position: absolute;
232
top: 100%;
233
left: 0px;
234
background-color: var(--subcolor);
235
color: var(--subfontcolor);
236
transition: opacity 0.3s ease;
237
border-radius: var(--rounding);
238
z-index: 1;
239
}
240
241
#menu ul li {
242
margin: var(--submargin);
243
padding: var(--subpadding);
244
cursor: default;
245
line-height: initial;
246
}
247
248
#menu ul li.pointer {
249
cursor: pointer;
250
}
251
252
#menu .disabled {
253
color: var(--disabledfontcolor);
254
cursor: not-allowed !important;
255
}
256
257
input[disabled] {
258
cursor: not-allowed !important;
259
}
260
261
#menu ul.xlmenu li {
262
max-width: none;
263
}
264
265
#menu ul ul {
266
top: 0px;
267
left: 100%;
268
}
269
270
.menuform label {
271
display: block;
272
padding: 4px 0px;
273
cursor: inherit;
274
}
275
276
#pso, #pso .menuform {
277
display: none;
278
}
279
280
/* --- */
281
282
.menuhiderlabel {
283
position: absolute;
284
top: 0px;
285
right: 0px;
286
width: 45px;
287
height: 45px;
288
cursor: pointer;
289
z-index: 1;
290
}
291
292
#menuhider:not(#menuhider:checked) ~ .menuhiderlabel {
293
margin: var(--menumarginy) 0px;
294
margin-right: calc(var(--menumarginx) * 2);
295
width: var(--menubuttonbordery) !important;
296
height: var(--menubuttonbordery) !important;
297
}
298
299
.menuhiderlabel::before {
300
content: "\25B2";
301
position: absolute;
302
top: 50%;
303
left: 50%;
304
transform: translate(-50%, -50%);
305
transition: transform 0.2s ease;
306
}
307
308
#menuhider:checked ~ .menuhiderlabel::before {
309
transform: translate(-50%, -50%) scaleY(-1);
310
color: #dfdfdf !important;
311
}
312
313
.menuhiderlabel::after {
314
content: "";
315
display: block;
316
width: 100%;
317
height: 100%;
318
}
319
320
#menuhider:not(#menuhider:checked) ~ .menuhiderlabel::after {
321
border-radius: var(--rounding);
322
background-color: var(--barbuttoncolor);
323
box-shadow: var(--barbuttonshadow);
324
}
325
326
.menuhiderlabel:hover::after {
327
background-color: rgba(0, 0, 0, 0.1) !important;
328
}
329
330
#menuhider {
331
display: none;
332
}
333
334
#menuhider:checked ~ #menu {
335
display: none;
336
}
337
338
.menuback {
339
padding: 0px !important;
340
width: var(--menubuttonbordery) !important;
341
height: var(--menubuttonbordery) !important;
342
}
343
344
.menuback a {
345
display: inline-block;
346
width: 100%;
347
height: 100%;
348
}
349
350
.menuback a::before {
351
content: "\25C0";
352
position: absolute;
353
top: 50%;
354
left: 50%;
355
transform: translate(-50%, -50%);
356
}
357
358
/* --- */
359
360
#ffd {
361
display: none;
362
min-height: var(--ffd-min);
363
height: var(--ffd-min);
364
width: 400px;
365
position: absolute;
366
background-color: #dddddd;
367
top: 50%;
368
left: 50%;
369
transform: translate(-50%, -50%);
370
text-align: center;
371
border-radius: 2px;
372
overflow: auto;
373
z-index: 8;
374
}
375
376
body.coreselect #ffd {
377
height: calc(100% - 240px);
378
}
379
380
#ffd::before {
381
opacity: 0;
382
width: 100%;
383
height: 0px;
384
background-color: #333333;
385
content: "Drop File";
386
position: absolute;
387
top: 0px;
388
left: 0px;
389
z-index: 10;
390
display: flex;
391
align-items: center;
392
justify-content: center;
393
font-size: 30px;
394
font-weight: bold;
395
color: white;
396
}
397
398
#ffd.filehover::before {
399
opacity: 1;
400
height: 100%;
401
}
402
403
#ffd.filehover {
404
border: 2px dashed #dddddd;
405
background-color: #333333;
406
}
407
408
#ffd ul li {
409
margin-bottom: 3px;
410
}
411
412
#ffd ul li a {
413
text-decoration: none;
414
color: black;
415
}
416
417
input[type="file"] {
418
display: none;
419
}
420
421
.uploadbutton {
422
margin: 8px 10px;
423
display: inline-block;
424
user-select: none;
425
cursor: pointer;
426
}
427
428
.uploadimage {
429
width: 20px;
430
vertical-align: middle;
431
}
432
433
#upload {
434
border: 1px solid #767676;
435
border-radius: 2px;
436
padding: 4px;
437
font-size: 13px;
438
background-color: white;
439
transition: background-color 0.1s ease;
440
}
441
442
#upload:hover {
443
background-color: #eeeeee;
444
}
445
446
#ffdcontent {
447
height: calc(100% - 25px);
448
overflow: auto;
449
}
450
451
#uploadarea {
452
padding: 10px;
453
}
454
455
#coreselectarea {
456
overflow: hidden;
457
height: 100%;
458
display: none;
459
}
460
461
#coreselectarea h3 {
462
height: 25px;
463
line-height: 25px;
464
margin: 10px 0px;
465
}
466
467
.coreorderrow {
468
height: 20px;
469
margin: 0px;
470
margin-bottom: 10px;
471
}
472
473
.coreorderrow label {
474
height: 20px;
475
line-height: 20px;
476
display: inline-block;
477
}
478
479
#coreorder {
480
height: 20px;
481
display: inline-block;
482
vertical-align: top;
483
outline: none;
484
}
485
486
.corelistul {
487
height: calc(100% - 75px);
488
overflow: auto;
489
}
490
491
#ffd .source {
492
width: calc(100% - 10px);
493
height: 15px;
494
padding: 5px;
495
}
496
497
#ffd .source * {
498
text-decoration: none;
499
color: black;
500
font-size: 10px;
501
margin: 0px 5px;
502
vertical-align: top;
503
display: inline-block;
504
height: 15px;
505
line-height: 15px;
506
}
507
508
#coregithub {
509
display: none !important;
510
}
511
512
#versionindicator {
513
font-weight: bold;
514
position: absolute;
515
right: 5px;
516
cursor: help;
517
}
518
519
.greyer {
520
color: #404040 !important;
521
}
522
523
/* --- */
524
525
#resume {
526
z-index: 10;
527
position: absolute;
528
height: 100%;
529
width: 100%;
530
user-select: none;
531
display: none;
532
}
533
534
body.paused #canvas {
535
filter: blur(10px);
536
}
537
538
body.paused #resume {
539
display: block;
540
}
541
542
#resume div {
543
position: absolute;
544
top: 50%;
545
left: 50%;
546
transform: translate(-50%, -50%);
547
background-color: black;
548
color: white;
549
padding: 20px;
550
text-align: center;
551
border-radius: 2px;
552
}
553
554
#resume div h1 {
555
margin-top: 0px;
556
}
557
558
#resume div h3 {
559
margin-bottom: 0px;
560
}
561
562
/* --- */
563
564
#sidealertholder {
565
position: absolute;
566
right: 10px;
567
bottom: 0px;
568
width: 200px;
569
display: flex;
570
flex-direction: column;
571
justify-content: flex-end;
572
}
573
574
.sidealert {
575
background-color: #317198;
576
color: white;
577
user-select: none;
578
cursor: default;
579
margin: 0px;
580
padding: 5px 8px;
581
opacity: 0;
582
transition: all 0.1s ease-in;
583
position: relative;
584
}
585
586
.sidealert.on {
587
opacity: 1;
588
margin-bottom: 10px;
589
}
590
591
/* --- */
592
593
#webretrotitle {
594
display: none;
595
position: absolute;
596
margin: 0px;
597
color: white;
598
height: 50px;
599
line-height: 50px;
600
top: 35px;
601
left: 50%;
602
transform: translateX(-50%);
603
user-select: none;
604
font-size: 40px;
605
text-shadow: 0px 0px 2px white;
606
}
607
608
#webretrotitle.show {
609
display: block;
610
top: calc(calc(calc(50% - calc(var(--ffd-min) / 2)) - 50px) / 2);
611
}
612
613
body.coreselect #webretrotitle {
614
display: block;
615
top: calc(calc(calc(50% - calc(max(calc(100% - 240px), var(--ffd-min)) / 2)) - 50px) / 2);
616
}
617
618
#startbutton {
619
position: absolute;
620
bottom: 30px;
621
left: 50%;
622
transform: translateX(-50%);
623
font-size: 40px;
624
padding: 10px 20px;
625
z-index: 100;
626
outline: none;
627
border-radius: 4px;
628
cursor: pointer;
629
display: none;
630
}
631
632
#updatenotice {
633
--ffd-half: calc(var(--ffd-min) / 2);
634
position: absolute;
635
top: calc(calc(50% + var(--ffd-half)) + 20px);
636
left: 50%;
637
transform: translateX(-50%);
638
max-height: calc(calc(50% - var(--ffd-half)) - 40px);
639
max-width: 400px;
640
overflow-y: auto;
641
margin: 0px;
642
padding: 0px 10px;
643
color: white;
644
white-space: pre-wrap;
645
z-index: 8;
646
display: none;
647
}
648
649
body.coreselect #updatenotice {
650
--ffd-half: calc(max(calc(100% - 240px), var(--ffd-min)) / 2);
651
}
652
653
#loadingdiv {
654
position: absolute;
655
top: 50%;
656
left: 50%;
657
transform: translate(-50%, -50%);
658
max-height: calc(50% - 140px);
659
color: white;
660
z-index: 7;
661
user-select: none;
662
text-align: center;
663
}
664
665
#loadingdiv .loadingloading {
666
font-size: 30px;
667
margin: 0px;
668
}
669
670
#loadingdiv #loadingtext {
671
font-size: 15px;
672
margin: 6px 0px 8px 0px;
673
}
674
675
#loadingbar {
676
display: none;
677
}
678
679
/* --- */
680
681
#modals {
682
background-color: rgba(255, 255, 255, 0.4);
683
position: absolute;
684
width: 100%;
685
height: 100%;
686
left: 0px;
687
right: 0px;
688
top: 0px;
689
bottom: 0px;
690
overflow: hidden;
691
z-index: 30;
692
display: none;
693
}
694
695
#managers {
696
background-color: white;
697
position: absolute;
698
top: 50%;
699
left: 50%;
700
transform: translate(-50%, -50%);
701
height: calc(100vh - 50px);
702
}
703
704
.modaltop {
705
height: 30px;
706
line-height: 30px;
707
padding: 10px;
708
}
709
710
.modaltop h2 {
711
display: inline;
712
margin: 5px;
713
}
714
715
.modaltop span {
716
float: right;
717
width: 30px;
718
text-align: center;
719
cursor: pointer;
720
font-size: 24px;
721
}
722
723
#keybindmanager, #screenshotmanager, #savemanager, #romselector {
724
height: calc(100% - 90px);
725
padding: 20px;
726
padding-top: 10px;
727
}
728
729
#keybindmanager {
730
display: none;
731
width: 500px;
732
}
733
734
#screenshotmanager {
735
display: none;
736
width: 1000px;
737
}
738
739
#savemanager {
740
display: none;
741
width: 750px;
742
}
743
744
#romselector {
745
display: none;
746
width: 500px;
747
}
748
749
.managertableparent {
750
height: calc(100% - 78px);
751
width: 100%;
752
display: block;
753
overflow: auto;
754
margin-bottom: 20px;
755
}
756
757
.managertableparentshort {
758
height: calc(100% - 98px);
759
}
760
761
.fulltableparent {
762
height: 100%;
763
margin-bottom: 0px;
764
}
765
766
.managertable {
767
box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 16, 0.15);
768
display: block;
769
width: 100%;
770
vertical-align: top;
771
}
772
773
.managertable tr {
774
display: block;
775
width: 100%;
776
}
777
778
.managertable td {
779
display: inline-block;
780
height: 100%;
781
padding: 2px;
782
padding-left: 6px;
783
white-space: nowrap;
784
overflow-x: auto;
785
786
scrollbar-width: none;
787
}
788
789
#keybindtable td {
790
width: calc(50% - 8px);
791
}
792
793
.managertable td::-webkit-scrollbar {
794
display: none;
795
}
796
797
.managertable tr:nth-child(even) {
798
background-color: #ace9fa;
799
}
800
801
.managertable td:nth-child(even) {
802
background-color: rgba(0, 0, 0, 0.05);
803
}
804
805
#keybindtable td:last-child {
806
cursor: pointer;
807
}
808
809
#keybindtable td:last-child:hover {
810
background-color: rgba(0, 0, 0, 0.1);
811
}
812
813
#savetable tr {
814
display: flex;
815
}
816
817
#savetable td:first-child {
818
flex-grow: 1;
819
}
820
821
#savetable td:last-child {
822
flex-shrink: 0;
823
padding-left: 2px;
824
}
825
826
#savetable td:last-child span {
827
cursor: pointer;
828
margin: 4px;
829
padding: 1px 4px;
830
user-select: none;
831
background: white;
832
background: linear-gradient(#ffffff, #f3f3f3);
833
}
834
835
#savetable td:last-child span:active {
836
background: linear-gradient(#f3f3f3, #ffffff);
837
}
838
839
#romselectortable td {
840
cursor: pointer;
841
user-select: none;
842
width: calc(100% - 8px);
843
}
844
845
#romselectortable td:hover {
846
background-color: rgba(0, 0, 0, 0.1);
847
}
848
849
#modals input[type="button"] {
850
background-color: white;
851
border-radius: 0px;
852
border: 2px solid black;
853
padding: 4px 8px;
854
cursor: pointer;
855
}
856
857
#modals input[type="button"]:active {
858
background-color: #efefef;
859
}
860
861
#modals .specialblue {
862
background-color: #1e90ff !important;
863
color: white;
864
}
865
866
#modals input[type="button"].specialblue:active {
867
background-color: #0e80ef !important;
868
}
869
870
#keybindtable .conflict {
871
color: red;
872
}
873
874
#keybindmanager h4 {
875
margin-top: 0px;
876
}
877
878
#screenshotsdiv {
879
background-color: pink;
880
height: calc(100% - 40px);
881
width: calc(100% + 20px);
882
overflow-y: auto;
883
overflow-x: hidden;
884
margin-bottom: 20px;
885
display: flex;
886
flex-wrap: wrap;
887
background-color: #efefef;
888
box-shadow: inset -20px 0px 0px 0px white;
889
}
890
891
#screenshotmanager h4 {
892
display: inline-block;
893
margin: 0px;
894
margin-right: 10px;
895
}
896
897
#screenshotsdiv .screenshot {
898
width: 180px;
899
height: min-content;
900
padding: 10px;
901
image-rendering: crisp-edges;
902
image-rendering: pixelated;
903
}
904
905
#screenshotsdiv .screenshot img {
906
width: 180px;
907
display: block;
908
}
909
910
#screenshotsdiv .screenshot input[type="button"] {
911
width: 180px;
912
display: block;
913
margin-top: 5px;
914
}
915
916
/* --- */
917
918
dji-cowriter {
919
display: none !important;
920
}
921
922
/* --- */
923
924
/*
925
@media only screen and (max-width: 800px) {
926
927
}
928
*/
929
930