Yash goyal commited on
Commit
b483c32
·
verified ·
1 Parent(s): b67d3fa

Update static/form-styles.css

Browse files
Files changed (1) hide show
  1. static/form-styles.css +50 -193
static/form-styles.css CHANGED
@@ -76,6 +76,42 @@ body::before {
76
  100% { background-position: 100% 100%; }
77
  }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  .preloader {
80
  position: fixed;
81
  top: 0;
@@ -95,71 +131,6 @@ body::before {
95
  visibility: hidden;
96
  }
97
 
98
- .dna-loader {
99
- position: relative;
100
- width: 100px;
101
- height: 200px;
102
- }
103
-
104
- .dna-loader-strand {
105
- position: absolute;
106
- width: 2px;
107
- height: 100%;
108
- background-color: hsla(257, 100%, 65%, 0.3);
109
- left: 30px;
110
- transform: rotate(5deg);
111
- }
112
-
113
- .dna-loader-strand:nth-child(2) {
114
- left: 70px;
115
- transform: rotate(-5deg);
116
- }
117
-
118
- .dna-loader-rung {
119
- position: absolute;
120
- width: 40px;
121
- height: 4px;
122
- left: 30px;
123
- background: linear-gradient(90deg, var(--primary-glow), var(--accent-glow));
124
- filter: blur(0.5px);
125
- box-shadow: 0 0 15px var(--primary-glow);
126
- transform-origin: center;
127
- animation: dnaLoaderSpin 2s infinite cubic-bezier(0.645, 0.045, 0.355, 1);
128
- }
129
-
130
- .dna-loader-rung:nth-child(3) { top: 10%; animation-delay: -0.2s; }
131
- .dna-loader-rung:nth-child(4) { top: 20%; animation-delay: -0.4s; }
132
- .dna-loader-rung:nth-child(5) { top: 30%; animation-delay: -0.6s; }
133
- .dna-loader-rung:nth-child(6) { top: 40%; animation-delay: -0.8s; }
134
- .dna-loader-rung:nth-child(7) { top: 50%; animation-delay: -1.0s; }
135
- .dna-loader-rung:nth-child(8) { top: 60%; animation-delay: -1.2s; }
136
- .dna-loader-rung:nth-child(9) { top: 70%; animation-delay: -1.4s; }
137
- .dna-loader-rung:nth-child(10) { top: 80%; animation-delay: -1.6s; }
138
- .dna-loader-rung:nth-child(11) { top: 90%; animation-delay: -1.8s; }
139
-
140
- @keyframes dnaLoaderSpin {
141
- 0%, 100% { transform: rotate(0deg) scaleX(1); }
142
- 50% { transform: rotate(180deg) scaleX(0.5); }
143
- }
144
-
145
- .loader-text {
146
- position: absolute;
147
- bottom: -40px;
148
- width: 100%;
149
- text-align: center;
150
- font-size: 1rem;
151
- color: var(--text-secondary);
152
- font-weight: 400;
153
- letter-spacing: 3px;
154
- text-transform: uppercase;
155
- animation: loaderTextPulse 2s infinite;
156
- }
157
-
158
- @keyframes loaderTextPulse {
159
- 0%, 100% { opacity: 0.6; }
160
- 50% { opacity: 1; }
161
- }
162
-
163
  .container {
164
  max-width: var(--container-width);
165
  margin: clamp(4rem, 10vh, 6rem) auto;
@@ -227,7 +198,7 @@ select {
227
 
228
  input[type="text"]:focus,
229
  input[type="email"]:focus,
230
- input[type-="number"]:focus,
231
  select:focus {
232
  border-color: var(--primary);
233
  box-shadow: 0 0 0 3px hsla(257, 100%, 65%, 0.25);
@@ -244,21 +215,29 @@ input[type="file"] {
244
  justify-content: center;
245
  align-items: center;
246
  width: 100%;
247
- padding: calc(var(--base-spacing) * 0.9) calc(var(--base-spacing) * 1.2);
248
  border: 2px dashed var(--border-color);
249
  border-radius: var(--border-radius);
250
  cursor: pointer;
251
  transition: var(--transition-fast);
252
  color: var(--text-secondary);
 
 
253
  }
254
 
255
- .file-upload-label:hover,
256
- .file-upload-label.file-selected {
257
  border-color: var(--primary);
258
  color: var(--primary-glow);
259
  background-color: hsla(257, 100%, 65%, 0.05);
260
  }
261
 
 
 
 
 
 
 
 
262
  select {
263
  appearance: none;
264
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e0e0e0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
@@ -267,7 +246,6 @@ select {
267
  background-size: 18px;
268
  }
269
 
270
- button,
271
  .submit-button {
272
  display: inline-block;
273
  width: 100%;
@@ -285,14 +263,13 @@ button,
285
  text-decoration: none;
286
  }
287
 
288
- button:hover,
289
  .submit-button:hover {
290
  transform: translateY(-4px) scale(1.02);
291
  box-shadow: var(--shadow-lg);
292
  filter: brightness(1.1);
293
  }
294
 
295
- button:disabled {
296
  opacity: 0.5;
297
  cursor: not-allowed;
298
  transform: none;
@@ -300,33 +277,6 @@ button:disabled {
300
  filter: none;
301
  }
302
 
303
- .result,
304
- .training-history,
305
- #history-section {
306
- margin-top: calc(var(--base-spacing) * 2.5);
307
- padding: calc(var(--base-spacing) * 1.5);
308
- background: var(--bg-med);
309
- border-radius: var(--border-radius);
310
- border: 1px solid var(--border-color);
311
- animation: slideIn 0.5s ease-out;
312
- }
313
-
314
- @keyframes slideIn {
315
- from { opacity: 0; transform: translateY(15px); }
316
- to { opacity: 1; transform: translateY(0); }
317
- }
318
-
319
- .result h2,
320
- .training-history h2,
321
- #history-section h2 {
322
- font-size: 1.5rem;
323
- font-weight: 600;
324
- color: var(--text-primary);
325
- margin-bottom: var(--base-spacing);
326
- padding-bottom: calc(var(--base-spacing) / 2);
327
- border-bottom: 1px solid var(--border-color);
328
- }
329
-
330
  .alert {
331
  padding: var(--base-spacing);
332
  border-radius: var(--border-radius);
@@ -335,99 +285,11 @@ button:disabled {
335
  border: 1px solid transparent;
336
  }
337
 
338
- .alert-success {
339
- background: hsla(122, 55%, 50%, 0.1);
340
- border-color: var(--success);
341
- }
342
-
343
  .alert-warning {
344
  background: hsla(45, 100%, 60%, 0.1);
345
  border-color: var(--warning);
346
  }
347
 
348
- .alert-error {
349
- background: hsla(350, 85%, 60%, 0.1);
350
- border-color: var(--error);
351
- }
352
-
353
- #email-status {
354
- font-weight: 500;
355
- margin-top: var(--base-spacing);
356
- }
357
-
358
- .action-buttons {
359
- display: flex;
360
- gap: var(--base-spacing);
361
- margin-top: calc(var(--base-spacing) * 1.5);
362
- flex-wrap: wrap;
363
- }
364
-
365
- .action-buttons .submit-button {
366
- width: auto;
367
- font-size: 0.9rem;
368
- padding: calc(var(--base-spacing) * 0.7) calc(var(--base-spacing) * 1.5);
369
- }
370
-
371
- .training-history img {
372
- width: 100%;
373
- height: auto;
374
- border-radius: var(--border-radius);
375
- margin-top: var(--base-spacing);
376
- }
377
-
378
- #history-section .history-controls {
379
- display: flex;
380
- gap: var(--base-spacing);
381
- }
382
-
383
- #history-section input {
384
- flex-grow: 1;
385
- }
386
-
387
- #history-section button {
388
- width: auto;
389
- }
390
-
391
- #history-results ul {
392
- list-style: none;
393
- margin-top: calc(var(--base-spacing) * 1.5);
394
- display: grid;
395
- gap: var(--base-spacing);
396
- }
397
-
398
- #history-results .history-item {
399
- display: flex;
400
- gap: var(--base-spacing);
401
- align-items: center;
402
- padding: var(--base-spacing);
403
- background-color: var(--bg-light);
404
- border: 1px solid var(--border-color);
405
- border-radius: var(--border-radius);
406
- transition: var(--transition-fast);
407
- }
408
-
409
- #history-results .history-item:hover {
410
- transform: translateY(-3px);
411
- border-color: var(--primary);
412
- box-shadow: var(--shadow-sm);
413
- }
414
-
415
- #history-results .history-item img {
416
- width: 100px;
417
- height: 100px;
418
- object-fit: cover;
419
- border-radius: var(--border-radius);
420
- }
421
-
422
- #history-results .history-item .history-details p {
423
- margin: 0;
424
- color: var(--text-secondary);
425
- }
426
-
427
- #history-results .history-item .history-details strong {
428
- color: var(--text-primary);
429
- }
430
-
431
  @media (max-width: 768px) {
432
  .container {
433
  margin: clamp(2rem, 5vh, 4rem) auto;
@@ -437,9 +299,4 @@ button:disabled {
437
  header h1 {
438
  font-size: calc(var(--fluid-header-size) * 0.9);
439
  }
440
-
441
- #history-section .history-controls {
442
- flex-direction: column;
443
- }
444
- }
445
- ```
 
76
  100% { background-position: 100% 100%; }
77
  }
78
 
79
+ nav {
80
+ display: flex;
81
+ justify-content: space-between;
82
+ align-items: center;
83
+ padding: var(--base-spacing) calc(var(--base-spacing) * 2);
84
+ background: var(--bg-med);
85
+ border-bottom: 1px solid var(--border-color);
86
+ }
87
+
88
+ nav .logo {
89
+ font-weight: 700;
90
+ font-size: 1.5rem;
91
+ color: var(--text-primary);
92
+ }
93
+
94
+ nav .logo span {
95
+ color: var(--primary);
96
+ }
97
+
98
+ nav ul {
99
+ list-style: none;
100
+ display: flex;
101
+ gap: calc(var(--base-spacing) * 1.5);
102
+ }
103
+
104
+ nav ul li a {
105
+ color: var(--text-secondary);
106
+ text-decoration: none;
107
+ font-weight: 500;
108
+ transition: var(--transition-fast);
109
+ }
110
+
111
+ nav ul li a:hover {
112
+ color: var(--primary-glow);
113
+ }
114
+
115
  .preloader {
116
  position: fixed;
117
  top: 0;
 
131
  visibility: hidden;
132
  }
133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  .container {
135
  max-width: var(--container-width);
136
  margin: clamp(4rem, 10vh, 6rem) auto;
 
198
 
199
  input[type="text"]:focus,
200
  input[type="email"]:focus,
201
+ input[type="number"]:focus,
202
  select:focus {
203
  border-color: var(--primary);
204
  box-shadow: 0 0 0 3px hsla(257, 100%, 65%, 0.25);
 
215
  justify-content: center;
216
  align-items: center;
217
  width: 100%;
218
+ padding: calc(var(--base-spacing) * 2);
219
  border: 2px dashed var(--border-color);
220
  border-radius: var(--border-radius);
221
  cursor: pointer;
222
  transition: var(--transition-fast);
223
  color: var(--text-secondary);
224
+ font-weight: 500;
225
+ text-align: center;
226
  }
227
 
228
+ .file-upload-label:hover {
 
229
  border-color: var(--primary);
230
  color: var(--primary-glow);
231
  background-color: hsla(257, 100%, 65%, 0.05);
232
  }
233
 
234
+ .file-upload-label.file-selected {
235
+ border-color: var(--success);
236
+ color: var(--success);
237
+ background-color: hsla(122, 55%, 50%, 0.05);
238
+ border-style: solid;
239
+ }
240
+
241
  select {
242
  appearance: none;
243
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e0e0e0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
 
246
  background-size: 18px;
247
  }
248
 
 
249
  .submit-button {
250
  display: inline-block;
251
  width: 100%;
 
263
  text-decoration: none;
264
  }
265
 
 
266
  .submit-button:hover {
267
  transform: translateY(-4px) scale(1.02);
268
  box-shadow: var(--shadow-lg);
269
  filter: brightness(1.1);
270
  }
271
 
272
+ .submit-button:disabled {
273
  opacity: 0.5;
274
  cursor: not-allowed;
275
  transform: none;
 
277
  filter: none;
278
  }
279
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
280
  .alert {
281
  padding: var(--base-spacing);
282
  border-radius: var(--border-radius);
 
285
  border: 1px solid transparent;
286
  }
287
 
 
 
 
 
 
288
  .alert-warning {
289
  background: hsla(45, 100%, 60%, 0.1);
290
  border-color: var(--warning);
291
  }
292
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
293
  @media (max-width: 768px) {
294
  .container {
295
  margin: clamp(2rem, 5vh, 4rem) auto;
 
299
  header h1 {
300
  font-size: calc(var(--fluid-header-size) * 0.9);
301
  }
302
+ }