TwoQuarks commited on
Commit
3226d99
·
verified ·
1 Parent(s): a751026

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +206 -272
style.css CHANGED
@@ -1,20 +1,12 @@
1
  /* ═══════════════════════════════════════════════════════════
2
- TWOQUARKS LAB - HUGGINGFACE INTERFACE SYSTEM
3
- Ultra-blue quantum aesthetic with particle field
4
- ═══════════════════════════════════════════════════════════ */
5
-
6
- /* ─────────────────────────────────────────────────────────── */
7
- /* 1. RESET & BASE */
8
- /* ─────────────────────────────────────────────────────────── */
9
  * {
10
  margin: 0;
11
  padding: 0;
12
  box-sizing: border-box;
13
  }
14
-
15
- /* ─────────────────────────────────────────────────────────── */
16
- /* 2. DESIGN TOKENS */
17
- /* ─────────────────────────────────────────────────────────── */
18
  :root {
19
  --ultra-blue: #3B82F6;
20
  --ultra-blue-bright: #60A5FA;
@@ -22,14 +14,15 @@
22
  --ultra-blue-glow: rgba(39, 100, 180, 0.35);
23
 
24
  --bg-base: #000000;
 
25
  --fg-primary: #FFFFFF;
26
- --fg-secondary: rgba(255, 255, 255, 0.65);
27
- --fg-tertiary: rgba(255, 255, 255, 0.40);
28
 
29
  --surface-glass: rgba(0, 0, 0, 0.30);
30
- --surface-card: rgba(255, 255, 255, 0.04);
31
  --surface-card-hover: rgba(255, 255, 255, 0.08);
32
- --surface-input: rgba(255, 255, 255, 0.03);
33
 
34
  --border-subtle: rgba(255, 255, 255, 0.08);
35
  --border-medium: rgba(255, 255, 255, 0.14);
@@ -42,9 +35,9 @@
42
  --space-xl: 2rem;
43
  --space-2xl: 3rem;
44
 
45
- --radius-sm: 8px;
46
- --radius-md: 12px;
47
- --radius-lg: 16px;
48
  --radius-full: 999px;
49
 
50
  --font-body: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
@@ -54,6 +47,9 @@
54
  --trans-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
55
  --trans-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
56
 
 
 
 
57
  --z-base: 1;
58
  --z-dropdown: 10;
59
  --z-sticky: 20;
@@ -62,9 +58,6 @@
62
  --z-canvas: 0;
63
  }
64
 
65
- /* ─────────────────────────────────────────────────────────── */
66
- /* 3. GLOBAL LAYOUT */
67
- /* ─────────────────────────────────────────────────────────── */
68
  html, body {
69
  height: 100%;
70
  overflow-x: hidden;
@@ -82,18 +75,19 @@ body {
82
  .gradio-container {
83
  background: var(--bg-base) !important;
84
  color: var(--fg-primary) !important;
85
- max-width: 999px;
86
  margin: 0 auto;
87
  padding: var(--space-lg);
88
  }
89
 
90
- /* ─────────────────────────────────────────────────────────── */
91
- /* 4. QUANTUM PARTICLE FIELD */
92
- /* ─────────────────────────────────────────────────────────── */
 
 
93
  #quantumField {
94
  position: fixed;
95
- top: 0;
96
- left: 0;
97
  width: 100vw;
98
  height: 100vh;
99
  z-index: var(--z-canvas);
@@ -101,32 +95,26 @@ body {
101
  pointer-events: none;
102
  }
103
 
104
- /* ─────────────────────────────────────────────────────────── */
105
- /* 5. MAIN APP CONTAINER */
106
- /* ─────────────────────────────────────────────────────────── */
107
  #tq-app {
108
  position: relative;
109
  z-index: var(--z-base);
110
  padding-top: var(--space-md);
111
  }
112
 
113
- /* ─────────────────────────────────────────────────────────── */
114
- /* 6. HERO SECTION */
115
- /* ─────────────────────────────────────────────────────────── */
116
  .tq-hero {
117
  margin: var(--space-md) 0 var(--space-lg) 0;
118
  padding: var(--space-lg) var(--space-xl);
119
- background: var(--surface-glass);
120
  backdrop-filter: blur(16px) saturate(180%);
121
  -webkit-backdrop-filter: blur(12px) saturate(180%);
122
  border: 1px solid var(--border-subtle);
123
  border-radius: var(--radius-lg);
124
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.09);
125
  }
126
 
127
  .tq-hero__brand {
128
- font-weight: 700;
129
- font-size: 1.5rem;
130
  letter-spacing: -0.02em;
131
  background: linear-gradient(135deg, var(--fg-primary) 0%, var(--ultra-blue-bright) 100%);
132
  background-clip: text;
@@ -138,13 +126,10 @@ body {
138
  margin-top: var(--space-sm);
139
  color: var(--fg-secondary);
140
  font-size: 0.95rem;
141
- line-height: 1.65;
142
- max-width: 65ch;
143
  }
144
 
145
- /* ─────────────────────────────────────────────────────────── */
146
- /* 7. NAVIGATION PILLS */
147
- /* ─────────────────────────────────────────────────────────── */
148
  .tq-pills {
149
  display: flex;
150
  gap: var(--space-sm);
@@ -156,52 +141,67 @@ body {
156
  display: inline-flex;
157
  align-items: center;
158
  gap: 0.5rem;
159
- padding: var(--space-sm) var(--space-md);
160
  font-size: 0.875rem;
161
- font-weight: 500;
162
  color: var(--fg-primary);
163
  text-decoration: none;
164
  background: rgba(255, 255, 255, 0.02);
165
  border: 1px solid var(--border-medium);
166
- border-radius: var(--radius-sm);
167
- opacity: 0.85;
168
  transition: all var(--trans-base);
169
  white-space: nowrap;
170
  }
171
 
172
  .tq-pill:hover {
173
- opacity: 1;
174
  background: rgba(255, 255, 255, 0.06);
175
  border-color: var(--border-accent);
176
- box-shadow: 0 0 16px var(--ultra-blue-glow);
177
  }
178
 
179
  .tq-pill--active {
180
- opacity: 1;
181
- background: var(--ultra-blue-glow);
182
- border-color: var(--ultra-blue);
183
- box-shadow: 0 0 0 1px var(--ultra-blue) inset,
184
- 0 0 10px var(--ultra-blue-glow);
185
  }
186
 
187
- /* ─────────────────────────────────────────────────────────── */
188
- /* 8. GRADIO COMPONENTS - PANELS & BLOCKS */
189
- /* ─────────────────────────────────────────────────────────── */
190
  .gradio-container .gr-panel,
191
  .gradio-container [class*="gr-box"],
192
- .gradio-container .gr-form {
 
 
193
  background: var(--surface-card) !important;
194
- backdrop-filter: blur(10px) !important;
195
- -webkit-backdrop-filter: blur(10px) !important;
196
  border: 1px solid var(--border-subtle) !important;
197
  border-radius: var(--radius-md) !important;
198
  padding: var(--space-lg) !important;
199
- transition: all var(--trans-base) !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  }
201
 
202
- /* ─────────────────────────────────────────────────────────── */
203
- /* 9. TABS SYSTEM */
204
- /* ────────────────────────────────────���────────────────────── */
205
  .gradio-container .gr-tab-nav {
206
  background: transparent !important;
207
  border: none !important;
@@ -211,45 +211,40 @@ body {
211
  }
212
 
213
  .gradio-container .gr-tab-nav button {
214
- padding: var(--space-sm) var(--space-md) !important;
215
  font-size: 0.875rem !important;
216
- font-weight: 500 !important;
217
  color: var(--fg-primary) !important;
218
  background: rgba(255, 255, 255, 0.02) !important;
219
  border: 1px solid var(--border-medium) !important;
220
  border-radius: var(--radius-full) !important;
221
- opacity: 0.85 !important;
222
  transition: all var(--trans-base) !important;
223
  }
224
 
225
  .gradio-container .gr-tab-nav button:hover {
226
- opacity: 1 !important;
227
  background: rgba(255, 255, 255, 0.06) !important;
228
  border-color: var(--border-accent) !important;
229
  }
230
 
231
  .gradio-container .gr-tab-nav button.selected,
232
  .gradio-container .gr-tab-nav button[aria-selected="true"] {
 
 
 
233
  opacity: 1 !important;
234
- background: var(--ultra-blue-glow) !important;
235
- border-color: var(--ultra-blue) !important;
236
- box-shadow: 0 0 0 1px var(--ultra-blue) inset,
237
- 0 0 10px var(--ultra-blue-glow) !important;
238
  }
239
 
240
- /* ─────────────────────────────────────────────────────────── */
241
- /* 10. FORM INPUTS */
242
- /* ─────────────────────────────────────────────────────────── */
243
  .gradio-container input[type="text"],
244
  .gradio-container input[type="number"],
245
  .gradio-container textarea,
246
  .gradio-container select {
247
  background: var(--surface-input) !important;
248
- border: 1px solid var(--border-medium) !important;
249
  border-radius: var(--radius-md) !important;
250
  color: var(--fg-primary) !important;
251
- padding: var(--space-sm) var(--space-md) !important;
252
- font-size: 0.9375rem !important;
253
  transition: all var(--trans-base) !important;
254
  }
255
 
@@ -257,42 +252,39 @@ body {
257
  .gradio-container textarea:focus,
258
  .gradio-container select:focus {
259
  outline: none !important;
260
- border-color: var(--ultra-blue) !important;
261
- box-shadow: 0 0 0 3px var(--ultra-blue-glow) !important;
262
  }
263
 
264
  .gradio-container input[type="range"] {
265
  accent-color: var(--ultra-blue) !important;
266
  }
267
 
268
- /* ─────────────────────────────────────────────────────────── */
269
- /* 11. BUTTONS */
270
- /* ─────────────────────────────────────────────────────────── */
271
  .gradio-container button:not(.gr-tab-nav button),
272
  .gradio-container .gr-button {
273
- padding: var(--space-sm) var(--space-lg) !important;
274
- font-size: 0.9375rem !important;
275
- font-weight: 500 !important;
 
276
  color: var(--fg-primary) !important;
277
- background: rgba(255, 255, 255, 0.53) !important;
278
- border: 1px solid var(--border-medium) !important;
279
  border-radius: var(--radius-full) !important;
280
- opacity: 0.92 !important;
281
  cursor: pointer !important;
282
- transition: all var(--trans-base) !important;
283
  }
284
 
285
  .gradio-container button:hover:not(.gr-tab-nav button),
286
  .gradio-container .gr-button:hover {
287
- opacity: 0.65 !important;
288
- background: rgba(255, 255, 255, 0.90) !important;
289
- border-color: var(--border-accent) !important;
290
- box-shadow: 0 0 16px var(--ultra-blue-glow) !important;
291
  }
292
 
293
  .gradio-container button:active:not(.gr-tab-nav button),
294
  .gradio-container .gr-button:active {
295
- transform: scale(0.98) !important;
296
  }
297
 
298
  .gradio-container button:disabled,
@@ -304,159 +296,172 @@ body {
304
 
305
  .gradio-container button.primary,
306
  .gradio-container .gr-button-primary {
307
- background: var(--ultra-blue) !important;
308
- border-color: var(--ultra-blue-bright) !important;
309
- box-shadow: 0 4px 12px var(--ultra-blue-glow) !important;
310
- opacity: 0.65 !important;
311
  }
312
 
313
  .gradio-container button.primary:hover,
314
  .gradio-container .gr-button-primary:hover {
315
- background: var(--ultra-blue-bright) !important;
316
- box-shadow: 0 8px 24px var(--ultra-blue-glow) !important;
317
  }
318
 
319
- /* ─────────────────────────────────────────────────────────── */
320
- /* 12. IMAGE GALLERY & GRID */
321
- /* ─────────────────────────────────────────────────────────── */
322
- .gradio-container .gr-gallery {
323
- gap: var(--space-md) !important;
 
 
324
  }
325
 
326
- .gradio-container .gr-gallery .gr-image,
327
- .gradio-container .gr-image-preview {
328
- border-radius: var(--radius-md) !important;
 
 
 
329
  overflow: hidden !important;
330
- border: 0.5px solid var(--border-subtle) !important;
331
- transition: all var(--trans-base) !important;
332
- background: rgba(25, 25, 25, 0.75) !important;
333
- }
334
-
335
- .gradio-container .gr-gallery .gr-image:hover {
336
- border-color: var(--ultra-blue) !important;
337
- box-shadow: 0 10px 10px var(--ultra-blue-glow) !important;
338
- transform: translateY(-2px) !important;
339
  }
340
 
341
  .gradio-container .gr-image img,
342
- .gradio-container .gr-gallery img,
343
- .gradio-container img {
 
344
  width: 100% !important;
345
- height: 100% !important;
 
346
  object-fit: contain !important;
347
- display: block !important;
348
  }
349
 
350
- .gradio-container .gr-image-container,
351
- .gradio-container [class*="image-container"] {
352
- aspect-ratio: auto !important;
353
- max-width: none !important;
354
- width: 100% !important;
355
- border-radius: var(--radius-md) !important;
356
- overflow: hidden !important;
357
- background: var(--surface-card) !important;
358
  }
359
 
360
- /* ─────────────────────────────────────────────────────────── */
361
- /* 13. CAROUSEL / SLIDER */
362
- /* ─────────────────────────────────────────────────────────── */
363
- .tq-carousel {
364
- position: relative;
365
- width: 100%;
366
- overflow: hidden;
367
- border-radius: var(--radius-lg);
368
- background: var(--surface-card);
369
- border: 1px solid var(--border-subtle);
370
  }
371
 
372
- .tq-carousel__track {
373
- display: flex;
374
- gap: var(--space-sm);
375
- transition: transform var(--trans-slow);
376
- will-change: transform;
 
 
 
377
  }
378
 
379
- .tq-carousel__item {
380
- flex: 0 0 280px;
381
- aspect-ratio: 10 / 10;
382
- border-radius: var(--radius-md);
383
- overflow: hidden;
384
- border: 1px solid var(--border-subtle);
385
- transition: all var(--trans-base);
386
- background: rgba(255, 255, 255, 0.63);
387
  }
388
 
389
- .tq-carousel__item:hover {
390
- border-color: var(--ultra-blue);
391
- box-shadow: 0 10px 10px var(--ultra-blue-glow);
392
- transform: translateY(-2px) scale(1.04);
393
  }
394
 
395
- .tq-carousel__item img {
396
- width: 100%;
397
- height: 100%;
398
- object-fit: cover;
399
- display: block;
400
  }
401
 
402
- .tq-carousel__nav {
403
- position: absolute;
404
- top: 100%;
405
- transform: translateY(-50%);
406
- width: 14px;
407
- height: 14px;
408
- display: flex;
409
- align-items: center;
410
- justify-content: center;
411
- background: rgba(0, 0, 0, 0.85);
412
- backdrop-filter: blur(12px);
413
- border: 0.5px solid var(--border-medium);
414
- border-radius: var(--radius-sm);
415
- cursor: pointer;
416
- transition: all var(--trans-base);
417
- z-index: var(--z-dropdown);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
418
  }
419
 
420
- .tq-carousel__nav--prev { left: var(--space-sm); }
421
- .tq-carousel__nav--next { right: var(--space-sm); }
 
 
 
 
 
422
 
423
- .tq-carousel__nav:hover {
424
- background: var(--ultra-blue-glow);
425
- border-color: var(--ultra-blue);
426
- box-shadow: 0 0 10px var(--ultra-blue-glow);
 
 
 
 
427
  }
428
 
429
- /* ─────────────────────────────────────────────────────────── */
430
- /* 14. LABELS & TYPOGRAPHY */
431
- /* ─────────────────────────────────────────────────────────── */
432
  .gradio-container label,
433
  .gradio-container .gr-label {
434
  color: var(--fg-secondary) !important;
435
  font-size: 0.875rem !important;
436
- font-weight: 500 !important;
437
  margin-bottom: var(--space-xs) !important;
438
  }
439
 
440
  .gradio-container .gr-description,
441
  .gradio-container .gr-info {
442
  color: var(--fg-tertiary) !important;
443
- font-size: 0.8125rem !important;
444
- line-height: 1.5 !important;
445
  }
446
 
447
  .gradio-container pre,
448
  .gradio-container code {
449
  font-family: var(--font-mono) !important;
450
- background: rgba(59, 130, 246, 0.05) !important;
451
- border: 1px solid var(--border-subtle) !important;
452
  border-radius: var(--radius-sm) !important;
453
- padding: var(--space-xs) var(--space-sm) !important;
454
  color: var(--ultra-blue-bright) !important;
455
  }
456
 
457
- /* ─────────────────────────────────────────────────────────── */
458
- /* 15. LOADING & PROGRESS */
459
- /* ─────────────────────────────────────────────────────────── */
460
  .gradio-container .gr-loading {
461
  color: var(--ultra-blue) !important;
462
  }
@@ -466,9 +471,6 @@ body {
466
  box-shadow: 0 0 12px var(--ultra-blue-glow) !important;
467
  }
468
 
469
- /* ───────────���─────────────────────────────────────────────── */
470
- /* 16. SCROLLBARS */
471
- /* ─────────────────────────────────────────────────────────── */
472
  ::-webkit-scrollbar {
473
  width: 8px;
474
  height: 8px;
@@ -479,17 +481,14 @@ body {
479
  }
480
 
481
  ::-webkit-scrollbar-thumb {
482
- background: var(--border-medium);
483
  border-radius: var(--radius-sm);
484
  }
485
 
486
  ::-webkit-scrollbar-thumb:hover {
487
- background: var(--ultra-blue);
488
  }
489
 
490
- /* ─────────────────────────────────────────────────────────── */
491
- /* 17. RESPONSIVE DESIGN */
492
- /* ─────────────────────────────────────────────────────────── */
493
  @media (max-width: 768px) {
494
  :root {
495
  --space-lg: 1rem;
@@ -508,31 +507,13 @@ body {
508
  font-size: 1.25rem;
509
  }
510
 
511
- .tq-carousel__item {
512
- flex-basis: 240px;
513
- }
514
-
515
  .tq-pills {
516
  justify-content: center;
517
  }
518
  }
519
 
520
- @media (max-width: 280px) {
521
- .tq-carousel__item {
522
- flex-basis: 220px;
523
- }
524
-
525
- .tq-carousel__nav {
526
- width: 12px;
527
- height: 12px;
528
- }
529
- }
530
-
531
- /* ─────────────────────────────────────────────────────────── */
532
- /* 18. UTILITY CLASSES */
533
- /* ─────────────────────────────────────────────────────────── */
534
  .tq-glow {
535
- box-shadow: 0 0 20px var(--ultra-blue-glow) !important;
536
  }
537
 
538
  .tq-hide {
@@ -540,62 +521,15 @@ body {
540
  }
541
 
542
  .tq-fade-in {
543
- animation: fadeIn var(--trans-slow) ease-in;
544
  }
545
 
546
- @keyframes fadeIn {
547
- from { opacity: 0; transform: translateY(5px); }
548
  to { opacity: 1; transform: translateY(0); }
549
  }
550
 
551
- /* ─────────────────────────────────────────────────────────── */
552
- /* 19. FOOTER CLEANUP */
553
- /* ─────────────────────────────────────────────────────────── */
554
  footer,
555
  .gradio-container footer {
556
  display: none !important;
557
  }
558
-
559
- /* ─────────────────────────────────────────────────────────── */
560
- /* 20. GALLERY AS CAROUSEL STRIP */
561
- /* ─────────────────────────────────────────────────────────── */
562
- #down_gallery, #strange_gallery {
563
- margin-top: 12px !important;
564
- }
565
-
566
- #down_gallery [class*="gallery"],
567
- #strange_gallery [class*="gallery"] {
568
- overflow-x: auto !important;
569
- overflow-y: hidden !important;
570
- padding-bottom: 8px !important;
571
- scroll-snap-type: x mandatory !important;
572
- }
573
-
574
- #down_gallery [class*="gallery"]::-webkit-scrollbar,
575
- #strange_gallery [class*="gallery"]::-webkit-scrollbar {
576
- height: 10px !important;
577
- }
578
-
579
- #down_gallery [class*="gallery"] [role="list"],
580
- #strange_gallery [class*="gallery"] [role="list"] {
581
- display: flex !important;
582
- flex-wrap: nowrap !important;
583
- gap: 10px !important;
584
- }
585
-
586
- #down_gallery [role="listitem"],
587
- #strange_gallery [role="listitem"] {
588
- flex: 0 0 280px !important;
589
- scroll-snap-align: start !important;
590
- border-radius: 10px !important;
591
- overflow: hidden !important;
592
- background: rgba(255,255,255,0.03) !important;
593
- border: 1px solid rgba(255,255,255,0.10) !important;
594
- }
595
-
596
- #down_gallery img, #strange_gallery img {
597
- width: 130% !important;
598
- height: 240px !important;
599
- object-fit: contain !important;
600
- display: block !important;
601
- }
 
1
  /* ═══════════════════════════════════════════════════════════
2
+ TWOQUARKS - QuarksLab
3
+ ═══════════════════════════════════════════════════════════
4
+ ──── Precision systems for adaptive intelligence. ──── */
 
 
 
 
5
  * {
6
  margin: 0;
7
  padding: 0;
8
  box-sizing: border-box;
9
  }
 
 
 
 
10
  :root {
11
  --ultra-blue: #3B82F6;
12
  --ultra-blue-bright: #60A5FA;
 
14
  --ultra-blue-glow: rgba(39, 100, 180, 0.35);
15
 
16
  --bg-base: #000000;
17
+ --bg-elev: rgba(10, 12, 18, 0.80);
18
  --fg-primary: #FFFFFF;
19
+ --fg-secondary: rgba(255, 255, 255, 0.70);
20
+ --fg-tertiary: rgba(255, 255, 255, 0.45);
21
 
22
  --surface-glass: rgba(0, 0, 0, 0.30);
23
+ --surface-card: rgba(255, 255, 255, 0.045);
24
  --surface-card-hover: rgba(255, 255, 255, 0.08);
25
+ --surface-input: rgba(255, 255, 255, 0.04);
26
 
27
  --border-subtle: rgba(255, 255, 255, 0.08);
28
  --border-medium: rgba(255, 255, 255, 0.14);
 
35
  --space-xl: 2rem;
36
  --space-2xl: 3rem;
37
 
38
+ --radius-sm: 10px;
39
+ --radius-md: 14px;
40
+ --radius-lg: 18px;
41
  --radius-full: 999px;
42
 
43
  --font-body: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
 
47
  --trans-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
48
  --trans-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
49
 
50
+ --shadow-soft: 0 10px 30px rgba(0,0,0,0.35);
51
+ --shadow-glow: 0 0 22px rgba(59,130,246,0.22);
52
+
53
  --z-base: 1;
54
  --z-dropdown: 10;
55
  --z-sticky: 20;
 
58
  --z-canvas: 0;
59
  }
60
 
 
 
 
61
  html, body {
62
  height: 100%;
63
  overflow-x: hidden;
 
75
  .gradio-container {
76
  background: var(--bg-base) !important;
77
  color: var(--fg-primary) !important;
78
+ max-width: 1050px;
79
  margin: 0 auto;
80
  padding: var(--space-lg);
81
  }
82
 
83
+ .gradio-container .prose,
84
+ .gradio-container .markdown {
85
+ color: var(--fg-secondary) !important;
86
+ }
87
+
88
  #quantumField {
89
  position: fixed;
90
+ inset: 0;
 
91
  width: 100vw;
92
  height: 100vh;
93
  z-index: var(--z-canvas);
 
95
  pointer-events: none;
96
  }
97
 
 
 
 
98
  #tq-app {
99
  position: relative;
100
  z-index: var(--z-base);
101
  padding-top: var(--space-md);
102
  }
103
 
 
 
 
104
  .tq-hero {
105
  margin: var(--space-md) 0 var(--space-lg) 0;
106
  padding: var(--space-lg) var(--space-xl);
107
+ background: rgba(0,0,0,0.35);
108
  backdrop-filter: blur(16px) saturate(180%);
109
  -webkit-backdrop-filter: blur(12px) saturate(180%);
110
  border: 1px solid var(--border-subtle);
111
  border-radius: var(--radius-lg);
112
+ box-shadow: var(--shadow-soft);
113
  }
114
 
115
  .tq-hero__brand {
116
+ font-weight: 750;
117
+ font-size: 1.55rem;
118
  letter-spacing: -0.02em;
119
  background: linear-gradient(135deg, var(--fg-primary) 0%, var(--ultra-blue-bright) 100%);
120
  background-clip: text;
 
126
  margin-top: var(--space-sm);
127
  color: var(--fg-secondary);
128
  font-size: 0.95rem;
129
+ line-height: 1.7;
130
+ max-width: 70ch;
131
  }
132
 
 
 
 
133
  .tq-pills {
134
  display: flex;
135
  gap: var(--space-sm);
 
141
  display: inline-flex;
142
  align-items: center;
143
  gap: 0.5rem;
144
+ padding: 0.55rem 0.95rem;
145
  font-size: 0.875rem;
146
+ font-weight: 520;
147
  color: var(--fg-primary);
148
  text-decoration: none;
149
  background: rgba(255, 255, 255, 0.02);
150
  border: 1px solid var(--border-medium);
151
+ border-radius: var(--radius-full);
152
+ opacity: 0.92;
153
  transition: all var(--trans-base);
154
  white-space: nowrap;
155
  }
156
 
157
  .tq-pill:hover {
 
158
  background: rgba(255, 255, 255, 0.06);
159
  border-color: var(--border-accent);
160
+ box-shadow: var(--shadow-glow);
161
  }
162
 
163
  .tq-pill--active {
164
+ background: rgba(59,130,246,0.18);
165
+ border-color: rgba(59,130,246,0.65);
166
+ box-shadow: 0 0 0 1px rgba(59,130,246,0.25) inset, var(--shadow-glow);
 
 
167
  }
168
 
 
 
 
169
  .gradio-container .gr-panel,
170
  .gradio-container [class*="gr-box"],
171
+ .gradio-container .gr-form,
172
+ .gradio-container .block,
173
+ .gradio-container .wrap {
174
  background: var(--surface-card) !important;
175
+ backdrop-filter: blur(12px) !important;
176
+ -webkit-backdrop-filter: blur(12px) !important;
177
  border: 1px solid var(--border-subtle) !important;
178
  border-radius: var(--radius-md) !important;
179
  padding: var(--space-lg) !important;
180
+ transition: transform var(--trans-base), box-shadow var(--trans-base), border-color var(--trans-base), background var(--trans-base) !important;
181
+ box-shadow: 0 6px 22px rgba(0,0,0,0.22) !important;
182
+ }
183
+
184
+ .gradio-container .gr-panel:hover,
185
+ .gradio-container [class*="gr-box"]:hover,
186
+ .gradio-container .gr-form:hover {
187
+ border-color: rgba(59,130,246,0.18) !important;
188
+ background: var(--surface-card-hover) !important;
189
+ box-shadow: 0 10px 32px rgba(0,0,0,0.30), 0 0 18px rgba(59,130,246,0.12) !important;
190
+ }
191
+
192
+ .tq-card-title {
193
+ font-weight: 650;
194
+ letter-spacing: -0.01em;
195
+ color: var(--fg-primary);
196
+ margin-bottom: 0.35rem;
197
+ }
198
+
199
+ .tq-card-subtitle {
200
+ color: var(--fg-tertiary);
201
+ font-size: 0.85rem;
202
+ margin-bottom: 0.75rem;
203
  }
204
 
 
 
 
205
  .gradio-container .gr-tab-nav {
206
  background: transparent !important;
207
  border: none !important;
 
211
  }
212
 
213
  .gradio-container .gr-tab-nav button {
214
+ padding: 0.55rem 0.95rem !important;
215
  font-size: 0.875rem !important;
216
+ font-weight: 520 !important;
217
  color: var(--fg-primary) !important;
218
  background: rgba(255, 255, 255, 0.02) !important;
219
  border: 1px solid var(--border-medium) !important;
220
  border-radius: var(--radius-full) !important;
221
+ opacity: 0.92 !important;
222
  transition: all var(--trans-base) !important;
223
  }
224
 
225
  .gradio-container .gr-tab-nav button:hover {
 
226
  background: rgba(255, 255, 255, 0.06) !important;
227
  border-color: var(--border-accent) !important;
228
  }
229
 
230
  .gradio-container .gr-tab-nav button.selected,
231
  .gradio-container .gr-tab-nav button[aria-selected="true"] {
232
+ background: rgba(59,130,246,0.18) !important;
233
+ border-color: rgba(59,130,246,0.65) !important;
234
+ box-shadow: 0 0 0 1px rgba(59,130,246,0.25) inset, var(--shadow-glow) !important;
235
  opacity: 1 !important;
 
 
 
 
236
  }
237
 
 
 
 
238
  .gradio-container input[type="text"],
239
  .gradio-container input[type="number"],
240
  .gradio-container textarea,
241
  .gradio-container select {
242
  background: var(--surface-input) !important;
243
+ border: 1px solid rgba(255,255,255,0.16) !important;
244
  border-radius: var(--radius-md) !important;
245
  color: var(--fg-primary) !important;
246
+ padding: 0.65rem 0.85rem !important;
247
+ font-size: 0.95rem !important;
248
  transition: all var(--trans-base) !important;
249
  }
250
 
 
252
  .gradio-container textarea:focus,
253
  .gradio-container select:focus {
254
  outline: none !important;
255
+ border-color: rgba(59,130,246,0.70) !important;
256
+ box-shadow: 0 0 0 3px rgba(59,130,246,0.22) !important;
257
  }
258
 
259
  .gradio-container input[type="range"] {
260
  accent-color: var(--ultra-blue) !important;
261
  }
262
 
 
 
 
263
  .gradio-container button:not(.gr-tab-nav button),
264
  .gradio-container .gr-button {
265
+ padding: 0.65rem 1.05rem !important;
266
+ font-size: 0.95rem !important;
267
+ font-weight: 600 !important;
268
+ letter-spacing: 0.01em !important;
269
  color: var(--fg-primary) !important;
270
+ background: rgba(59,130,246,0.15) !important;
271
+ border: 1px solid rgba(96,165,250,0.35) !important;
272
  border-radius: var(--radius-full) !important;
273
+ opacity: 1 !important;
274
  cursor: pointer !important;
275
+ transition: transform var(--trans-fast), box-shadow var(--trans-base), background var(--trans-base), border-color var(--trans-base) !important;
276
  }
277
 
278
  .gradio-container button:hover:not(.gr-tab-nav button),
279
  .gradio-container .gr-button:hover {
280
+ background: rgba(59,130,246,0.28) !important;
281
+ border-color: rgba(96,165,250,0.65) !important;
282
+ box-shadow: 0 0 18px rgba(59,130,246,0.22) !important;
 
283
  }
284
 
285
  .gradio-container button:active:not(.gr-tab-nav button),
286
  .gradio-container .gr-button:active {
287
+ transform: scale(0.985) !important;
288
  }
289
 
290
  .gradio-container button:disabled,
 
296
 
297
  .gradio-container button.primary,
298
  .gradio-container .gr-button-primary {
299
+ background: linear-gradient(135deg, var(--ultra-blue) 0%, var(--ultra-blue-bright) 100%) !important;
300
+ border-color: rgba(255,255,255,0.10) !important;
301
+ box-shadow: 0 10px 30px rgba(59,130,246,0.25) !important;
 
302
  }
303
 
304
  .gradio-container button.primary:hover,
305
  .gradio-container .gr-button-primary:hover {
306
+ filter: brightness(1.08) saturate(1.05) !important;
307
+ box-shadow: 0 14px 40px rgba(59,130,246,0.30) !important;
308
  }
309
 
310
+ .gradio-container img {
311
+ width: auto !important;
312
+ height: auto !important;
313
+ max-width: 100% !important;
314
+ max-height: 100% !important;
315
+ object-fit: contain !important;
316
+ display: block !important;
317
  }
318
 
319
+ .gradio-container .gr-image,
320
+ .gradio-container .gr-image-preview,
321
+ .gradio-container .gr-image-container,
322
+ .gradio-container [class*="image-container"] {
323
+ width: 100% !important;
324
+ max-width: 100% !important;
325
  overflow: hidden !important;
326
+ border-radius: var(--radius-md) !important;
327
+ background: rgba(10, 12, 18, 0.55) !important;
328
+ border: 1px solid var(--border-subtle) !important;
 
 
 
 
 
 
329
  }
330
 
331
  .gradio-container .gr-image img,
332
+ .gradio-container .gr-image-preview img,
333
+ .gradio-container .gr-image-container img,
334
+ .gradio-container [class*="image-container"] img {
335
  width: 100% !important;
336
+ height: auto !important;
337
+ max-height: 540px !important;
338
  object-fit: contain !important;
 
339
  }
340
 
341
+ @media (max-width: 768px) {
342
+ .gradio-container .gr-image img,
343
+ .gradio-container .gr-image-preview img,
344
+ .gradio-container .gr-image-container img,
345
+ .gradio-container [class*="image-container"] img {
346
+ max-height: 360px !important;
347
+ }
 
348
  }
349
 
350
+ #down_gallery, #strange_gallery {
351
+ margin-top: 12px !important;
 
 
 
 
 
 
 
 
352
  }
353
 
354
+ #down_gallery [class*="gallery"],
355
+ #strange_gallery [class*="gallery"] {
356
+ overflow-x: auto !important;
357
+ overflow-y: hidden !important;
358
+ padding-bottom: 10px !important;
359
+ scroll-snap-type: x mandatory !important;
360
+ scroll-behavior: smooth !important;
361
+ -webkit-overflow-scrolling: touch !important;
362
  }
363
 
364
+ #down_gallery [class*="gallery"]::-webkit-scrollbar,
365
+ #strange_gallery [class*="gallery"]::-webkit-scrollbar {
366
+ height: 10px !important;
 
 
 
 
 
367
  }
368
 
369
+ #down_gallery [class*="gallery"]::-webkit-scrollbar-track,
370
+ #strange_gallery [class*="gallery"]::-webkit-scrollbar-track {
371
+ background: rgba(255,255,255,0.03) !important;
372
+ border-radius: 999px !important;
373
  }
374
 
375
+ #down_gallery [class*="gallery"]::-webkit-scrollbar-thumb,
376
+ #strange_gallery [class*="gallery"]::-webkit-scrollbar-thumb {
377
+ background: rgba(96,165,250,0.25) !important;
378
+ border-radius: 999px !important;
379
+ border: 1px solid rgba(255,255,255,0.08) !important;
380
  }
381
 
382
+ #down_gallery [class*="gallery"]::-webkit-scrollbar-thumb:hover,
383
+ #strange_gallery [class*="gallery"]::-webkit-scrollbar-thumb:hover {
384
+ background: rgba(96,165,250,0.40) !important;
385
+ }
386
+
387
+ #down_gallery [class*="gallery"] [role="list"],
388
+ #strange_gallery [class*="gallery"] [role="list"] {
389
+ display: flex !important;
390
+ flex-wrap: nowrap !important;
391
+ gap: 12px !important;
392
+ padding: 4px !important;
393
+ }
394
+
395
+ #down_gallery [role="listitem"],
396
+ #strange_gallery [role="listitem"] {
397
+ flex: 0 0 320px !important; /* slide width */
398
+ scroll-snap-align: start !important;
399
+ border-radius: var(--radius-md) !important;
400
+ overflow: hidden !important;
401
+ background: rgba(255,255,255,0.03) !important;
402
+ border: 1px solid rgba(255,255,255,0.10) !important;
403
+ box-shadow: 0 10px 24px rgba(0,0,0,0.28) !important;
404
+ transition: transform var(--trans-base), border-color var(--trans-base), box-shadow var(--trans-base) !important;
405
+ }
406
+
407
+ #down_gallery [role="listitem"]:hover,
408
+ #strange_gallery [role="listitem"]:hover {
409
+ transform: translateY(-2px) !important;
410
+ border-color: rgba(96,165,250,0.40) !important;
411
+ box-shadow: 0 12px 34px rgba(0,0,0,0.36), 0 0 18px rgba(59,130,246,0.14) !important;
412
+ }
413
+
414
+ #down_gallery img, #strange_gallery img {
415
+ width: 100% !important;
416
+ height: 220px !important;
417
+ object-fit: contain !important;
418
+ display: block !important;
419
+ background: rgba(0,0,0,0.40) !important;
420
  }
421
 
422
+ #down_gallery [role="listitem"]::before,
423
+ #strange_gallery [role="listitem"]::before {
424
+ content: "";
425
+ display: block;
426
+ height: 10px;
427
+ background: linear-gradient(90deg, rgba(59,130,246,0.35), rgba(96,165,250,0.12), rgba(0,0,0,0));
428
+ }
429
 
430
+ @media (max-width: 768px) {
431
+ #down_gallery [role="listitem"],
432
+ #strange_gallery [role="listitem"] {
433
+ flex-basis: 270px !important;
434
+ }
435
+ #down_gallery img, #strange_gallery img {
436
+ height: 200px !important;
437
+ }
438
  }
439
 
 
 
 
440
  .gradio-container label,
441
  .gradio-container .gr-label {
442
  color: var(--fg-secondary) !important;
443
  font-size: 0.875rem !important;
444
+ font-weight: 550 !important;
445
  margin-bottom: var(--space-xs) !important;
446
  }
447
 
448
  .gradio-container .gr-description,
449
  .gradio-container .gr-info {
450
  color: var(--fg-tertiary) !important;
451
+ font-size: 0.82rem !important;
452
+ line-height: 1.55 !important;
453
  }
454
 
455
  .gradio-container pre,
456
  .gradio-container code {
457
  font-family: var(--font-mono) !important;
458
+ background: rgba(59, 130, 246, 0.06) !important;
459
+ border: 1px solid rgba(255,255,255,0.10) !important;
460
  border-radius: var(--radius-sm) !important;
461
+ padding: 0.35rem 0.55rem !important;
462
  color: var(--ultra-blue-bright) !important;
463
  }
464
 
 
 
 
465
  .gradio-container .gr-loading {
466
  color: var(--ultra-blue) !important;
467
  }
 
471
  box-shadow: 0 0 12px var(--ultra-blue-glow) !important;
472
  }
473
 
 
 
 
474
  ::-webkit-scrollbar {
475
  width: 8px;
476
  height: 8px;
 
481
  }
482
 
483
  ::-webkit-scrollbar-thumb {
484
+ background: rgba(255,255,255,0.14);
485
  border-radius: var(--radius-sm);
486
  }
487
 
488
  ::-webkit-scrollbar-thumb:hover {
489
+ background: rgba(96,165,250,0.30);
490
  }
491
 
 
 
 
492
  @media (max-width: 768px) {
493
  :root {
494
  --space-lg: 1rem;
 
507
  font-size: 1.25rem;
508
  }
509
 
 
 
 
 
510
  .tq-pills {
511
  justify-content: center;
512
  }
513
  }
514
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  .tq-glow {
516
+ box-shadow: var(--shadow-glow) !important;
517
  }
518
 
519
  .tq-hide {
 
521
  }
522
 
523
  .tq-fade-in {
524
+ animation: tqFadeIn var(--trans-slow) ease-in;
525
  }
526
 
527
+ @keyframes tqFadeIn {
528
+ from { opacity: 0; transform: translateY(6px); }
529
  to { opacity: 1; transform: translateY(0); }
530
  }
531
 
 
 
 
532
  footer,
533
  .gradio-container footer {
534
  display: none !important;
535
  }