TwoQuarks commited on
Commit
01e0cf8
·
verified ·
1 Parent(s): 57abc29

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +386 -240
style.css CHANGED
@@ -5,292 +5,438 @@
5
 
6
  * { margin: 0; padding: 0; box-sizing: border-box; }
7
 
8
- :root{
9
- --bg-base:#000000;
10
- --fg-primary:#FFFFFF;
11
- --fg-secondary:rgba(255,255,255,.72);
12
- --fg-tertiary:rgba(255,255,255,.46);
13
-
14
- /* dark glass */
15
- --surface-card:rgba(255,255,255,.045);
16
- --surface-card-hover:rgba(255,255,255,.075);
17
- --surface-input:rgba(255,255,255,.04);
18
-
19
- --border-subtle:rgba(255,255,255,.08);
20
- --border-medium:rgba(255,255,255,.14);
21
-
22
- --radius-sm:10px;
23
- --radius-md:14px;
24
- --radius-lg:18px;
25
- --radius-full:999px;
26
-
27
- --space-xs:.5rem;
28
- --space-sm:.75rem;
29
- --space-md:1rem;
30
- --space-lg:1.5rem;
31
- --space-xl:2rem;
32
-
33
- --trans-fast:150ms cubic-bezier(.4,0,.2,1);
34
- --trans-base:200ms cubic-bezier(.4,0,.2,1);
35
-
36
- --shadow-soft:0 10px 30px rgba(0,0,0,.35);
37
-
38
- --z-base:1;
39
- --z-canvas:0;
40
- }
41
-
42
- html,body{height:100%;overflow-x:hidden}
43
- body{
44
- font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
45
- background:var(--bg-base);
46
- color:var(--fg-primary);
47
- line-height:1.6;
48
- -webkit-font-smoothing:antialiased;
49
- -moz-osx-font-smoothing:grayscale;
50
- }
51
-
52
- /* container */
53
- .gradio-container{
54
- background:var(--bg-base)!important;
55
- color:var(--fg-primary)!important;
56
- max-width:1050px;
57
- margin:0 auto;
58
- padding:var(--space-lg);
59
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  .gradio-container .prose,
61
- .gradio-container .markdown{ color:var(--fg-secondary)!important; }
62
-
63
- /* starfield */
64
- #quantumField{
65
- position:fixed;inset:0;
66
- width:100vw;height:100vh;
67
- z-index:var(--z-canvas);
68
- background:var(--bg-base);
69
- pointer-events:none;
70
- }
71
- #tq-app{ position:relative; z-index:var(--z-base); padding-top:var(--space-md); }
72
-
73
- /* hero */
74
- .tq-hero{
75
- margin:var(--space-md) 0 var(--space-lg);
76
- padding:var(--space-lg) var(--space-xl);
77
- background:rgba(0,0,0,.38);
78
- backdrop-filter:blur(16px) saturate(160%);
79
- -webkit-backdrop-filter:blur(12px) saturate(160%);
80
- border:1px solid var(--border-subtle);
81
- border-radius:var(--radius-lg);
82
- box-shadow:var(--shadow-soft);
83
- }
84
- .tq-hero__brand{
85
- font-weight:750;
86
- font-size:1.55rem;
87
- letter-spacing:-.02em;
88
- background:linear-gradient(135deg,#fff 0%,rgba(210,220,235,.85) 100%);
89
- -webkit-background-clip:text;
90
- -webkit-text-fill-color:transparent;
91
- }
92
- .tq-hero__desc{
93
- margin-top:var(--space-sm);
94
- color:var(--fg-secondary);
95
- font-size:.95rem;
96
- line-height:1.7;
97
- max-width:70ch;
98
- }
99
-
100
- /* panels */
 
 
 
 
 
 
 
 
 
 
 
 
101
  .gradio-container .gr-panel,
102
  .gradio-container [class*="gr-box"],
103
  .gradio-container .gr-form,
104
  .gradio-container .block,
105
- .gradio-container .wrap{
106
- background:var(--surface-card)!important;
107
- backdrop-filter:blur(12px)!important;
108
- -webkit-backdrop-filter:blur(12px)!important;
109
- border:1px solid var(--border-subtle)!important;
110
- border-radius:var(--radius-md)!important;
111
- padding:var(--space-lg)!important;
112
- transition:transform var(--trans-base),
113
- box-shadow var(--trans-base),
114
- border-color var(--trans-base),
115
- background var(--trans-base)!important;
116
- box-shadow:0 6px 22px rgba(0,0,0,.22)!important;
117
  }
 
118
  .gradio-container .gr-panel:hover,
119
  .gradio-container [class*="gr-box"]:hover,
120
- .gradio-container .gr-form:hover{
121
- border-color:rgba(255,255,255,.14)!important;
122
- background:var(--surface-card-hover)!important;
123
- box-shadow:0 10px 32px rgba(0,0,0,.30)!important;
124
  }
125
 
126
- /* titles */
127
- .tq-card-title{ font-weight:650; letter-spacing:-.01em; margin-bottom:.35rem; }
128
- .tq-card-subtitle{ color:var(--fg-tertiary); font-size:.85rem; margin-bottom:.75rem; }
 
 
 
 
129
 
130
- /* inputs */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  .gradio-container input[type="text"],
132
  .gradio-container input[type="number"],
133
  .gradio-container textarea,
134
- .gradio-container select{
135
- background:var(--surface-input)!important;
136
- border:1px solid rgba(255,255,255,.16)!important;
137
- border-radius:var(--radius-md)!important;
138
- color:var(--fg-primary)!important;
139
- padding:.65rem .85rem!important;
140
- font-size:.95rem!important;
 
141
  }
 
142
  .gradio-container input:focus,
143
  .gradio-container textarea:focus,
144
- .gradio-container select:focus{
145
- outline:none!important;
146
- border-color:rgba(255,255,255,.28)!important;
147
- box-shadow:0 0 0 3px rgba(255,255,255,.08)!important;
 
 
 
 
148
  }
149
 
150
- /* buttons (neutral, no blue wash) */
151
  .gradio-container button:not(.gr-tab-nav button),
152
- .gradio-container .gr-button{
153
- padding:.65rem 1.05rem!important;
154
- font-size:.95rem!important;
155
- font-weight:600!important;
156
- color:var(--fg-primary)!important;
157
- background:rgba(255,255,255,.04)!important;
158
- border:1px solid rgba(255,255,255,.14)!important;
159
- border-radius:var(--radius-full)!important;
160
- cursor:pointer!important;
161
- transition:transform var(--trans-fast),
162
- box-shadow var(--trans-base),
163
- background var(--trans-base),
164
- border-color var(--trans-base)!important;
 
165
  }
 
166
  .gradio-container button:hover:not(.gr-tab-nav button),
167
- .gradio-container .gr-button:hover{
168
- background:rgba(255,255,255,.07)!important;
169
- border-color:rgba(255,255,255,.22)!important;
 
 
 
 
 
 
 
 
 
 
170
  }
 
 
171
  .gradio-container button.primary,
172
- .gradio-container .gr-button-primary{
173
- background:rgba(255,255,255,.06)!important;
174
- border-color:rgba(255,255,255,.20)!important;
175
- }
176
-
177
- /* ============================================================
178
- GALLERY: HARD-KILL preview panel + modal/lightbox
179
- (esta es la parte que elimina la “imagen grande de fondo”)
180
- ============================================================ */
181
-
182
- /* 1) Mata cualquier preview interno que Gradio meta */
183
- #down_gallery [class*="preview"],
184
- #strange_gallery [class*="preview"],
185
- #down_gallery [data-testid*="preview"],
186
- #strange_gallery [data-testid*="preview"],
187
- #down_gallery .preview,
188
- #strange_gallery .preview{
189
- display:none!important;
190
- visibility:hidden!important;
191
- height:0!important;
192
- width:0!important;
193
- overflow:hidden!important;
194
- pointer-events:none!important;
195
- }
196
-
197
- /* 2) Mata lightbox/modal por si HF lo fuerza */
198
- [class*="lightbox"],
199
- [class*="modal"],
200
- [class*="overlay"],
201
- [data-testid*="lightbox"],
202
- [data-testid*="modal"]{
203
- /* ojo: esto es agresivo; pero en Spaces suele ser deseable */
204
- }
205
- #down_gallery [class*="lightbox"],
206
- #strange_gallery [class*="lightbox"],
207
- #down_gallery [class*="modal"],
208
- #strange_gallery [class*="modal"],
209
- #down_gallery [class*="overlay"],
210
- #strange_gallery [class*="overlay"]{
211
- display:none!important;
212
- visibility:hidden!important;
213
- pointer-events:none!important;
214
- }
215
-
216
- /* 3) Filmstrip horizontal */
217
- #down_gallery, #strange_gallery{ margin-top:12px!important; }
218
 
219
  #down_gallery .gr-gallery,
220
- #strange_gallery .gr-gallery{
221
- background:rgba(0,0,0,.22)!important;
222
- border:1px solid var(--border-subtle)!important;
223
- border-radius:var(--radius-md)!important;
224
- padding:10px!important;
225
- overflow:hidden!important;
226
  }
227
 
228
- /* wrapper scroll */
229
  #down_gallery .gr-gallery > div,
230
- #strange_gallery .gr-gallery > div{
231
- overflow-x:auto!important;
232
- overflow-y:hidden!important;
233
- scroll-snap-type:x mandatory!important;
234
- -webkit-overflow-scrolling:touch!important;
235
- padding-bottom:10px!important;
236
  }
237
 
238
- /* list & items */
239
  #down_gallery [role="list"],
240
- #strange_gallery [role="list"]{
241
- display:flex!important;
242
- flex-wrap:nowrap!important;
243
- gap:12px!important;
244
- padding:4px!important;
245
  }
 
 
246
  #down_gallery [role="listitem"],
247
- #strange_gallery [role="listitem"]{
248
- flex:0 0 220px!important;
249
- scroll-snap-align:start!important;
250
- border-radius:var(--radius-md)!important;
251
- overflow:hidden!important;
252
- background:rgba(255,255,255,.03)!important;
253
- border:1px solid rgba(255,255,255,.10)!important;
254
- box-shadow:0 10px 24px rgba(0,0,0,.28)!important;
 
 
 
 
 
 
 
 
255
  }
 
 
256
  #down_gallery [role="listitem"] img,
257
- #strange_gallery [role="listitem"] img{
258
- width:100%!important;
259
- height:220px!important;
260
- object-fit:contain!important;
261
- display:block!important;
262
- background:rgba(0,0,0,.40)!important;
263
  }
264
 
265
- /* scrollbars */
 
 
 
 
 
 
 
 
 
266
  #down_gallery .gr-gallery > div::-webkit-scrollbar,
267
- #strange_gallery .gr-gallery > div::-webkit-scrollbar{ height:10px!important; }
 
268
  #down_gallery .gr-gallery > div::-webkit-scrollbar-track,
269
- #strange_gallery .gr-gallery > div::-webkit-scrollbar-track{
270
- background:rgba(255,255,255,.03)!important;
271
- border-radius:999px!important;
272
  }
 
273
  #down_gallery .gr-gallery > div::-webkit-scrollbar-thumb,
274
- #strange_gallery .gr-gallery > div::-webkit-scrollbar-thumb{
275
- background:rgba(255,255,255,.10)!important;
276
- border-radius:999px!important;
277
- border:1px solid rgba(255,255,255,.08)!important;
278
  }
 
279
  #down_gallery .gr-gallery > div::-webkit-scrollbar-thumb:hover,
280
- #strange_gallery .gr-gallery > div::-webkit-scrollbar-thumb:hover{
281
- background:rgba(255,255,255,.16)!important;
282
  }
283
 
284
- /* mobile */
285
- @media (max-width:768px){
286
- .gradio-container{ padding:var(--space-md); }
287
- .tq-hero{ padding:var(--space-md) var(--space-lg); }
288
- .tq-hero__brand{ font-size:1.25rem; }
289
- #down_gallery [role="listitem"],
290
- #strange_gallery [role="listitem"]{ flex-basis:200px!important; }
291
- #down_gallery [role="listitem"] img,
292
- #strange_gallery [role="listitem"] img{ height:200px!important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
293
  }
294
 
295
- /* kill gradio footer */
296
- footer, .gradio-container footer{ display:none!important; }
 
5
 
6
  * { margin: 0; padding: 0; box-sizing: border-box; }
7
 
8
+ :root {
9
+ /* keep tokens but UI should be dark-glass first */
10
+ --ultra-blue: #3B82F6;
11
+ --ultra-blue-bright: #60A5FA;
12
+ --ultra-blue-deep: #1E40AF;
13
+ --ultra-blue-glow: rgba(39, 100, 180, 0.35);
14
+
15
+ --bg-base: #000000;
16
+ --bg-elev: rgba(10, 12, 18, 0.82);
17
+
18
+ --fg-primary: #FFFFFF;
19
+ --fg-secondary: rgba(255, 255, 255, 0.72);
20
+ --fg-tertiary: rgba(255, 255, 255, 0.46);
21
+
22
+ /* DARK GLASS SYSTEM */
23
+ --surface-glass: rgba(0, 0, 0, 0.34);
24
+ --surface-card: rgba(255, 255, 255, 0.045);
25
+ --surface-card-hover: rgba(255, 255, 255, 0.075);
26
+ --surface-input: rgba(255, 255, 255, 0.04);
27
+
28
+ --border-subtle: rgba(255, 255, 255, 0.08);
29
+ --border-medium: rgba(255, 255, 255, 0.14);
30
+
31
+ /* de-emphasize blue (still usable as accent) */
32
+ --border-accent: rgba(180, 190, 200, 0.22);
33
+
34
+ --space-xs: 0.5rem;
35
+ --space-sm: 0.75rem;
36
+ --space-md: 1rem;
37
+ --space-lg: 1.5rem;
38
+ --space-xl: 2rem;
39
+
40
+ --radius-sm: 10px;
41
+ --radius-md: 14px;
42
+ --radius-lg: 18px;
43
+ --radius-full: 999px;
44
+
45
+ --font-body: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
46
+ --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
47
+
48
+ --trans-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
49
+ --trans-base: 200ms cubic-bezier(0.4, 0, 0.2, 1);
50
+ --trans-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
51
+
52
+ --shadow-soft: 0 10px 30px rgba(0,0,0,0.35);
53
+ --shadow-glow: 0 0 22px rgba(140, 180, 255, 0.10);
54
+
55
+ --z-base: 1;
56
+ --z-canvas: 0;
 
 
57
  }
58
+
59
+ html, body { height: 100%; overflow-x: hidden; }
60
+
61
+ body {
62
+ font-family: var(--font-body);
63
+ background: var(--bg-base);
64
+ color: var(--fg-primary);
65
+ line-height: 1.6;
66
+ -webkit-font-smoothing: antialiased;
67
+ -moz-osx-font-smoothing: grayscale;
68
+ }
69
+
70
+ .gradio-container {
71
+ background: var(--bg-base) !important;
72
+ color: var(--fg-primary) !important;
73
+ max-width: 1050px;
74
+ margin: 0 auto;
75
+ padding: var(--space-lg);
76
+ }
77
+
78
  .gradio-container .prose,
79
+ .gradio-container .markdown {
80
+ color: var(--fg-secondary) !important;
81
+ }
82
+
83
+ /* STARFIELD */
84
+ #quantumField {
85
+ position: fixed;
86
+ inset: 0;
87
+ width: 100vw;
88
+ height: 100vh;
89
+ z-index: var(--z-canvas);
90
+ background: var(--bg-base);
91
+ pointer-events: none;
92
+ }
93
+
94
+ #tq-app {
95
+ position: relative;
96
+ z-index: var(--z-base);
97
+ padding-top: var(--space-md);
98
+ }
99
+
100
+ /* HERO */
101
+ .tq-hero {
102
+ margin: var(--space-md) 0 var(--space-lg) 0;
103
+ padding: var(--space-lg) var(--space-xl);
104
+ background: rgba(0,0,0,0.38);
105
+ backdrop-filter: blur(16px) saturate(160%);
106
+ -webkit-backdrop-filter: blur(12px) saturate(160%);
107
+ border: 1px solid var(--border-subtle);
108
+ border-radius: var(--radius-lg);
109
+ box-shadow: var(--shadow-soft);
110
+ }
111
+
112
+ .tq-hero__brand {
113
+ font-weight: 750;
114
+ font-size: 1.55rem;
115
+ letter-spacing: -0.02em;
116
+ background: linear-gradient(135deg, var(--fg-primary) 0%, rgba(210,220,235,0.85) 100%);
117
+ background-clip: text;
118
+ -webkit-background-clip: text;
119
+ -webkit-text-fill-color: transparent;
120
+ }
121
+
122
+ .tq-hero__desc {
123
+ margin-top: var(--space-sm);
124
+ color: var(--fg-secondary);
125
+ font-size: 0.95rem;
126
+ line-height: 1.7;
127
+ max-width: 70ch;
128
+ }
129
+
130
+ /* BASE PANELS / CARDS — force dark glass (no blue wash) */
131
  .gradio-container .gr-panel,
132
  .gradio-container [class*="gr-box"],
133
  .gradio-container .gr-form,
134
  .gradio-container .block,
135
+ .gradio-container .wrap {
136
+ background: var(--surface-card) !important;
137
+ backdrop-filter: blur(12px) !important;
138
+ -webkit-backdrop-filter: blur(12px) !important;
139
+ border: 1px solid var(--border-subtle) !important;
140
+ border-radius: var(--radius-md) !important;
141
+ padding: var(--space-lg) !important;
142
+ transition: transform var(--trans-base),
143
+ box-shadow var(--trans-base),
144
+ border-color var(--trans-base),
145
+ background var(--trans-base) !important;
146
+ box-shadow: 0 6px 22px rgba(0,0,0,0.22) !important;
147
  }
148
+
149
  .gradio-container .gr-panel:hover,
150
  .gradio-container [class*="gr-box"]:hover,
151
+ .gradio-container .gr-form:hover {
152
+ border-color: rgba(255,255,255,0.14) !important;
153
+ background: var(--surface-card-hover) !important;
154
+ box-shadow: 0 10px 32px rgba(0,0,0,0.30) !important;
155
  }
156
 
157
+ /* TITLES */
158
+ .tq-card-title {
159
+ font-weight: 650;
160
+ letter-spacing: -0.01em;
161
+ color: var(--fg-primary);
162
+ margin-bottom: 0.35rem;
163
+ }
164
 
165
+ .tq-card-subtitle {
166
+ color: var(--fg-tertiary);
167
+ font-size: 0.85rem;
168
+ margin-bottom: 0.75rem;
169
+ }
170
+
171
+ /* TABS */
172
+ .gradio-container .gr-tab-nav {
173
+ background: transparent !important;
174
+ border: none !important;
175
+ gap: var(--space-sm) !important;
176
+ padding: 0 !important;
177
+ margin-bottom: var(--space-lg) !important;
178
+ }
179
+
180
+ .gradio-container .gr-tab-nav button {
181
+ padding: 0.55rem 0.95rem !important;
182
+ font-size: 0.875rem !important;
183
+ font-weight: 520 !important;
184
+ color: var(--fg-primary) !important;
185
+ background: rgba(255, 255, 255, 0.02) !important;
186
+ border: 1px solid var(--border-medium) !important;
187
+ border-radius: var(--radius-full) !important;
188
+ opacity: 0.92 !important;
189
+ transition: all var(--trans-base) !important;
190
+ }
191
+
192
+ .gradio-container .gr-tab-nav button:hover {
193
+ background: rgba(255, 255, 255, 0.06) !important;
194
+ border-color: rgba(255,255,255,0.20) !important;
195
+ }
196
+
197
+ .gradio-container .gr-tab-nav button.selected,
198
+ .gradio-container .gr-tab-nav button[aria-selected="true"] {
199
+ background: rgba(255,255,255,0.06) !important;
200
+ border-color: rgba(255,255,255,0.26) !important;
201
+ box-shadow: 0 0 0 1px rgba(255,255,255,0.12) inset !important;
202
+ opacity: 1 !important;
203
+ }
204
+
205
+ /* INPUTS */
206
  .gradio-container input[type="text"],
207
  .gradio-container input[type="number"],
208
  .gradio-container textarea,
209
+ .gradio-container select {
210
+ background: var(--surface-input) !important;
211
+ border: 1px solid rgba(255,255,255,0.16) !important;
212
+ border-radius: var(--radius-md) !important;
213
+ color: var(--fg-primary) !important;
214
+ padding: 0.65rem 0.85rem !important;
215
+ font-size: 0.95rem !important;
216
+ transition: all var(--trans-base) !important;
217
  }
218
+
219
  .gradio-container input:focus,
220
  .gradio-container textarea:focus,
221
+ .gradio-container select:focus {
222
+ outline: none !important;
223
+ border-color: rgba(255,255,255,0.28) !important;
224
+ box-shadow: 0 0 0 3px rgba(255,255,255,0.08) !important;
225
+ }
226
+
227
+ .gradio-container input[type="range"] {
228
+ accent-color: rgba(210,220,235,0.75) !important;
229
  }
230
 
231
+ /* BUTTONS — dark glass, subtle accent (not primary-blue) */
232
  .gradio-container button:not(.gr-tab-nav button),
233
+ .gradio-container .gr-button {
234
+ padding: 0.65rem 1.05rem !important;
235
+ font-size: 0.95rem !important;
236
+ font-weight: 600 !important;
237
+ letter-spacing: 0.01em !important;
238
+ color: var(--fg-primary) !important;
239
+ background: rgba(255,255,255,0.04) !important;
240
+ border: 1px solid rgba(255,255,255,0.14) !important;
241
+ border-radius: var(--radius-full) !important;
242
+ cursor: pointer !important;
243
+ transition: transform var(--trans-fast),
244
+ box-shadow var(--trans-base),
245
+ background var(--trans-base),
246
+ border-color var(--trans-base) !important;
247
  }
248
+
249
  .gradio-container button:hover:not(.gr-tab-nav button),
250
+ .gradio-container .gr-button:hover {
251
+ background: rgba(255,255,255,0.07) !important;
252
+ border-color: rgba(255,255,255,0.22) !important;
253
+ box-shadow: 0 0 18px rgba(0,0,0,0.20) !important;
254
+ }
255
+
256
+ .gradio-container button:active:not(.gr-tab-nav button),
257
+ .gradio-container .gr-button:active { transform: scale(0.985) !important; }
258
+
259
+ .gradio-container button:disabled,
260
+ .gradio-container .gr-button:disabled {
261
+ opacity: 0.35 !important;
262
+ cursor: not-allowed !important;
263
  }
264
+
265
+ /* Even if variant="primary" leaks, keep it dark */
266
  .gradio-container button.primary,
267
+ .gradio-container .gr-button-primary {
268
+ background: rgba(255,255,255,0.06) !important;
269
+ border-color: rgba(255,255,255,0.20) !important;
270
+ box-shadow: 0 10px 30px rgba(0,0,0,0.18) !important;
271
+ }
272
+
273
+ .gradio-container button.primary:hover,
274
+ .gradio-container .gr-button-primary:hover {
275
+ filter: brightness(1.06) !important;
276
+ box-shadow: 0 14px 40px rgba(0,0,0,0.22) !important;
277
+ }
278
+
279
+ /* IMAGES general */
280
+ .gradio-container img {
281
+ width: auto !important;
282
+ height: auto !important;
283
+ max-width: 100% !important;
284
+ max-height: 100% !important;
285
+ object-fit: contain !important;
286
+ display: block !important;
287
+ }
288
+
289
+ /* IMPORTANT: kill any leftover preview containers if some Gradio version still renders them */
290
+ #down_gallery .gr-gallery-preview,
291
+ #strange_gallery .gr-gallery-preview,
292
+ #down_gallery [data-testid="gallery-preview"],
293
+ #strange_gallery [data-testid="gallery-preview"] {
294
+ display: none !important;
295
+ visibility: hidden !important;
296
+ height: 0 !important;
297
+ overflow: hidden !important;
298
+ }
299
+
300
+ /* ===== Gallery (ONLY filmstrip) — NO [class*="gallery"] selectors ===== */
301
+ #down_gallery, #strange_gallery { margin-top: 12px !important; }
 
 
 
 
 
 
 
 
 
 
 
302
 
303
  #down_gallery .gr-gallery,
304
+ #strange_gallery .gr-gallery {
305
+ background: rgba(0,0,0,0.22) !important;
306
+ border: 1px solid var(--border-subtle) !important;
307
+ border-radius: var(--radius-md) !important;
308
+ padding: 10px !important;
309
+ overflow: hidden !important;
310
  }
311
 
312
+ /* strip wrapper */
313
  #down_gallery .gr-gallery > div,
314
+ #strange_gallery .gr-gallery > div {
315
+ overflow-x: auto !important;
316
+ overflow-y: hidden !important;
317
+ scroll-snap-type: x mandatory !important;
318
+ -webkit-overflow-scrolling: touch !important;
319
+ padding-bottom: 10px !important;
320
  }
321
 
322
+ /* list */
323
  #down_gallery [role="list"],
324
+ #strange_gallery [role="list"] {
325
+ display: flex !important;
326
+ flex-wrap: nowrap !important;
327
+ gap: 12px !important;
328
+ padding: 4px !important;
329
  }
330
+
331
+ /* tile */
332
  #down_gallery [role="listitem"],
333
+ #strange_gallery [role="listitem"] {
334
+ flex: 0 0 220px !important;
335
+ scroll-snap-align: start !important;
336
+ border-radius: var(--radius-md) !important;
337
+ overflow: hidden !important;
338
+ background: rgba(255,255,255,0.03) !important;
339
+ border: 1px solid rgba(255,255,255,0.10) !important;
340
+ box-shadow: 0 10px 24px rgba(0,0,0,0.28) !important;
341
+ transition: transform var(--trans-base), border-color var(--trans-base), box-shadow var(--trans-base) !important;
342
+ }
343
+
344
+ #down_gallery [role="listitem"]:hover,
345
+ #strange_gallery [role="listitem"]:hover {
346
+ transform: translateY(-2px) !important;
347
+ border-color: rgba(255,255,255,0.18) !important;
348
+ box-shadow: 0 12px 34px rgba(0,0,0,0.36) !important;
349
  }
350
+
351
+ /* image in tile */
352
  #down_gallery [role="listitem"] img,
353
+ #strange_gallery [role="listitem"] img {
354
+ width: 100% !important;
355
+ height: 220px !important;
356
+ object-fit: contain !important;
357
+ display: block !important;
358
+ background: rgba(0,0,0,0.40) !important;
359
  }
360
 
361
+ /* subtle top accent bar, but neutral */
362
+ #down_gallery [role="listitem"]::before,
363
+ #strange_gallery [role="listitem"]::before {
364
+ content: "";
365
+ display: block;
366
+ height: 10px;
367
+ background: linear-gradient(90deg, rgba(255,255,255,0.10), rgba(0,0,0,0));
368
+ }
369
+
370
+ /* scrollbars inside strip */
371
  #down_gallery .gr-gallery > div::-webkit-scrollbar,
372
+ #strange_gallery .gr-gallery > div::-webkit-scrollbar { height: 10px !important; }
373
+
374
  #down_gallery .gr-gallery > div::-webkit-scrollbar-track,
375
+ #strange_gallery .gr-gallery > div::-webkit-scrollbar-track {
376
+ background: rgba(255,255,255,0.03) !important;
377
+ border-radius: 220px !important;
378
  }
379
+
380
  #down_gallery .gr-gallery > div::-webkit-scrollbar-thumb,
381
+ #strange_gallery .gr-gallery > div::-webkit-scrollbar-thumb {
382
+ background: rgba(255,255,255,0.10) !important;
383
+ border-radius: 220px !important;
384
+ border: 1px solid rgba(255,255,255,0.08) !important;
385
  }
386
+
387
  #down_gallery .gr-gallery > div::-webkit-scrollbar-thumb:hover,
388
+ #strange_gallery .gr-gallery > div::-webkit-scrollbar-thumb:hover {
389
+ background: rgba(255,255,255,0.16) !important;
390
  }
391
 
392
+ /* labels, descriptions */
393
+ .gradio-container label,
394
+ .gradio-container .gr-label {
395
+ color: var(--fg-secondary) !important;
396
+ font-size: 0.875rem !important;
397
+ font-weight: 550 !important;
398
+ margin-bottom: var(--space-xs) !important;
399
+ }
400
+
401
+ .gradio-container .gr-description,
402
+ .gradio-container .gr-info {
403
+ color: var(--fg-tertiary) !important;
404
+ font-size: 0.82rem !important;
405
+ line-height: 1.55 !important;
406
+ }
407
+
408
+ /* code blocks */
409
+ .gradio-container pre,
410
+ .gradio-container code {
411
+ font-family: var(--font-mono) !important;
412
+ background: rgba(255,255,255,0.04) !important;
413
+ border: 1px solid rgba(255,255,255,0.10) !important;
414
+ border-radius: var(--radius-sm) !important;
415
+ padding: 0.35rem 0.55rem !important;
416
+ color: rgba(210,220,235,0.92) !important;
417
+ }
418
+
419
+ /* progress */
420
+ .gradio-container .gr-loading { color: rgba(210,220,235,0.80) !important; }
421
+ .gradio-container .progress-bar {
422
+ background: rgba(210,220,235,0.60) !important;
423
+ box-shadow: 0 0 12px rgba(210,220,235,0.10) !important;
424
+ }
425
+
426
+ /* global scrollbars */
427
+ ::-webkit-scrollbar { width: 8px; height: 8px; }
428
+ ::-webkit-scrollbar-track { background: rgba(255,255,255,0.02); }
429
+ ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: var(--radius-sm); }
430
+ ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.18); }
431
+
432
+ @media (max-width: 768px) {
433
+ :root { --space-lg: 1rem; --space-xl: 1.5rem; }
434
+ .gradio-container { padding: var(--space-md); }
435
+ .tq-hero { padding: var(--space-md) var(--space-lg); }
436
+ .tq-hero__brand { font-size: 1.25rem; }
437
+ #down_gallery [role="listitem"], #strange_gallery [role="listitem"] { flex-basis: 200px !important; }
438
+ #down_gallery [role="listitem"] img, #strange_gallery [role="listitem"] img { height: 200px !important; }
439
  }
440
 
441
+ /* kill Gradio footer */
442
+ footer, .gradio-container footer { display: none !important; }