RealMati commited on
Commit
281ebae
·
verified ·
1 Parent(s): f0e347c

Upload style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. style.css +132 -200
style.css CHANGED
@@ -1,286 +1,220 @@
1
  /* ============================================
2
- Text-to-SQL Demo — Custom Theme
 
3
  ============================================ */
4
 
5
- /* ---------- Global ---------- */
6
- * { box-sizing: border-box; }
7
-
8
  .gradio-container {
9
- max-width: 1200px !important;
10
  margin: 0 auto !important;
11
  }
12
 
13
- /* ---------- Header ---------- */
14
- .main-header {
15
  text-align: center;
16
- padding: 2rem 1rem 0.5rem;
17
  }
18
- .main-header h1 {
19
- font-size: 2.8rem;
20
  font-weight: 800;
 
 
 
 
21
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
22
  -webkit-background-clip: text;
23
  -webkit-text-fill-color: transparent;
24
- margin: 0 0 0.3rem 0;
25
- letter-spacing: -0.02em;
26
- }
27
- .main-header .tagline {
28
- color: #475569;
29
- font-size: 1.1rem;
30
- margin: 0 auto;
31
- max-width: 540px;
32
- line-height: 1.5;
33
- }
34
- .main-header .model-link {
35
- display: inline-block;
36
- margin-top: 0.6rem;
37
- font-size: 0.85rem;
38
- color: #667eea;
39
- text-decoration: none;
40
- border: 1px solid #c7d2fe;
41
- padding: 0.25rem 0.85rem;
42
- border-radius: 20px;
43
- transition: all 0.2s ease;
44
- }
45
- .main-header .model-link:hover {
46
- background: #667eea;
47
- color: #fff;
48
  }
49
 
50
- /* ---------- Pipeline Strip ---------- */
51
- .pipeline-strip {
52
- background: #0f172a;
53
- border-radius: 14px;
54
- padding: 1.1rem 1.5rem;
55
  display: flex;
56
- align-items: center;
57
  justify-content: center;
58
  gap: 0.4rem;
59
  flex-wrap: wrap;
60
- margin: 0.75rem 0 1.25rem;
61
- border: 1px solid #1e293b;
62
- }
63
- .pipeline-strip .step {
64
- display: inline-flex;
65
- align-items: center;
66
- gap: 0.5rem;
67
- padding: 0.35rem 0.85rem;
68
- border-radius: 8px;
69
- font-size: 0.85rem;
70
- font-weight: 600;
71
- font-family: 'Fira Code', monospace;
72
- }
73
- .pipeline-strip .step-input {
74
- background: #1e3a5f;
75
- color: #7dd3fc;
76
- }
77
- .pipeline-strip .step-model {
78
- background: #312e81;
79
- color: #a5b4fc;
80
  }
81
- .pipeline-strip .step-struct {
82
- background: #422006;
83
- color: #fbbf24;
84
- }
85
- .pipeline-strip .step-sql {
86
- background: #14532d;
87
- color: #86efac;
88
- }
89
- .pipeline-strip .arrow {
90
- color: #475569;
91
- font-size: 1.1rem;
92
- margin: 0 0.15rem;
93
  }
 
 
 
 
94
 
95
- /* ---------- Badges ---------- */
96
- .tech-badges {
 
 
 
97
  display: flex;
 
98
  justify-content: center;
99
- gap: 0.5rem;
100
  flex-wrap: wrap;
101
- margin-bottom: 1rem;
102
- }
103
- .badge {
104
- display: inline-block;
105
- padding: 0.3rem 0.75rem;
106
- border-radius: 20px;
107
- font-size: 0.78rem;
108
- font-weight: 700;
109
- letter-spacing: 0.03em;
110
- }
111
- .badge-indigo { background: #e0e7ff; color: #3730a3; }
112
- .badge-purple { background: #ede9fe; color: #5b21b6; }
113
- .badge-emerald { background: #d1fae5; color: #065f46; }
114
- .badge-amber { background: #fef3c7; color: #92400e; }
115
-
116
- /* ---------- Tabs ---------- */
117
- .tabs .tab-nav button {
118
- font-weight: 600 !important;
119
- color: #475569 !important;
120
- font-size: 0.95rem !important;
121
  }
122
- .tabs .tab-nav button.selected {
123
- color: #667eea !important;
124
- border-color: #667eea !important;
 
 
 
125
  }
 
 
 
 
 
126
 
127
- /* ---------- SQL Output (dark code block) ---------- */
128
  .sql-output textarea {
129
- font-family: 'Fira Code', 'Cascadia Code', 'SF Mono', monospace !important;
130
- font-size: 1.15rem !important;
131
  background: #0f172a !important;
132
  color: #e2e8f0 !important;
133
  border: 1px solid #1e293b !important;
134
- border-radius: 12px !important;
135
- padding: 1.15rem !important;
136
- line-height: 1.6 !important;
137
- letter-spacing: 0.01em !important;
138
- }
139
- .sql-output label span {
140
- color: #1e293b !important;
141
- font-weight: 600 !important;
142
  }
143
 
144
- /* ---------- Decode boxes ---------- */
145
  .decode-box textarea {
146
  font-family: 'Fira Code', monospace !important;
147
- font-size: 0.88rem !important;
148
  background: #f1f5f9 !important;
149
- color: #1e293b !important;
150
  border: 1px solid #cbd5e1 !important;
151
- border-radius: 10px !important;
152
- }
153
- .decode-box label span {
154
- color: #334155 !important;
155
- font-weight: 600 !important;
156
  }
157
 
158
- /* ---------- Empty state placeholder ---------- */
159
- .sql-output textarea:placeholder-shown,
160
- .decode-box textarea:placeholder-shown {
161
- font-style: italic;
162
- opacity: 0.5;
163
- }
164
- .sql-output textarea:empty::before {
165
- content: "Your SQL query will appear here...";
166
- color: #64748b;
167
- font-style: italic;
168
- }
169
-
170
- /* ---------- Generate Button ---------- */
171
  .generate-btn {
172
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
173
  border: none !important;
174
  color: #fff !important;
175
  font-weight: 700 !important;
176
- font-size: 1.05rem !important;
177
- padding: 0.8rem 2rem !important;
178
- border-radius: 12px !important;
179
- min-height: 48px !important;
180
- letter-spacing: 0.02em !important;
181
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
182
- box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25) !important;
183
  }
184
  .generate-btn:hover {
185
- transform: translateY(-2px) !important;
186
- box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4) !important;
187
  }
188
 
189
- /* ---------- Section Headers ---------- */
190
- .section-title {
191
- color: #1e293b !important;
192
- font-weight: 700 !important;
 
193
  }
194
-
195
- /* ---------- All labels dark ---------- */
196
- label span, .label-wrap span {
197
- color: #1e293b !important;
198
  }
 
199
 
200
- /* ---------- Input hint text ---------- */
201
  .input-hint {
202
- font-size: 0.82rem;
203
- color: #64748b;
204
- margin-top: -0.25rem;
205
- margin-bottom: 0.5rem;
206
- padding-left: 2px;
207
  }
208
-
209
- /* ---------- Architecture diagram ---------- */
210
- .arch-section {
211
- padding: 1.5rem;
 
 
212
  }
 
 
213
  .arch-card {
214
  background: #f8fafc;
215
  border: 1px solid #e2e8f0;
216
- border-radius: 14px;
217
- padding: 1.5rem;
218
- margin-bottom: 1rem;
219
  }
220
  .arch-card h3 {
221
- color: #1e293b;
222
- margin: 0 0 0.75rem 0;
223
- font-size: 1.1rem;
 
224
  }
225
- .arch-card p, .arch-card li {
226
- color: #475569;
227
- font-size: 0.95rem;
228
- line-height: 1.6;
 
 
 
 
229
  }
230
  .arch-card code {
231
  background: #e0e7ff;
232
- color: #3730a3;
233
- padding: 0.15rem 0.45rem;
234
  border-radius: 4px;
235
- font-size: 0.85rem;
236
  font-family: 'Fira Code', monospace;
237
  }
 
 
 
238
  .arch-grid {
239
  display: grid;
240
  grid-template-columns: 1fr 1fr;
241
- gap: 1rem;
242
  }
243
  @media (max-width: 768px) {
244
  .arch-grid { grid-template-columns: 1fr; }
245
  }
246
 
247
- /* Encoding reference table */
248
  .encoding-table {
249
  width: 100%;
250
  border-collapse: separate;
251
  border-spacing: 0;
252
- border-radius: 10px;
253
  overflow: hidden;
254
  border: 1px solid #e2e8f0;
255
- font-size: 0.9rem;
256
  }
257
  .encoding-table th {
258
  background: #0f172a;
259
- color: #e2e8f0;
260
- padding: 0.7rem 1rem;
261
  text-align: left;
262
  font-weight: 600;
263
  }
264
  .encoding-table td {
265
- padding: 0.6rem 1rem;
266
  border-bottom: 1px solid #f1f5f9;
267
- color: #334155;
268
  }
269
  .encoding-table tr:last-child td { border-bottom: none; }
270
  .encoding-table tr:nth-child(even) td { background: #f8fafc; }
271
  .encoding-table .mono {
272
  font-family: 'Fira Code', monospace;
273
- color: #667eea;
274
  font-weight: 600;
275
- font-size: 0.85rem;
276
  }
277
 
278
- /* Stats cards */
279
  .stats-grid {
280
  display: grid;
281
  grid-template-columns: repeat(4, 1fr);
282
- gap: 0.75rem;
283
- margin: 1rem 0;
284
  }
285
  @media (max-width: 768px) {
286
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
@@ -288,39 +222,37 @@ label span, .label-wrap span {
288
  .stat-card {
289
  background: #f8fafc;
290
  border: 1px solid #e2e8f0;
291
- border-radius: 12px;
292
- padding: 1.1rem;
293
  text-align: center;
294
  }
295
  .stat-card .stat-value {
296
- font-size: 1.6rem;
297
  font-weight: 800;
298
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
299
- -webkit-background-clip: text;
300
- -webkit-text-fill-color: transparent;
301
  }
302
  .stat-card .stat-label {
303
- font-size: 0.8rem;
304
- color: #64748b;
305
  font-weight: 600;
306
- margin-top: 0.2rem;
307
  text-transform: uppercase;
308
  letter-spacing: 0.05em;
 
309
  }
310
 
311
- /* ---------- Footer ---------- */
312
  .app-footer {
313
  text-align: center;
314
- padding: 1.5rem 1rem;
315
- margin-top: 1rem;
316
  border-top: 1px solid #e2e8f0;
317
- color: #94a3b8;
318
- font-size: 0.82rem;
 
 
319
  }
320
  .app-footer a {
321
- color: #667eea;
322
- text-decoration: none;
323
  }
324
 
325
- /* Hide default gradio footer */
326
  footer { display: none !important; }
 
1
  /* ============================================
2
+ Text-to-SQL Demo
3
+ RULE: All text on light backgrounds = DARK
4
  ============================================ */
5
 
 
 
 
6
  .gradio-container {
7
+ max-width: 1100px !important;
8
  margin: 0 auto !important;
9
  }
10
 
11
+ /* -- Compact Header -- */
12
+ .app-header {
13
  text-align: center;
14
+ padding: 1rem 0 0.25rem;
15
  }
16
+ .app-header h1 {
17
+ font-size: 2rem;
18
  font-weight: 800;
19
+ color: #1e293b;
20
+ margin: 0;
21
+ }
22
+ .app-header h1 span {
23
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
24
  -webkit-background-clip: text;
25
  -webkit-text-fill-color: transparent;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
 
28
+ /* -- Badges: DARK backgrounds, white text -- */
29
+ .tech-badges {
 
 
 
30
  display: flex;
 
31
  justify-content: center;
32
  gap: 0.4rem;
33
  flex-wrap: wrap;
34
+ margin: 0.5rem 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  }
36
+ .badge {
37
+ padding: 0.25rem 0.65rem;
38
+ border-radius: 6px;
39
+ font-size: 0.75rem;
40
+ font-weight: 700;
41
+ letter-spacing: 0.02em;
 
 
 
 
 
 
42
  }
43
+ .badge-indigo { background: #3730a3; color: #e0e7ff; }
44
+ .badge-purple { background: #5b21b6; color: #ede9fe; }
45
+ .badge-emerald { background: #065f46; color: #d1fae5; }
46
+ .badge-amber { background: #92400e; color: #fef3c7; }
47
 
48
+ /* -- Pipeline: compact dark strip -- */
49
+ .pipeline-strip {
50
+ background: #0f172a;
51
+ border-radius: 10px;
52
+ padding: 0.6rem 1rem;
53
  display: flex;
54
+ align-items: center;
55
  justify-content: center;
56
+ gap: 0.3rem;
57
  flex-wrap: wrap;
58
+ margin: 0.5rem 0 0.75rem;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
  }
60
+ .pipeline-strip .step {
61
+ padding: 0.25rem 0.6rem;
62
+ border-radius: 6px;
63
+ font-size: 0.8rem;
64
+ font-weight: 600;
65
+ font-family: 'Fira Code', monospace;
66
  }
67
+ .pipeline-strip .step-input { background: #1e3a5f; color: #7dd3fc; }
68
+ .pipeline-strip .step-model { background: #312e81; color: #a5b4fc; }
69
+ .pipeline-strip .step-struct { background: #422006; color: #fbbf24; }
70
+ .pipeline-strip .step-sql { background: #14532d; color: #86efac; }
71
+ .pipeline-strip .arrow { color: #475569; font-size: 1rem; }
72
 
73
+ /* -- SQL output: dark code block -- */
74
  .sql-output textarea {
75
+ font-family: 'Fira Code', 'Cascadia Code', monospace !important;
76
+ font-size: 1.1rem !important;
77
  background: #0f172a !important;
78
  color: #e2e8f0 !important;
79
  border: 1px solid #1e293b !important;
80
+ border-radius: 10px !important;
81
+ padding: 1rem !important;
82
+ line-height: 1.5 !important;
 
 
 
 
 
83
  }
84
 
85
+ /* -- Decode/info boxes -- */
86
  .decode-box textarea {
87
  font-family: 'Fira Code', monospace !important;
88
+ font-size: 0.85rem !important;
89
  background: #f1f5f9 !important;
90
+ color: #0f172a !important;
91
  border: 1px solid #cbd5e1 !important;
92
+ border-radius: 8px !important;
 
 
 
 
93
  }
94
 
95
+ /* -- Generate button -- */
 
 
 
 
 
 
 
 
 
 
 
 
96
  .generate-btn {
97
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
98
  border: none !important;
99
  color: #fff !important;
100
  font-weight: 700 !important;
101
+ font-size: 1rem !important;
102
+ border-radius: 10px !important;
103
+ min-height: 46px !important;
104
+ box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3) !important;
105
+ transition: all 0.2s ease !important;
 
 
106
  }
107
  .generate-btn:hover {
108
+ transform: translateY(-1px) !important;
109
+ box-shadow: 0 4px 16px rgba(102, 126, 234, 0.4) !important;
110
  }
111
 
112
+ /* -- FORCE all labels/text dark on light backgrounds -- */
113
+ label, label span, .label-wrap span,
114
+ h1, h2, h3, h4, h5, h6,
115
+ p, li, td, th, span, div {
116
+ color: #1e293b;
117
  }
118
+ /* Exceptions for dark containers */
119
+ .pipeline-strip *, .sql-output textarea,
120
+ .app-footer, .app-footer * {
121
+ color: inherit;
122
  }
123
+ .badge { color: inherit !important; }
124
 
125
+ /* -- Hint text -- */
126
  .input-hint {
127
+ font-size: 0.8rem;
128
+ color: #64748b !important;
129
+ margin-top: -0.3rem;
 
 
130
  }
131
+ .input-hint code {
132
+ background: #e2e8f0;
133
+ color: #334155;
134
+ padding: 0.1rem 0.35rem;
135
+ border-radius: 3px;
136
+ font-size: 0.78rem;
137
  }
138
+
139
+ /* -- Tab content cards -- */
140
  .arch-card {
141
  background: #f8fafc;
142
  border: 1px solid #e2e8f0;
143
+ border-radius: 12px;
144
+ padding: 1.25rem;
145
+ margin-bottom: 0.75rem;
146
  }
147
  .arch-card h3 {
148
+ color: #0f172a !important;
149
+ margin: 0 0 0.6rem 0;
150
+ font-size: 1.05rem;
151
+ font-weight: 700;
152
  }
153
+ .arch-card p,
154
+ .arch-card li {
155
+ color: #334155 !important;
156
+ font-size: 0.92rem;
157
+ line-height: 1.55;
158
+ }
159
+ .arch-card strong {
160
+ color: #0f172a !important;
161
  }
162
  .arch-card code {
163
  background: #e0e7ff;
164
+ color: #3730a3 !important;
165
+ padding: 0.1rem 0.4rem;
166
  border-radius: 4px;
167
+ font-size: 0.82rem;
168
  font-family: 'Fira Code', monospace;
169
  }
170
+ .arch-card a {
171
+ color: #4f46e5 !important;
172
+ }
173
  .arch-grid {
174
  display: grid;
175
  grid-template-columns: 1fr 1fr;
176
+ gap: 0.75rem;
177
  }
178
  @media (max-width: 768px) {
179
  .arch-grid { grid-template-columns: 1fr; }
180
  }
181
 
182
+ /* -- Reference table -- */
183
  .encoding-table {
184
  width: 100%;
185
  border-collapse: separate;
186
  border-spacing: 0;
187
+ border-radius: 8px;
188
  overflow: hidden;
189
  border: 1px solid #e2e8f0;
190
+ font-size: 0.88rem;
191
  }
192
  .encoding-table th {
193
  background: #0f172a;
194
+ color: #e2e8f0 !important;
195
+ padding: 0.6rem 0.8rem;
196
  text-align: left;
197
  font-weight: 600;
198
  }
199
  .encoding-table td {
200
+ padding: 0.5rem 0.8rem;
201
  border-bottom: 1px solid #f1f5f9;
202
+ color: #334155 !important;
203
  }
204
  .encoding-table tr:last-child td { border-bottom: none; }
205
  .encoding-table tr:nth-child(even) td { background: #f8fafc; }
206
  .encoding-table .mono {
207
  font-family: 'Fira Code', monospace;
208
+ color: #4f46e5 !important;
209
  font-weight: 600;
 
210
  }
211
 
212
+ /* -- Stats cards -- */
213
  .stats-grid {
214
  display: grid;
215
  grid-template-columns: repeat(4, 1fr);
216
+ gap: 0.6rem;
217
+ margin: 0.75rem 0;
218
  }
219
  @media (max-width: 768px) {
220
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
 
222
  .stat-card {
223
  background: #f8fafc;
224
  border: 1px solid #e2e8f0;
225
+ border-radius: 10px;
226
+ padding: 0.9rem;
227
  text-align: center;
228
  }
229
  .stat-card .stat-value {
230
+ font-size: 1.4rem;
231
  font-weight: 800;
232
+ color: #4f46e5 !important;
 
 
233
  }
234
  .stat-card .stat-label {
235
+ font-size: 0.72rem;
236
+ color: #64748b !important;
237
  font-weight: 600;
 
238
  text-transform: uppercase;
239
  letter-spacing: 0.05em;
240
+ margin-top: 0.15rem;
241
  }
242
 
243
+ /* -- Footer -- */
244
  .app-footer {
245
  text-align: center;
246
+ padding: 1rem;
247
+ margin-top: 0.75rem;
248
  border-top: 1px solid #e2e8f0;
249
+ font-size: 0.8rem;
250
+ }
251
+ .app-footer, .app-footer * {
252
+ color: #94a3b8 !important;
253
  }
254
  .app-footer a {
255
+ color: #667eea !important;
 
256
  }
257
 
 
258
  footer { display: none !important; }