@usefy/screen-recorder 0.1.5 → 0.2.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.
package/dist/styles.css CHANGED
@@ -1,1267 +1,1551 @@
1
- *, ::before, ::after {
2
- --tw-border-spacing-x: 0;
3
- --tw-border-spacing-y: 0;
4
- --tw-translate-x: 0;
5
- --tw-translate-y: 0;
6
- --tw-rotate: 0;
7
- --tw-skew-x: 0;
8
- --tw-skew-y: 0;
9
- --tw-scale-x: 1;
10
- --tw-scale-y: 1;
11
- --tw-pan-x: ;
12
- --tw-pan-y: ;
13
- --tw-pinch-zoom: ;
14
- --tw-scroll-snap-strictness: proximity;
15
- --tw-gradient-from-position: ;
16
- --tw-gradient-via-position: ;
17
- --tw-gradient-to-position: ;
18
- --tw-ordinal: ;
19
- --tw-slashed-zero: ;
20
- --tw-numeric-figure: ;
21
- --tw-numeric-spacing: ;
22
- --tw-numeric-fraction: ;
23
- --tw-ring-inset: ;
24
- --tw-ring-offset-width: 0px;
25
- --tw-ring-offset-color: #fff;
26
- --tw-ring-color: rgb(59 130 246 / 0.5);
27
- --tw-ring-offset-shadow: 0 0 #0000;
28
- --tw-ring-shadow: 0 0 #0000;
29
- --tw-shadow: 0 0 #0000;
30
- --tw-shadow-colored: 0 0 #0000;
31
- --tw-blur: ;
32
- --tw-brightness: ;
33
- --tw-contrast: ;
34
- --tw-grayscale: ;
35
- --tw-hue-rotate: ;
36
- --tw-invert: ;
37
- --tw-saturate: ;
38
- --tw-sepia: ;
39
- --tw-drop-shadow: ;
40
- --tw-backdrop-blur: ;
41
- --tw-backdrop-brightness: ;
42
- --tw-backdrop-contrast: ;
43
- --tw-backdrop-grayscale: ;
44
- --tw-backdrop-hue-rotate: ;
45
- --tw-backdrop-invert: ;
46
- --tw-backdrop-opacity: ;
47
- --tw-backdrop-saturate: ;
48
- --tw-backdrop-sepia: ;
49
- --tw-contain-size: ;
50
- --tw-contain-layout: ;
51
- --tw-contain-paint: ;
52
- --tw-contain-style: ;
53
- }
54
-
55
- ::backdrop {
56
- --tw-border-spacing-x: 0;
57
- --tw-border-spacing-y: 0;
58
- --tw-translate-x: 0;
59
- --tw-translate-y: 0;
60
- --tw-rotate: 0;
61
- --tw-skew-x: 0;
62
- --tw-skew-y: 0;
63
- --tw-scale-x: 1;
64
- --tw-scale-y: 1;
65
- --tw-pan-x: ;
66
- --tw-pan-y: ;
67
- --tw-pinch-zoom: ;
68
- --tw-scroll-snap-strictness: proximity;
69
- --tw-gradient-from-position: ;
70
- --tw-gradient-via-position: ;
71
- --tw-gradient-to-position: ;
72
- --tw-ordinal: ;
73
- --tw-slashed-zero: ;
74
- --tw-numeric-figure: ;
75
- --tw-numeric-spacing: ;
76
- --tw-numeric-fraction: ;
77
- --tw-ring-inset: ;
78
- --tw-ring-offset-width: 0px;
79
- --tw-ring-offset-color: #fff;
80
- --tw-ring-color: rgb(59 130 246 / 0.5);
81
- --tw-ring-offset-shadow: 0 0 #0000;
82
- --tw-ring-shadow: 0 0 #0000;
83
- --tw-shadow: 0 0 #0000;
84
- --tw-shadow-colored: 0 0 #0000;
85
- --tw-blur: ;
86
- --tw-brightness: ;
87
- --tw-contrast: ;
88
- --tw-grayscale: ;
89
- --tw-hue-rotate: ;
90
- --tw-invert: ;
91
- --tw-saturate: ;
92
- --tw-sepia: ;
93
- --tw-drop-shadow: ;
94
- --tw-backdrop-blur: ;
95
- --tw-backdrop-brightness: ;
96
- --tw-backdrop-contrast: ;
97
- --tw-backdrop-grayscale: ;
98
- --tw-backdrop-hue-rotate: ;
99
- --tw-backdrop-invert: ;
100
- --tw-backdrop-opacity: ;
101
- --tw-backdrop-saturate: ;
102
- --tw-backdrop-sepia: ;
103
- --tw-contain-size: ;
104
- --tw-contain-layout: ;
105
- --tw-contain-paint: ;
106
- --tw-contain-style: ;
107
- }/*
108
- ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
109
- *//*
110
- 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
111
- 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
112
- */
113
-
114
- *,
115
- ::before,
116
- ::after {
117
- box-sizing: border-box; /* 1 */
118
- border-width: 0; /* 2 */
119
- border-style: solid; /* 2 */
120
- border-color: #e5e7eb; /* 2 */
121
- }
122
-
123
- ::before,
124
- ::after {
125
- --tw-content: '';
126
- }
127
-
128
- /*
129
- 1. Use a consistent sensible line-height in all browsers.
130
- 2. Prevent adjustments of font size after orientation changes in iOS.
131
- 3. Use a more readable tab size.
132
- 4. Use the user's configured `sans` font-family by default.
133
- 5. Use the user's configured `sans` font-feature-settings by default.
134
- 6. Use the user's configured `sans` font-variation-settings by default.
135
- 7. Disable tap highlights on iOS
136
- */
137
-
138
- html,
139
- :host {
140
- line-height: 1.5; /* 1 */
141
- -webkit-text-size-adjust: 100%; /* 2 */
142
- -moz-tab-size: 4; /* 3 */
143
- -o-tab-size: 4;
144
- tab-size: 4; /* 3 */
145
- font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
146
- font-feature-settings: normal; /* 5 */
147
- font-variation-settings: normal; /* 6 */
148
- -webkit-tap-highlight-color: transparent; /* 7 */
149
- }
150
-
151
- /*
152
- 1. Remove the margin in all browsers.
153
- 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
154
- */
155
-
156
- body {
157
- margin: 0; /* 1 */
158
- line-height: inherit; /* 2 */
159
- }
160
-
161
- /*
162
- 1. Add the correct height in Firefox.
163
- 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
164
- 3. Ensure horizontal rules are visible by default.
165
- */
166
-
167
- hr {
168
- height: 0; /* 1 */
169
- color: inherit; /* 2 */
170
- border-top-width: 1px; /* 3 */
171
- }
172
-
173
- /*
174
- Add the correct text decoration in Chrome, Edge, and Safari.
175
- */
176
-
177
- abbr:where([title]) {
178
- -webkit-text-decoration: underline dotted;
179
- text-decoration: underline dotted;
180
- }
181
-
182
- /*
183
- Remove the default font size and weight for headings.
184
- */
185
-
186
- h1,
187
- h2,
188
- h3,
189
- h4,
190
- h5,
191
- h6 {
192
- font-size: inherit;
193
- font-weight: inherit;
194
- }
195
-
196
- /*
197
- Reset links to optimize for opt-in styling instead of opt-out.
198
- */
199
-
200
- a {
201
- color: inherit;
202
- text-decoration: inherit;
1
+ /* components/Status/StatusBadge.module.scss */
2
+ @keyframes pulse {
3
+ 0%, 100% {
4
+ opacity: 1;
5
+ }
6
+ 50% {
7
+ opacity: 0.5;
8
+ }
203
9
  }
204
-
205
- /*
206
- Add the correct font weight in Edge and Safari.
207
- */
208
-
209
- b,
210
- strong {
211
- font-weight: bolder;
10
+ @keyframes pulse-record {
11
+ 0%, 100% {
12
+ opacity: 1;
13
+ }
14
+ 50% {
15
+ opacity: 0.5;
16
+ }
212
17
  }
213
-
214
- /*
215
- 1. Use the user's configured `mono` font-family by default.
216
- 2. Use the user's configured `mono` font-feature-settings by default.
217
- 3. Use the user's configured `mono` font-variation-settings by default.
218
- 4. Correct the odd `em` font sizing in all browsers.
219
- */
220
-
221
- code,
222
- kbd,
223
- samp,
224
- pre {
225
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
226
- font-feature-settings: normal; /* 2 */
227
- font-variation-settings: normal; /* 3 */
228
- font-size: 1em; /* 4 */
18
+ @keyframes spin {
19
+ from {
20
+ transform: rotate(0deg);
21
+ }
22
+ to {
23
+ transform: rotate(360deg);
24
+ }
229
25
  }
230
-
231
- /*
232
- Add the correct font size in all browsers.
233
- */
234
-
235
- small {
236
- font-size: 80%;
26
+ @keyframes fade-in {
27
+ 0% {
28
+ opacity: 0;
29
+ }
30
+ 100% {
31
+ opacity: 1;
32
+ }
237
33
  }
238
-
239
- /*
240
- Prevent `sub` and `sup` elements from affecting the line height in all browsers.
241
- */
242
-
243
- sub,
244
- sup {
245
- font-size: 75%;
246
- line-height: 0;
247
- position: relative;
248
- vertical-align: baseline;
34
+ @keyframes slide-up {
35
+ 0% {
36
+ transform: translateY(10px);
37
+ opacity: 0;
38
+ }
39
+ 100% {
40
+ transform: translateY(0);
41
+ opacity: 1;
42
+ }
249
43
  }
250
-
251
- sub {
252
- bottom: -0.25em;
44
+ @keyframes countdown-scale {
45
+ 0% {
46
+ transform: scale(0.5);
47
+ opacity: 0;
48
+ }
49
+ 50% {
50
+ transform: scale(1.2);
51
+ opacity: 1;
52
+ }
53
+ 100% {
54
+ transform: scale(1);
55
+ opacity: 1;
56
+ }
253
57
  }
254
-
255
- sup {
256
- top: -0.5em;
58
+ .StatusBadge_badge__o3pyl {
59
+ display: inline-flex;
60
+ align-items: center;
61
+ gap: 0.375rem;
62
+ padding: 0.25rem 0.5rem;
63
+ border-radius: 9999px;
257
64
  }
258
65
 
259
- /*
260
- 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)
261
- 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)
262
- 3. Remove gaps between table borders by default.
263
- */
264
-
265
- table {
266
- text-indent: 0; /* 1 */
267
- border-color: inherit; /* 2 */
268
- border-collapse: collapse; /* 3 */
66
+ .StatusBadge_dot__o3pyl {
67
+ width: 0.5rem;
68
+ height: 0.5rem;
69
+ border-radius: 9999px;
269
70
  }
270
71
 
271
- /*
272
- 1. Change the font styles in all browsers.
273
- 2. Remove the margin in Firefox and Safari.
274
- 3. Remove default padding in all browsers.
275
- */
276
-
277
- button,
278
- input,
279
- optgroup,
280
- select,
281
- textarea {
282
- font-family: inherit; /* 1 */
283
- font-feature-settings: inherit; /* 1 */
284
- font-variation-settings: inherit; /* 1 */
285
- font-size: 100%; /* 1 */
286
- font-weight: inherit; /* 1 */
287
- line-height: inherit; /* 1 */
288
- letter-spacing: inherit; /* 1 */
289
- color: inherit; /* 1 */
290
- margin: 0; /* 2 */
291
- padding: 0; /* 3 */
72
+ .StatusBadge_label__o3pyl {
73
+ font-size: 0.75rem;
74
+ line-height: 1.5;
75
+ font-weight: 600;
76
+ text-transform: uppercase;
292
77
  }
293
78
 
294
- /*
295
- Remove the inheritance of text transform in Edge and Firefox.
296
- */
297
-
298
- button,
299
- select {
300
- text-transform: none;
79
+ .StatusBadge_stateRecording__o3pyl {
80
+ background-color: #fef2f2;
301
81
  }
302
-
303
- /*
304
- 1. Correct the inability to style clickable types in iOS and Safari.
305
- 2. Remove default button styles.
306
- */
307
-
308
- button,
309
- input:where([type='button']),
310
- input:where([type='reset']),
311
- input:where([type='submit']) {
312
- -webkit-appearance: button; /* 1 */
313
- background-color: transparent; /* 2 */
314
- background-image: none; /* 2 */
82
+ .dark .StatusBadge_stateRecording__o3pyl {
83
+ background-color: rgba(127, 29, 29, 0.2);
315
84
  }
316
85
 
317
- /*
318
- Use the modern Firefox focus style for all focusable elements.
319
- */
320
-
321
- :-moz-focusring {
322
- outline: auto;
86
+ .StatusBadge_dotRecording__o3pyl {
87
+ background-color: #ef4444;
88
+ animation: pulse-record 1s ease-in-out infinite;
323
89
  }
324
90
 
325
- /*
326
- Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
327
- */
328
-
329
- :-moz-ui-invalid {
330
- box-shadow: none;
91
+ .StatusBadge_labelRecording__o3pyl {
92
+ color: #dc2626;
331
93
  }
332
-
333
- /*
334
- Add the correct vertical alignment in Chrome and Firefox.
335
- */
336
-
337
- progress {
338
- vertical-align: baseline;
94
+ .dark .StatusBadge_labelRecording__o3pyl {
95
+ color: #f87171;
339
96
  }
340
97
 
341
- /*
342
- Correct the cursor style of increment and decrement buttons in Safari.
343
- */
344
-
345
- ::-webkit-inner-spin-button,
346
- ::-webkit-outer-spin-button {
347
- height: auto;
98
+ .StatusBadge_statePaused__o3pyl {
99
+ background-color: #fffbeb;
348
100
  }
349
-
350
- /*
351
- 1. Correct the odd appearance in Chrome and Safari.
352
- 2. Correct the outline style in Safari.
353
- */
354
-
355
- [type='search'] {
356
- -webkit-appearance: textfield; /* 1 */
357
- outline-offset: -2px; /* 2 */
101
+ .dark .StatusBadge_statePaused__o3pyl {
102
+ background-color: rgba(120, 53, 15, 0.2);
358
103
  }
359
104
 
360
- /*
361
- Remove the inner padding in Chrome and Safari on macOS.
362
- */
363
-
364
- ::-webkit-search-decoration {
365
- -webkit-appearance: none;
105
+ .StatusBadge_dotPaused__o3pyl {
106
+ background-color: #f59e0b;
366
107
  }
367
108
 
368
- /*
369
- 1. Correct the inability to style clickable types in iOS and Safari.
370
- 2. Change font properties to `inherit` in Safari.
371
- */
372
-
373
- ::-webkit-file-upload-button {
374
- -webkit-appearance: button; /* 1 */
375
- font: inherit; /* 2 */
109
+ .StatusBadge_labelPaused__o3pyl {
110
+ color: #d97706;
376
111
  }
377
-
378
- /*
379
- Add the correct display in Chrome and Safari.
380
- */
381
-
382
- summary {
383
- display: list-item;
112
+ .dark .StatusBadge_labelPaused__o3pyl {
113
+ color: #fbbf24;
384
114
  }
385
115
 
386
- /*
387
- Removes the default spacing and border for appropriate elements.
388
- */
389
-
390
- blockquote,
391
- dl,
392
- dd,
393
- h1,
394
- h2,
395
- h3,
396
- h4,
397
- h5,
398
- h6,
399
- hr,
400
- figure,
401
- p,
402
- pre {
403
- margin: 0;
116
+ .StatusBadge_stateRequesting__o3pyl {
117
+ background-color: #eff6ff;
404
118
  }
405
-
406
- fieldset {
407
- margin: 0;
408
- padding: 0;
119
+ .dark .StatusBadge_stateRequesting__o3pyl {
120
+ background-color: rgba(29, 78, 216, 0.2);
409
121
  }
410
122
 
411
- legend {
412
- padding: 0;
123
+ .StatusBadge_dotRequesting__o3pyl {
124
+ background-color: #3b82f6;
125
+ animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;
413
126
  }
414
127
 
415
- ol,
416
- ul,
417
- menu {
418
- list-style: none;
419
- margin: 0;
420
- padding: 0;
128
+ .StatusBadge_labelRequesting__o3pyl {
129
+ color: #2563eb;
421
130
  }
422
-
423
- /*
424
- Reset default styling for dialogs.
425
- */
426
- dialog {
427
- padding: 0;
131
+ .dark .StatusBadge_labelRequesting__o3pyl {
132
+ color: #60a5fa;
428
133
  }
429
134
 
430
- /*
431
- Prevent resizing textareas horizontally by default.
432
- */
433
-
434
- textarea {
435
- resize: vertical;
135
+ .StatusBadge_stateCountdown__o3pyl {
136
+ background-color: #fffbeb;
436
137
  }
437
-
438
- /*
439
- 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
440
- 2. Set the default placeholder color to the user's configured gray 400 color.
441
- */
442
-
443
- input::-moz-placeholder, textarea::-moz-placeholder {
444
- opacity: 1; /* 1 */
445
- color: #9ca3af; /* 2 */
138
+ .dark .StatusBadge_stateCountdown__o3pyl {
139
+ background-color: rgba(120, 53, 15, 0.2);
446
140
  }
447
141
 
448
- input::placeholder,
449
- textarea::placeholder {
450
- opacity: 1; /* 1 */
451
- color: #9ca3af; /* 2 */
142
+ .StatusBadge_dotCountdown__o3pyl {
143
+ background-color: #f59e0b;
144
+ animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;
452
145
  }
453
146
 
454
- /*
455
- Set the default cursor for buttons.
456
- */
457
-
458
- button,
459
- [role="button"] {
460
- cursor: pointer;
147
+ .StatusBadge_labelCountdown__o3pyl {
148
+ color: #d97706;
461
149
  }
462
-
463
- /*
464
- Make sure disabled buttons don't get the pointer cursor.
465
- */
466
- :disabled {
467
- cursor: default;
150
+ .dark .StatusBadge_labelCountdown__o3pyl {
151
+ color: #fbbf24;
468
152
  }
469
153
 
470
- /*
471
- 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
472
- 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
473
- This can trigger a poorly considered lint error in some tools but is included by design.
474
- */
475
-
476
- img,
477
- svg,
478
- video,
479
- canvas,
480
- audio,
481
- iframe,
482
- embed,
483
- object {
484
- display: block; /* 1 */
485
- vertical-align: middle; /* 2 */
154
+ .StatusBadge_stateStopped__o3pyl {
155
+ background-color: #f9fafb;
486
156
  }
487
-
488
- /*
489
- Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
490
- */
491
-
492
- img,
493
- video {
494
- max-width: 100%;
495
- height: auto;
157
+ .dark .StatusBadge_stateStopped__o3pyl {
158
+ background-color: #1f2937;
496
159
  }
497
160
 
498
- /* Make elements with the HTML hidden attribute stay hidden by default */
499
- [hidden]:where(:not([hidden="until-found"])) {
500
- display: none;
501
- }
502
- .container {
503
- width: 100%;
161
+ .StatusBadge_dotStopped__o3pyl {
162
+ background-color: #6b7280;
504
163
  }
505
- @media (min-width: 640px) {
506
164
 
507
- .container {
508
- max-width: 640px;
509
- }
165
+ .StatusBadge_labelStopped__o3pyl {
166
+ color: #4b5563;
510
167
  }
511
- @media (min-width: 768px) {
512
-
513
- .container {
514
- max-width: 768px;
515
- }
168
+ .dark .StatusBadge_labelStopped__o3pyl {
169
+ color: #9ca3af;
516
170
  }
517
- @media (min-width: 1024px) {
518
171
 
519
- .container {
520
- max-width: 1024px;
521
- }
172
+ .StatusBadge_stateError__o3pyl {
173
+ background-color: #fef2f2;
522
174
  }
523
- @media (min-width: 1280px) {
524
-
525
- .container {
526
- max-width: 1280px;
527
- }
175
+ .dark .StatusBadge_stateError__o3pyl {
176
+ background-color: rgba(127, 29, 29, 0.2);
528
177
  }
529
- @media (min-width: 1536px) {
530
178
 
531
- .container {
532
- max-width: 1536px;
533
- }
534
- }
535
- .fixed {
536
- position: fixed;
537
- }
538
- .absolute {
539
- position: absolute;
540
- }
541
- .relative {
542
- position: relative;
543
- }
544
- .inset-0 {
545
- inset: 0px;
546
- }
547
- .bottom-0 {
548
- bottom: 0px;
549
- }
550
- .bottom-4 {
551
- bottom: 1rem;
179
+ .StatusBadge_dotError__o3pyl {
180
+ background-color: #ef4444;
552
181
  }
553
- .left-0 {
554
- left: 0px;
555
- }
556
- .left-4 {
557
- left: 1rem;
558
- }
559
- .right-0 {
560
- right: 0px;
561
- }
562
- .right-4 {
563
- right: 1rem;
564
- }
565
- .top-4 {
566
- top: 1rem;
567
- }
568
- .mb-2 {
569
- margin-bottom: 0.5rem;
570
- }
571
- .ml-2 {
572
- margin-left: 0.5rem;
573
- }
574
- .mt-0\.5 {
575
- margin-top: 0.125rem;
576
- }
577
- .mt-1 {
578
- margin-top: 0.25rem;
579
- }
580
- .mt-4 {
581
- margin-top: 1rem;
582
- }
583
- .mt-6 {
584
- margin-top: 1.5rem;
585
- }
586
- .mt-8 {
587
- margin-top: 2rem;
588
- }
589
- .inline {
590
- display: inline;
591
- }
592
- .flex {
593
- display: flex;
594
- }
595
- .inline-flex {
596
- display: inline-flex;
597
- }
598
- .aspect-video {
599
- aspect-ratio: 16 / 9;
600
- }
601
- .h-1 {
602
- height: 0.25rem;
603
- }
604
- .h-2 {
605
- height: 0.5rem;
606
- }
607
- .h-3 {
608
- height: 0.75rem;
609
- }
610
- .h-32 {
611
- height: 8rem;
612
- }
613
- .h-4 {
614
- height: 1rem;
615
- }
616
- .h-5 {
617
- height: 1.25rem;
618
- }
619
- .h-auto {
620
- height: auto;
621
- }
622
- .w-2 {
623
- width: 0.5rem;
624
- }
625
- .w-3 {
626
- width: 0.75rem;
627
- }
628
- .w-32 {
629
- width: 8rem;
630
- }
631
- .w-4 {
632
- width: 1rem;
182
+
183
+ .StatusBadge_labelError__o3pyl {
184
+ color: #dc2626;
633
185
  }
634
- .w-5 {
635
- width: 1.25rem;
186
+ .dark .StatusBadge_labelError__o3pyl {
187
+ color: #f87171;
636
188
  }
637
- .w-full {
638
- width: 100%;
189
+
190
+ .StatusBadge_stateIdle__o3pyl {
191
+ background-color: #f9fafb;
639
192
  }
640
- .max-w-2xl {
641
- max-width: 42rem;
193
+ .dark .StatusBadge_stateIdle__o3pyl {
194
+ background-color: #1f2937;
642
195
  }
643
- .max-w-sm {
644
- max-width: 24rem;
196
+
197
+ .StatusBadge_dotIdle__o3pyl {
198
+ background-color: #9ca3af;
645
199
  }
646
- .flex-1 {
647
- flex: 1 1 0%;
200
+
201
+ .StatusBadge_labelIdle__o3pyl {
202
+ color: #6b7280;
648
203
  }
649
- .flex-shrink-0 {
650
- flex-shrink: 0;
204
+ .dark .StatusBadge_labelIdle__o3pyl {
205
+ color: #9ca3af;
651
206
  }
652
- @keyframes countdown-scale {
653
207
 
654
- 0% {
655
- transform: scale(0.5);
656
- opacity: 0;
208
+ /* components/Countdown/Countdown.module.scss */
209
+ @keyframes pulse {
210
+ 0%, 100% {
211
+ opacity: 1;
657
212
  }
658
-
659
213
  50% {
660
- transform: scale(1.2);
661
- opacity: 1;
214
+ opacity: 0.5;
662
215
  }
663
-
664
- 100% {
665
- transform: scale(1);
216
+ }
217
+ @keyframes pulse-record {
218
+ 0%, 100% {
666
219
  opacity: 1;
667
220
  }
221
+ 50% {
222
+ opacity: 0.5;
223
+ }
668
224
  }
669
- .animate-countdown-scale {
670
- animation: countdown-scale 0.5s ease-out;
225
+ @keyframes spin {
226
+ from {
227
+ transform: rotate(0deg);
228
+ }
229
+ to {
230
+ transform: rotate(360deg);
231
+ }
671
232
  }
672
233
  @keyframes fade-in {
673
-
674
234
  0% {
675
235
  opacity: 0;
676
236
  }
677
-
678
237
  100% {
679
238
  opacity: 1;
680
239
  }
681
240
  }
682
- .animate-fade-in {
683
- animation: fade-in 0.2s ease-out;
684
- }
685
- @keyframes pulse {
686
-
687
- 50% {
688
- opacity: .5;
241
+ @keyframes slide-up {
242
+ 0% {
243
+ transform: translateY(10px);
244
+ opacity: 0;
689
245
  }
690
- }
691
- .animate-pulse {
692
- animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
693
- }
694
- @keyframes pulse-record {
695
-
696
- 0%, 100% {
246
+ 100% {
247
+ transform: translateY(0);
697
248
  opacity: 1;
698
249
  }
699
-
700
- 50% {
701
- opacity: 0.5;
702
- }
703
250
  }
704
- .animate-pulse-record {
705
- animation: pulse-record 1s ease-in-out infinite;
706
- }
707
- @keyframes slide-up {
708
-
251
+ @keyframes countdown-scale {
709
252
  0% {
710
- transform: translateY(10px);
253
+ transform: scale(0.5);
711
254
  opacity: 0;
712
255
  }
713
-
256
+ 50% {
257
+ transform: scale(1.2);
258
+ opacity: 1;
259
+ }
714
260
  100% {
715
- transform: translateY(0);
261
+ transform: scale(1);
716
262
  opacity: 1;
717
263
  }
718
264
  }
719
- .animate-slide-up {
720
- animation: slide-up 0.3s ease-out;
265
+ .Countdown_overlay__cif1q {
266
+ position: fixed;
267
+ top: 0;
268
+ right: 0;
269
+ bottom: 0;
270
+ left: 0;
271
+ display: flex;
272
+ flex-direction: column;
273
+ align-items: center;
274
+ justify-content: center;
275
+ background-color: rgba(0, 0, 0, 0.5);
276
+ backdrop-filter: blur(4px);
277
+ -webkit-backdrop-filter: blur(4px);
278
+ animation: fade-in 200ms ease-out;
721
279
  }
722
- @keyframes spin {
723
280
 
724
- to {
725
- transform: rotate(360deg);
726
- }
727
- }
728
- .animate-spin {
729
- animation: spin 1s linear infinite;
281
+ .Countdown_countdownCircle__cif1q {
282
+ display: flex;
283
+ align-items: center;
284
+ justify-content: center;
285
+ width: 8rem;
286
+ height: 8rem;
287
+ border-radius: 9999px;
288
+ background-color: rgba(255, 255, 255, 0.1);
289
+ border: 4px solid rgba(255, 255, 255, 0.3);
290
+ color: white;
291
+ font-size: 4.5rem;
292
+ font-weight: 700;
293
+ animation: countdown-scale 500ms ease-out;
730
294
  }
731
- .cursor-pointer {
732
- cursor: pointer;
295
+
296
+ .Countdown_message__cif1q {
297
+ margin-top: 1.5rem;
298
+ color: rgba(255, 255, 255, 0.8);
299
+ font-size: 1.125rem;
300
+ line-height: 1.25;
301
+ font-weight: 500;
733
302
  }
734
- .appearance-none {
303
+
304
+ .Countdown_cancelButton__cif1q {
735
305
  -webkit-appearance: none;
736
306
  -moz-appearance: none;
737
307
  appearance: none;
308
+ background: none;
309
+ border: none;
310
+ padding: 0;
311
+ margin: 0;
312
+ font: inherit;
313
+ color: inherit;
314
+ cursor: pointer;
738
315
  }
739
- .flex-col {
740
- flex-direction: column;
316
+ .Countdown_cancelButton__cif1q:disabled {
317
+ cursor: not-allowed;
741
318
  }
742
- .items-start {
743
- align-items: flex-start;
319
+ .Countdown_cancelButton__cif1q {
320
+ margin-top: 2rem;
321
+ padding: 0.5rem 1.5rem;
322
+ border-radius: 9999px;
323
+ background-color: rgba(255, 255, 255, 0.1);
324
+ color: white;
325
+ font-size: 0.875rem;
326
+ line-height: 1.5;
327
+ font-weight: 500;
328
+ transition-property: color, background-color, border-color;
329
+ transition-duration: 200ms;
330
+ transition-timing-function: ease-out;
744
331
  }
745
- .items-center {
746
- align-items: center;
332
+ .Countdown_cancelButton__cif1q:hover {
333
+ background-color: rgba(255, 255, 255, 0.2);
747
334
  }
748
- .justify-center {
749
- justify-content: center;
335
+ .Countdown_cancelButton__cif1q:focus {
336
+ outline: none;
337
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
750
338
  }
751
- .justify-between {
752
- justify-content: space-between;
339
+
340
+ /* components/Status/ErrorMessage.module.scss */
341
+ @keyframes pulse {
342
+ 0%, 100% {
343
+ opacity: 1;
344
+ }
345
+ 50% {
346
+ opacity: 0.5;
347
+ }
753
348
  }
754
- .gap-1 {
755
- gap: 0.25rem;
349
+ @keyframes pulse-record {
350
+ 0%, 100% {
351
+ opacity: 1;
352
+ }
353
+ 50% {
354
+ opacity: 0.5;
355
+ }
756
356
  }
757
- .gap-1\.5 {
758
- gap: 0.375rem;
357
+ @keyframes spin {
358
+ from {
359
+ transform: rotate(0deg);
360
+ }
361
+ to {
362
+ transform: rotate(360deg);
363
+ }
759
364
  }
760
- .gap-2 {
761
- gap: 0.5rem;
365
+ @keyframes fade-in {
366
+ 0% {
367
+ opacity: 0;
368
+ }
369
+ 100% {
370
+ opacity: 1;
371
+ }
372
+ }
373
+ @keyframes slide-up {
374
+ 0% {
375
+ transform: translateY(10px);
376
+ opacity: 0;
377
+ }
378
+ 100% {
379
+ transform: translateY(0);
380
+ opacity: 1;
381
+ }
382
+ }
383
+ @keyframes countdown-scale {
384
+ 0% {
385
+ transform: scale(0.5);
386
+ opacity: 0;
387
+ }
388
+ 50% {
389
+ transform: scale(1.2);
390
+ opacity: 1;
391
+ }
392
+ 100% {
393
+ transform: scale(1);
394
+ opacity: 1;
395
+ }
762
396
  }
763
- .gap-3 {
397
+ .ErrorMessage_container__m4xi6 {
398
+ position: fixed;
399
+ display: flex;
400
+ flex-direction: column;
764
401
  gap: 0.75rem;
402
+ padding: 1rem;
403
+ max-width: 24rem;
404
+ border-radius: 0.5rem;
405
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
406
+ background-color: #fef2f2;
407
+ border: 1px solid #fecaca;
408
+ animation: slide-up 300ms ease-out;
765
409
  }
766
- .overflow-hidden {
767
- overflow: hidden;
410
+ .dark .ErrorMessage_container__m4xi6 {
411
+ background-color: rgba(127, 29, 29, 0.3);
412
+ border-color: #991b1b;
768
413
  }
769
- .rounded-full {
770
- border-radius: 9999px;
414
+
415
+ .ErrorMessage_topLeft__m4xi6 {
416
+ top: 1rem;
417
+ left: 1rem;
771
418
  }
772
- .rounded-lg {
773
- border-radius: 0.5rem;
419
+
420
+ .ErrorMessage_topRight__m4xi6 {
421
+ top: 1rem;
422
+ right: 1rem;
774
423
  }
775
- .rounded-md {
776
- border-radius: 0.375rem;
424
+
425
+ .ErrorMessage_bottomLeft__m4xi6 {
426
+ bottom: 1rem;
427
+ left: 1rem;
777
428
  }
778
- .rounded-xl {
779
- border-radius: 0.75rem;
429
+
430
+ .ErrorMessage_bottomRight__m4xi6 {
431
+ bottom: 1rem;
432
+ right: 1rem;
780
433
  }
781
- .border {
782
- border-width: 1px;
434
+
435
+ .ErrorMessage_header__m4xi6 {
436
+ display: flex;
437
+ align-items: center;
438
+ justify-content: flex-start;
439
+ gap: 0.75rem;
783
440
  }
784
- .border-4 {
785
- border-width: 4px;
441
+
442
+ .ErrorMessage_warningIcon__m4xi6 {
443
+ width: 1.25rem;
444
+ height: 1.25rem;
445
+ color: #ef4444;
446
+ flex-shrink: 0;
447
+ margin-top: 0.125rem;
786
448
  }
787
- .border-b {
788
- border-bottom-width: 1px;
449
+ .dark .ErrorMessage_warningIcon__m4xi6 {
450
+ color: #f87171;
789
451
  }
790
- .border-t {
791
- border-top-width: 1px;
452
+
453
+ .ErrorMessage_content__m4xi6 {
454
+ flex: 1;
792
455
  }
793
- .border-gray-200 {
794
- --tw-border-opacity: 1;
795
- border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
456
+
457
+ .ErrorMessage_title__m4xi6 {
458
+ font-weight: 600;
459
+ color: #991b1b;
796
460
  }
797
- .border-red-200 {
798
- --tw-border-opacity: 1;
799
- border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
461
+ .dark .ErrorMessage_title__m4xi6 {
462
+ color: #fecaca;
800
463
  }
801
- .border-white\/30 {
802
- border-color: rgb(255 255 255 / 0.3);
464
+
465
+ .ErrorMessage_message__m4xi6 {
466
+ margin-top: 0.25rem;
467
+ font-size: 0.875rem;
468
+ line-height: 1.5;
469
+ color: #dc2626;
803
470
  }
804
- .bg-amber-50 {
805
- --tw-bg-opacity: 1;
806
- background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
471
+ .dark .ErrorMessage_message__m4xi6 {
472
+ color: #fca5a5;
807
473
  }
808
- .bg-amber-500 {
809
- --tw-bg-opacity: 1;
810
- background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
474
+
475
+ .ErrorMessage_dismissButton__m4xi6 {
476
+ -webkit-appearance: none;
477
+ -moz-appearance: none;
478
+ appearance: none;
479
+ background: none;
480
+ border: none;
481
+ padding: 0;
482
+ margin: 0;
483
+ font: inherit;
484
+ color: inherit;
485
+ cursor: pointer;
811
486
  }
812
- .bg-black {
813
- --tw-bg-opacity: 1;
814
- background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
487
+ .ErrorMessage_dismissButton__m4xi6:disabled {
488
+ cursor: not-allowed;
815
489
  }
816
- .bg-black\/50 {
817
- background-color: rgb(0 0 0 / 0.5);
490
+ .ErrorMessage_dismissButton__m4xi6 {
491
+ padding: 0.25rem;
492
+ border-radius: 9999px;
493
+ transition-property: color, background-color, border-color;
494
+ transition-duration: 200ms;
495
+ transition-timing-function: ease-out;
818
496
  }
819
- .bg-black\/60 {
820
- background-color: rgb(0 0 0 / 0.6);
497
+ .ErrorMessage_dismissButton__m4xi6:hover {
498
+ background-color: #fee2e2;
821
499
  }
822
- .bg-blue-50 {
823
- --tw-bg-opacity: 1;
824
- background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
500
+ .ErrorMessage_dismissButton__m4xi6:focus {
501
+ outline: none;
502
+ box-shadow: 0 0 0 2px #ef4444;
825
503
  }
826
- .bg-blue-500 {
827
- --tw-bg-opacity: 1;
828
- background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
504
+ .dark .ErrorMessage_dismissButton__m4xi6:hover {
505
+ background-color: rgba(153, 27, 27, 0.5);
829
506
  }
830
- .bg-blue-600 {
831
- --tw-bg-opacity: 1;
832
- background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
507
+
508
+ .ErrorMessage_dismissIcon__m4xi6 {
509
+ width: 1rem;
510
+ height: 1rem;
511
+ color: #ef4444;
833
512
  }
834
- .bg-gray-100 {
835
- --tw-bg-opacity: 1;
836
- background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
513
+ .dark .ErrorMessage_dismissIcon__m4xi6 {
514
+ color: #f87171;
837
515
  }
838
- .bg-gray-400 {
839
- --tw-bg-opacity: 1;
840
- background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
516
+
517
+ .ErrorMessage_retryButton__m4xi6 {
518
+ -webkit-appearance: none;
519
+ -moz-appearance: none;
520
+ appearance: none;
521
+ background: none;
522
+ border: none;
523
+ padding: 0;
524
+ margin: 0;
525
+ font: inherit;
526
+ color: inherit;
527
+ cursor: pointer;
841
528
  }
842
- .bg-gray-50 {
843
- --tw-bg-opacity: 1;
844
- background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
529
+ .ErrorMessage_retryButton__m4xi6:disabled {
530
+ cursor: not-allowed;
845
531
  }
846
- .bg-gray-500 {
847
- --tw-bg-opacity: 1;
848
- background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
532
+ .ErrorMessage_retryButton__m4xi6 {
533
+ width: 100%;
534
+ padding: 0.5rem;
535
+ border-radius: 0.375rem;
536
+ background-color: #fee2e2;
537
+ color: #b91c1c;
538
+ font-weight: 500;
539
+ font-size: 0.875rem;
540
+ line-height: 1.5;
541
+ transition-property: color, background-color, border-color;
542
+ transition-duration: 200ms;
543
+ transition-timing-function: ease-out;
849
544
  }
850
- .bg-green-600 {
851
- --tw-bg-opacity: 1;
852
- background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
545
+ .ErrorMessage_retryButton__m4xi6:hover {
546
+ background-color: #fecaca;
853
547
  }
854
- .bg-red-100 {
855
- --tw-bg-opacity: 1;
856
- background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
548
+ .ErrorMessage_retryButton__m4xi6:focus {
549
+ outline: none;
550
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #ef4444;
857
551
  }
858
- .bg-red-50 {
859
- --tw-bg-opacity: 1;
860
- background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
552
+ .dark .ErrorMessage_retryButton__m4xi6 {
553
+ background-color: rgba(153, 27, 27, 0.5);
554
+ color: #fecaca;
861
555
  }
862
- .bg-red-500 {
863
- --tw-bg-opacity: 1;
864
- background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
556
+ .dark .ErrorMessage_retryButton__m4xi6:hover {
557
+ background-color: #991b1b;
865
558
  }
866
- .bg-red-600 {
867
- --tw-bg-opacity: 1;
868
- background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
559
+
560
+ /* components/Controls/Timer.module.scss */
561
+ @keyframes pulse {
562
+ 0%, 100% {
563
+ opacity: 1;
564
+ }
565
+ 50% {
566
+ opacity: 0.5;
567
+ }
869
568
  }
870
- .bg-white {
871
- --tw-bg-opacity: 1;
872
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
569
+ @keyframes pulse-record {
570
+ 0%, 100% {
571
+ opacity: 1;
572
+ }
573
+ 50% {
574
+ opacity: 0.5;
575
+ }
873
576
  }
874
- .bg-white\/10 {
875
- background-color: rgb(255 255 255 / 0.1);
577
+ @keyframes spin {
578
+ from {
579
+ transform: rotate(0deg);
580
+ }
581
+ to {
582
+ transform: rotate(360deg);
583
+ }
876
584
  }
877
- .bg-white\/30 {
878
- background-color: rgb(255 255 255 / 0.3);
585
+ @keyframes fade-in {
586
+ 0% {
587
+ opacity: 0;
588
+ }
589
+ 100% {
590
+ opacity: 1;
591
+ }
879
592
  }
880
- .bg-gradient-to-t {
881
- background-image: linear-gradient(to top, var(--tw-gradient-stops));
593
+ @keyframes slide-up {
594
+ 0% {
595
+ transform: translateY(10px);
596
+ opacity: 0;
597
+ }
598
+ 100% {
599
+ transform: translateY(0);
600
+ opacity: 1;
601
+ }
882
602
  }
883
- .from-black\/80 {
884
- --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
885
- --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
886
- --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
603
+ @keyframes countdown-scale {
604
+ 0% {
605
+ transform: scale(0.5);
606
+ opacity: 0;
607
+ }
608
+ 50% {
609
+ transform: scale(1.2);
610
+ opacity: 1;
611
+ }
612
+ 100% {
613
+ transform: scale(1);
614
+ opacity: 1;
615
+ }
887
616
  }
888
- .to-transparent {
889
- --tw-gradient-to: transparent var(--tw-gradient-to-position);
617
+ .Timer_timer__qru97 {
618
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
619
+ font-size: 0.875rem;
620
+ line-height: 1.5;
621
+ font-weight: 500;
622
+ font-variant-numeric: tabular-nums;
890
623
  }
891
- .p-1 {
892
- padding: 0.25rem;
624
+
625
+ .Timer_colorDefault__qru97 {
626
+ color: #374151;
893
627
  }
894
- .p-1\.5 {
895
- padding: 0.375rem;
628
+ .dark .Timer_colorDefault__qru97 {
629
+ color: #d1d5db;
896
630
  }
897
- .p-2 {
898
- padding: 0.5rem;
631
+
632
+ .Timer_colorPaused__qru97 {
633
+ color: #d97706;
899
634
  }
900
- .p-3 {
901
- padding: 0.75rem;
635
+ .dark .Timer_colorPaused__qru97 {
636
+ color: #fbbf24;
902
637
  }
903
- .p-4 {
904
- padding: 1rem;
638
+
639
+ .Timer_colorWarning__qru97 {
640
+ color: #d97706;
905
641
  }
906
- .p-6 {
907
- padding: 1.5rem;
642
+ .dark .Timer_colorWarning__qru97 {
643
+ color: #fbbf24;
908
644
  }
909
- .px-2 {
910
- padding-left: 0.5rem;
911
- padding-right: 0.5rem;
645
+
646
+ .Timer_colorCritical__qru97 {
647
+ color: #dc2626;
912
648
  }
913
- .px-4 {
914
- padding-left: 1rem;
915
- padding-right: 1rem;
649
+ .dark .Timer_colorCritical__qru97 {
650
+ color: #f87171;
916
651
  }
917
- .px-6 {
918
- padding-left: 1.5rem;
919
- padding-right: 1.5rem;
652
+
653
+ .Timer_maxDuration__qru97 {
654
+ color: #9ca3af;
920
655
  }
921
- .py-1 {
922
- padding-top: 0.25rem;
923
- padding-bottom: 0.25rem;
656
+ .dark .Timer_maxDuration__qru97 {
657
+ color: #6b7280;
924
658
  }
925
- .py-2 {
926
- padding-top: 0.5rem;
927
- padding-bottom: 0.5rem;
659
+
660
+ /* components/Trigger/Trigger.module.scss */
661
+ @keyframes pulse {
662
+ 0%, 100% {
663
+ opacity: 1;
664
+ }
665
+ 50% {
666
+ opacity: 0.5;
667
+ }
928
668
  }
929
- .py-2\.5 {
930
- padding-top: 0.625rem;
931
- padding-bottom: 0.625rem;
669
+ @keyframes pulse-record {
670
+ 0%, 100% {
671
+ opacity: 1;
672
+ }
673
+ 50% {
674
+ opacity: 0.5;
675
+ }
932
676
  }
933
- .py-4 {
934
- padding-top: 1rem;
935
- padding-bottom: 1rem;
677
+ @keyframes spin {
678
+ from {
679
+ transform: rotate(0deg);
680
+ }
681
+ to {
682
+ transform: rotate(360deg);
683
+ }
936
684
  }
937
- .text-center {
938
- text-align: center;
685
+ @keyframes fade-in {
686
+ 0% {
687
+ opacity: 0;
688
+ }
689
+ 100% {
690
+ opacity: 1;
691
+ }
939
692
  }
940
- .font-mono {
941
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
693
+ @keyframes slide-up {
694
+ 0% {
695
+ transform: translateY(10px);
696
+ opacity: 0;
697
+ }
698
+ 100% {
699
+ transform: translateY(0);
700
+ opacity: 1;
701
+ }
942
702
  }
943
- .text-7xl {
944
- font-size: 4.5rem;
945
- line-height: 1;
703
+ @keyframes countdown-scale {
704
+ 0% {
705
+ transform: scale(0.5);
706
+ opacity: 0;
707
+ }
708
+ 50% {
709
+ transform: scale(1.2);
710
+ opacity: 1;
711
+ }
712
+ 100% {
713
+ transform: scale(1);
714
+ opacity: 1;
715
+ }
716
+ }
717
+ .Trigger_trigger__dtqfb {
718
+ -webkit-appearance: none;
719
+ -moz-appearance: none;
720
+ appearance: none;
721
+ background: none;
722
+ border: none;
723
+ padding: 0;
724
+ margin: 0;
725
+ font: inherit;
726
+ color: inherit;
727
+ cursor: pointer;
728
+ }
729
+ .Trigger_trigger__dtqfb:disabled {
730
+ cursor: not-allowed;
731
+ }
732
+ .Trigger_trigger__dtqfb {
733
+ position: fixed;
734
+ display: flex;
735
+ align-items: center;
736
+ justify-content: center;
737
+ gap: 0.5rem;
738
+ padding: 0.625rem 1rem;
739
+ border-radius: 9999px;
740
+ font-weight: 500;
741
+ font-size: 0.875rem;
742
+ line-height: 1.5;
743
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
744
+ background-color: #dc2626;
745
+ color: white;
746
+ transition-property: all;
747
+ transition-duration: 200ms;
748
+ transition-timing-function: ease-out;
749
+ }
750
+ .Trigger_trigger__dtqfb:hover:not(:disabled) {
751
+ background-color: #b91c1c;
752
+ transform: scale(1.05);
753
+ }
754
+ .Trigger_trigger__dtqfb:active:not(:disabled) {
755
+ background-color: #991b1b;
756
+ transform: scale(0.95);
757
+ }
758
+ .Trigger_trigger__dtqfb:focus {
759
+ outline: none;
760
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1), 0 0 0 2px white, 0 0 0 4px #ef4444;
761
+ }
762
+ .Trigger_trigger__dtqfb:disabled {
763
+ opacity: 0.5;
764
+ cursor: not-allowed;
765
+ }
766
+ .Trigger_trigger__dtqfb:disabled:hover {
767
+ background-color: #dc2626;
768
+ transform: none;
769
+ }
770
+
771
+ .Trigger_topLeft__dtqfb {
772
+ top: 1rem;
773
+ left: 1rem;
774
+ }
775
+
776
+ .Trigger_topRight__dtqfb {
777
+ top: 1rem;
778
+ right: 1rem;
779
+ }
780
+
781
+ .Trigger_bottomLeft__dtqfb {
782
+ bottom: 1rem;
783
+ left: 1rem;
784
+ }
785
+
786
+ .Trigger_bottomRight__dtqfb {
787
+ bottom: 1rem;
788
+ right: 1rem;
789
+ }
790
+
791
+ .Trigger_icon__dtqfb {
792
+ width: 1.25rem;
793
+ height: 1.25rem;
794
+ }
795
+
796
+ /* components/Preview/VideoPlayer.module.scss */
797
+ @keyframes pulse {
798
+ 0%, 100% {
799
+ opacity: 1;
800
+ }
801
+ 50% {
802
+ opacity: 0.5;
803
+ }
804
+ }
805
+ @keyframes pulse-record {
806
+ 0%, 100% {
807
+ opacity: 1;
808
+ }
809
+ 50% {
810
+ opacity: 0.5;
811
+ }
812
+ }
813
+ @keyframes spin {
814
+ from {
815
+ transform: rotate(0deg);
816
+ }
817
+ to {
818
+ transform: rotate(360deg);
819
+ }
820
+ }
821
+ @keyframes fade-in {
822
+ 0% {
823
+ opacity: 0;
824
+ }
825
+ 100% {
826
+ opacity: 1;
827
+ }
828
+ }
829
+ @keyframes slide-up {
830
+ 0% {
831
+ transform: translateY(10px);
832
+ opacity: 0;
833
+ }
834
+ 100% {
835
+ transform: translateY(0);
836
+ opacity: 1;
837
+ }
838
+ }
839
+ @keyframes countdown-scale {
840
+ 0% {
841
+ transform: scale(0.5);
842
+ opacity: 0;
843
+ }
844
+ 50% {
845
+ transform: scale(1.2);
846
+ opacity: 1;
847
+ }
848
+ 100% {
849
+ transform: scale(1);
850
+ opacity: 1;
851
+ }
852
+ }
853
+ .VideoPlayer_container__4wok5 {
854
+ position: relative;
855
+ background-color: black;
856
+ border-radius: 0.5rem;
857
+ overflow: hidden;
858
+ }
859
+
860
+ .VideoPlayer_video__4wok5 {
861
+ width: 100%;
862
+ height: auto;
863
+ }
864
+
865
+ .VideoPlayer_controlsOverlay__4wok5 {
866
+ position: absolute;
867
+ bottom: 0;
868
+ left: 0;
869
+ right: 0;
870
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
871
+ padding: 0.75rem;
872
+ }
873
+
874
+ .VideoPlayer_progressWrapper__4wok5 {
875
+ display: flex;
876
+ align-items: center;
877
+ justify-content: center;
878
+ gap: 0.5rem;
879
+ margin-bottom: 0.5rem;
880
+ }
881
+
882
+ .VideoPlayer_progressSlider__4wok5 {
883
+ flex: 1;
884
+ height: 0.25rem;
885
+ border-radius: 9999px;
886
+ -webkit-appearance: none;
887
+ -moz-appearance: none;
888
+ appearance: none;
889
+ cursor: pointer;
890
+ background-color: rgba(255, 255, 255, 0.3);
891
+ }
892
+ .VideoPlayer_progressSlider__4wok5::-webkit-slider-thumb {
893
+ -webkit-appearance: none;
894
+ appearance: none;
895
+ width: 0.75rem;
896
+ height: 0.75rem;
897
+ border-radius: 9999px;
898
+ background-color: white;
899
+ }
900
+ .VideoPlayer_progressSlider__4wok5::-moz-range-thumb {
901
+ width: 0.75rem;
902
+ height: 0.75rem;
903
+ border-radius: 9999px;
904
+ background-color: white;
905
+ border: none;
906
+ }
907
+
908
+ .VideoPlayer_bottomControls__4wok5 {
909
+ display: flex;
910
+ align-items: center;
911
+ justify-content: space-between;
912
+ }
913
+
914
+ .VideoPlayer_leftControls__4wok5 {
915
+ display: flex;
916
+ align-items: center;
917
+ justify-content: center;
918
+ gap: 0.5rem;
919
+ }
920
+
921
+ .VideoPlayer_playButton__4wok5 {
922
+ -webkit-appearance: none;
923
+ -moz-appearance: none;
924
+ appearance: none;
925
+ background: none;
926
+ border: none;
927
+ padding: 0;
928
+ margin: 0;
929
+ font: inherit;
930
+ color: inherit;
931
+ cursor: pointer;
932
+ }
933
+ .VideoPlayer_playButton__4wok5:disabled {
934
+ cursor: not-allowed;
935
+ }
936
+ .VideoPlayer_playButton__4wok5 {
937
+ padding: 0.375rem;
938
+ border-radius: 9999px;
939
+ transition-property: color, background-color, border-color;
940
+ transition-duration: 200ms;
941
+ transition-timing-function: ease-out;
942
+ }
943
+ .VideoPlayer_playButton__4wok5:hover {
944
+ background-color: rgba(255, 255, 255, 0.2);
945
+ }
946
+ .VideoPlayer_playButton__4wok5:focus {
947
+ outline: none;
948
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
949
+ }
950
+
951
+ .VideoPlayer_playIcon__4wok5 {
952
+ width: 1rem;
953
+ height: 1rem;
954
+ color: white;
955
+ }
956
+
957
+ .VideoPlayer_timeDisplay__4wok5 {
958
+ color: rgba(255, 255, 255, 0.8);
959
+ font-size: 0.75rem;
960
+ line-height: 1.5;
961
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
962
+ font-variant-numeric: tabular-nums;
963
+ }
964
+
965
+ /* components/Controls/RecordingControls.module.scss */
966
+ @keyframes pulse {
967
+ 0%, 100% {
968
+ opacity: 1;
969
+ }
970
+ 50% {
971
+ opacity: 0.5;
972
+ }
973
+ }
974
+ @keyframes pulse-record {
975
+ 0%, 100% {
976
+ opacity: 1;
977
+ }
978
+ 50% {
979
+ opacity: 0.5;
980
+ }
981
+ }
982
+ @keyframes spin {
983
+ from {
984
+ transform: rotate(0deg);
985
+ }
986
+ to {
987
+ transform: rotate(360deg);
988
+ }
989
+ }
990
+ @keyframes fade-in {
991
+ 0% {
992
+ opacity: 0;
993
+ }
994
+ 100% {
995
+ opacity: 1;
996
+ }
997
+ }
998
+ @keyframes slide-up {
999
+ 0% {
1000
+ transform: translateY(10px);
1001
+ opacity: 0;
1002
+ }
1003
+ 100% {
1004
+ transform: translateY(0);
1005
+ opacity: 1;
1006
+ }
1007
+ }
1008
+ @keyframes countdown-scale {
1009
+ 0% {
1010
+ transform: scale(0.5);
1011
+ opacity: 0;
1012
+ }
1013
+ 50% {
1014
+ transform: scale(1.2);
1015
+ opacity: 1;
1016
+ }
1017
+ 100% {
1018
+ transform: scale(1);
1019
+ opacity: 1;
1020
+ }
1021
+ }
1022
+ .RecordingControls_controls__aqrrv {
1023
+ position: fixed;
1024
+ display: flex;
1025
+ align-items: center;
1026
+ justify-content: center;
1027
+ gap: 0.75rem;
1028
+ padding: 0.625rem 1rem;
1029
+ border-radius: 9999px;
1030
+ background-color: white;
1031
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
1032
+ border: 1px solid #e5e7eb;
1033
+ animation: slide-up 300ms ease-out;
1034
+ }
1035
+ .dark .RecordingControls_controls__aqrrv {
1036
+ background-color: #1f2937;
1037
+ border-color: #374151;
1038
+ }
1039
+
1040
+ .RecordingControls_topLeft__aqrrv {
1041
+ top: 1rem;
1042
+ left: 1rem;
1043
+ }
1044
+
1045
+ .RecordingControls_topRight__aqrrv {
1046
+ top: 1rem;
1047
+ right: 1rem;
1048
+ }
1049
+
1050
+ .RecordingControls_bottomLeft__aqrrv {
1051
+ bottom: 1rem;
1052
+ left: 1rem;
1053
+ }
1054
+
1055
+ .RecordingControls_bottomRight__aqrrv {
1056
+ bottom: 1rem;
1057
+ right: 1rem;
1058
+ }
1059
+
1060
+ .RecordingControls_statusSection__aqrrv {
1061
+ display: flex;
1062
+ align-items: center;
1063
+ justify-content: center;
1064
+ gap: 0.5rem;
946
1065
  }
947
- .text-lg {
948
- font-size: 1.125rem;
949
- line-height: 1.75rem;
1066
+
1067
+ .RecordingControls_statusIndicator__aqrrv {
1068
+ display: flex;
1069
+ align-items: center;
1070
+ justify-content: center;
1071
+ gap: 0.375rem;
950
1072
  }
951
- .text-sm {
952
- font-size: 0.875rem;
953
- line-height: 1.25rem;
1073
+
1074
+ .RecordingControls_statusRecording__aqrrv {
1075
+ color: #ef4444;
954
1076
  }
955
- .text-xs {
956
- font-size: 0.75rem;
957
- line-height: 1rem;
1077
+
1078
+ .RecordingControls_statusPaused__aqrrv {
1079
+ color: #f59e0b;
958
1080
  }
959
- .font-bold {
960
- font-weight: 700;
1081
+
1082
+ .RecordingControls_recordingIcon__aqrrv {
1083
+ width: 0.75rem;
1084
+ height: 0.75rem;
1085
+ animation: pulse-record 1s ease-in-out infinite;
961
1086
  }
962
- .font-medium {
963
- font-weight: 500;
1087
+
1088
+ .RecordingControls_pauseIconSmall__aqrrv {
1089
+ width: 0.75rem;
1090
+ height: 0.75rem;
964
1091
  }
965
- .font-semibold {
1092
+
1093
+ .RecordingControls_statusLabel__aqrrv {
1094
+ font-size: 0.75rem;
1095
+ line-height: 1.5;
966
1096
  font-weight: 600;
967
- }
968
- .uppercase {
969
1097
  text-transform: uppercase;
970
1098
  }
971
- .tabular-nums {
972
- --tw-numeric-spacing: tabular-nums;
973
- font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
974
- }
975
- .text-amber-500 {
976
- --tw-text-opacity: 1;
977
- color: rgb(245 158 11 / var(--tw-text-opacity, 1));
978
- }
979
- .text-amber-600 {
980
- --tw-text-opacity: 1;
981
- color: rgb(217 119 6 / var(--tw-text-opacity, 1));
982
- }
983
- .text-blue-600 {
984
- --tw-text-opacity: 1;
985
- color: rgb(37 99 235 / var(--tw-text-opacity, 1));
1099
+
1100
+ .RecordingControls_buttonGroup__aqrrv {
1101
+ display: flex;
1102
+ align-items: center;
1103
+ justify-content: center;
1104
+ gap: 0.25rem;
1105
+ margin-left: 0.5rem;
986
1106
  }
987
- .text-gray-400 {
988
- --tw-text-opacity: 1;
989
- color: rgb(156 163 175 / var(--tw-text-opacity, 1));
1107
+
1108
+ .RecordingControls_controlButton__aqrrv {
1109
+ -webkit-appearance: none;
1110
+ -moz-appearance: none;
1111
+ appearance: none;
1112
+ background: none;
1113
+ border: none;
1114
+ padding: 0;
1115
+ margin: 0;
1116
+ font: inherit;
1117
+ color: inherit;
1118
+ cursor: pointer;
990
1119
  }
991
- .text-gray-500 {
992
- --tw-text-opacity: 1;
993
- color: rgb(107 114 128 / var(--tw-text-opacity, 1));
1120
+ .RecordingControls_controlButton__aqrrv:disabled {
1121
+ cursor: not-allowed;
994
1122
  }
995
- .text-gray-600 {
996
- --tw-text-opacity: 1;
997
- color: rgb(75 85 99 / var(--tw-text-opacity, 1));
1123
+ .RecordingControls_controlButton__aqrrv {
1124
+ padding: 0.5rem;
1125
+ border-radius: 9999px;
1126
+ transition-property: color, background-color, border-color;
1127
+ transition-duration: 200ms;
1128
+ transition-timing-function: ease-out;
998
1129
  }
999
- .text-gray-700 {
1000
- --tw-text-opacity: 1;
1001
- color: rgb(55 65 81 / var(--tw-text-opacity, 1));
1130
+ .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
1131
+ background-color: #f3f4f6;
1002
1132
  }
1003
- .text-gray-900 {
1004
- --tw-text-opacity: 1;
1005
- color: rgb(17 24 39 / var(--tw-text-opacity, 1));
1133
+ .RecordingControls_controlButton__aqrrv:focus {
1134
+ outline: none;
1135
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #3b82f6;
1006
1136
  }
1007
- .text-red-500 {
1008
- --tw-text-opacity: 1;
1009
- color: rgb(239 68 68 / var(--tw-text-opacity, 1));
1137
+ .dark .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
1138
+ background-color: #374151;
1010
1139
  }
1011
- .text-red-600 {
1012
- --tw-text-opacity: 1;
1013
- color: rgb(220 38 38 / var(--tw-text-opacity, 1));
1140
+
1141
+ .RecordingControls_stopButton__aqrrv {
1142
+ -webkit-appearance: none;
1143
+ -moz-appearance: none;
1144
+ appearance: none;
1145
+ background: none;
1146
+ border: none;
1147
+ padding: 0;
1148
+ margin: 0;
1149
+ font: inherit;
1150
+ color: inherit;
1151
+ cursor: pointer;
1014
1152
  }
1015
- .text-red-700 {
1016
- --tw-text-opacity: 1;
1017
- color: rgb(185 28 28 / var(--tw-text-opacity, 1));
1153
+ .RecordingControls_stopButton__aqrrv:disabled {
1154
+ cursor: not-allowed;
1018
1155
  }
1019
- .text-red-800 {
1020
- --tw-text-opacity: 1;
1021
- color: rgb(153 27 27 / var(--tw-text-opacity, 1));
1156
+ .RecordingControls_stopButton__aqrrv {
1157
+ padding: 0.5rem;
1158
+ border-radius: 9999px;
1159
+ transition-property: color, background-color, border-color;
1160
+ transition-duration: 200ms;
1161
+ transition-timing-function: ease-out;
1022
1162
  }
1023
- .text-white {
1024
- --tw-text-opacity: 1;
1025
- color: rgb(255 255 255 / var(--tw-text-opacity, 1));
1163
+ .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
1164
+ background-color: #fee2e2;
1026
1165
  }
1027
- .text-white\/80 {
1028
- color: rgb(255 255 255 / 0.8);
1166
+ .RecordingControls_stopButton__aqrrv:focus {
1167
+ outline: none;
1168
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #ef4444;
1029
1169
  }
1030
- .opacity-25 {
1031
- opacity: 0.25;
1170
+ .dark .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
1171
+ background-color: rgba(127, 29, 29, 0.3);
1032
1172
  }
1033
- .opacity-75 {
1034
- opacity: 0.75;
1173
+
1174
+ .RecordingControls_buttonIcon__aqrrv {
1175
+ width: 1rem;
1176
+ height: 1rem;
1177
+ color: #4b5563;
1035
1178
  }
1036
- .shadow-2xl {
1037
- --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
1038
- --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
1039
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1179
+ .dark .RecordingControls_buttonIcon__aqrrv {
1180
+ color: #d1d5db;
1040
1181
  }
1041
- .shadow-lg {
1042
- --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
1043
- --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
1044
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1182
+
1183
+ .RecordingControls_stopIcon__aqrrv {
1184
+ width: 1rem;
1185
+ height: 1rem;
1186
+ color: #dc2626;
1045
1187
  }
1046
- .filter {
1047
- 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);
1188
+ .dark .RecordingControls_stopIcon__aqrrv {
1189
+ color: #f87171;
1048
1190
  }
1049
- .backdrop-blur-sm {
1050
- --tw-backdrop-blur: blur(4px);
1051
- backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
1191
+
1192
+ /* ScreenRecorder.module.scss */
1193
+ @keyframes pulse {
1194
+ 0%, 100% {
1195
+ opacity: 1;
1196
+ }
1197
+ 50% {
1198
+ opacity: 0.5;
1199
+ }
1052
1200
  }
1053
- .transition {
1054
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1055
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1056
- transition-duration: 150ms;
1201
+ @keyframes pulse-record {
1202
+ 0%, 100% {
1203
+ opacity: 1;
1204
+ }
1205
+ 50% {
1206
+ opacity: 0.5;
1207
+ }
1057
1208
  }
1058
- .transition-all {
1059
- transition-property: all;
1060
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1061
- transition-duration: 150ms;
1209
+ @keyframes spin {
1210
+ from {
1211
+ transform: rotate(0deg);
1212
+ }
1213
+ to {
1214
+ transform: rotate(360deg);
1215
+ }
1062
1216
  }
1063
- .transition-colors {
1064
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1065
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1066
- transition-duration: 150ms;
1217
+ @keyframes fade-in {
1218
+ 0% {
1219
+ opacity: 0;
1220
+ }
1221
+ 100% {
1222
+ opacity: 1;
1223
+ }
1067
1224
  }
1068
- .duration-150 {
1069
- transition-duration: 150ms;
1225
+ @keyframes slide-up {
1226
+ 0% {
1227
+ transform: translateY(10px);
1228
+ opacity: 0;
1229
+ }
1230
+ 100% {
1231
+ transform: translateY(0);
1232
+ opacity: 1;
1233
+ }
1070
1234
  }
1071
- .duration-200 {
1072
- transition-duration: 200ms;
1235
+ @keyframes countdown-scale {
1236
+ 0% {
1237
+ transform: scale(0.5);
1238
+ opacity: 0;
1239
+ }
1240
+ 50% {
1241
+ transform: scale(1.2);
1242
+ opacity: 1;
1243
+ }
1244
+ 100% {
1245
+ transform: scale(1);
1246
+ opacity: 1;
1247
+ }
1073
1248
  }
1074
- .ease-out {
1075
- transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
1249
+ .ScreenRecorder_spinner__l636w {
1250
+ animation: spin 1s linear infinite;
1251
+ width: 1rem;
1252
+ height: 1rem;
1076
1253
  }
1077
- .hover\:scale-105:hover {
1078
- --tw-scale-x: 1.05;
1079
- --tw-scale-y: 1.05;
1080
- transform: translate(var(--tw-translate-x), 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));
1254
+
1255
+ .ScreenRecorder_spinnerTrack__l636w {
1256
+ opacity: 0.25;
1081
1257
  }
1082
- .hover\:bg-blue-700:hover {
1083
- --tw-bg-opacity: 1;
1084
- background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
1258
+
1259
+ .ScreenRecorder_spinnerHead__l636w {
1260
+ opacity: 0.75;
1085
1261
  }
1086
- .hover\:bg-gray-100:hover {
1087
- --tw-bg-opacity: 1;
1088
- background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
1262
+
1263
+ .ScreenRecorder_requestingContent__l636w {
1264
+ display: flex;
1265
+ align-items: center;
1266
+ justify-content: center;
1267
+ gap: 0.5rem;
1089
1268
  }
1090
- .hover\:bg-gray-200:hover {
1091
- --tw-bg-opacity: 1;
1092
- background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
1269
+
1270
+ .ScreenRecorder_opacityReduced__l636w {
1271
+ opacity: 0.75;
1093
1272
  }
1094
- .hover\:bg-green-700:hover {
1095
- --tw-bg-opacity: 1;
1096
- background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
1273
+
1274
+ /* components/Preview/PreviewModal.module.scss */
1275
+ @keyframes pulse {
1276
+ 0%, 100% {
1277
+ opacity: 1;
1278
+ }
1279
+ 50% {
1280
+ opacity: 0.5;
1281
+ }
1097
1282
  }
1098
- .hover\:bg-red-100:hover {
1099
- --tw-bg-opacity: 1;
1100
- background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
1283
+ @keyframes pulse-record {
1284
+ 0%, 100% {
1285
+ opacity: 1;
1286
+ }
1287
+ 50% {
1288
+ opacity: 0.5;
1289
+ }
1101
1290
  }
1102
- .hover\:bg-red-200:hover {
1103
- --tw-bg-opacity: 1;
1104
- background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
1291
+ @keyframes spin {
1292
+ from {
1293
+ transform: rotate(0deg);
1294
+ }
1295
+ to {
1296
+ transform: rotate(360deg);
1297
+ }
1105
1298
  }
1106
- .hover\:bg-red-700:hover {
1107
- --tw-bg-opacity: 1;
1108
- background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
1299
+ @keyframes fade-in {
1300
+ 0% {
1301
+ opacity: 0;
1302
+ }
1303
+ 100% {
1304
+ opacity: 1;
1305
+ }
1109
1306
  }
1110
- .hover\:bg-white\/20:hover {
1111
- background-color: rgb(255 255 255 / 0.2);
1307
+ @keyframes slide-up {
1308
+ 0% {
1309
+ transform: translateY(10px);
1310
+ opacity: 0;
1311
+ }
1312
+ 100% {
1313
+ transform: translateY(0);
1314
+ opacity: 1;
1315
+ }
1112
1316
  }
1113
- .focus\:outline-none:focus {
1114
- outline: 2px solid transparent;
1115
- outline-offset: 2px;
1317
+ @keyframes countdown-scale {
1318
+ 0% {
1319
+ transform: scale(0.5);
1320
+ opacity: 0;
1321
+ }
1322
+ 50% {
1323
+ transform: scale(1.2);
1324
+ opacity: 1;
1325
+ }
1326
+ 100% {
1327
+ transform: scale(1);
1328
+ opacity: 1;
1329
+ }
1116
1330
  }
1117
- .focus\:ring-2:focus {
1118
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1119
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1120
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1331
+ .PreviewModal_overlay__va989 {
1332
+ position: fixed;
1333
+ top: 0;
1334
+ right: 0;
1335
+ bottom: 0;
1336
+ left: 0;
1337
+ display: flex;
1338
+ align-items: center;
1339
+ justify-content: center;
1340
+ padding: 1rem;
1341
+ background-color: rgba(0, 0, 0, 0.6);
1342
+ backdrop-filter: blur(4px);
1343
+ -webkit-backdrop-filter: blur(4px);
1344
+ animation: fade-in 200ms ease-out;
1121
1345
  }
1122
- .focus\:ring-blue-500:focus {
1123
- --tw-ring-opacity: 1;
1124
- --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
1346
+
1347
+ .PreviewModal_modal__va989 {
1348
+ position: relative;
1349
+ width: 100%;
1350
+ max-width: 42rem;
1351
+ background-color: white;
1352
+ border-radius: 0.75rem;
1353
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
1354
+ animation: slide-up 300ms ease-out;
1125
1355
  }
1126
- .focus\:ring-gray-500:focus {
1127
- --tw-ring-opacity: 1;
1128
- --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
1356
+ .PreviewModal_modal__va989:focus {
1357
+ outline: none;
1129
1358
  }
1130
- .focus\:ring-green-500:focus {
1131
- --tw-ring-opacity: 1;
1132
- --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
1359
+ .dark .PreviewModal_modal__va989 {
1360
+ background-color: #1f2937;
1133
1361
  }
1134
- .focus\:ring-red-500:focus {
1135
- --tw-ring-opacity: 1;
1136
- --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
1362
+
1363
+ .PreviewModal_header__va989 {
1364
+ display: flex;
1365
+ align-items: center;
1366
+ justify-content: space-between;
1367
+ padding: 1rem 1.5rem;
1368
+ border-bottom: 1px solid #e5e7eb;
1137
1369
  }
1138
- .focus\:ring-white\/50:focus {
1139
- --tw-ring-color: rgb(255 255 255 / 0.5);
1370
+ .dark .PreviewModal_header__va989 {
1371
+ border-color: #374151;
1140
1372
  }
1141
- .focus\:ring-offset-2:focus {
1142
- --tw-ring-offset-width: 2px;
1373
+
1374
+ .PreviewModal_title__va989 {
1375
+ font-size: 1.125rem;
1376
+ line-height: 1.25;
1377
+ font-weight: 600;
1378
+ color: #111827;
1143
1379
  }
1144
- .active\:scale-95:active {
1145
- --tw-scale-x: .95;
1146
- --tw-scale-y: .95;
1147
- transform: translate(var(--tw-translate-x), 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));
1380
+ .dark .PreviewModal_title__va989 {
1381
+ color: white;
1148
1382
  }
1149
- .active\:bg-red-800:active {
1150
- --tw-bg-opacity: 1;
1151
- background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
1383
+
1384
+ .PreviewModal_closeButton__va989 {
1385
+ -webkit-appearance: none;
1386
+ -moz-appearance: none;
1387
+ appearance: none;
1388
+ background: none;
1389
+ border: none;
1390
+ padding: 0;
1391
+ margin: 0;
1392
+ font: inherit;
1393
+ color: inherit;
1394
+ cursor: pointer;
1152
1395
  }
1153
- .disabled\:cursor-not-allowed:disabled {
1396
+ .PreviewModal_closeButton__va989:disabled {
1154
1397
  cursor: not-allowed;
1155
1398
  }
1156
- .disabled\:opacity-50:disabled {
1157
- opacity: 0.5;
1399
+ .PreviewModal_closeButton__va989 {
1400
+ padding: 0.5rem;
1401
+ border-radius: 9999px;
1402
+ transition-property: color, background-color, border-color;
1403
+ transition-duration: 200ms;
1404
+ transition-timing-function: ease-out;
1405
+ }
1406
+ .PreviewModal_closeButton__va989:hover {
1407
+ background-color: #f3f4f6;
1158
1408
  }
1159
- .disabled\:hover\:bg-red-600:hover:disabled {
1160
- --tw-bg-opacity: 1;
1161
- background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
1409
+ .PreviewModal_closeButton__va989:focus {
1410
+ outline: none;
1411
+ box-shadow: 0 0 0 2px #3b82f6;
1162
1412
  }
1163
- .dark\:border-gray-700:is(.dark *) {
1164
- --tw-border-opacity: 1;
1165
- border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
1413
+ .dark .PreviewModal_closeButton__va989:hover {
1414
+ background-color: #374151;
1166
1415
  }
1167
- .dark\:border-red-800:is(.dark *) {
1168
- --tw-border-opacity: 1;
1169
- border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
1416
+
1417
+ .PreviewModal_closeIcon__va989 {
1418
+ width: 1.25rem;
1419
+ height: 1.25rem;
1420
+ color: #6b7280;
1170
1421
  }
1171
- .dark\:bg-amber-900\/20:is(.dark *) {
1172
- background-color: rgb(120 53 15 / 0.2);
1422
+ .dark .PreviewModal_closeIcon__va989 {
1423
+ color: #9ca3af;
1173
1424
  }
1174
- .dark\:bg-blue-900\/20:is(.dark *) {
1175
- background-color: rgb(30 58 138 / 0.2);
1425
+
1426
+ .PreviewModal_content__va989 {
1427
+ padding: 1.5rem;
1176
1428
  }
1177
- .dark\:bg-gray-700:is(.dark *) {
1178
- --tw-bg-opacity: 1;
1179
- background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
1429
+
1430
+ .PreviewModal_videoWrapper__va989 {
1431
+ width: 100%;
1432
+ aspect-ratio: 16/9;
1180
1433
  }
1181
- .dark\:bg-gray-800:is(.dark *) {
1182
- --tw-bg-opacity: 1;
1183
- background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
1434
+
1435
+ .PreviewModal_recordingInfo__va989 {
1436
+ margin-top: 1rem;
1437
+ font-size: 0.875rem;
1438
+ line-height: 1.5;
1439
+ color: #6b7280;
1440
+ text-align: center;
1184
1441
  }
1185
- .dark\:bg-red-800\/50:is(.dark *) {
1186
- background-color: rgb(153 27 27 / 0.5);
1442
+ .dark .PreviewModal_recordingInfo__va989 {
1443
+ color: #9ca3af;
1187
1444
  }
1188
- .dark\:bg-red-900\/20:is(.dark *) {
1189
- background-color: rgb(127 29 29 / 0.2);
1445
+
1446
+ .PreviewModal_actions__va989 {
1447
+ display: flex;
1448
+ align-items: center;
1449
+ justify-content: center;
1450
+ gap: 0.75rem;
1451
+ padding: 1rem 1.5rem;
1452
+ border-top: 1px solid #e5e7eb;
1190
1453
  }
1191
- .dark\:bg-red-900\/30:is(.dark *) {
1192
- background-color: rgb(127 29 29 / 0.3);
1454
+ .dark .PreviewModal_actions__va989 {
1455
+ border-color: #374151;
1193
1456
  }
1194
- .dark\:text-amber-400:is(.dark *) {
1195
- --tw-text-opacity: 1;
1196
- color: rgb(251 191 36 / var(--tw-text-opacity, 1));
1457
+
1458
+ .PreviewModal_actionButton__va989, .PreviewModal_doneButton__va989, .PreviewModal_reRecordButton__va989, .PreviewModal_downloadButton__va989 {
1459
+ -webkit-appearance: none;
1460
+ -moz-appearance: none;
1461
+ appearance: none;
1462
+ background: none;
1463
+ border: none;
1464
+ padding: 0;
1465
+ margin: 0;
1466
+ font: inherit;
1467
+ color: inherit;
1468
+ cursor: pointer;
1197
1469
  }
1198
- .dark\:text-blue-400:is(.dark *) {
1199
- --tw-text-opacity: 1;
1200
- color: rgb(96 165 250 / var(--tw-text-opacity, 1));
1470
+ .PreviewModal_actionButton__va989:disabled, .PreviewModal_doneButton__va989:disabled, .PreviewModal_reRecordButton__va989:disabled, .PreviewModal_downloadButton__va989:disabled {
1471
+ cursor: not-allowed;
1201
1472
  }
1202
- .dark\:text-gray-300:is(.dark *) {
1203
- --tw-text-opacity: 1;
1204
- color: rgb(209 213 219 / var(--tw-text-opacity, 1));
1473
+ .PreviewModal_actionButton__va989, .PreviewModal_doneButton__va989, .PreviewModal_reRecordButton__va989, .PreviewModal_downloadButton__va989 {
1474
+ display: flex;
1475
+ align-items: center;
1476
+ justify-content: center;
1477
+ gap: 0.5rem;
1478
+ padding: 0.5rem 1rem;
1479
+ border-radius: 0.5rem;
1480
+ font-weight: 500;
1481
+ font-size: 0.875rem;
1482
+ line-height: 1.5;
1483
+ transition-property: all;
1484
+ transition-duration: 200ms;
1485
+ transition-timing-function: ease-out;
1205
1486
  }
1206
- .dark\:text-gray-400:is(.dark *) {
1207
- --tw-text-opacity: 1;
1208
- color: rgb(156 163 175 / var(--tw-text-opacity, 1));
1487
+ .PreviewModal_actionButton__va989:disabled, .PreviewModal_doneButton__va989:disabled, .PreviewModal_reRecordButton__va989:disabled, .PreviewModal_downloadButton__va989:disabled {
1488
+ opacity: 0.5;
1489
+ pointer-events: none;
1209
1490
  }
1210
- .dark\:text-gray-500:is(.dark *) {
1211
- --tw-text-opacity: 1;
1212
- color: rgb(107 114 128 / var(--tw-text-opacity, 1));
1491
+ .PreviewModal_actionButton__va989, .PreviewModal_doneButton__va989, .PreviewModal_reRecordButton__va989, .PreviewModal_downloadButton__va989 {
1492
+ gap: 0.5rem;
1213
1493
  }
1214
- .dark\:text-red-200:is(.dark *) {
1215
- --tw-text-opacity: 1;
1216
- color: rgb(254 202 202 / var(--tw-text-opacity, 1));
1494
+
1495
+ .PreviewModal_downloadButton__va989 {
1496
+ background-color: #2563eb;
1497
+ color: white;
1217
1498
  }
1218
- .dark\:text-red-300:is(.dark *) {
1219
- --tw-text-opacity: 1;
1220
- color: rgb(252 165 165 / var(--tw-text-opacity, 1));
1499
+ .PreviewModal_downloadButton__va989:hover:not(:disabled) {
1500
+ background-color: #1d4ed8;
1221
1501
  }
1222
- .dark\:text-red-400:is(.dark *) {
1223
- --tw-text-opacity: 1;
1224
- color: rgb(248 113 113 / var(--tw-text-opacity, 1));
1502
+ .PreviewModal_downloadButton__va989:focus {
1503
+ outline: none;
1504
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #3b82f6;
1225
1505
  }
1226
- .dark\:text-white:is(.dark *) {
1227
- --tw-text-opacity: 1;
1228
- color: rgb(255 255 255 / var(--tw-text-opacity, 1));
1506
+ .dark .PreviewModal_downloadButton__va989:focus {
1507
+ box-shadow: 0 0 0 2px #1f2937, 0 0 0 4px #3b82f6;
1229
1508
  }
1230
- .dark\:hover\:bg-gray-600:hover:is(.dark *) {
1231
- --tw-bg-opacity: 1;
1232
- background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
1509
+
1510
+ .PreviewModal_reRecordButton__va989 {
1511
+ background-color: #f3f4f6;
1512
+ color: #374151;
1233
1513
  }
1234
- .dark\:hover\:bg-gray-700:hover:is(.dark *) {
1235
- --tw-bg-opacity: 1;
1236
- background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
1514
+ .PreviewModal_reRecordButton__va989:hover:not(:disabled) {
1515
+ background-color: #e5e7eb;
1237
1516
  }
1238
- .dark\:hover\:bg-red-800:hover:is(.dark *) {
1239
- --tw-bg-opacity: 1;
1240
- background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
1517
+ .PreviewModal_reRecordButton__va989:focus {
1518
+ outline: none;
1519
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #6b7280;
1241
1520
  }
1242
- .dark\:hover\:bg-red-800\/50:hover:is(.dark *) {
1243
- background-color: rgb(153 27 27 / 0.5);
1521
+ .dark .PreviewModal_reRecordButton__va989 {
1522
+ background-color: #374151;
1523
+ color: #d1d5db;
1244
1524
  }
1245
- .dark\:hover\:bg-red-900\/30:hover:is(.dark *) {
1246
- background-color: rgb(127 29 29 / 0.3);
1525
+ .dark .PreviewModal_reRecordButton__va989:hover:not(:disabled) {
1526
+ background-color: #4b5563;
1247
1527
  }
1248
- .dark\:focus\:ring-offset-gray-800:focus:is(.dark *) {
1249
- --tw-ring-offset-color: #1f2937;
1528
+ .dark .PreviewModal_reRecordButton__va989:focus {
1529
+ box-shadow: 0 0 0 2px #1f2937, 0 0 0 4px #6b7280;
1250
1530
  }
1251
- .\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb {
1252
- height: 0.75rem;
1531
+
1532
+ .PreviewModal_doneButton__va989 {
1533
+ background-color: #16a34a;
1534
+ color: white;
1253
1535
  }
1254
- .\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb {
1255
- width: 0.75rem;
1536
+ .PreviewModal_doneButton__va989:hover:not(:disabled) {
1537
+ background-color: #15803d;
1256
1538
  }
1257
- .\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb {
1258
- -webkit-appearance: none;
1259
- appearance: none;
1539
+ .PreviewModal_doneButton__va989:focus {
1540
+ outline: none;
1541
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #22c55e;
1260
1542
  }
1261
- .\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb {
1262
- border-radius: 9999px;
1543
+ .dark .PreviewModal_doneButton__va989:focus {
1544
+ box-shadow: 0 0 0 2px #1f2937, 0 0 0 4px #22c55e;
1263
1545
  }
1264
- .\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb {
1265
- --tw-bg-opacity: 1;
1266
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
1546
+
1547
+ .PreviewModal_buttonIcon__va989 {
1548
+ width: 1rem;
1549
+ height: 1rem;
1267
1550
  }
1551
+