@alemonjs/qq-bot 0.0.13 → 0.0.14

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/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # [https://alemonjs.com/](https://alemonjs.com/)
2
2
 
3
+ [平台 https://q.qq.com/#/](https://q.qq.com/#/)
4
+
5
+ [文档 https://bot.q.qq.com/wiki/](https://bot.q.qq.com/wiki/)
6
+
3
7
  ## USE
4
8
 
5
9
  - qq-bot
@@ -32,18 +36,18 @@ qq-bot:
32
36
  - ''
33
37
  # 频道沙盒,默认false
34
38
  sandbox: false
35
- # 1)webhook 模式
39
+ # 1)websocket 模式
40
+ # mode: 'all' # 暂未支持
41
+ # mode: 'guild'
42
+ mode: 'group' # 不填将启动 webhook 模式
43
+ # 2)webhook 模式
36
44
  # 推荐nginx进行代理 http://localhost:17157/webhook
37
- port: 17157
38
- route: '/webhook'
45
+ # port: 17157
46
+ # route: '/webhook'
39
47
  # 当配置ws的时候,会连接另一台webhook机器人的消息。不会再启动本地端口。
40
48
  # 假设代理后的地址为 https://qqbotjs.com
41
49
  # ws: 'wss://qqbotjs.com/websocket'
42
- # 2)websocket 模式
43
- # 选择模式,即不采用 webhook
44
- # mode: 'guild'
45
- # mode: 'group'
46
- # mode: 'all' # 暂未支持
50
+ # ws: 'ws://[your ip]:17157/websocket'
47
51
  ```
48
52
 
49
53
  ```conf
@@ -52,18 +56,18 @@ qq-bot:
52
56
  server_name bundle.com;
53
57
  ssl_certificate /usr/local/nginx/bundle.crt;
54
58
  ssl_certificate_key /usr/local/nginx/bundle.key;
55
-
59
+ # 对应 route: ''
56
60
  location /webhook {
57
- # 指向 webhook 服务的端口
61
+ # 指向 webhook 服务的端口 17157
58
62
  proxy_pass http://localhost:17157;
59
63
  proxy_set_header Host $host;
60
64
  proxy_set_header X-Real-IP $remote_addr;
61
65
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
62
66
  proxy_set_header X-Forwarded-Proto $scheme;
63
67
  }
64
-
68
+ # 对应 ws: ''
65
69
  location /websocket {
66
- # 指向 WebSocket 服务的端口
70
+ # 指向 WebSocket 服务的端口 17157
67
71
  proxy_pass http://localhost:17157;
68
72
  proxy_http_version 1.1;
69
73
  proxy_set_header Upgrade $http_upgrade;
@@ -1 +1,472 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.w-full{width:100%}.max-w-md{max-width:28rem}.items-center{align-items:center}.justify-center{justify-content:center}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.p-2{padding:.5rem}.p-8{padding:2rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}html,body{margin:0;display:flex;height:100%;width:100%;flex-direction:column;padding:0}#root{display:flex;flex-direction:column;margin:0;height:100%;width:100%;padding:0}body::-webkit-scrollbar{height:0px;width:0px}.container{margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}*::-webkit-scrollbar{width:0px;height:0px}input,div,textarea{outline:2px solid transparent!important;outline-offset:2px!important}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}
1
+ *,
2
+ :before,
3
+ :after {
4
+ --tw-border-spacing-x: 0;
5
+ --tw-border-spacing-y: 0;
6
+ --tw-translate-x: 0;
7
+ --tw-translate-y: 0;
8
+ --tw-rotate: 0;
9
+ --tw-skew-x: 0;
10
+ --tw-skew-y: 0;
11
+ --tw-scale-x: 1;
12
+ --tw-scale-y: 1;
13
+ --tw-pan-x: ;
14
+ --tw-pan-y: ;
15
+ --tw-pinch-zoom: ;
16
+ --tw-scroll-snap-strictness: proximity;
17
+ --tw-gradient-from-position: ;
18
+ --tw-gradient-via-position: ;
19
+ --tw-gradient-to-position: ;
20
+ --tw-ordinal: ;
21
+ --tw-slashed-zero: ;
22
+ --tw-numeric-figure: ;
23
+ --tw-numeric-spacing: ;
24
+ --tw-numeric-fraction: ;
25
+ --tw-ring-inset: ;
26
+ --tw-ring-offset-width: 0px;
27
+ --tw-ring-offset-color: #fff;
28
+ --tw-ring-color: rgb(59 130 246 / 0.5);
29
+ --tw-ring-offset-shadow: 0 0 #0000;
30
+ --tw-ring-shadow: 0 0 #0000;
31
+ --tw-shadow: 0 0 #0000;
32
+ --tw-shadow-colored: 0 0 #0000;
33
+ --tw-blur: ;
34
+ --tw-brightness: ;
35
+ --tw-contrast: ;
36
+ --tw-grayscale: ;
37
+ --tw-hue-rotate: ;
38
+ --tw-invert: ;
39
+ --tw-saturate: ;
40
+ --tw-sepia: ;
41
+ --tw-drop-shadow: ;
42
+ --tw-backdrop-blur: ;
43
+ --tw-backdrop-brightness: ;
44
+ --tw-backdrop-contrast: ;
45
+ --tw-backdrop-grayscale: ;
46
+ --tw-backdrop-hue-rotate: ;
47
+ --tw-backdrop-invert: ;
48
+ --tw-backdrop-opacity: ;
49
+ --tw-backdrop-saturate: ;
50
+ --tw-backdrop-sepia: ;
51
+ --tw-contain-size: ;
52
+ --tw-contain-layout: ;
53
+ --tw-contain-paint: ;
54
+ --tw-contain-style: ;
55
+ }
56
+ ::backdrop {
57
+ --tw-border-spacing-x: 0;
58
+ --tw-border-spacing-y: 0;
59
+ --tw-translate-x: 0;
60
+ --tw-translate-y: 0;
61
+ --tw-rotate: 0;
62
+ --tw-skew-x: 0;
63
+ --tw-skew-y: 0;
64
+ --tw-scale-x: 1;
65
+ --tw-scale-y: 1;
66
+ --tw-pan-x: ;
67
+ --tw-pan-y: ;
68
+ --tw-pinch-zoom: ;
69
+ --tw-scroll-snap-strictness: proximity;
70
+ --tw-gradient-from-position: ;
71
+ --tw-gradient-via-position: ;
72
+ --tw-gradient-to-position: ;
73
+ --tw-ordinal: ;
74
+ --tw-slashed-zero: ;
75
+ --tw-numeric-figure: ;
76
+ --tw-numeric-spacing: ;
77
+ --tw-numeric-fraction: ;
78
+ --tw-ring-inset: ;
79
+ --tw-ring-offset-width: 0px;
80
+ --tw-ring-offset-color: #fff;
81
+ --tw-ring-color: rgb(59 130 246 / 0.5);
82
+ --tw-ring-offset-shadow: 0 0 #0000;
83
+ --tw-ring-shadow: 0 0 #0000;
84
+ --tw-shadow: 0 0 #0000;
85
+ --tw-shadow-colored: 0 0 #0000;
86
+ --tw-blur: ;
87
+ --tw-brightness: ;
88
+ --tw-contrast: ;
89
+ --tw-grayscale: ;
90
+ --tw-hue-rotate: ;
91
+ --tw-invert: ;
92
+ --tw-saturate: ;
93
+ --tw-sepia: ;
94
+ --tw-drop-shadow: ;
95
+ --tw-backdrop-blur: ;
96
+ --tw-backdrop-brightness: ;
97
+ --tw-backdrop-contrast: ;
98
+ --tw-backdrop-grayscale: ;
99
+ --tw-backdrop-hue-rotate: ;
100
+ --tw-backdrop-invert: ;
101
+ --tw-backdrop-opacity: ;
102
+ --tw-backdrop-saturate: ;
103
+ --tw-backdrop-sepia: ;
104
+ --tw-contain-size: ;
105
+ --tw-contain-layout: ;
106
+ --tw-contain-paint: ;
107
+ --tw-contain-style: ;
108
+ }
109
+ *,
110
+ :before,
111
+ :after {
112
+ box-sizing: border-box;
113
+ border-width: 0;
114
+ border-style: solid;
115
+ border-color: #e5e7eb;
116
+ }
117
+ :before,
118
+ :after {
119
+ --tw-content: '';
120
+ }
121
+ html,
122
+ :host {
123
+ line-height: 1.5;
124
+ -webkit-text-size-adjust: 100%;
125
+ -moz-tab-size: 4;
126
+ -o-tab-size: 4;
127
+ tab-size: 4;
128
+ font-family: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
129
+ Segoe UI Symbol, 'Noto Color Emoji';
130
+ font-feature-settings: normal;
131
+ font-variation-settings: normal;
132
+ -webkit-tap-highlight-color: transparent;
133
+ }
134
+ body {
135
+ margin: 0;
136
+ line-height: inherit;
137
+ }
138
+ hr {
139
+ height: 0;
140
+ color: inherit;
141
+ border-top-width: 1px;
142
+ }
143
+ abbr:where([title]) {
144
+ -webkit-text-decoration: underline dotted;
145
+ text-decoration: underline dotted;
146
+ }
147
+ h1,
148
+ h2,
149
+ h3,
150
+ h4,
151
+ h5,
152
+ h6 {
153
+ font-size: inherit;
154
+ font-weight: inherit;
155
+ }
156
+ a {
157
+ color: inherit;
158
+ text-decoration: inherit;
159
+ }
160
+ b,
161
+ strong {
162
+ font-weight: bolder;
163
+ }
164
+ code,
165
+ kbd,
166
+ samp,
167
+ pre {
168
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New,
169
+ monospace;
170
+ font-feature-settings: normal;
171
+ font-variation-settings: normal;
172
+ font-size: 1em;
173
+ }
174
+ small {
175
+ font-size: 80%;
176
+ }
177
+ sub,
178
+ sup {
179
+ font-size: 75%;
180
+ line-height: 0;
181
+ position: relative;
182
+ vertical-align: baseline;
183
+ }
184
+ sub {
185
+ bottom: -0.25em;
186
+ }
187
+ sup {
188
+ top: -0.5em;
189
+ }
190
+ table {
191
+ text-indent: 0;
192
+ border-color: inherit;
193
+ border-collapse: collapse;
194
+ }
195
+ button,
196
+ input,
197
+ optgroup,
198
+ select,
199
+ textarea {
200
+ font-family: inherit;
201
+ font-feature-settings: inherit;
202
+ font-variation-settings: inherit;
203
+ font-size: 100%;
204
+ font-weight: inherit;
205
+ line-height: inherit;
206
+ letter-spacing: inherit;
207
+ color: inherit;
208
+ margin: 0;
209
+ padding: 0;
210
+ }
211
+ button,
212
+ select {
213
+ text-transform: none;
214
+ }
215
+ button,
216
+ input:where([type='button']),
217
+ input:where([type='reset']),
218
+ input:where([type='submit']) {
219
+ -webkit-appearance: button;
220
+ background-color: transparent;
221
+ background-image: none;
222
+ }
223
+ :-moz-focusring {
224
+ outline: auto;
225
+ }
226
+ :-moz-ui-invalid {
227
+ box-shadow: none;
228
+ }
229
+ progress {
230
+ vertical-align: baseline;
231
+ }
232
+ ::-webkit-inner-spin-button,
233
+ ::-webkit-outer-spin-button {
234
+ height: auto;
235
+ }
236
+ [type='search'] {
237
+ -webkit-appearance: textfield;
238
+ outline-offset: -2px;
239
+ }
240
+ ::-webkit-search-decoration {
241
+ -webkit-appearance: none;
242
+ }
243
+ ::-webkit-file-upload-button {
244
+ -webkit-appearance: button;
245
+ font: inherit;
246
+ }
247
+ summary {
248
+ display: list-item;
249
+ }
250
+ blockquote,
251
+ dl,
252
+ dd,
253
+ h1,
254
+ h2,
255
+ h3,
256
+ h4,
257
+ h5,
258
+ h6,
259
+ hr,
260
+ figure,
261
+ p,
262
+ pre {
263
+ margin: 0;
264
+ }
265
+ fieldset {
266
+ margin: 0;
267
+ padding: 0;
268
+ }
269
+ legend {
270
+ padding: 0;
271
+ }
272
+ ol,
273
+ ul,
274
+ menu {
275
+ list-style: none;
276
+ margin: 0;
277
+ padding: 0;
278
+ }
279
+ dialog {
280
+ padding: 0;
281
+ }
282
+ textarea {
283
+ resize: vertical;
284
+ }
285
+ input::-moz-placeholder,
286
+ textarea::-moz-placeholder {
287
+ opacity: 1;
288
+ color: #9ca3af;
289
+ }
290
+ input::placeholder,
291
+ textarea::placeholder {
292
+ opacity: 1;
293
+ color: #9ca3af;
294
+ }
295
+ button,
296
+ [role='button'] {
297
+ cursor: pointer;
298
+ }
299
+ :disabled {
300
+ cursor: default;
301
+ }
302
+ img,
303
+ svg,
304
+ video,
305
+ canvas,
306
+ audio,
307
+ iframe,
308
+ embed,
309
+ object {
310
+ display: block;
311
+ vertical-align: middle;
312
+ }
313
+ img,
314
+ video {
315
+ max-width: 100%;
316
+ height: auto;
317
+ }
318
+ [hidden]:where(:not([hidden='until-found'])) {
319
+ display: none;
320
+ }
321
+ .mb-4 {
322
+ margin-bottom: 1rem;
323
+ }
324
+ .mr-2 {
325
+ margin-right: 0.5rem;
326
+ }
327
+ .mt-1 {
328
+ margin-top: 0.25rem;
329
+ }
330
+ .block {
331
+ display: block;
332
+ }
333
+ .flex {
334
+ display: flex;
335
+ }
336
+ .inline-flex {
337
+ display: inline-flex;
338
+ }
339
+ .w-full {
340
+ width: 100%;
341
+ }
342
+ .max-w-md {
343
+ max-width: 28rem;
344
+ }
345
+ .items-center {
346
+ align-items: center;
347
+ }
348
+ .justify-center {
349
+ justify-content: center;
350
+ }
351
+ .space-y-4 > :not([hidden]) ~ :not([hidden]) {
352
+ --tw-space-y-reverse: 0;
353
+ margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
354
+ margin-bottom: calc(1rem * var(--tw-space-y-reverse));
355
+ }
356
+ .rounded-lg {
357
+ border-radius: 0.5rem;
358
+ }
359
+ .rounded-md {
360
+ border-radius: 0.375rem;
361
+ }
362
+ .border {
363
+ border-width: 1px;
364
+ }
365
+ .border-gray-300 {
366
+ --tw-border-opacity: 1;
367
+ border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
368
+ }
369
+ .bg-blue-600 {
370
+ --tw-bg-opacity: 1;
371
+ background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
372
+ }
373
+ .p-2 {
374
+ padding: 0.5rem;
375
+ }
376
+ .p-8 {
377
+ padding: 2rem;
378
+ }
379
+ .py-4 {
380
+ padding-top: 1rem;
381
+ padding-bottom: 1rem;
382
+ }
383
+ .text-sm {
384
+ font-size: 0.875rem;
385
+ line-height: 1.25rem;
386
+ }
387
+ .font-medium {
388
+ font-weight: 500;
389
+ }
390
+ .text-gray-700 {
391
+ --tw-text-opacity: 1;
392
+ color: rgb(55 65 81 / var(--tw-text-opacity, 1));
393
+ }
394
+ .text-white {
395
+ --tw-text-opacity: 1;
396
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1));
397
+ }
398
+ .shadow-inner {
399
+ --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
400
+ --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
401
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000),
402
+ var(--tw-shadow);
403
+ }
404
+ .transition {
405
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke,
406
+ opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
407
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke,
408
+ opacity, box-shadow, transform, filter, backdrop-filter;
409
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke,
410
+ opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
411
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
412
+ transition-duration: 0.15s;
413
+ }
414
+ .duration-200 {
415
+ transition-duration: 0.2s;
416
+ }
417
+ html,
418
+ body {
419
+ margin: 0;
420
+ display: flex;
421
+ height: 100%;
422
+ width: 100%;
423
+ flex-direction: column;
424
+ padding: 0;
425
+ }
426
+ #root {
427
+ display: flex;
428
+ flex-direction: column;
429
+ margin: 0;
430
+ height: 100%;
431
+ width: 100%;
432
+ padding: 0;
433
+ }
434
+ body::-webkit-scrollbar {
435
+ height: 0px;
436
+ width: 0px;
437
+ }
438
+ .container {
439
+ margin-left: auto;
440
+ margin-right: auto;
441
+ padding-left: 1.25rem;
442
+ padding-right: 1.25rem;
443
+ }
444
+ *::-webkit-scrollbar {
445
+ width: 0px;
446
+ height: 0px;
447
+ }
448
+ input,
449
+ div,
450
+ textarea {
451
+ outline: 2px solid transparent !important;
452
+ outline-offset: 2px !important;
453
+ }
454
+ .hover\:bg-blue-700:hover {
455
+ --tw-bg-opacity: 1;
456
+ background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
457
+ }
458
+ .focus\:outline-none:focus {
459
+ outline: 2px solid transparent;
460
+ outline-offset: 2px;
461
+ }
462
+ .focus\:ring:focus {
463
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width)
464
+ var(--tw-ring-offset-color);
465
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width))
466
+ var(--tw-ring-color);
467
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
468
+ }
469
+ .focus\:ring-blue-500:focus {
470
+ --tw-ring-opacity: 1;
471
+ --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
472
+ }