hbk2108 commited on
Commit
eadf64b
·
verified ·
1 Parent(s): d8ba214

Update static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +898 -213
static/style.css CHANGED
@@ -1,213 +1,898 @@
1
- * {
2
- margin: 0;
3
- padding: 0;
4
- box-sizing: border-box;
5
- }
6
-
7
- body {
8
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, 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: 16px;
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
- opacity: 0.9;
37
- font-size: 1.1em;
38
- }
39
-
40
- header code {
41
- background: rgba(255, 255, 255, 0.2);
42
- padding: 4px 8px;
43
- border-radius: 4px;
44
- }
45
-
46
- main {
47
- padding: 30px;
48
- }
49
-
50
- .prompt-section {
51
- margin-bottom: 20px;
52
- }
53
-
54
- .prompt-section label {
55
- display: block;
56
- font-weight: 600;
57
- margin-bottom: 8px;
58
- color: #333;
59
- }
60
-
61
- #prompt {
62
- width: 100%;
63
- padding: 15px;
64
- border: 2px solid #e0e0e0;
65
- border-radius: 8px;
66
- font-size: 1em;
67
- font-family: inherit;
68
- resize: vertical;
69
- transition: border-color 0.3s;
70
- }
71
-
72
- #prompt:focus {
73
- outline: none;
74
- border-color: #667eea;
75
- }
76
-
77
- .settings-section {
78
- margin-bottom: 20px;
79
- }
80
-
81
- details {
82
- border: 1px solid #e0e0e0;
83
- border-radius: 8px;
84
- padding: 15px;
85
- }
86
-
87
- summary {
88
- cursor: pointer;
89
- font-weight: 600;
90
- color: #667eea;
91
- user-select: none;
92
- }
93
-
94
- summary:hover {
95
- color: #764ba2;
96
- }
97
-
98
- .settings-grid {
99
- display: grid;
100
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
101
- gap: 20px;
102
- margin-top: 15px;
103
- }
104
-
105
- .setting label {
106
- display: block;
107
- margin-bottom: 8px;
108
- font-weight: 500;
109
- color: #555;
110
- }
111
-
112
- .setting input[type="range"] {
113
- width: 100%;
114
- cursor: pointer;
115
- }
116
-
117
- .button-section {
118
- display: flex;
119
- align-items: center;
120
- gap: 15px;
121
- margin-bottom: 30px;
122
- }
123
-
124
- .generate-btn {
125
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
126
- color: white;
127
- border: none;
128
- padding: 15px 40px;
129
- font-size: 1.1em;
130
- font-weight: 600;
131
- border-radius: 8px;
132
- cursor: pointer;
133
- transition: transform 0.2s, box-shadow 0.2s;
134
- }
135
-
136
- .generate-btn:hover {
137
- transform: translateY(-2px);
138
- box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
139
- }
140
-
141
- .generate-btn:active {
142
- transform: translateY(0);
143
- }
144
-
145
- .generate-btn:disabled {
146
- opacity: 0.6;
147
- cursor: not-allowed;
148
- }
149
-
150
- .status {
151
- font-size: 1.5em;
152
- }
153
-
154
- .output-section h3 {
155
- color: #333;
156
- margin-bottom: 15px;
157
- }
158
-
159
- .output {
160
- background: #f8f9fa;
161
- border: 2px solid #e0e0e0;
162
- border-radius: 8px;
163
- padding: 20px;
164
- min-height: 150px;
165
- max-height: 600px;
166
- overflow-y: auto;
167
- font-family: 'Courier New', monospace;
168
- white-space: pre-wrap;
169
- word-wrap: break-word;
170
- line-height: 1.6;
171
- color: #333;
172
- }
173
-
174
- .output.empty {
175
- color: #999;
176
- font-style: italic;
177
- }
178
-
179
- .output.error {
180
- color: #dc3545;
181
- background: #fff5f5;
182
- border-color: #dc3545;
183
- }
184
-
185
- footer {
186
- background: #f8f9fa;
187
- padding: 20px;
188
- text-align: center;
189
- color: #666;
190
- font-size: 0.9em;
191
- }
192
-
193
- footer code {
194
- background: white;
195
- padding: 4px 8px;
196
- border-radius: 4px;
197
- border: 1px solid #e0e0e0;
198
- }
199
-
200
- @media (max-width: 768px) {
201
- header h1 {
202
- font-size: 2em;
203
- }
204
-
205
- .settings-grid {
206
- grid-template-columns: 1fr;
207
- }
208
-
209
- .button-section {
210
- flex-direction: column;
211
- align-items: stretch;
212
- }
213
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* GLOBAL STYLES & RESET*/
2
+ * {
3
+ margin: 0;
4
+ padding: 0;
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ :root {
9
+ --primary-navy: #1a237e;
10
+ --primary-navy-dark: #0d1642;
11
+ --primary-navy-light: #283593;
12
+ --accent-gold: #d4af37;
13
+ --accent-gold-dark: #b8941f;
14
+ --accent-gold-light: #f0d677;
15
+ --text-dark: #1a1a1a;
16
+ --text-gray: #4a4a4a;
17
+ --text-light: #6a6a6a;
18
+ --bg-white: #ffffff;
19
+ --bg-light: #f8f9fa;
20
+ --bg-lighter: #f5f7fa;
21
+ --border-light: #e0e6ed;
22
+ --success: #10b981;
23
+ --warning: #f59e0b;
24
+ --error: #ef4444;
25
+ --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
26
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
27
+ --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.15);
28
+ --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
29
+ }
30
+
31
+ body {
32
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', 'Helvetica Neue', Arial, sans-serif;
33
+ color: var(--text-dark);
34
+ background: var(--bg-lighter);
35
+ line-height: 1.6;
36
+ -webkit-font-smoothing: antialiased;
37
+ -moz-osx-font-smoothing: grayscale;
38
+ }
39
+
40
+ /* HEADER*/
41
+ .header {
42
+ background: var(--bg-white);
43
+ border-bottom: 1px solid var(--border-light);
44
+ position: sticky;
45
+ top: 0;
46
+ z-index: 1000;
47
+ box-shadow: var(--shadow-sm);
48
+ }
49
+
50
+ .header-content {
51
+ max-width: 1200px;
52
+ margin: 0 auto;
53
+ padding: 1rem 2rem;
54
+ display: flex;
55
+ justify-content: space-between;
56
+ align-items: center;
57
+ }
58
+
59
+ .logo {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 0.75rem;
63
+ font-size: 1.25rem;
64
+ font-weight: 700;
65
+ color: var(--primary-navy);
66
+ }
67
+
68
+ .logo svg {
69
+ color: var(--accent-gold);
70
+ }
71
+
72
+ .nav {
73
+ display: flex;
74
+ gap: 2rem;
75
+ }
76
+
77
+ .nav-link {
78
+ color: var(--text-gray);
79
+ text-decoration: none;
80
+ font-weight: 500;
81
+ transition: var(--transition);
82
+ font-size: 0.95rem;
83
+ }
84
+
85
+ .nav-link:hover {
86
+ color: var(--primary-navy);
87
+ }
88
+
89
+ /* SECTIONS & LAYOUT */
90
+ .section {
91
+ display: none;
92
+ min-height: calc(100vh - 200px);
93
+ padding: 3rem 2rem;
94
+ }
95
+
96
+ .section.active {
97
+ display: block;
98
+ animation: fadeIn 0.5s ease-in-out;
99
+ }
100
+
101
+ @keyframes fadeIn {
102
+ from {
103
+ opacity: 0;
104
+ transform: translateY(20px);
105
+ }
106
+ to {
107
+ opacity: 1;
108
+ transform: translateY(0);
109
+ }
110
+ }
111
+
112
+ /* LANDING PAGE */
113
+ .hero-container {
114
+ max-width: 1200px;
115
+ margin: 0 auto;
116
+ display: grid;
117
+ grid-template-columns: 1fr 1fr;
118
+ gap: 4rem;
119
+ align-items: center;
120
+ padding: 2rem 0;
121
+ }
122
+
123
+ .hero-content {
124
+ animation: slideInLeft 0.8s ease-out;
125
+ }
126
+
127
+ @keyframes slideInLeft {
128
+ from {
129
+ opacity: 0;
130
+ transform: translateX(-30px);
131
+ }
132
+ to {
133
+ opacity: 1;
134
+ transform: translateX(0);
135
+ }
136
+ }
137
+
138
+ .hero-title {
139
+ font-size: 3rem;
140
+ font-weight: 800;
141
+ color: var(--primary-navy);
142
+ line-height: 1.2;
143
+ margin-bottom: 1.5rem;
144
+ }
145
+
146
+ .hero-subtitle {
147
+ font-size: 1.25rem;
148
+ color: var(--text-gray);
149
+ margin-bottom: 2.5rem;
150
+ line-height: 1.6;
151
+ }
152
+
153
+ .hero-features {
154
+ display: flex;
155
+ flex-direction: column;
156
+ gap: 1rem;
157
+ margin-bottom: 2.5rem;
158
+ }
159
+
160
+ .feature-item {
161
+ display: flex;
162
+ align-items: center;
163
+ gap: 0.75rem;
164
+ color: var(--text-dark);
165
+ font-weight: 500;
166
+ }
167
+
168
+ .feature-item svg {
169
+ color: var(--success);
170
+ flex-shrink: 0;
171
+ }
172
+
173
+ .cta-button {
174
+ background: linear-gradient(135deg, var(--primary-navy) 0%, var(--primary-navy-light) 100%);
175
+ color: white;
176
+ border: none;
177
+ padding: 1.25rem 3rem;
178
+ font-size: 1.125rem;
179
+ font-weight: 600;
180
+ border-radius: 12px;
181
+ cursor: pointer;
182
+ transition: var(--transition);
183
+ display: inline-flex;
184
+ align-items: center;
185
+ gap: 0.75rem;
186
+ box-shadow: var(--shadow-md);
187
+ }
188
+
189
+ .cta-button:hover {
190
+ transform: translateY(-2px);
191
+ box-shadow: var(--shadow-lg);
192
+ background: linear-gradient(135deg, var(--primary-navy-dark) 0%, var(--primary-navy) 100%);
193
+ }
194
+
195
+ .cta-button:active {
196
+ transform: translateY(0);
197
+ }
198
+
199
+ .hero-note {
200
+ margin-top: 1.5rem;
201
+ color: var(--text-light);
202
+ font-size: 0.95rem;
203
+ }
204
+
205
+ .hero-illustration {
206
+ animation: slideInRight 0.8s ease-out;
207
+ }
208
+
209
+ .hero-illustration svg {
210
+ width: 100%;
211
+ height: auto;
212
+ }
213
+
214
+ @keyframes slideInRight {
215
+ from {
216
+ opacity: 0;
217
+ transform: translateX(30px);
218
+ }
219
+ to {
220
+ opacity: 1;
221
+ transform: translateX(0);
222
+ }
223
+ }
224
+
225
+ /* QUESTION PAGE */
226
+ .question-container {
227
+ max-width: 700px;
228
+ margin: 0 auto;
229
+ }
230
+
231
+ .progress-bar {
232
+ background: var(--bg-white);
233
+ height: 8px;
234
+ border-radius: 10px;
235
+ overflow: hidden;
236
+ margin-bottom: 1.5rem;
237
+ box-shadow: var(--shadow-sm);
238
+ }
239
+
240
+ .progress-fill {
241
+ background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);
242
+ height: 100%;
243
+ width: 0%;
244
+ transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
245
+ }
246
+
247
+ .question-counter {
248
+ text-align: center;
249
+ color: var(--text-light);
250
+ font-size: 0.9rem;
251
+ font-weight: 600;
252
+ margin-bottom: 2rem;
253
+ text-transform: uppercase;
254
+ letter-spacing: 1px;
255
+ }
256
+
257
+ .question-card {
258
+ background: var(--bg-white);
259
+ border-radius: 16px;
260
+ padding: 3rem;
261
+ box-shadow: var(--shadow-lg);
262
+ animation: slideUp 0.4s ease-out;
263
+ }
264
+
265
+ @keyframes slideUp {
266
+ from {
267
+ opacity: 0;
268
+ transform: translateY(30px);
269
+ }
270
+ to {
271
+ opacity: 1;
272
+ transform: translateY(0);
273
+ }
274
+ }
275
+
276
+ .question-text {
277
+ font-size: 1.75rem;
278
+ font-weight: 700;
279
+ color: var(--primary-navy);
280
+ margin-bottom: 1rem;
281
+ line-height: 1.4;
282
+ }
283
+
284
+ .question-subtitle {
285
+ color: var(--text-light);
286
+ margin-bottom: 2.5rem;
287
+ font-size: 1rem;
288
+ line-height: 1.6;
289
+ }
290
+
291
+ /* Answer Inputs */
292
+ .answer-input input,
293
+ .answer-input textarea {
294
+ width: 100%;
295
+ padding: 1rem 1.25rem;
296
+ border: 2px solid var(--border-light);
297
+ border-radius: 10px;
298
+ font-size: 1rem;
299
+ font-family: inherit;
300
+ transition: var(--transition);
301
+ background: var(--bg-lighter);
302
+ }
303
+
304
+ .answer-input input:focus,
305
+ .answer-input textarea:focus {
306
+ outline: none;
307
+ border-color: var(--accent-gold);
308
+ background: var(--bg-white);
309
+ box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
310
+ }
311
+
312
+ .answer-input textarea {
313
+ resize: vertical;
314
+ min-height: 120px;
315
+ }
316
+
317
+ /* Button Options */
318
+ .answer-options {
319
+ display: grid;
320
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
321
+ gap: 1rem;
322
+ margin-bottom: 2rem;
323
+ }
324
+
325
+ .option-btn {
326
+ padding: 1rem 1.5rem;
327
+ border: 2px solid var(--border-light);
328
+ background: var(--bg-white);
329
+ border-radius: 10px;
330
+ cursor: pointer;
331
+ font-size: 1rem;
332
+ font-weight: 500;
333
+ color: var(--text-dark);
334
+ transition: var(--transition);
335
+ text-align: center;
336
+ }
337
+
338
+ .option-btn:hover {
339
+ border-color: var(--accent-gold);
340
+ background: var(--bg-lighter);
341
+ }
342
+
343
+ .option-btn.selected {
344
+ border-color: var(--accent-gold);
345
+ background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);
346
+ color: white;
347
+ box-shadow: var(--shadow-md);
348
+ }
349
+
350
+ /* Checkbox Options */
351
+ .answer-checkboxes {
352
+ display: flex;
353
+ flex-direction: column;
354
+ gap: 1rem;
355
+ margin-bottom: 2rem;
356
+ }
357
+
358
+ .checkbox-option {
359
+ display: flex;
360
+ align-items: center;
361
+ padding: 1rem 1.25rem;
362
+ border: 2px solid var(--border-light);
363
+ border-radius: 10px;
364
+ cursor: pointer;
365
+ transition: var(--transition);
366
+ background: var(--bg-white);
367
+ }
368
+
369
+ .checkbox-option:hover {
370
+ border-color: var(--accent-gold);
371
+ background: var(--bg-lighter);
372
+ }
373
+
374
+ .checkbox-option.selected {
375
+ border-color: var(--accent-gold);
376
+ background: rgba(212, 175, 55, 0.1);
377
+ }
378
+
379
+ .checkbox-option input[type="checkbox"] {
380
+ width: 20px;
381
+ height: 20px;
382
+ margin-right: 1rem;
383
+ cursor: pointer;
384
+ accent-color: var(--accent-gold);
385
+ }
386
+
387
+ .checkbox-option label {
388
+ flex: 1;
389
+ cursor: pointer;
390
+ font-weight: 500;
391
+ color: var(--text-dark);
392
+ }
393
+
394
+ /* Question Actions */
395
+ .question-actions {
396
+ display: flex;
397
+ justify-content: space-between;
398
+ gap: 1rem;
399
+ margin-top: 2.5rem;
400
+ }
401
+
402
+ .btn-primary,
403
+ .btn-secondary {
404
+ padding: 1rem 2rem;
405
+ border: none;
406
+ border-radius: 10px;
407
+ font-size: 1rem;
408
+ font-weight: 600;
409
+ cursor: pointer;
410
+ transition: var(--transition);
411
+ display: flex;
412
+ align-items: center;
413
+ gap: 0.5rem;
414
+ }
415
+
416
+ .btn-primary {
417
+ background: linear-gradient(135deg, var(--primary-navy) 0%, var(--primary-navy-light) 100%);
418
+ color: white;
419
+ flex: 1;
420
+ justify-content: center;
421
+ box-shadow: var(--shadow-md);
422
+ }
423
+
424
+ .btn-primary:hover {
425
+ transform: translateY(-2px);
426
+ box-shadow: var(--shadow-lg);
427
+ }
428
+
429
+ .btn-primary:active {
430
+ transform: translateY(0);
431
+ }
432
+
433
+ .btn-primary:disabled {
434
+ opacity: 0.6;
435
+ cursor: not-allowed;
436
+ transform: none;
437
+ }
438
+
439
+ .btn-secondary {
440
+ background: var(--bg-light);
441
+ color: var(--text-dark);
442
+ border: 2px solid var(--border-light);
443
+ }
444
+
445
+ .btn-secondary:hover {
446
+ background: var(--bg-lighter);
447
+ border-color: var(--primary-navy);
448
+ }
449
+
450
+ /* LOADING PAGE */
451
+ .loading-container {
452
+ max-width: 600px;
453
+ margin: 0 auto;
454
+ text-align: center;
455
+ padding: 3rem;
456
+ }
457
+
458
+ .loading-spinner {
459
+ margin: 0 auto 2rem;
460
+ width: 100px;
461
+ height: 100px;
462
+ }
463
+
464
+ .loading-title {
465
+ font-size: 2rem;
466
+ font-weight: 700;
467
+ color: var(--primary-navy);
468
+ margin-bottom: 1rem;
469
+ }
470
+
471
+ .loading-text {
472
+ color: var(--text-gray);
473
+ font-size: 1.125rem;
474
+ margin-bottom: 3rem;
475
+ line-height: 1.6;
476
+ }
477
+
478
+ .loading-steps {
479
+ display: flex;
480
+ justify-content: space-between;
481
+ gap: 2rem;
482
+ }
483
+
484
+ .loading-step {
485
+ flex: 1;
486
+ padding: 1.5rem;
487
+ background: var(--bg-white);
488
+ border-radius: 12px;
489
+ border: 2px solid var(--border-light);
490
+ transition: var(--transition);
491
+ }
492
+
493
+ .loading-step.active {
494
+ border-color: var(--accent-gold);
495
+ background: rgba(212, 175, 55, 0.05);
496
+ }
497
+
498
+ .loading-step.active .step-icon {
499
+ background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);
500
+ color: white;
501
+ }
502
+
503
+ .step-icon {
504
+ width: 40px;
505
+ height: 40px;
506
+ border-radius: 50%;
507
+ background: var(--bg-light);
508
+ color: var(--text-light);
509
+ display: flex;
510
+ align-items: center;
511
+ justify-content: center;
512
+ font-weight: 700;
513
+ margin: 0 auto 1rem;
514
+ transition: var(--transition);
515
+ }
516
+
517
+ .step-text {
518
+ font-size: 0.9rem;
519
+ font-weight: 600;
520
+ color: var(--text-dark);
521
+ }
522
+
523
+ /* RESULTS PAGE*/
524
+ .results-container {
525
+ max-width: 1200px;
526
+ margin: 0 auto;
527
+ }
528
+
529
+ .results-header {
530
+ text-align: center;
531
+ margin-bottom: 3rem;
532
+ padding-bottom: 2rem;
533
+ border-bottom: 2px solid var(--border-light);
534
+ }
535
+
536
+ .results-title {
537
+ font-size: 2.5rem;
538
+ font-weight: 800;
539
+ color: var(--primary-navy);
540
+ margin-bottom: 1rem;
541
+ }
542
+
543
+ .results-subtitle {
544
+ font-size: 1.25rem;
545
+ color: var(--text-gray);
546
+ margin-bottom: 2rem;
547
+ }
548
+
549
+ .results-actions {
550
+ display: flex;
551
+ justify-content: center;
552
+ gap: 1rem;
553
+ flex-wrap: wrap;
554
+ }
555
+
556
+ .btn-download,
557
+ .btn-regenerate {
558
+ padding: 0.875rem 1.75rem;
559
+ border: none;
560
+ border-radius: 10px;
561
+ font-size: 1rem;
562
+ font-weight: 600;
563
+ cursor: pointer;
564
+ transition: var(--transition);
565
+ display: flex;
566
+ align-items: center;
567
+ gap: 0.5rem;
568
+ }
569
+
570
+ .btn-download {
571
+ background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-light) 100%);
572
+ color: white;
573
+ box-shadow: var(--shadow-md);
574
+ }
575
+
576
+ .btn-download:hover {
577
+ transform: translateY(-2px);
578
+ box-shadow: var(--shadow-lg);
579
+ }
580
+
581
+ .btn-regenerate {
582
+ background: var(--primary-navy);
583
+ color: white;
584
+ box-shadow: var(--shadow-md);
585
+ }
586
+
587
+ .btn-regenerate:hover {
588
+ background: var(--primary-navy-dark);
589
+ transform: translateY(-2px);
590
+ box-shadow: var(--shadow-lg);
591
+ }
592
+
593
+ /* Document Cards */
594
+ .documents-grid {
595
+ display: grid;
596
+ grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
597
+ gap: 1.5rem;
598
+ margin-bottom: 3rem;
599
+ }
600
+
601
+ .document-card {
602
+ background: var(--bg-white);
603
+ border-radius: 12px;
604
+ padding: 1.75rem;
605
+ border: 2px solid var(--border-light);
606
+ transition: var(--transition);
607
+ animation: fadeInUp 0.5s ease-out;
608
+ animation-fill-mode: both;
609
+ }
610
+
611
+ @keyframes fadeInUp {
612
+ from {
613
+ opacity: 0;
614
+ transform: translateY(20px);
615
+ }
616
+ to {
617
+ opacity: 1;
618
+ transform: translateY(0);
619
+ }
620
+ }
621
+
622
+ .document-card:hover {
623
+ transform: translateY(-4px);
624
+ box-shadow: var(--shadow-lg);
625
+ border-color: var(--accent-gold);
626
+ }
627
+
628
+ .card-header {
629
+ display: flex;
630
+ justify-content: space-between;
631
+ align-items: start;
632
+ margin-bottom: 1rem;
633
+ }
634
+
635
+ .card-title {
636
+ font-size: 1.25rem;
637
+ font-weight: 700;
638
+ color: var(--primary-navy);
639
+ line-height: 1.3;
640
+ flex: 1;
641
+ }
642
+
643
+ .priority-badge {
644
+ padding: 0.35rem 0.75rem;
645
+ border-radius: 20px;
646
+ font-size: 0.75rem;
647
+ font-weight: 700;
648
+ text-transform: uppercase;
649
+ letter-spacing: 0.5px;
650
+ white-space: nowrap;
651
+ margin-left: 0.75rem;
652
+ }
653
+
654
+ .priority-badge.critical {
655
+ background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
656
+ color: white;
657
+ }
658
+
659
+ .priority-badge.high {
660
+ background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
661
+ color: white;
662
+ }
663
+
664
+ .priority-badge.medium {
665
+ background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
666
+ color: white;
667
+ }
668
+
669
+ .priority-badge.low {
670
+ background: linear-gradient(135deg, #10b981 0%, #059669 100%);
671
+ color: white;
672
+ }
673
+
674
+ .category-badge {
675
+ display: inline-block;
676
+ padding: 0.35rem 0.85rem;
677
+ background: rgba(26, 35, 126, 0.1);
678
+ color: var(--primary-navy);
679
+ border-radius: 20px;
680
+ font-size: 0.8rem;
681
+ font-weight: 600;
682
+ margin-bottom: 1rem;
683
+ }
684
+
685
+ .card-description {
686
+ color: var(--text-gray);
687
+ font-size: 0.95rem;
688
+ line-height: 1.6;
689
+ margin-bottom: 1rem;
690
+ }
691
+
692
+ .card-section {
693
+ margin-top: 1.25rem;
694
+ padding-top: 1.25rem;
695
+ border-top: 1px solid var(--border-light);
696
+ }
697
+
698
+ .card-section-title {
699
+ font-size: 0.85rem;
700
+ font-weight: 700;
701
+ color: var(--text-light);
702
+ text-transform: uppercase;
703
+ letter-spacing: 0.5px;
704
+ margin-bottom: 0.75rem;
705
+ }
706
+
707
+ .card-section-content {
708
+ color: var(--text-dark);
709
+ font-size: 0.95rem;
710
+ line-height: 1.6;
711
+ }
712
+
713
+ .card-section-content.risk {
714
+ color: var(--error);
715
+ font-weight: 500;
716
+ }
717
+
718
+ .stakeholders-list {
719
+ display: flex;
720
+ flex-wrap: wrap;
721
+ gap: 0.5rem;
722
+ }
723
+
724
+ .stakeholder-tag {
725
+ padding: 0.35rem 0.75rem;
726
+ background: var(--bg-lighter);
727
+ color: var(--text-dark);
728
+ border-radius: 20px;
729
+ font-size: 0.85rem;
730
+ font-weight: 500;
731
+ }
732
+
733
+ /* Optional Documents Section */
734
+ .optional-documents-section {
735
+ margin-top: 4rem;
736
+ padding-top: 3rem;
737
+ border-top: 2px solid var(--border-light);
738
+ }
739
+
740
+ .section-title {
741
+ font-size: 2rem;
742
+ font-weight: 700;
743
+ color: var(--primary-navy);
744
+ margin-bottom: 0.5rem;
745
+ }
746
+
747
+ .section-subtitle {
748
+ font-size: 1.125rem;
749
+ color: var(--text-gray);
750
+ margin-bottom: 2rem;
751
+ }
752
+
753
+ /* FOOTER*/
754
+ .footer {
755
+ background: var(--primary-navy);
756
+ color: white;
757
+ margin-top: 4rem;
758
+ }
759
+
760
+ .footer-content {
761
+ max-width: 1200px;
762
+ margin: 0 auto;
763
+ padding: 3rem 2rem;
764
+ display: grid;
765
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
766
+ gap: 2rem;
767
+ }
768
+
769
+ .footer-section h3,
770
+ .footer-section h4 {
771
+ margin-bottom: 1rem;
772
+ color: var(--accent-gold);
773
+ }
774
+
775
+ .footer-section p {
776
+ color: rgba(255, 255, 255, 0.8);
777
+ line-height: 1.6;
778
+ }
779
+
780
+ .footer-section a {
781
+ display: block;
782
+ color: rgba(255, 255, 255, 0.8);
783
+ text-decoration: none;
784
+ margin-bottom: 0.5rem;
785
+ transition: var(--transition);
786
+ }
787
+
788
+ .footer-section a:hover {
789
+ color: var(--accent-gold);
790
+ }
791
+
792
+ .footer-bottom {
793
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
794
+ padding: 1.5rem 2rem;
795
+ text-align: center;
796
+ color: rgba(255, 255, 255, 0.6);
797
+ font-size: 0.9rem;
798
+ }
799
+
800
+ /* RESPONSIVE DESIGN*/
801
+ @media (max-width: 968px) {
802
+ .hero-container {
803
+ grid-template-columns: 1fr;
804
+ gap: 2rem;
805
+ }
806
+
807
+ .hero-illustration {
808
+ order: -1;
809
+ }
810
+
811
+ .hero-title {
812
+ font-size: 2.25rem;
813
+ }
814
+
815
+ .documents-grid {
816
+ grid-template-columns: 1fr;
817
+ }
818
+ }
819
+
820
+ @media (max-width: 640px) {
821
+ .header-content {
822
+ padding: 1rem;
823
+ }
824
+
825
+ .nav {
826
+ gap: 1rem;
827
+ }
828
+
829
+ .hero-title {
830
+ font-size: 1.875rem;
831
+ }
832
+
833
+ .hero-subtitle {
834
+ font-size: 1.125rem;
835
+ }
836
+
837
+ .cta-button {
838
+ width: 100%;
839
+ justify-content: center;
840
+ }
841
+
842
+ .question-card {
843
+ padding: 2rem 1.5rem;
844
+ }
845
+
846
+ .question-text {
847
+ font-size: 1.5rem;
848
+ }
849
+
850
+ .answer-options {
851
+ grid-template-columns: 1fr;
852
+ }
853
+
854
+ .question-actions {
855
+ flex-direction: column;
856
+ }
857
+
858
+ .btn-secondary {
859
+ order: -1;
860
+ }
861
+
862
+ .loading-steps {
863
+ flex-direction: column;
864
+ gap: 1rem;
865
+ }
866
+
867
+ .results-title {
868
+ font-size: 2rem;
869
+ }
870
+
871
+ .results-actions {
872
+ flex-direction: column;
873
+ }
874
+
875
+ .results-actions button {
876
+ width: 100%;
877
+ justify-content: center;
878
+ }
879
+
880
+ .footer-content {
881
+ grid-template-columns: 1fr;
882
+ }
883
+ }
884
+
885
+ /*UTILITY CLASSES*/
886
+ .text-center {
887
+ text-align: center;
888
+ }
889
+
890
+ .mt-1 { margin-top: 0.5rem; }
891
+ .mt-2 { margin-top: 1rem; }
892
+ .mt-3 { margin-top: 1.5rem; }
893
+ .mt-4 { margin-top: 2rem; }
894
+
895
+ .mb-1 { margin-bottom: 0.5rem; }
896
+ .mb-2 { margin-bottom: 1rem; }
897
+ .mb-3 { margin-bottom: 1.5rem; }
898
+ .mb-4 { margin-bottom: 2rem; }