js-dos 7.4.9 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.github/workflows/build.yml +51 -0
  2. package/.gitmodules +4 -0
  3. package/README.deployment.md +11 -0
  4. package/README.md +29 -89
  5. package/index.html +106 -0
  6. package/package.json +46 -71
  7. package/postcss.config.cjs +8 -0
  8. package/src/app.css +14 -0
  9. package/src/base.css +10 -0
  10. package/src/components/checkbox.tsx +41 -0
  11. package/src/components/close-button.tsx +17 -0
  12. package/src/components/components.css +28 -0
  13. package/src/components/dos-option-checkbox.tsx +94 -0
  14. package/src/components/dos-option-select.tsx +108 -0
  15. package/src/components/dos-option-slider.tsx +35 -0
  16. package/src/components/error.tsx +16 -0
  17. package/src/components/loading.tsx +26 -0
  18. package/src/components/lock.tsx +10 -0
  19. package/src/components/select.tsx +33 -0
  20. package/src/components/slider.tsx +69 -0
  21. package/src/download-file.ts +18 -0
  22. package/src/frame/account-frame.tsx +156 -0
  23. package/src/frame/editor/defaults.ts +419 -0
  24. package/src/frame/editor/editor-conf-frame.tsx +226 -0
  25. package/src/frame/editor/editor-frame.css +55 -0
  26. package/src/frame/editor/editor-fs-frame.tsx +314 -0
  27. package/src/frame/fat-drives-frame.tsx +135 -0
  28. package/src/frame/frame.css +119 -0
  29. package/src/frame/frame.tsx +34 -0
  30. package/src/frame/image-rendering-frame.tsx +8 -0
  31. package/src/frame/network-frame.tsx +157 -0
  32. package/src/frame/quick-save-frame.tsx +96 -0
  33. package/src/frame/settings-frame.tsx +14 -0
  34. package/src/frame/stats-frame.tsx +87 -0
  35. package/src/host/bundle-storage.ts +91 -0
  36. package/src/host/fullscreen.ts +35 -0
  37. package/src/host/lcache.ts +203 -0
  38. package/src/host/lstorage.ts +156 -0
  39. package/src/i18n.ts +179 -0
  40. package/src/index.css +7 -0
  41. package/src/load.ts +132 -0
  42. package/src/login/login.css +9 -0
  43. package/src/login/login.tsx +77 -0
  44. package/src/main.tsx +197 -0
  45. package/src/public/types.ts +41 -0
  46. package/src/sidebar/account-button.tsx +33 -0
  47. package/src/sidebar/cloud-save-button.tsx +89 -0
  48. package/src/sidebar/diskette-icon.tsx +14 -0
  49. package/src/sidebar/fullscreen-button.tsx +44 -0
  50. package/src/sidebar/network-button.tsx +39 -0
  51. package/src/sidebar/sidebar-button.tsx +244 -0
  52. package/src/sidebar/sidebar.css +47 -0
  53. package/src/sidebar/sidebar.tsx +30 -0
  54. package/src/sockdrive/LICENSE +674 -0
  55. package/src/sockdrive/README.md +45 -0
  56. package/src/sockdrive/include/sockdrive.h +23 -0
  57. package/src/sockdrive/js/.eslintrc.json +43 -0
  58. package/src/sockdrive/js/package.json +29 -0
  59. package/src/sockdrive/js/src/fatfs/chains.js +318 -0
  60. package/src/sockdrive/js/src/fatfs/dir.js +385 -0
  61. package/src/sockdrive/js/src/fatfs/helpers.js +210 -0
  62. package/src/sockdrive/js/src/fatfs/index.js +606 -0
  63. package/src/sockdrive/js/src/fatfs/structs.js +255 -0
  64. package/src/sockdrive/js/src/fatfs/vol.js +166 -0
  65. package/src/sockdrive/js/src/sockdrive/cache.ts +133 -0
  66. package/src/sockdrive/js/src/sockdrive/drive.ts +457 -0
  67. package/src/sockdrive/js/src/sockdrive/lru.ts +221 -0
  68. package/src/sockdrive/js/src/sockdrive/types.ts +14 -0
  69. package/src/sockdrive/js/src/sockdrive-fat.d.ts +64 -0
  70. package/src/sockdrive/js/src/sockdrive-fat.ts +226 -0
  71. package/src/sockdrive/js/src/sockdrive-native.ts +100 -0
  72. package/src/sockdrive/js/src/test/test.ts +288 -0
  73. package/src/sockdrive/js/tsconfig.json +11 -0
  74. package/src/sockdrive/js/webpack.config.js +68 -0
  75. package/src/sockdrive/js/yarn.lock +1808 -0
  76. package/src/store/auth.ts +115 -0
  77. package/src/store/dos.ts +305 -0
  78. package/src/store/editor.ts +61 -0
  79. package/src/store/init.ts +48 -0
  80. package/src/store/storage.ts +32 -0
  81. package/src/store/ui.ts +186 -0
  82. package/src/store.tsx +108 -0
  83. package/src/ui.tsx +104 -0
  84. package/src/v8/changes.ts +56 -0
  85. package/src/v8/config.ts +18 -0
  86. package/src/v8/subscriptions.ts +62 -0
  87. package/src/vite-env.d.ts +2 -0
  88. package/src/window/dos/controls/keyboard.ts +32 -0
  89. package/src/window/dos/controls/keys.ts +331 -0
  90. package/src/window/dos/controls/mouse/mount.ts +99 -0
  91. package/src/window/dos/controls/mouse/mouse-locked.ts +51 -0
  92. package/src/window/dos/controls/mouse/mouse-not-locked.ts +84 -0
  93. package/src/window/dos/controls/mouse/mouse-swipe.ts +57 -0
  94. package/src/window/dos/controls/mouse/pointer.ts +85 -0
  95. package/src/window/dos/controls/mouse.ts +21 -0
  96. package/src/window/dos/dos-dhry2.tsx +191 -0
  97. package/src/window/dos/dos-runtime.tsx +214 -0
  98. package/src/window/dos/dos-window.tsx +84 -0
  99. package/src/window/dos/render/canvas.ts +65 -0
  100. package/src/window/dos/render/resize.ts +31 -0
  101. package/src/window/dos/render/webgl.ts +173 -0
  102. package/src/window/dos/sound/audio-node.ts +148 -0
  103. package/src/window/error-window.tsx +9 -0
  104. package/src/window/loading-window.tsx +54 -0
  105. package/src/window/prerun-window.tsx +123 -0
  106. package/src/window/select-window.tsx +118 -0
  107. package/src/window/window.css +78 -0
  108. package/src/window/window.tsx +49 -0
  109. package/src/ws/ws-sockdrive.ts +101 -0
  110. package/src/ws/ws-transport-layer.ts +455 -0
  111. package/tailwind.config.cjs +48 -0
  112. package/tsconfig.json +32 -0
  113. package/tsconfig.node.json +9 -0
  114. package/vite.config.ts +22 -0
  115. package/LICENSE +0 -339
  116. package/dist/emulators-ui-loader.png +0 -0
  117. package/dist/js-dos.css +0 -1690
  118. package/dist/js-dos.js +0 -17
  119. package/dist/js-dos.js.map +0 -1
  120. package/dist/types/src/backend/v7/latency.d.ts +0 -8
  121. package/dist/types/src/backend/v7/personal.d.ts +0 -2
  122. package/dist/types/src/backend/v7/v7-config.d.ts +0 -16
  123. package/dist/types/src/components/action-bar.d.ts +0 -2
  124. package/dist/types/src/components/action-hide.d.ts +0 -4
  125. package/dist/types/src/components/action-save-or-exit.d.ts +0 -4
  126. package/dist/types/src/components/client.d.ts +0 -6
  127. package/dist/types/src/components/controls.d.ts +0 -8
  128. package/dist/types/src/components/cpu-control.d.ts +0 -2
  129. package/dist/types/src/components/horizontal-slider.d.ts +0 -13
  130. package/dist/types/src/components/region.d.ts +0 -6
  131. package/dist/types/src/components/scale-control.d.ts +0 -3
  132. package/dist/types/src/components/sensitivity-control.d.ts +0 -3
  133. package/dist/types/src/components/sidebar/latency-info.d.ts +0 -7
  134. package/dist/types/src/components/sidebar/main.d.ts +0 -2
  135. package/dist/types/src/components/sidebar/networking.d.ts +0 -2
  136. package/dist/types/src/components/sidebar/token/token-add-time.d.ts +0 -2
  137. package/dist/types/src/components/sidebar/token/token-select.d.ts +0 -2
  138. package/dist/types/src/components/sidebar/token/token.d.ts +0 -17
  139. package/dist/types/src/components/sidebar.d.ts +0 -2
  140. package/dist/types/src/components/sync-control.d.ts +0 -2
  141. package/dist/types/src/components/tip.d.ts +0 -2
  142. package/dist/types/src/components/vertical-slider.d.ts +0 -12
  143. package/dist/types/src/components/volume-control.d.ts +0 -3
  144. package/dist/types/src/dom.d.ts +0 -8
  145. package/dist/types/src/hardware-transport-layer.d.ts +0 -18
  146. package/dist/types/src/icons.d.ts +0 -95
  147. package/dist/types/src/player-app.d.ts +0 -50
  148. package/dist/types/src/player.d.ts +0 -29
  149. package/dist/types/src/request.d.ts +0 -1
  150. package/dist/types/src/xhr.d.ts +0 -6
  151. package/dist/types/v7-services/src/personal.d.ts +0 -3
  152. package/dist/wdosbox.js +0 -55
  153. package/dist/wdosbox.js.symbols +0 -3174
  154. package/dist/wdosbox.wasm +0 -0
  155. package/examples/digger/index.html +0 -71
package/dist/js-dos.css DELETED
@@ -1,1690 +0,0 @@
1
- .emulator-root {
2
- background: black;
3
- overflow: hidden;
4
- -webkit-touch-callout: none;
5
- -webkit-user-select: none;
6
- -khtml-user-select: none;
7
- -moz-user-select: none;
8
- -ms-user-select: none;
9
- user-select: none;
10
- touch-action: none;
11
- }
12
-
13
- .emulator-canvas, .emulator-video {
14
- image-rendering: -moz-crisp-edges;
15
- image-rendering: crisp-edges;
16
- image-rendering: pixelated;
17
- -webkit-touch-callout: none;
18
- -webkit-user-select: none;
19
- -khtml-user-select: none;
20
- -moz-user-select: none;
21
- -ms-user-select: none;
22
- user-select: none;
23
- touch-action: none;
24
- }
25
-
26
- .emulator-video {
27
- position: absolute;
28
- left: 0;
29
- top: 0;
30
- width: 100%;
31
- height: 100%;
32
- display: none;
33
- }
34
-
35
- .emulator-loading {
36
- position: absolute;
37
- left: 0;
38
- top: 0;
39
- right: 0;
40
- bottom: 0;
41
- background: black;
42
- color: white;
43
- font-weight: bold;
44
- }
45
-
46
- .emulator-loading-inner {
47
- display: flex;
48
- align-items: center;
49
- justify-content: center;
50
- flex-direction: column;
51
- height: 100%;
52
- width: 100%;
53
- margin: 0;
54
- padding: 0;
55
- }
56
-
57
- .emulator-loading-pre-1 {
58
- font-size: 2vw;
59
- margin: 0 0 1em 0;
60
- }
61
-
62
- .emulator-loading-pre-2 {
63
- margin: 1em 0;
64
- font-size: 2vw;
65
- font-family: monospace;
66
- font-weight: 100;
67
- text-transform: uppercase;
68
- }
69
-
70
- .emulator-loader {
71
- background: url(emulators-ui-loader.png) no-repeat;
72
- background-size: cover;
73
- width: 50px;
74
- height: 50px;
75
- }
76
-
77
- .emulator-control-exit-fullscreen-icon {
78
- background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' enable-background='new 0 0 16 16' xml:space='preserve'%3E%3Cg id='minimize_1_' fill='%23FFFFFF'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.99,0.99c0-0.55-0.45-1-1-1c-0.28,0-0.53,0.11-0.71,0.29l-3.29,3.29V1.99 c0-0.55-0.45-1-1-1s-1,0.45-1,1v4c0,0.55,0.45,1,1,1h4c0.55,0,1-0.45,1-1s-0.45-1-1-1h-1.59L15.7,1.7 C15.88,1.52,15.99,1.27,15.99,0.99z M5.99,8.99h-4c-0.55,0-1,0.45-1,1s0.45,1,1,1h1.59l-3.29,3.29c-0.18,0.18-0.29,0.43-0.29,0.71 c0,0.55,0.45,1,1,1c0.28,0,0.53-0.11,0.71-0.29l3.29-3.29v1.59c0,0.55,0.45,1,1,1s1-0.45,1-1v-4C6.99,9.44,6.54,8.99,5.99,8.99z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
79
- }
80
-
81
- .emulator-control-close-icon {
82
- background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' fill='%23FFF' xml:space='preserve'%3E%3Cg id='cross_mark_6_'%3E%3Cg%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11.41,10l4.29-4.29C15.89,5.53,16,5.28,16,5c0-0.55-0.45-1-1-1 c-0.28,0-0.53,0.11-0.71,0.29L10,8.59L5.71,4.29C5.53,4.11,5.28,4,5,4C4.45,4,4,4.45,4,5c0,0.28,0.11,0.53,0.29,0.71L8.59,10 l-4.29,4.29C4.11,14.47,4,14.72,4,15c0,0.55,0.45,1,1,1c0.28,0,0.53-0.11,0.71-0.29L10,11.41l4.29,4.29 C14.47,15.89,14.72,16,15,16c0.55,0,1-0.45,1-1c0-0.28-0.11-0.53-0.29-0.71L11.41,10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
83
- }
84
-
85
- .emulator-mouse-overlay {
86
- position: absolute;
87
- left: 0;
88
- top: 0;
89
- right: 0;
90
- bottom: 0;
91
- }
92
-
93
- .emulator-click-to-start-overlay {
94
- position: absolute;
95
- left: 0;
96
- top: 0;
97
- right: 0;
98
- bottom: 0;
99
- display: flex;
100
- align-items: center;
101
- justify-content: center;
102
- flex-direction: column;
103
- display: none;
104
- }
105
-
106
- .emulator-click-to-start-text {
107
- color: white;
108
- font-size: 2em;
109
- margin: 0 0 1em 0;
110
- font-family: monospace;
111
- text-transform: uppercase;
112
- font-weight: normal;
113
- }
114
-
115
- .emulator-click-to-start-icon {
116
- background-image: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 20 20' enable-background='new 0 0 20 20' xml:space='preserve'%3E%3Cg id='play_1_'%3E%3Cg%3E%3Cpath fill='%23FFF' fill-rule='evenodd' clip-rule='evenodd' d='M16,10c0-0.36-0.2-0.67-0.49-0.84l0.01-0.01l-10-6L5.51,3.16 C5.36,3.07,5.19,3,5,3C4.45,3,4,3.45,4,4v12c0,0.55,0.45,1,1,1c0.19,0,0.36-0.07,0.51-0.16l0.01,0.01l10-6l-0.01-0.01 C15.8,10.67,16,10.36,16,10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
117
- width: 64px;
118
- height: 64px;
119
- }
120
-
121
- .emulator-fullscreen-workaround {
122
- position: fixed !important;
123
- left: 0;
124
- top: 0;
125
- bottom: 0;
126
- right: 0;
127
- background: black;
128
- z-index: 999;
129
- }
130
-
131
- .emulator-button-touch-zone,
132
- .emulator-button {
133
- cursor: pointer;
134
- -webkit-touch-callout: none;
135
- -webkit-user-select: none;
136
- -khtml-user-select: none;
137
- -moz-user-select: none;
138
- -ms-user-select: none;
139
- user-select: none;
140
- touch-action: none;
141
-
142
- overflow: hidden;
143
- background: none;
144
- color: rgb(255, 255, 255);
145
-
146
- border-radius: 50%;
147
- filter: opacity(0.8);
148
- }
149
-
150
- .emulator-button-touch-zone {
151
- display: flex;
152
- align-items: center;
153
- justify-content: center;
154
-
155
- border-color: rgba(255, 255, 255, 0.5);
156
-
157
- border-style: solid;
158
- box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.5), inset 0 0 2px 2px rgba(255, 255, 255, 0.5);
159
- }
160
-
161
- .emulator-button {
162
- position: absolute;
163
- background-color: rgba(128, 128, 128, 0.5);
164
- background-size: 50%;
165
- background-repeat: no-repeat;
166
- background-position: center;
167
-
168
- border: 1px solid rgb(255, 255, 255);
169
- text-shadow: -1px -1px 0 rgb(0, 0, 0), 1px -1px 0 rgb(0, 0, 0), -1px 1px 0 rgb(0, 0, 0), 1px 1px 0 rgb(0, 0, 0);
170
- text-align: center;
171
- box-shadow: 0px 0px 0px 1px rgb(0, 0, 0);
172
- }
173
-
174
- .emulator-button-text {
175
- }
176
-
177
- .emulator-control-select:hover,
178
- .emulator-button-touch-zone:hover {
179
- filter: opacity(1.0) hue-rotate(-70deg) saturate(5) sepia(1);
180
- }
181
-
182
- .emulator-button-touch-zone.emulator-button-control {
183
- filter: opacity(1.0) !important;
184
- background-color: rgb(128, 128, 128) !important;
185
- z-index: 999;
186
- }
187
-
188
- .emulator-button-highlight,
189
- .emulator-button-control:hover {
190
- filter: opacity(1.0) hue-rotate(-70deg) saturate(5) sepia(1) !important;
191
- }
192
-
193
- .emulator-control-select {
194
- overflow: hidden;
195
- background: none;
196
- color: white;
197
- border-radius: 10%;
198
- border: 1px solid rgb(255, 255, 255);
199
- box-shadow: 0px 0px 0px 1px rgb(0, 0, 0);
200
-
201
- -webkit-touch-callout: none;
202
- -webkit-user-select: none;
203
- -khtml-user-select: none;
204
- -moz-user-select: none;
205
- -ms-user-select: none;
206
- user-select: none;
207
- touch-action: none;
208
- filter: opacity(0.7);
209
- }
210
-
211
- .emulator-options {
212
- justify-content: flex-end;
213
- flex-wrap: wrap-reverse;
214
- display: flex;
215
- flex-direction: row;
216
- -webkit-touch-callout: none;
217
- -webkit-user-select: none;
218
- -khtml-user-select: none;
219
- -moz-user-select: none;
220
- -ms-user-select: none;
221
- user-select: none;
222
- touch-action: none;
223
- }
224
-
225
- .emulator-keyboard {
226
- position: absolute;
227
- bottom: 0;
228
- left: 0;
229
- right: 0;
230
- z-index: 999;
231
- color: black;
232
- -webkit-touch-callout: none;
233
- -webkit-user-select: none;
234
- -khtml-user-select: none;
235
- -moz-user-select: none;
236
- -ms-user-select: none;
237
- user-select: none;
238
- touch-action: none;
239
- }
240
-
241
- /* notyf */
242
- @-webkit-keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@-webkit-keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@-webkit-keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}@keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}.notyf{position:fixed;top:0;left:0;height:100%;width:100%;color:#fff;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;pointer-events:none;box-sizing:border-box;padding:20px}.notyf__icon--error,.notyf__icon--success{height:21px;width:21px;background:#fff;border-radius:50%;display:block;margin:0 auto;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px;left:9px;height:12px;top:5px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px}.notyf__icon--success:after{height:6px;transform:rotate(-45deg);top:9px;left:6px}.notyf__icon--success:before{height:11px;transform:rotate(45deg);top:5px;left:10px}.notyf__toast{display:block;overflow:hidden;pointer-events:auto;-webkit-animation:notyf-fadeinup .3s ease-in forwards;animation:notyf-fadeinup .3s ease-in forwards;box-shadow:0 3px 7px 0 rgba(0,0,0,.25);position:relative;padding:0 15px;border-radius:2px;max-width:300px;transform:translateY(25%);box-sizing:border-box;flex-shrink:0}.notyf__toast--disappear{transform:translateY(0);-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;opacity:1;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{-webkit-animation:notyf-fadeoutright .3s forwards;animation:notyf-fadeoutright .3s forwards;opacity:1;transform:translateX(0)}.notyf__toast--disappear .notyf__message{-webkit-animation-delay:.05s;animation-delay:.05s}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{height:400px;width:400px;position:absolute;transform-origin:bottom right;right:0;top:0;border-radius:50%;transform:scale(0) translateY(-51%) translateX(13%);z-index:5;-webkit-animation:ripple .4s ease-out forwards;animation:ripple .4s ease-out forwards}.notyf__wrapper{display:flex;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;border-radius:3px;position:relative;z-index:10}.notyf__icon{width:22px;text-align:center;font-size:1.3em;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.3s;animation-delay:.3s;margin-right:13px}.notyf__dismiss{position:absolute;top:0;right:0;height:100%;width:26px;margin-right:-15px;-webkit-animation:notyf-fadeinleft .3s forwards;animation:notyf-fadeinleft .3s forwards;-webkit-animation-delay:.35s;animation-delay:.35s;opacity:0}.notyf__dismiss-btn{background-color:rgba(0,0,0,.25);border:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;outline:none;opacity:.35;height:100%;width:100%}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:"";background:#fff;height:12px;width:2px;border-radius:3px;position:absolute;left:calc(50% - 1px);top:calc(50% - 5px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:rgba(0,0,0,.15)}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;position:relative;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s;line-height:1.5em}@media only screen and (max-width:480px){.notyf{padding:0}.notyf__ripple{height:600px;width:600px;-webkit-animation-duration:.5s;animation-duration:.5s}.notyf__toast{max-width:none;border-radius:0;box-shadow:0 -2px 7px 0 rgba(0,0,0,.13);width:100%}.notyf__dismiss{width:56px}}
243
-
244
- /* simple-keyboard */
245
- .hg-theme-default{width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;overflow:hidden;touch-action:manipulation}.hg-theme-default .hg-button span{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;outline:0;font-size:inherit}.hg-theme-default{font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;background-color:#ececec;padding:5px;border-radius:5px}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{box-shadow:0 0 3px -1px rgba(0,0,0,.3);height:40px;border-radius:5px;box-sizing:border-box;padding:5px;background:#fff;border-bottom:1px solid #b5b5b5;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{width:33.3%;height:60px;align-items:center;display:flex;justify-content:center}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:rgba(5,25,70,.53);color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}
246
-
247
- /*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com */
248
-
249
- /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
250
-
251
- /*
252
- Document
253
- ========
254
- */
255
-
256
- /**
257
- Use a better box model (opinionated).
258
- */
259
-
260
- *,
261
- ::before,
262
- ::after {
263
- box-sizing: border-box;
264
- }
265
-
266
- /**
267
- Use a more readable tab size (opinionated).
268
- */
269
-
270
- html {
271
- -moz-tab-size: 4;
272
- tab-size: 4;
273
- }
274
-
275
- /**
276
- 1. Correct the line height in all browsers.
277
- 2. Prevent adjustments of font size after orientation changes in iOS.
278
- */
279
-
280
- html {
281
- line-height: 1.15;
282
- /* 1 */
283
- -webkit-text-size-adjust: 100%;
284
- /* 2 */
285
- }
286
-
287
- /*
288
- Sections
289
- ========
290
- */
291
-
292
- /**
293
- Remove the margin in all browsers.
294
- */
295
-
296
- body {
297
- margin: 0;
298
- }
299
-
300
- /**
301
- Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
302
- */
303
-
304
- body {
305
- font-family:
306
- system-ui,
307
- -apple-system, /* Firefox supports this but not yet `system-ui` */
308
- 'Segoe UI',
309
- Roboto,
310
- Helvetica,
311
- Arial,
312
- sans-serif,
313
- 'Apple Color Emoji',
314
- 'Segoe UI Emoji';
315
- }
316
-
317
- /*
318
- Grouping content
319
- ================
320
- */
321
-
322
- /**
323
- 1. Add the correct height in Firefox.
324
- 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
325
- */
326
-
327
- hr {
328
- height: 0;
329
- /* 1 */
330
- color: inherit;
331
- /* 2 */
332
- }
333
-
334
- /*
335
- Text-level semantics
336
- ====================
337
- */
338
-
339
- /**
340
- Add the correct text decoration in Chrome, Edge, and Safari.
341
- */
342
-
343
- abbr[title] {
344
- -webkit-text-decoration: underline dotted;
345
- text-decoration: underline dotted;
346
- }
347
-
348
- /**
349
- Add the correct font weight in Edge and Safari.
350
- */
351
-
352
- b,
353
- strong {
354
- font-weight: bolder;
355
- }
356
-
357
- /**
358
- 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
359
- 2. Correct the odd 'em' font sizing in all browsers.
360
- */
361
-
362
- code,
363
- kbd,
364
- samp,
365
- pre {
366
- font-family:
367
- ui-monospace,
368
- SFMono-Regular,
369
- Consolas,
370
- 'Liberation Mono',
371
- Menlo,
372
- monospace;
373
- /* 1 */
374
- font-size: 1em;
375
- /* 2 */
376
- }
377
-
378
- /**
379
- Add the correct font size in all browsers.
380
- */
381
-
382
- small {
383
- font-size: 80%;
384
- }
385
-
386
- /**
387
- Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
388
- */
389
-
390
- sub,
391
- sup {
392
- font-size: 75%;
393
- line-height: 0;
394
- position: relative;
395
- vertical-align: baseline;
396
- }
397
-
398
- sub {
399
- bottom: -0.25em;
400
- }
401
-
402
- sup {
403
- top: -0.5em;
404
- }
405
-
406
- /*
407
- Tabular data
408
- ============
409
- */
410
-
411
- /**
412
- 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
413
- 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
414
- */
415
-
416
- table {
417
- text-indent: 0;
418
- /* 1 */
419
- border-color: inherit;
420
- /* 2 */
421
- }
422
-
423
- /*
424
- Forms
425
- =====
426
- */
427
-
428
- /**
429
- 1. Change the font styles in all browsers.
430
- 2. Remove the margin in Firefox and Safari.
431
- */
432
-
433
- button,
434
- input,
435
- optgroup,
436
- select,
437
- textarea {
438
- font-family: inherit;
439
- /* 1 */
440
- font-size: 100%;
441
- /* 1 */
442
- line-height: 1.15;
443
- /* 1 */
444
- margin: 0;
445
- /* 2 */
446
- }
447
-
448
- /**
449
- Remove the inheritance of text transform in Edge and Firefox.
450
- 1. Remove the inheritance of text transform in Firefox.
451
- */
452
-
453
- button,
454
- select {
455
- /* 1 */
456
- text-transform: none;
457
- }
458
-
459
- /**
460
- Correct the inability to style clickable types in iOS and Safari.
461
- */
462
-
463
- button,
464
- [type='button'] {
465
- -webkit-appearance: button;
466
- }
467
-
468
- /**
469
- Remove the inner border and padding in Firefox.
470
- */
471
-
472
- ::-moz-focus-inner {
473
- border-style: none;
474
- padding: 0;
475
- }
476
-
477
- /**
478
- Restore the focus styles unset by the previous rule.
479
- */
480
-
481
- /**
482
- Remove the additional ':invalid' styles in Firefox.
483
- See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
484
- */
485
-
486
- /**
487
- Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
488
- */
489
-
490
- legend {
491
- padding: 0;
492
- }
493
-
494
- /**
495
- Add the correct vertical alignment in Chrome and Firefox.
496
- */
497
-
498
- progress {
499
- vertical-align: baseline;
500
- }
501
-
502
- /**
503
- Correct the cursor style of increment and decrement buttons in Safari.
504
- */
505
-
506
- ::-webkit-inner-spin-button,
507
- ::-webkit-outer-spin-button {
508
- height: auto;
509
- }
510
-
511
- /**
512
- 1. Correct the odd appearance in Chrome and Safari.
513
- 2. Correct the outline style in Safari.
514
- */
515
-
516
- /**
517
- Remove the inner padding in Chrome and Safari on macOS.
518
- */
519
-
520
- ::-webkit-search-decoration {
521
- -webkit-appearance: none;
522
- }
523
-
524
- /**
525
- 1. Correct the inability to style clickable types in iOS and Safari.
526
- 2. Change font properties to 'inherit' in Safari.
527
- */
528
-
529
- ::-webkit-file-upload-button {
530
- -webkit-appearance: button;
531
- /* 1 */
532
- font: inherit;
533
- /* 2 */
534
- }
535
-
536
- /*
537
- Interactive
538
- ===========
539
- */
540
-
541
- /*
542
- Add the correct display in Chrome and Safari.
543
- */
544
-
545
- summary {
546
- display: list-item;
547
- }
548
-
549
- /**
550
- * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
551
- * A thin layer on top of normalize.css that provides a starting point more
552
- * suitable for web applications.
553
- */
554
-
555
- /**
556
- * Removes the default spacing and border for appropriate elements.
557
- */
558
-
559
- blockquote,
560
- dl,
561
- dd,
562
- h1,
563
- h2,
564
- h3,
565
- h4,
566
- h5,
567
- h6,
568
- hr,
569
- figure,
570
- p,
571
- pre {
572
- margin: 0;
573
- }
574
-
575
- button {
576
- background-color: transparent;
577
- background-image: none;
578
- }
579
-
580
- fieldset {
581
- margin: 0;
582
- padding: 0;
583
- }
584
-
585
- ol,
586
- ul {
587
- list-style: none;
588
- margin: 0;
589
- padding: 0;
590
- }
591
-
592
- /**
593
- * Tailwind custom reset styles
594
- */
595
-
596
- /**
597
- * 1. Use the user's configured `sans` font-family (with Tailwind's default
598
- * sans-serif font stack as a fallback) as a sane default.
599
- * 2. Use Tailwind's default "normal" line-height so the user isn't forced
600
- * to override it to ensure consistency even when using the default theme.
601
- */
602
-
603
- html {
604
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
605
- /* 1 */
606
- line-height: 1.5;
607
- /* 2 */
608
- }
609
-
610
- /**
611
- * Inherit font-family and line-height from `html` so users can set them as
612
- * a class directly on the `html` element.
613
- */
614
-
615
- body {
616
- font-family: inherit;
617
- line-height: inherit;
618
- }
619
-
620
- /**
621
- * 1. Prevent padding and border from affecting element width.
622
- *
623
- * We used to set this in the html element and inherit from
624
- * the parent element for everything else. This caused issues
625
- * in shadow-dom-enhanced elements like <details> where the content
626
- * is wrapped by a div with box-sizing set to `content-box`.
627
- *
628
- * https://github.com/mozdevs/cssremedy/issues/4
629
- *
630
- *
631
- * 2. Allow adding a border to an element by just adding a border-width.
632
- *
633
- * By default, the way the browser specifies that an element should have no
634
- * border is by setting it's border-style to `none` in the user-agent
635
- * stylesheet.
636
- *
637
- * In order to easily add borders to elements by just setting the `border-width`
638
- * property, we change the default border-style for all elements to `solid`, and
639
- * use border-width to hide them instead. This way our `border` utilities only
640
- * need to set the `border-width` property instead of the entire `border`
641
- * shorthand, making our border utilities much more straightforward to compose.
642
- *
643
- * https://github.com/tailwindcss/tailwindcss/pull/116
644
- */
645
-
646
- *,
647
- ::before,
648
- ::after {
649
- box-sizing: border-box;
650
- /* 1 */
651
- border-width: 0;
652
- /* 2 */
653
- border-style: solid;
654
- /* 2 */
655
- border-color: currentColor;
656
- /* 2 */
657
- }
658
-
659
- /*
660
- * Ensure horizontal rules are visible by default
661
- */
662
-
663
- hr {
664
- border-top-width: 1px;
665
- }
666
-
667
- /**
668
- * Undo the `border-style: none` reset that Normalize applies to images so that
669
- * our `border-{width}` utilities have the expected effect.
670
- *
671
- * The Normalize reset is unnecessary for us since we default the border-width
672
- * to 0 on all elements.
673
- *
674
- * https://github.com/tailwindcss/tailwindcss/issues/362
675
- */
676
-
677
- img {
678
- border-style: solid;
679
- }
680
-
681
- textarea {
682
- resize: vertical;
683
- }
684
-
685
- input::-moz-placeholder, textarea::-moz-placeholder {
686
- opacity: 1;
687
- color: #9ca3af;
688
- }
689
-
690
- input::placeholder,
691
- textarea::placeholder {
692
- opacity: 1;
693
- color: #9ca3af;
694
- }
695
-
696
- button {
697
- cursor: pointer;
698
- }
699
-
700
- /**
701
- * Override legacy focus reset from Normalize with modern Firefox focus styles.
702
- *
703
- * This is actually an improvement over the new defaults in Firefox in our testing,
704
- * as it triggers the better focus styles even for links, which still use a dotted
705
- * outline in Firefox by default.
706
- */
707
-
708
- table {
709
- border-collapse: collapse;
710
- }
711
-
712
- h1,
713
- h2,
714
- h3,
715
- h4,
716
- h5,
717
- h6 {
718
- font-size: inherit;
719
- font-weight: inherit;
720
- }
721
-
722
- /**
723
- * Reset links to optimize for opt-in styling instead of
724
- * opt-out.
725
- */
726
-
727
- a {
728
- color: inherit;
729
- text-decoration: inherit;
730
- }
731
-
732
- /**
733
- * Reset form element properties that are easy to forget to
734
- * style explicitly so you don't inadvertently introduce
735
- * styles that deviate from your design system. These styles
736
- * supplement a partial reset that is already applied by
737
- * normalize.css.
738
- */
739
-
740
- button,
741
- input,
742
- optgroup,
743
- select,
744
- textarea {
745
- padding: 0;
746
- line-height: inherit;
747
- color: inherit;
748
- }
749
-
750
- /**
751
- * Use the configured 'mono' font family for elements that
752
- * are expected to be rendered with a monospace font, falling
753
- * back to the system monospace stack if there is no configured
754
- * 'mono' font family.
755
- */
756
-
757
- pre,
758
- code,
759
- kbd,
760
- samp {
761
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
762
- }
763
-
764
- /**
765
- * 1. Make replaced elements `display: block` by default as that's
766
- * the behavior you want almost all of the time. Inspired by
767
- * CSS Remedy, with `svg` added as well.
768
- *
769
- * https://github.com/mozdevs/cssremedy/issues/14
770
- *
771
- * 2. Add `vertical-align: middle` to align replaced elements more
772
- * sensibly by default when overriding `display` by adding a
773
- * utility like `inline`.
774
- *
775
- * This can trigger a poorly considered linting error in some
776
- * tools but is included by design.
777
- *
778
- * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
779
- */
780
-
781
- img,
782
- svg,
783
- video,
784
- canvas,
785
- audio,
786
- iframe,
787
- embed,
788
- object {
789
- display: block;
790
- /* 1 */
791
- vertical-align: middle;
792
- /* 2 */
793
- }
794
-
795
- /**
796
- * Constrain images and videos to the parent width and preserve
797
- * their intrinsic aspect ratio.
798
- *
799
- * https://github.com/mozdevs/cssremedy/issues/14
800
- */
801
-
802
- img,
803
- video {
804
- max-width: 100%;
805
- height: auto;
806
- }
807
-
808
- /**
809
- * Ensure the default browser behavior of the `hidden` attribute.
810
- */
811
-
812
- [hidden] {
813
- display: none;
814
- }
815
-
816
- *, ::before, ::after {
817
- --tw-border-opacity: 1;
818
- border-color: rgba(229, 231, 235, var(--tw-border-opacity));
819
- }
820
-
821
- .pointer-events-none {
822
- pointer-events: none;
823
- }
824
-
825
- .absolute {
826
- position: absolute;
827
- }
828
-
829
- .relative {
830
- position: relative;
831
- }
832
-
833
- .top-0 {
834
- top: 0px;
835
- }
836
-
837
- .top-2 {
838
- top: 0.5rem;
839
- }
840
-
841
- .top-1\/2 {
842
- top: 50%;
843
- }
844
-
845
- .right-0 {
846
- right: 0px;
847
- }
848
-
849
- .right-2 {
850
- right: 0.5rem;
851
- }
852
-
853
- .bottom-0 {
854
- bottom: 0px;
855
- }
856
-
857
- .left-0 {
858
- left: 0px;
859
- }
860
-
861
- .left-2 {
862
- left: 0.5rem;
863
- }
864
-
865
- .left-10 {
866
- left: 2.5rem;
867
- }
868
-
869
- .z-50 {
870
- z-index: 50;
871
- }
872
-
873
- .col-span-2 {
874
- grid-column: span 2 / span 2;
875
- }
876
-
877
- .mx-1 {
878
- margin-left: 0.25rem;
879
- margin-right: 0.25rem;
880
- }
881
-
882
- .mx-2 {
883
- margin-left: 0.5rem;
884
- margin-right: 0.5rem;
885
- }
886
-
887
- .-mx-6 {
888
- margin-left: -1.5rem;
889
- margin-right: -1.5rem;
890
- }
891
-
892
- .my-2 {
893
- margin-top: 0.5rem;
894
- margin-bottom: 0.5rem;
895
- }
896
-
897
- .my-4 {
898
- margin-top: 1rem;
899
- margin-bottom: 1rem;
900
- }
901
-
902
- .mt-0 {
903
- margin-top: 0px;
904
- }
905
-
906
- .mt-1 {
907
- margin-top: 0.25rem;
908
- }
909
-
910
- .mt-2 {
911
- margin-top: 0.5rem;
912
- }
913
-
914
- .mt-4 {
915
- margin-top: 1rem;
916
- }
917
-
918
- .mt-8 {
919
- margin-top: 2rem;
920
- }
921
-
922
- .mt-0\.5 {
923
- margin-top: 0.125rem;
924
- }
925
-
926
- .-mt-1 {
927
- margin-top: -0.25rem;
928
- }
929
-
930
- .-mt-3 {
931
- margin-top: -0.75rem;
932
- }
933
-
934
- .-mt-6 {
935
- margin-top: -1.5rem;
936
- }
937
-
938
- .-mt-7 {
939
- margin-top: -1.75rem;
940
- }
941
-
942
- .mr-2 {
943
- margin-right: 0.5rem;
944
- }
945
-
946
- .mb-2 {
947
- margin-bottom: 0.5rem;
948
- }
949
-
950
- .ml-2 {
951
- margin-left: 0.5rem;
952
- }
953
-
954
- .-ml-2 {
955
- margin-left: -0.5rem;
956
- }
957
-
958
- .inline-block {
959
- display: inline-block;
960
- }
961
-
962
- .inline {
963
- display: inline;
964
- }
965
-
966
- .flex {
967
- display: flex;
968
- }
969
-
970
- .inline-flex {
971
- display: inline-flex;
972
- }
973
-
974
- .table {
975
- display: table;
976
- }
977
-
978
- .grid {
979
- display: grid;
980
- }
981
-
982
- .hidden {
983
- display: none;
984
- }
985
-
986
- .h-2 {
987
- height: 0.5rem;
988
- }
989
-
990
- .h-4 {
991
- height: 1rem;
992
- }
993
-
994
- .h-5 {
995
- height: 1.25rem;
996
- }
997
-
998
- .h-6 {
999
- height: 1.5rem;
1000
- }
1001
-
1002
- .h-8 {
1003
- height: 2rem;
1004
- }
1005
-
1006
- .h-12 {
1007
- height: 3rem;
1008
- }
1009
-
1010
- .h-full {
1011
- height: 100%;
1012
- }
1013
-
1014
- .max-h-72 {
1015
- max-height: 18rem;
1016
- }
1017
-
1018
- .w-2 {
1019
- width: 0.5rem;
1020
- }
1021
-
1022
- .w-4 {
1023
- width: 1rem;
1024
- }
1025
-
1026
- .w-5 {
1027
- width: 1.25rem;
1028
- }
1029
-
1030
- .w-6 {
1031
- width: 1.5rem;
1032
- }
1033
-
1034
- .w-8 {
1035
- width: 2rem;
1036
- }
1037
-
1038
- .w-10 {
1039
- width: 2.5rem;
1040
- }
1041
-
1042
- .w-14 {
1043
- width: 3.5rem;
1044
- }
1045
-
1046
- .w-20 {
1047
- width: 5rem;
1048
- }
1049
-
1050
- .w-24 {
1051
- width: 6rem;
1052
- }
1053
-
1054
- .w-3\/4 {
1055
- width: 75%;
1056
- }
1057
-
1058
- .w-full {
1059
- width: 100%;
1060
- }
1061
-
1062
- .flex-shrink-0 {
1063
- flex-shrink: 0;
1064
- }
1065
-
1066
- .flex-shrink {
1067
- flex-shrink: 1;
1068
- }
1069
-
1070
- .flex-grow-0 {
1071
- flex-grow: 0;
1072
- }
1073
-
1074
- .flex-grow {
1075
- flex-grow: 1;
1076
- }
1077
-
1078
- .transform {
1079
- --tw-translate-x: 0;
1080
- --tw-translate-y: 0;
1081
- --tw-rotate: 0;
1082
- --tw-skew-x: 0;
1083
- --tw-skew-y: 0;
1084
- --tw-scale-x: 1;
1085
- --tw-scale-y: 1;
1086
- transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1087
- }
1088
-
1089
- .hover\:scale-125:hover {
1090
- --tw-scale-x: 1.25;
1091
- --tw-scale-y: 1.25;
1092
- }
1093
-
1094
- @-webkit-keyframes spin {
1095
- to {
1096
- transform: rotate(360deg);
1097
- }
1098
- }
1099
-
1100
- @keyframes spin {
1101
- to {
1102
- transform: rotate(360deg);
1103
- }
1104
- }
1105
-
1106
- @-webkit-keyframes ping {
1107
- 75%, 100% {
1108
- transform: scale(2);
1109
- opacity: 0;
1110
- }
1111
- }
1112
-
1113
- @keyframes ping {
1114
- 75%, 100% {
1115
- transform: scale(2);
1116
- opacity: 0;
1117
- }
1118
- }
1119
-
1120
- @-webkit-keyframes pulse {
1121
- 50% {
1122
- opacity: .5;
1123
- }
1124
- }
1125
-
1126
- @keyframes pulse {
1127
- 50% {
1128
- opacity: .5;
1129
- }
1130
- }
1131
-
1132
- @-webkit-keyframes bounce {
1133
- 0%, 100% {
1134
- transform: translateY(-25%);
1135
- -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
1136
- animation-timing-function: cubic-bezier(0.8,0,1,1);
1137
- }
1138
-
1139
- 50% {
1140
- transform: none;
1141
- -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
1142
- animation-timing-function: cubic-bezier(0,0,0.2,1);
1143
- }
1144
- }
1145
-
1146
- @keyframes bounce {
1147
- 0%, 100% {
1148
- transform: translateY(-25%);
1149
- -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
1150
- animation-timing-function: cubic-bezier(0.8,0,1,1);
1151
- }
1152
-
1153
- 50% {
1154
- transform: none;
1155
- -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
1156
- animation-timing-function: cubic-bezier(0,0,0.2,1);
1157
- }
1158
- }
1159
-
1160
- @-webkit-keyframes reverse-spin {
1161
- from {
1162
- transform: rotate(360deg);
1163
- }
1164
- }
1165
-
1166
- @keyframes reverse-spin {
1167
- from {
1168
- transform: rotate(360deg);
1169
- }
1170
- }
1171
-
1172
- .animate-ping {
1173
- -webkit-animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
1174
- animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
1175
- }
1176
-
1177
- .animate-pulse {
1178
- -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1179
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1180
- }
1181
-
1182
- .animate-reverse-spin {
1183
- -webkit-animation: reverse-spin 1s linear infinite;
1184
- animation: reverse-spin 1s linear infinite;
1185
- }
1186
-
1187
- .cursor-pointer {
1188
- cursor: pointer;
1189
- }
1190
-
1191
- .grid-cols-2 {
1192
- grid-template-columns: repeat(2, minmax(0, 1fr));
1193
- }
1194
-
1195
- .flex-row {
1196
- flex-direction: row;
1197
- }
1198
-
1199
- .flex-col {
1200
- flex-direction: column;
1201
- }
1202
-
1203
- .flex-wrap {
1204
- flex-wrap: wrap;
1205
- }
1206
-
1207
- .items-center {
1208
- align-items: center;
1209
- }
1210
-
1211
- .justify-center {
1212
- justify-content: center;
1213
- }
1214
-
1215
- .justify-between {
1216
- justify-content: space-between;
1217
- }
1218
-
1219
- .justify-around {
1220
- justify-content: space-around;
1221
- }
1222
-
1223
- .justify-evenly {
1224
- justify-content: space-evenly;
1225
- }
1226
-
1227
- .gap-4 {
1228
- gap: 1rem;
1229
- }
1230
-
1231
- .self-start {
1232
- align-self: flex-start;
1233
- }
1234
-
1235
- .overflow-auto {
1236
- overflow: auto;
1237
- }
1238
-
1239
- .overflow-hidden {
1240
- overflow: hidden;
1241
- }
1242
-
1243
- .overflow-y-auto {
1244
- overflow-y: auto;
1245
- }
1246
-
1247
- .overflow-x-hidden {
1248
- overflow-x: hidden;
1249
- }
1250
-
1251
- .overflow-ellipsis {
1252
- text-overflow: ellipsis;
1253
- }
1254
-
1255
- .whitespace-nowrap {
1256
- white-space: nowrap;
1257
- }
1258
-
1259
- .break-words {
1260
- overflow-wrap: break-word;
1261
- }
1262
-
1263
- .break-all {
1264
- word-break: break-all;
1265
- }
1266
-
1267
- .rounded {
1268
- border-radius: 0.25rem;
1269
- }
1270
-
1271
- .rounded-2xl {
1272
- border-radius: 1rem;
1273
- }
1274
-
1275
- .rounded-full {
1276
- border-radius: 9999px;
1277
- }
1278
-
1279
- .rounded-r-md {
1280
- border-top-right-radius: 0.375rem;
1281
- border-bottom-right-radius: 0.375rem;
1282
- }
1283
-
1284
- .rounded-l-lg {
1285
- border-top-left-radius: 0.5rem;
1286
- border-bottom-left-radius: 0.5rem;
1287
- }
1288
-
1289
- .rounded-br-md {
1290
- border-bottom-right-radius: 0.375rem;
1291
- }
1292
-
1293
- .border-2 {
1294
- border-width: 2px;
1295
- }
1296
-
1297
- .border {
1298
- border-width: 1px;
1299
- }
1300
-
1301
- .border-t-2 {
1302
- border-top-width: 2px;
1303
- }
1304
-
1305
- .border-b-2 {
1306
- border-bottom-width: 2px;
1307
- }
1308
-
1309
- .border-b {
1310
- border-bottom-width: 1px;
1311
- }
1312
-
1313
- .border-gray-400 {
1314
- --tw-border-opacity: 1;
1315
- border-color: rgba(156, 163, 175, var(--tw-border-opacity));
1316
- }
1317
-
1318
- .border-gray-800 {
1319
- --tw-border-opacity: 1;
1320
- border-color: rgba(31, 41, 55, var(--tw-border-opacity));
1321
- }
1322
-
1323
- .border-red-600 {
1324
- --tw-border-opacity: 1;
1325
- border-color: rgba(220, 38, 38, var(--tw-border-opacity));
1326
- }
1327
-
1328
- .border-green-200 {
1329
- --tw-border-opacity: 1;
1330
- border-color: rgba(167, 243, 208, var(--tw-border-opacity));
1331
- }
1332
-
1333
- .border-blue-400 {
1334
- --tw-border-opacity: 1;
1335
- border-color: rgba(96, 165, 250, var(--tw-border-opacity));
1336
- }
1337
-
1338
- .bg-white {
1339
- --tw-bg-opacity: 1;
1340
- background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1341
- }
1342
-
1343
- .bg-gray-200 {
1344
- --tw-bg-opacity: 1;
1345
- background-color: rgba(229, 231, 235, var(--tw-bg-opacity));
1346
- }
1347
-
1348
- .bg-gray-300 {
1349
- --tw-bg-opacity: 1;
1350
- background-color: rgba(209, 213, 219, var(--tw-bg-opacity));
1351
- }
1352
-
1353
- .bg-gray-400 {
1354
- --tw-bg-opacity: 1;
1355
- background-color: rgba(156, 163, 175, var(--tw-bg-opacity));
1356
- }
1357
-
1358
- .bg-gray-500 {
1359
- --tw-bg-opacity: 1;
1360
- background-color: rgba(107, 114, 128, var(--tw-bg-opacity));
1361
- }
1362
-
1363
- .bg-gray-600 {
1364
- --tw-bg-opacity: 1;
1365
- background-color: rgba(75, 85, 99, var(--tw-bg-opacity));
1366
- }
1367
-
1368
- .bg-gray-800 {
1369
- --tw-bg-opacity: 1;
1370
- background-color: rgba(31, 41, 55, var(--tw-bg-opacity));
1371
- }
1372
-
1373
- .bg-red-200 {
1374
- --tw-bg-opacity: 1;
1375
- background-color: rgba(254, 202, 202, var(--tw-bg-opacity));
1376
- }
1377
-
1378
- .bg-red-400 {
1379
- --tw-bg-opacity: 1;
1380
- background-color: rgba(248, 113, 113, var(--tw-bg-opacity));
1381
- }
1382
-
1383
- .bg-green-100 {
1384
- --tw-bg-opacity: 1;
1385
- background-color: rgba(209, 250, 229, var(--tw-bg-opacity));
1386
- }
1387
-
1388
- .bg-green-200 {
1389
- --tw-bg-opacity: 1;
1390
- background-color: rgba(167, 243, 208, var(--tw-bg-opacity));
1391
- }
1392
-
1393
- .bg-opacity-80 {
1394
- --tw-bg-opacity: 0.8;
1395
- }
1396
-
1397
- .p-2 {
1398
- padding: 0.5rem;
1399
- }
1400
-
1401
- .px-2 {
1402
- padding-left: 0.5rem;
1403
- padding-right: 0.5rem;
1404
- }
1405
-
1406
- .px-4 {
1407
- padding-left: 1rem;
1408
- padding-right: 1rem;
1409
- }
1410
-
1411
- .px-8 {
1412
- padding-left: 2rem;
1413
- padding-right: 2rem;
1414
- }
1415
-
1416
- .py-0 {
1417
- padding-top: 0px;
1418
- padding-bottom: 0px;
1419
- }
1420
-
1421
- .py-1 {
1422
- padding-top: 0.25rem;
1423
- padding-bottom: 0.25rem;
1424
- }
1425
-
1426
- .py-2 {
1427
- padding-top: 0.5rem;
1428
- padding-bottom: 0.5rem;
1429
- }
1430
-
1431
- .py-4 {
1432
- padding-top: 1rem;
1433
- padding-bottom: 1rem;
1434
- }
1435
-
1436
- .pt-2 {
1437
- padding-top: 0.5rem;
1438
- }
1439
-
1440
- .pt-6 {
1441
- padding-top: 1.5rem;
1442
- }
1443
-
1444
- .pb-2 {
1445
- padding-bottom: 0.5rem;
1446
- }
1447
-
1448
- .pb-4 {
1449
- padding-bottom: 1rem;
1450
- }
1451
-
1452
- .text-center {
1453
- text-align: center;
1454
- }
1455
-
1456
- .text-right {
1457
- text-align: right;
1458
- }
1459
-
1460
- .font-mono {
1461
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
1462
- }
1463
-
1464
- .text-xs {
1465
- font-size: 0.75rem;
1466
- line-height: 1rem;
1467
- }
1468
-
1469
- .text-sm {
1470
- font-size: 0.875rem;
1471
- line-height: 1.25rem;
1472
- }
1473
-
1474
- .text-lg {
1475
- font-size: 1.125rem;
1476
- line-height: 1.75rem;
1477
- }
1478
-
1479
- .text-2xl {
1480
- font-size: 1.5rem;
1481
- line-height: 2rem;
1482
- }
1483
-
1484
- .font-bold {
1485
- font-weight: 700;
1486
- }
1487
-
1488
- .uppercase {
1489
- text-transform: uppercase;
1490
- }
1491
-
1492
- .text-black {
1493
- --tw-text-opacity: 1;
1494
- color: rgba(0, 0, 0, var(--tw-text-opacity));
1495
- }
1496
-
1497
- .text-gray-400 {
1498
- --tw-text-opacity: 1;
1499
- color: rgba(156, 163, 175, var(--tw-text-opacity));
1500
- }
1501
-
1502
- .text-gray-600 {
1503
- --tw-text-opacity: 1;
1504
- color: rgba(75, 85, 99, var(--tw-text-opacity));
1505
- }
1506
-
1507
- .text-red-400 {
1508
- --tw-text-opacity: 1;
1509
- color: rgba(248, 113, 113, var(--tw-text-opacity));
1510
- }
1511
-
1512
- .text-red-500 {
1513
- --tw-text-opacity: 1;
1514
- color: rgba(239, 68, 68, var(--tw-text-opacity));
1515
- }
1516
-
1517
- .text-red-800 {
1518
- --tw-text-opacity: 1;
1519
- color: rgba(153, 27, 27, var(--tw-text-opacity));
1520
- }
1521
-
1522
- .text-green-400 {
1523
- --tw-text-opacity: 1;
1524
- color: rgba(52, 211, 153, var(--tw-text-opacity));
1525
- }
1526
-
1527
- .text-green-600 {
1528
- --tw-text-opacity: 1;
1529
- color: rgba(5, 150, 105, var(--tw-text-opacity));
1530
- }
1531
-
1532
- .text-blue-400 {
1533
- --tw-text-opacity: 1;
1534
- color: rgba(96, 165, 250, var(--tw-text-opacity));
1535
- }
1536
-
1537
- .text-blue-900 {
1538
- --tw-text-opacity: 1;
1539
- color: rgba(30, 58, 138, var(--tw-text-opacity));
1540
- }
1541
-
1542
- .text-purple-400 {
1543
- --tw-text-opacity: 1;
1544
- color: rgba(167, 139, 250, var(--tw-text-opacity));
1545
- }
1546
-
1547
- .text-purple-600 {
1548
- --tw-text-opacity: 1;
1549
- color: rgba(124, 58, 237, var(--tw-text-opacity));
1550
- }
1551
-
1552
- .text-pink-400 {
1553
- --tw-text-opacity: 1;
1554
- color: rgba(244, 114, 182, var(--tw-text-opacity));
1555
- }
1556
-
1557
- .hover\:text-gray-800:hover {
1558
- --tw-text-opacity: 1;
1559
- color: rgba(31, 41, 55, var(--tw-text-opacity));
1560
- }
1561
-
1562
- .hover\:text-green-600:hover {
1563
- --tw-text-opacity: 1;
1564
- color: rgba(5, 150, 105, var(--tw-text-opacity));
1565
- }
1566
-
1567
- .underline {
1568
- text-decoration: underline;
1569
- }
1570
-
1571
- .opacity-0 {
1572
- opacity: 0;
1573
- }
1574
-
1575
- .opacity-75 {
1576
- opacity: 0.75;
1577
- }
1578
-
1579
- .opacity-80 {
1580
- opacity: 0.8;
1581
- }
1582
-
1583
- .opacity-95 {
1584
- opacity: 0.95;
1585
- }
1586
-
1587
- *, ::before, ::after {
1588
- --tw-shadow: 0 0 #0000;
1589
- }
1590
-
1591
- .shadow {
1592
- --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
1593
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1594
- }
1595
-
1596
- .shadow-lg {
1597
- --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
1598
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1599
- }
1600
-
1601
- *, ::before, ::after {
1602
- --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
1603
- --tw-ring-offset-width: 0px;
1604
- --tw-ring-offset-color: #fff;
1605
- --tw-ring-color: rgba(59, 130, 246, 0.5);
1606
- --tw-ring-offset-shadow: 0 0 #0000;
1607
- --tw-ring-shadow: 0 0 #0000;
1608
- }
1609
-
1610
- .filter {
1611
- --tw-blur: var(--tw-empty,/*!*/ /*!*/);
1612
- --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
1613
- --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
1614
- --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
1615
- --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
1616
- --tw-invert: var(--tw-empty,/*!*/ /*!*/);
1617
- --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
1618
- --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
1619
- --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
1620
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
1621
- }
1622
-
1623
- .drop-shadow-lg {
1624
- --tw-drop-shadow: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
1625
- }
1626
-
1627
- .transition-opacity {
1628
- transition-property: opacity;
1629
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1630
- transition-duration: 150ms;
1631
- }
1632
-
1633
- .duration-1000 {
1634
- transition-duration: 1000ms;
1635
- }
1636
-
1637
- .sidebar-header {
1638
- margin-bottom: 0.5rem;
1639
- border-bottom-width: 2px;
1640
- --tw-border-opacity: 1;
1641
- border-color: rgba(167, 243, 208, var(--tw-border-opacity));
1642
- padding-bottom: 0.5rem;
1643
- text-align: center;
1644
- text-transform: uppercase;
1645
- --tw-text-opacity: 1;
1646
- color: rgba(75, 85, 99, var(--tw-text-opacity));
1647
- }
1648
-
1649
- input:focus {
1650
- outline: 2px solid transparent;
1651
- outline-offset: 2px;
1652
- }
1653
-
1654
- select {
1655
- border-radius: 0.25rem;
1656
- border-width: 1px;
1657
- --tw-border-opacity: 1;
1658
- border-color: rgba(167, 243, 208, var(--tw-border-opacity));
1659
- --tw-bg-opacity: 1;
1660
- background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1661
- padding-left: 0.5rem;
1662
- padding-right: 0.5rem;
1663
- }
1664
-
1665
- select:focus {
1666
- outline: 2px solid transparent;
1667
- outline-offset: 2px;
1668
- }
1669
-
1670
- @media (min-width: 640px) {
1671
- .sm\:w-80 {
1672
- width: 20rem;
1673
- }
1674
-
1675
- .sm\:w-1\/2 {
1676
- width: 50%;
1677
- }
1678
- }
1679
-
1680
- @media (min-width: 768px) {
1681
- }
1682
-
1683
- @media (min-width: 1024px) {
1684
- }
1685
-
1686
- @media (min-width: 1280px) {
1687
- }
1688
-
1689
- @media (min-width: 1536px) {
1690
- }