akhaliq HF Staff commited on
Commit
36ebebc
·
verified ·
1 Parent(s): da1592a

Upload style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. style.css +401 -50
style.css CHANGED
@@ -1,76 +1,427 @@
1
  * {
2
- box-sizing: border-box;
3
- padding: 0;
4
- margin: 0;
5
- font-family: sans-serif;
6
  }
7
 
8
- html,
9
- body {
10
- height: 100%;
 
 
 
 
 
 
 
 
 
11
  }
12
 
13
  body {
14
- padding: 32px;
 
 
 
 
15
  }
16
 
17
- body,
18
- #container {
19
- display: flex;
20
- flex-direction: column;
21
- justify-content: center;
22
- align-items: center;
23
  }
24
 
25
- #container {
26
- position: relative;
27
- gap: 0.4rem;
 
 
 
 
 
 
28
 
29
- width: 640px;
30
- height: 640px;
31
- max-width: 100%;
32
- max-height: 100%;
 
 
 
 
33
 
34
- border: 2px dashed #D1D5DB;
35
- border-radius: 0.75rem;
36
- overflow: hidden;
37
- cursor: pointer;
38
- margin: 1rem;
 
39
 
40
- background-size: 100% 100%;
41
- background-position: center;
42
- background-repeat: no-repeat;
43
- font-size: 18px;
 
 
44
  }
45
 
46
- #upload {
47
- display: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }
49
 
50
- svg {
51
- pointer-events: none;
52
  }
53
 
54
- #example {
55
- font-size: 14px;
56
- text-decoration: underline;
57
- cursor: pointer;
58
  }
59
 
60
- #example:hover {
61
- color: #2563EB;
62
  }
63
 
64
- .bounding-box {
65
- position: absolute;
66
- box-sizing: border-box;
67
- border: solid 2px;
 
 
68
  }
69
 
70
- .bounding-box-label {
71
- color: white;
72
- position: absolute;
73
- font-size: 12px;
74
- margin: -16px 0 0 -2px;
75
- padding: 1px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  }
 
1
  * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
 
5
  }
6
 
7
+ :root {
8
+ --primary: #007AFF;
9
+ --secondary: #5856D6;
10
+ --success: #34C759;
11
+ --warning: #FF9500;
12
+ --danger: #FF3B30;
13
+ --bg-primary: rgba(0, 0, 0, 0.85);
14
+ --bg-secondary: rgba(255, 255, 255, 0.1);
15
+ --bg-blur: rgba(255, 255, 255, 0.95);
16
+ --text-primary: #FFFFFF;
17
+ --text-secondary: rgba(255, 255, 255, 0.6);
18
+ --border: rgba(255, 255, 255, 0.15);
19
  }
20
 
21
  body {
22
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
23
+ background: #000;
24
+ color: var(--text-primary);
25
+ overflow: hidden;
26
+ height: 100vh;
27
  }
28
 
29
+ #app {
30
+ position: relative;
31
+ width: 100%;
32
+ height: 100vh;
 
 
33
  }
34
 
35
+ #app.dragging::after {
36
+ content: '';
37
+ position: absolute;
38
+ inset: 0;
39
+ background: rgba(0, 122, 255, 0.1);
40
+ border: 3px dashed var(--primary);
41
+ z-index: 10000;
42
+ pointer-events: none;
43
+ }
44
 
45
+ .video-container {
46
+ position: absolute;
47
+ inset: 0;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ background: #000;
52
+ }
53
 
54
+ .video-player {
55
+ width: 100%;
56
+ height: 100%;
57
+ object-fit: contain;
58
+ display: none;
59
+ }
60
 
61
+ .video-placeholder {
62
+ display: flex;
63
+ flex-direction: column;
64
+ align-items: center;
65
+ gap: 20px;
66
+ color: var(--text-secondary);
67
  }
68
 
69
+ .video-placeholder svg {
70
+ opacity: 0.3;
71
+ }
72
+
73
+ .overlay-ui {
74
+ position: absolute;
75
+ inset: 0;
76
+ pointer-events: none;
77
+ z-index: 100;
78
+ }
79
+
80
+ .overlay-ui > * {
81
+ pointer-events: auto;
82
+ }
83
+
84
+ .top-bar {
85
+ position: absolute;
86
+ top: 0;
87
+ left: 0;
88
+ right: 0;
89
+ padding: 20px 30px;
90
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent);
91
+ display: flex;
92
+ justify-content: space-between;
93
+ align-items: center;
94
+ backdrop-filter: blur(20px);
95
+ -webkit-backdrop-filter: blur(20px);
96
+ }
97
+
98
+ .app-title {
99
+ display: flex;
100
+ align-items: center;
101
+ gap: 12px;
102
+ font-size: 18px;
103
+ font-weight: 600;
104
+ }
105
+
106
+ .top-controls {
107
+ display: flex;
108
+ gap: 12px;
109
+ }
110
+
111
+ .icon-button {
112
+ display: flex;
113
+ align-items: center;
114
+ gap: 8px;
115
+ padding: 10px 16px;
116
+ background: var(--bg-secondary);
117
+ border: 1px solid var(--border);
118
+ border-radius: 12px;
119
+ color: var(--text-primary);
120
+ font-size: 14px;
121
+ font-weight: 500;
122
+ cursor: pointer;
123
+ transition: all 0.2s;
124
+ backdrop-filter: blur(20px);
125
+ -webkit-backdrop-filter: blur(20px);
126
+ }
127
+
128
+ .icon-button:hover {
129
+ background: rgba(255, 255, 255, 0.2);
130
+ transform: scale(1.02);
131
+ }
132
+
133
+ .icon-button.gpu-active {
134
+ background: var(--primary);
135
+ border-color: var(--primary);
136
+ }
137
+
138
+ .device-label {
139
+ font-size: 12px;
140
+ font-weight: 600;
141
+ text-transform: uppercase;
142
+ letter-spacing: 0.5px;
143
+ }
144
+
145
+ .caption-panel {
146
+ position: absolute;
147
+ right: -400px;
148
+ top: 0;
149
+ bottom: 0;
150
+ width: 400px;
151
+ background: var(--bg-blur);
152
+ backdrop-filter: blur(40px);
153
+ -webkit-backdrop-filter: blur(40px);
154
+ border-left: 1px solid var(--border);
155
+ transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
156
+ display: flex;
157
+ flex-direction: column;
158
+ color: #000;
159
+ }
160
+
161
+ .caption-panel.active {
162
+ right: 0;
163
+ }
164
+
165
+ .panel-header {
166
+ padding: 20px;
167
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
168
+ display: flex;
169
+ justify-content: space-between;
170
+ align-items: center;
171
+ }
172
+
173
+ .panel-header h2 {
174
+ font-size: 20px;
175
+ font-weight: 600;
176
+ }
177
+
178
+ .close-btn {
179
+ width: 32px;
180
+ height: 32px;
181
+ border-radius: 8px;
182
+ border: none;
183
+ background: rgba(0, 0, 0, 0.05);
184
+ color: #000;
185
+ cursor: pointer;
186
+ display: flex;
187
+ align-items: center;
188
+ justify-content: center;
189
+ transition: all 0.2s;
190
  }
191
 
192
+ .close-btn:hover {
193
+ background: rgba(0, 0, 0, 0.1);
194
  }
195
 
196
+ .analysis-settings {
197
+ padding: 20px;
198
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 
199
  }
200
 
201
+ .setting-group {
202
+ margin-bottom: 20px;
203
  }
204
 
205
+ .setting-group label {
206
+ display: block;
207
+ font-size: 14px;
208
+ font-weight: 500;
209
+ margin-bottom: 8px;
210
+ color: rgba(0, 0, 0, 0.6);
211
  }
212
 
213
+ .slider {
214
+ width: calc(100% - 40px);
215
+ height: 4px;
216
+ border-radius: 2px;
217
+ background: rgba(0, 0, 0, 0.1);
218
+ outline: none;
219
+ -webkit-appearance: none;
220
+ }
221
+
222
+ .slider::-webkit-slider-thumb {
223
+ -webkit-appearance: none;
224
+ appearance: none;
225
+ width: 20px;
226
+ height: 20px;
227
+ border-radius: 10px;
228
+ background: var(--primary);
229
+ cursor: pointer;
230
+ }
231
+
232
+ .slider::-moz-range-thumb {
233
+ width: 20px;
234
+ height: 20px;
235
+ border-radius: 10px;
236
+ background: var(--primary);
237
+ cursor: pointer;
238
+ border: none;
239
+ }
240
+
241
+ .setting-group span {
242
+ display: inline-block;
243
+ margin-left: 10px;
244
+ font-weight: 600;
245
+ color: var(--primary);
246
+ }
247
+
248
+ .analyze-btn {
249
+ margin: 0 20px;
250
+ padding: 14px;
251
+ background: var(--primary);
252
+ color: white;
253
+ border: none;
254
+ border-radius: 12px;
255
+ font-size: 16px;
256
+ font-weight: 600;
257
+ cursor: pointer;
258
+ display: flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ gap: 10px;
262
+ transition: all 0.2s;
263
+ }
264
+
265
+ .analyze-btn:hover:not(:disabled) {
266
+ background: #0051D5;
267
+ transform: scale(1.02);
268
+ }
269
+
270
+ .analyze-btn:disabled {
271
+ opacity: 0.5;
272
+ cursor: not-allowed;
273
+ }
274
+
275
+ .results-container {
276
+ flex: 1;
277
+ overflow-y: auto;
278
+ padding: 20px;
279
+ }
280
+
281
+ .summary-section {
282
+ margin-bottom: 30px;
283
+ padding: 16px;
284
+ background: rgba(0, 122, 255, 0.05);
285
+ border-radius: 12px;
286
+ border: 1px solid rgba(0, 122, 255, 0.1);
287
+ }
288
+
289
+ .summary-section h3 {
290
+ font-size: 16px;
291
+ font-weight: 600;
292
+ margin-bottom: 12px;
293
+ color: var(--primary);
294
+ }
295
+
296
+ .summary-section p {
297
+ font-size: 14px;
298
+ line-height: 1.6;
299
+ color: rgba(0, 0, 0, 0.8);
300
+ }
301
+
302
+ .frames-section h3 {
303
+ font-size: 16px;
304
+ font-weight: 600;
305
+ margin-bottom: 16px;
306
+ color: rgba(0, 0, 0, 0.8);
307
+ }
308
+
309
+ .frame-list {
310
+ display: flex;
311
+ flex-direction: column;
312
+ gap: 12px;
313
+ }
314
+
315
+ .frame-item {
316
+ padding: 12px;
317
+ background: rgba(0, 0, 0, 0.03);
318
+ border-radius: 10px;
319
+ border: 1px solid rgba(0, 0, 0, 0.08);
320
+ }
321
+
322
+ .frame-time {
323
+ font-size: 12px;
324
+ font-weight: 600;
325
+ color: var(--primary);
326
+ margin-bottom: 8px;
327
+ }
328
+
329
+ .frame-description {
330
+ font-size: 14px;
331
+ line-height: 1.5;
332
+ color: rgba(0, 0, 0, 0.7);
333
+ }
334
+
335
+ .loading-overlay {
336
+ position: absolute;
337
+ inset: 0;
338
+ background: rgba(0, 0, 0, 0.9);
339
+ backdrop-filter: blur(20px);
340
+ -webkit-backdrop-filter: blur(20px);
341
+ display: flex;
342
+ align-items: center;
343
+ justify-content: center;
344
+ opacity: 0;
345
+ pointer-events: none;
346
+ transition: opacity 0.3s;
347
+ }
348
+
349
+ .loading-overlay.active {
350
+ opacity: 1;
351
+ pointer-events: auto;
352
+ }
353
+
354
+ .loading-content {
355
+ text-align: center;
356
+ max-width: 300px;
357
+ }
358
+
359
+ .spinner {
360
+ width: 60px;
361
+ height: 60px;
362
+ border: 3px solid rgba(255, 255, 255, 0.1);
363
+ border-top-color: var(--primary);
364
+ border-radius: 50%;
365
+ animation: spin 1s linear infinite;
366
+ margin: 0 auto 20px;
367
+ }
368
+
369
+ @keyframes spin {
370
+ to { transform: rotate(360deg); }
371
+ }
372
+
373
+ #loadingText {
374
+ font-size: 16px;
375
+ margin-bottom: 20px;
376
+ color: var(--text-primary);
377
+ }
378
+
379
+ .progress-bar {
380
+ width: 100%;
381
+ height: 4px;
382
+ background: rgba(255, 255, 255, 0.1);
383
+ border-radius: 2px;
384
+ overflow: hidden;
385
+ }
386
+
387
+ .progress-fill {
388
+ height: 100%;
389
+ background: var(--primary);
390
+ border-radius: 2px;
391
+ transition: width 0.3s ease;
392
+ width: 0%;
393
+ }
394
+
395
+ .error-message {
396
+ padding: 20px;
397
+ background: rgba(255, 59, 48, 0.1);
398
+ border: 1px solid rgba(255, 59, 48, 0.2);
399
+ border-radius: 12px;
400
+ display: flex;
401
+ align-items: center;
402
+ gap: 12px;
403
+ color: var(--danger);
404
+ }
405
+
406
+ .error-message svg {
407
+ flex-shrink: 0;
408
+ }
409
+
410
+ @media (max-width: 768px) {
411
+ .caption-panel {
412
+ width: 100%;
413
+ right: -100%;
414
+ }
415
+
416
+ .top-bar {
417
+ padding: 15px;
418
+ }
419
+
420
+ .app-title span {
421
+ display: none;
422
+ }
423
+
424
+ .device-label {
425
+ display: none;
426
+ }
427
  }