NitinBot001 commited on
Commit
e5b223d
·
verified ·
1 Parent(s): edf5647

Update static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +313 -0
static/style.css CHANGED
@@ -0,0 +1,313 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ * {
2
+ margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ body {
8
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
9
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
10
+ min-height: 100vh;
11
+ padding: 20px;
12
+ }
13
+
14
+ .container {
15
+ max-width: 900px;
16
+ margin: 0 auto;
17
+ background: white;
18
+ border-radius: 20px;
19
+ box-shadow: 0 20px 60px rgba(0,0,0,0.3);
20
+ overflow: hidden;
21
+ }
22
+
23
+ header {
24
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
25
+ color: white;
26
+ padding: 30px;
27
+ text-align: center;
28
+ }
29
+
30
+ header h1 {
31
+ font-size: 2.5em;
32
+ margin-bottom: 10px;
33
+ }
34
+
35
+ header p {
36
+ font-size: 1.1em;
37
+ opacity: 0.9;
38
+ }
39
+
40
+ .status-bar {
41
+ background: #f7f9fc;
42
+ padding: 15px 30px;
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ border-bottom: 1px solid #e2e8f0;
47
+ }
48
+
49
+ .status-indicator {
50
+ width: 12px;
51
+ height: 12px;
52
+ border-radius: 50%;
53
+ display: inline-block;
54
+ margin-right: 10px;
55
+ }
56
+
57
+ .status-indicator.ready {
58
+ background: #48bb78;
59
+ animation: pulse 2s infinite;
60
+ }
61
+
62
+ .status-indicator.not-ready {
63
+ background: #f56565;
64
+ }
65
+
66
+ @keyframes pulse {
67
+ 0% { box-shadow: 0 0 0 0 rgba(72, 187, 120, 0.7); }
68
+ 70% { box-shadow: 0 0 0 10px rgba(72, 187, 120, 0); }
69
+ 100% { box-shadow: 0 0 0 0 rgba(72, 187, 120, 0); }
70
+ }
71
+
72
+ .stats-btn {
73
+ background: #667eea;
74
+ color: white;
75
+ border: none;
76
+ padding: 8px 16px;
77
+ border-radius: 8px;
78
+ cursor: pointer;
79
+ font-size: 0.9em;
80
+ transition: background 0.3s;
81
+ }
82
+
83
+ .stats-btn:hover {
84
+ background: #5a67d8;
85
+ }
86
+
87
+ .init-section, .main-content {
88
+ padding: 30px;
89
+ }
90
+
91
+ .init-section h3, .query-section h3, .results-section h3, .upload-section h3 {
92
+ color: #2d3748;
93
+ margin-bottom: 20px;
94
+ font-size: 1.3em;
95
+ }
96
+
97
+ #apiKeyInput {
98
+ width: 100%;
99
+ padding: 12px;
100
+ border: 2px solid #e2e8f0;
101
+ border-radius: 8px;
102
+ font-size: 1em;
103
+ margin-bottom: 15px;
104
+ }
105
+
106
+ #initBtn, #submitBtn, #uploadBtn {
107
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
108
+ color: white;
109
+ border: none;
110
+ padding: 12px 30px;
111
+ border-radius: 8px;
112
+ font-size: 1em;
113
+ cursor: pointer;
114
+ transition: transform 0.3s, box-shadow 0.3s;
115
+ }
116
+
117
+ #initBtn:hover, #submitBtn:hover, #uploadBtn:hover {
118
+ transform: translateY(-2px);
119
+ box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
120
+ }
121
+
122
+ .input-group {
123
+ margin-bottom: 20px;
124
+ }
125
+
126
+ #queryInput {
127
+ width: 100%;
128
+ padding: 15px;
129
+ border: 2px solid #e2e8f0;
130
+ border-radius: 8px;
131
+ font-size: 1em;
132
+ resize: vertical;
133
+ margin-bottom: 15px;
134
+ }
135
+
136
+ #queryInput:focus {
137
+ outline: none;
138
+ border-color: #667eea;
139
+ }
140
+
141
+ .sample-queries {
142
+ margin-top: 20px;
143
+ }
144
+
145
+ .sample-queries p {
146
+ color: #718096;
147
+ margin-bottom: 10px;
148
+ }
149
+
150
+ .sample-btn {
151
+ background: #edf2f7;
152
+ color: #4a5568;
153
+ border: 1px solid #cbd5e0;
154
+ padding: 8px 16px;
155
+ border-radius: 6px;
156
+ margin-right: 10px;
157
+ margin-bottom: 10px;
158
+ cursor: pointer;
159
+ transition: all 0.3s;
160
+ }
161
+
162
+ .sample-btn:hover {
163
+ background: #e2e8f0;
164
+ border-color: #a0aec0;
165
+ }
166
+
167
+ .results-section {
168
+ background: #f7fafc;
169
+ padding: 25px;
170
+ border-radius: 12px;
171
+ margin-top: 25px;
172
+ }
173
+
174
+ .answer-content {
175
+ background: white;
176
+ padding: 20px;
177
+ border-radius: 8px;
178
+ line-height: 1.6;
179
+ color: #2d3748;
180
+ margin-bottom: 15px;
181
+ }
182
+
183
+ .metadata {
184
+ display: flex;
185
+ justify-content: space-between;
186
+ margin-top: 15px;
187
+ padding-top: 15px;
188
+ border-top: 1px solid #e2e8f0;
189
+ }
190
+
191
+ .token-info, .time-info {
192
+ color: #718096;
193
+ font-size: 0.9em;
194
+ }
195
+
196
+ .sources-section {
197
+ margin-top: 20px;
198
+ padding-top: 20px;
199
+ border-top: 1px solid #e2e8f0;
200
+ }
201
+
202
+ .sources-section h4 {
203
+ color: #4a5568;
204
+ margin-bottom: 10px;
205
+ }
206
+
207
+ .source-item {
208
+ background: white;
209
+ padding: 12px;
210
+ border-radius: 6px;
211
+ margin-bottom: 10px;
212
+ font-size: 0.9em;
213
+ color: #718096;
214
+ border-left: 3px solid #667eea;
215
+ }
216
+
217
+ .upload-section {
218
+ margin-top: 30px;
219
+ padding-top: 30px;
220
+ border-top: 2px solid #e2e8f0;
221
+ }
222
+
223
+ #fileInput {
224
+ margin-right: 15px;
225
+ margin-bottom: 15px;
226
+ }
227
+
228
+ .loading {
229
+ text-align: center;
230
+ padding: 50px;
231
+ }
232
+
233
+ .spinner {
234
+ border: 4px solid #f3f3f3;
235
+ border-top: 4px solid #667eea;
236
+ border-radius: 50%;
237
+ width: 50px;
238
+ height: 50px;
239
+ animation: spin 1s linear infinite;
240
+ margin: 0 auto 20px;
241
+ }
242
+
243
+ @keyframes spin {
244
+ 0% { transform: rotate(0deg); }
245
+ 100% { transform: rotate(360deg); }
246
+ }
247
+
248
+ .stats-modal {
249
+ position: fixed;
250
+ z-index: 1000;
251
+ left: 0;
252
+ top: 0;
253
+ width: 100%;
254
+ height: 100%;
255
+ background-color: rgba(0,0,0,0.4);
256
+ display: flex;
257
+ align-items: center;
258
+ justify-content: center;
259
+ }
260
+
261
+ .modal-content {
262
+ background-color: white;
263
+ padding: 30px;
264
+ border-radius: 12px;
265
+ width: 80%;
266
+ max-width: 500px;
267
+ position: relative;
268
+ }
269
+
270
+ .close {
271
+ position: absolute;
272
+ right: 20px;
273
+ top: 20px;
274
+ font-size: 28px;
275
+ font-weight: bold;
276
+ color: #aaa;
277
+ cursor: pointer;
278
+ }
279
+
280
+ .close:hover {
281
+ color: #000;
282
+ }
283
+
284
+ #statsContent {
285
+ margin-top: 20px;
286
+ }
287
+
288
+ .stat-item {
289
+ display: flex;
290
+ justify-content: space-between;
291
+ padding: 10px 0;
292
+ border-bottom: 1px solid #e2e8f0;
293
+ }
294
+
295
+ .stat-item:last-child {
296
+ border-bottom: none;
297
+ }
298
+
299
+ .error-message {
300
+ background: #fed7d7;
301
+ color: #9b2c2c;
302
+ padding: 12px;
303
+ border-radius: 8px;
304
+ margin: 15px 0;
305
+ }
306
+
307
+ .success-message {
308
+ background: #c6f6d5;
309
+ color: #22543d;
310
+ padding: 12px;
311
+ border-radius: 8px;
312
+ margin: 15px 0;
313
+ }