DHEIVER commited on
Commit
cf838f4
·
verified ·
1 Parent(s): 77a1165

Create style.css

Browse files
Files changed (1) hide show
  1. style.css +136 -358
style.css CHANGED
@@ -1,408 +1,186 @@
1
- /* Creating a more modern looking UI for the Gemini Image Editing App */
2
- /* Global Styles */
3
  :root {
4
- --primary-color: #4f46e5;
5
- --primary-light: #6366f1;
6
- --primary-dark: #3730a3;
7
- --secondary-color: #9333ea;
8
- --accent-color: #ec4899;
9
- --text-color: #0f172a;
10
- --text-light: #64748b;
11
- --bg-color: #f8fafc;
12
- --card-bg: #ffffff;
13
- --border-color: #e2e8f0;
14
- --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
15
- --transition: all 0.3s ease;
16
- --radius: 12px;
17
- --header-gradient: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
18
  }
19
 
20
- /* Dark mode support */
21
- .dark {
22
- --text-color: #e2e8f0;
23
- --text-light: #94a3b8;
24
- --bg-color: #0f172a;
25
- --card-bg: #1e293b;
26
- --border-color: #334155;
27
  }
28
 
29
- /* Base container styling */
30
- .gradio-container {
31
- font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
32
- background-color: var(--bg-color);
33
- color: var(--text-color);
34
- max-width: 1200px;
35
- margin: 0 auto;
36
- padding: 2rem;
37
- box-shadow: var(--shadow);
38
- border-radius: var(--radius);
39
- }
40
-
41
- /* Header styling */
42
  .header-container {
43
- background: var(--header-gradient);
44
- border-radius: var(--radius);
45
- padding: 2rem;
46
- margin-bottom: 2rem;
47
- box-shadow: var(--shadow);
48
- color: white;
49
- display: flex;
50
- align-items: center;
51
- justify-content: center;
52
- gap: 20px;
53
  }
54
 
55
- .header-container img {
56
- width: 100px;
57
- height: 100px;
58
- filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5));
59
- transition: var(--transition);
60
  }
61
 
62
- .header-container img:hover {
63
- transform: scale(1.05) rotate(5deg);
 
 
64
  }
65
 
66
- .header-container h1 {
67
- font-size: 2.5rem;
68
- font-weight: 700;
69
- margin-bottom: 0.5rem;
70
- background: linear-gradient(45deg, #fff, #f0f0ff);
71
- -webkit-background-clip: text;
72
- background-clip: text;
73
- color: transparent;
74
- display: inline-block;
75
  }
76
 
77
- .header-container a {
78
- color: white;
79
- text-decoration: none;
80
- font-weight: 600;
81
- border-bottom: 2px solid rgba(255, 255, 255, 0.5);
82
- transition: var(--transition);
83
- padding-bottom: 2px;
84
  }
85
 
86
- .header-container a:hover {
87
- border-color: white;
88
  }
89
 
90
- /* Accordion styling */
91
- .gr-accordion {
92
- border: none !important;
93
- background: var(--card-bg);
94
- border-radius: var(--radius);
95
- overflow: hidden;
96
- box-shadow: var(--shadow);
97
- margin-bottom: 1.5rem;
98
- transition: var(--transition);
99
  }
100
 
101
- .gr-accordion:hover {
102
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
 
 
 
 
103
  }
104
 
105
- .gr-accordion-title {
106
- background-color: var(--primary-color);
107
- color: white !important;
108
- padding: 1rem 1.5rem;
109
- font-weight: 600;
110
- cursor: pointer;
111
  }
112
 
113
-
114
- /* Input fields */
115
- .gr-input, .gr-textarea {
116
- width: 100%;
117
- padding: 0.75rem 1rem;
118
- border: 1px solid var(--border-color);
119
- border-radius: var(--radius);
120
- background-color: var(--card-bg);
121
- transition: var(--transition);
122
- font-size: 1rem;
123
- color: var(--text-color);
124
  }
125
 
126
- .gr-input:focus, .gr-textarea:focus {
127
- border-color: var(--primary-color);
128
- box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.2);
129
- outline: none;
130
  }
131
 
132
- .gr-form .gr-form-label {
133
- font-weight: 600;
134
- color: var(--text-color);
135
- margin-bottom: 0.5rem;
 
 
136
  }
137
 
138
- /* Adding Dark mode handling */
139
- /* Generate button - Modified to use header gradient in both light and dark mode */
140
- .gr-button.gr-button-primary,
141
- button.generate-btn,
142
- #component-54 > div.svelte-1pf7t34 > div > button {
143
- background: var(--header-gradient) !important;
144
- color: white !important;
145
- border: none !important;
146
- border-radius: var(--radius) !important;
147
- padding: 0.75rem 1.5rem !important;
148
- font-size: 1rem !important;
149
- font-weight: 600 !important;
150
- cursor: pointer !important;
151
- transition: var(--transition) !important;
152
- width: 100% !important;
153
- text-transform: uppercase !important;
154
- letter-spacing: 1px !important;
155
- box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.4) !important;
156
  }
157
 
158
- .gr-button.gr-button-primary:hover,
159
- button.generate-btn:hover,
160
- #component-54 > div.svelte-1pf7t34 > div > button:hover {
161
- transform: translateY(-2px) !important;
162
- box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.4) !important;
 
 
 
 
163
  }
164
 
165
- .gr-button.gr-button-primary:active,
166
- button.generate-btn:active,
167
- #component-54 > div.svelte-1pf7t34 > div > button:active {
168
- transform: translateY(1px) !important;
169
  }
170
 
171
- /* Gallery output */
172
- .gr-gallery {
173
- background-color: var(--card-bg);
174
- border-radius: var(--radius);
175
- padding: 1rem;
176
- box-shadow: var(--shadow);
177
- min-height: 300px;
178
  }
179
 
180
- .gr-gallery img {
181
- border-radius: calc(var(--radius) - 4px);
182
- transition: var(--transition);
183
- object-fit: contain !important;
184
- max-height: 100% !important;
185
- max-width: 100% !important;
186
  }
187
 
188
- .gr-gallery img:hover {
189
- transform: scale(1.02);
 
 
 
 
 
190
  }
191
 
192
- /* Output text area */
193
  .output-text {
194
- background-color: var(--card-bg);
195
- border-radius: var(--radius);
196
- padding: 1.5rem;
197
- box-shadow: var(--shadow);
198
- line-height: 1.6;
199
- min-height: 100px;
200
- color: var(--text-color);
201
  }
202
 
203
- /* Examples section - Fixed for dark mode */
204
  .gr-examples-header {
205
- font-weight: 600 !important;
206
- margin: 2rem 0 1rem !important;
207
- padding-bottom: 0.5rem !important;
208
- /* Removed border-bottom to avoid duplicate lines */
209
- color: var(--primary-light) !important;
210
- font-size: 1.5rem !important;
211
- display: block !important;
212
- visibility: visible !important;
213
- }
214
-
215
- /* Handling duplicate lines coming up below the examples header */
216
- .gradio-container hr {
217
- display: none !important;
218
- }
219
-
220
- /* Fix horizontal separator styling if needed */
221
- .gradio-container hr:first-of-type {
222
- display: block !important;
223
- border-top: 2px solid var(--primary-light) !important;
224
- margin: 1rem 0 2rem 0 !important;
225
- }
226
-
227
- /* Fix dark mode examples grid */
228
- .gr-examples {
229
- display: grid;
230
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
231
- gap: 1rem;
232
- margin-top: 1.5rem;
233
- }
234
-
235
- /* Fix dark mode examples background */
236
- .gr-sample {
237
- background-color: var(--card-bg) !important;
238
- border-radius: var(--radius);
239
- overflow: hidden;
240
- box-shadow: var(--shadow);
241
- transition: var(--transition);
242
- cursor: pointer;
243
- }
244
-
245
- .gr-sample:hover {
246
- transform: translateY(-2px);
247
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
248
- }
249
-
250
- .gr-sample img {
251
- width: 100%;
252
- height: 150px;
253
- object-fit: cover;
254
- }
255
-
256
- /* Examples table styling fixes for dark mode */
257
- table {
258
- background-color: transparent !important;
259
- color: var(--text-color) !important;
260
- }
261
-
262
- table tr {
263
- background-color: var(--card-bg) !important;
264
- color: var(--text-color) !important;
265
- }
266
-
267
- table td {
268
- background-color: var(--card-bg) !important;
269
- color: var(--text-color) !important;
270
- border-color: var(--border-color) !important;
271
- }
272
-
273
- /* Responsive adjustments */
274
- @media (max-width: 768px) {
275
- .gradio-container {
276
- padding: 1rem;
277
- }
278
-
279
- .header-container {
280
- flex-direction: column;
281
  text-align: center;
282
- padding: 1.5rem;
283
- }
284
-
285
- .header-container h1 {
286
- font-size: 2rem;
287
- }
288
- }
289
-
290
- /* Custom scrollbar */
291
- ::-webkit-scrollbar {
292
- width: 8px;
293
- height: 8px;
294
- }
295
-
296
- ::-webkit-scrollbar-track {
297
- background: var(--bg-color);
298
- }
299
-
300
- ::-webkit-scrollbar-thumb {
301
- background: var(--primary-light);
302
- border-radius: 4px;
303
- }
304
-
305
- ::-webkit-scrollbar-thumb:hover {
306
- background: var(--primary-color);
307
- }
308
-
309
- /* Ensure proper viewport handling for mobile */
310
- @media screen and (max-width: 767px) {
311
- body, html {
312
- overflow-x: hidden !important;
313
- width: 100vw !important;
314
- max-width: 100% !important;
315
- }
316
-
317
- /* Force central alignment for the entire app container */
318
- .gradio-container {
319
- padding: 1rem !important;
320
- margin: 0 auto !important;
321
- max-width: 100% !important;
322
- width: 100% !important;
323
- left: 0 !important;
324
- right: 0 !important;
325
- box-sizing: border-box !important;
326
- overflow-x: hidden !important;
327
- }
328
-
329
- /* Fix header container on mobile */
330
- .header-container {
331
- flex-direction: column !important;
332
- text-align: center !important;
333
- padding: 1rem !important;
334
- width: 100% !important;
335
- box-sizing: border-box !important;
336
- margin-left: auto !important;
337
- margin-right: auto !important;
338
- }
339
-
340
- /* Ensure all content blocks are properly centered */
341
- .main-content,
342
- .input-column,
343
- .output-column,
344
- .gr-form,
345
- .gr-panel,
346
- .gr-box,
347
- .gr-input,
348
- .gr-text-input,
349
- .gr-gallery,
350
- .gr-button,
351
- #component-54 > div.svelte-1pf7t34 > div > button {
352
- width: 100% !important;
353
- max-width: 100% !important;
354
- margin-left: auto !important;
355
- margin-right: auto !important;
356
- box-sizing: border-box !important;
357
- }
358
-
359
-
360
- /* Fix examples area */
361
- .gr-examples {
362
- grid-template-columns: 1fr !important;
363
- width: 100% !important;
364
- }
365
-
366
- /* Fix example tables on mobile */
367
- table {
368
- table-layout: fixed !important;
369
- width: 100% !important;
370
- }
371
-
372
- table td {
373
- word-break: break-word !important;
374
- }
375
- }
376
-
377
- /* Fix for extreme narrow screens (small Android phones) */
378
- @media screen and (max-width: 380px) {
379
- .header-container h1 {
380
- font-size: 1.8rem !important;
381
- }
382
-
383
- .header-container p {
384
- font-size: 0.9rem !important;
385
- }
386
-
387
- /* Stack everything vertically */
388
- .gr-panel {
389
- display: flex !important;
390
- flex-direction: column !important;
391
- }
392
- }
393
-
394
- /* Custom fix for the container to always stay centered on any device */
395
- #gradio-app {
396
- display: flex !important;
397
- justify-content: center !important;
398
- width: 100% !important;
399
- max-width: 100% !important;
400
- margin: 0 auto !important;
401
- overflow-x: hidden !important;
402
  }
403
 
404
- /* Ensure the root container doesn't cause horizontal scroll */
405
- .root {
406
- max-width: 100% !important;
407
- overflow-x: hidden !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
408
  }
 
1
+ /* Paleta de cores */
 
2
  :root {
3
+ --primary-color: #4A90E2; /* Azul suave */
4
+ --secondary-color: #50C878; /* Verde esmeralda */
5
+ --background-color: #F7F9FC; /* Cinza claro */
6
+ --text-color: #333333; /* Preto suave */
7
+ --accent-color: #F5A623; /* Laranja vibrante */
8
+ --border-color: #DDE4E9; /* Cinza claro */
9
+ --hover-color: #357ABD; /* Azul mais escuro */
 
 
 
 
 
 
 
10
  }
11
 
12
+ /* Estilo geral */
13
+ body {
14
+ background-color: var(--background-color);
15
+ color: var(--text-color);
16
+ font-family: 'Arial', sans-serif;
17
+ padding: 20px;
 
18
  }
19
 
20
+ /* Cabeçalho */
 
 
 
 
 
 
 
 
 
 
 
 
21
  .header-container {
22
+ display: flex;
23
+ align-items: center;
24
+ padding: 15px 25px;
25
+ background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
26
+ color: white;
27
+ border-radius: 10px;
28
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
29
+ margin-bottom: 20px;
 
 
30
  }
31
 
32
+ .logo img {
33
+ width: 50px;
34
+ margin-right: 20px;
 
 
35
  }
36
 
37
+ .header-text h1 {
38
+ margin: 0;
39
+ font-size: 28px;
40
+ font-weight: bold;
41
  }
42
 
43
+ .header-text p {
44
+ margin: 5px 0 0;
45
+ font-size: 14px;
 
 
 
 
 
 
46
  }
47
 
48
+ .header-text a {
49
+ color: var(--accent-color);
50
+ text-decoration: none;
51
+ transition: color 0.3s;
 
 
 
52
  }
53
 
54
+ .header-text a:hover {
55
+ color: white;
56
  }
57
 
58
+ /* Abas */
59
+ .gr-tabs {
60
+ background-color: white;
61
+ border-radius: 10px;
62
+ padding: 15px;
63
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
 
 
 
64
  }
65
 
66
+ /* Acordeões */
67
+ .config-accordion, .instructions-accordion {
68
+ border: 1px solid var(--border-color);
69
+ border-radius: 8px;
70
+ padding: 10px;
71
+ background-color: #fff;
72
  }
73
 
74
+ .config-accordion h3, .instructions-accordion h3 {
75
+ color: var(--primary-color);
76
+ font-size: 18px;
 
 
 
77
  }
78
 
79
+ /* Entrada e Saída */
80
+ .upload-box {
81
+ border: 2px dashed var(--primary-color);
82
+ border-radius: 8px;
83
+ padding: 15px;
84
+ background-color: #fafafa;
85
+ transition: border-color 0.3s;
 
 
 
 
86
  }
87
 
88
+ .upload-box:hover {
89
+ border-color: var(--hover-color);
 
 
90
  }
91
 
92
+ .api-key-input, .prompt-input {
93
+ border: 1px solid var(--border-color);
94
+ border-radius: 6px;
95
+ padding: 10px;
96
+ font-size: 14px;
97
+ transition: border-color 0.3s;
98
  }
99
 
100
+ .api-key-input:focus, .prompt-input:focus {
101
+ border-color: var(--primary-color);
102
+ outline: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  }
104
 
105
+ .generate-btn {
106
+ background-color: var(--secondary-color);
107
+ color: white;
108
+ border: none;
109
+ padding: 12px 25px;
110
+ border-radius: 6px;
111
+ font-weight: bold;
112
+ cursor: pointer;
113
+ transition: background-color 0.3s;
114
  }
115
 
116
+ .generate-btn:hover {
117
+ background-color: #45b065;
 
 
118
  }
119
 
120
+ .gr-button.secondary {
121
+ background-color: #e0e0e0;
122
+ color: var(--text-color);
123
+ padding: 12px 25px;
124
+ border-radius: 6px;
 
 
125
  }
126
 
127
+ .gr-button.secondary:hover {
128
+ background-color: #d0d0d0;
 
 
 
 
129
  }
130
 
131
+ /* Galeria e texto de saída */
132
+ .output-gallery {
133
+ border: 1px solid var(--border-color);
134
+ border-radius: 8px;
135
+ padding: 10px;
136
+ background-color: #fff;
137
+ min-height: 200px;
138
  }
139
 
 
140
  .output-text {
141
+ border: 1px solid var(--border-color);
142
+ border-radius: 6px;
143
+ padding: 10px;
144
+ min-height: 100px;
145
+ font-size: 14px;
146
+ background-color: #fafafa;
 
147
  }
148
 
149
+ /* Exemplos */
150
  .gr-examples-header {
151
+ color: var(--primary-color);
152
+ font-size: 22px;
153
+ margin: 20px 0 10px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  text-align: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  }
156
 
157
+ #examples-grid {
158
+ display: grid;
159
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
160
+ gap: 15px;
161
+ padding: 10px;
162
+ background-color: white;
163
+ border-radius: 8px;
164
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
165
+ }
166
+
167
+ /* Tooltips (personalizado) */
168
+ .gr-tooltip {
169
+ position: relative;
170
+ display: inline-block;
171
+ }
172
+
173
+ .gr-tooltip:hover::after {
174
+ content: attr(tooltips);
175
+ position: absolute;
176
+ bottom: 100%;
177
+ left: 50%;
178
+ transform: translateX(-50%);
179
+ background-color: #333;
180
+ color: white;
181
+ padding: 5px 10px;
182
+ border-radius: 4px;
183
+ font-size: 12px;
184
+ white-space: nowrap;
185
+ z-index: 10;
186
  }