pantdipendra commited on
Commit
ccc396f
·
verified ·
1 Parent(s): 23ad762
Files changed (1) hide show
  1. style.css +486 -28
style.css CHANGED
@@ -1,28 +1,486 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
- }
5
-
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
- }
10
-
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
- }
17
-
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
- }
25
-
26
- .card p:last-child {
27
- margin-bottom: 0;
28
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+ /* Color-blind–safe palette */
4
+ :root {
5
+ --bg: #0b1020;
6
+ --ink: #eaf0ff;
7
+ --muted: #a6b0d4;
8
+ --card: #121933;
9
+ --accent: #0072b2; /* blue */
10
+ --accent2: #56b4e9; /* sky blue */
11
+
12
+ /* Status colors */
13
+ --ok: #009e73; /* bluish green */
14
+ --warn: #f0e442; /* yellow */
15
+ --no: #d55e00; /* vermillion */
16
+
17
+ --br: 14px;
18
+ }
19
+ * {
20
+ box-sizing: border-box;
21
+ }
22
+ body {
23
+ margin: 0;
24
+ font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial,
25
+ sans-serif;
26
+ color: var(--ink);
27
+ background: radial-gradient(
28
+ 900px 500px at 20% -10%,
29
+ #1b2656,
30
+ transparent 60%
31
+ )
32
+ no-repeat,
33
+ var(--bg);
34
+ }
35
+ header {
36
+ padding: 22px 16px 8px;
37
+ text-align: center;
38
+ }
39
+ h1 {
40
+ margin: 0 0 4px;
41
+ font-size: clamp(20px, 2.2vw, 30px);
42
+ font-weight: 800;
43
+ }
44
+ header p {
45
+ margin: 0;
46
+ color: var(--muted);
47
+ }
48
+ .wrap {
49
+ max-width: 980px;
50
+ margin: 14px auto 80px;
51
+ padding: 0 14px;
52
+ }
53
+ .card {
54
+ background: linear-gradient(
55
+ 180deg,
56
+ rgba(255, 255, 255, 0.04),
57
+ rgba(255, 255, 255, 0.02)
58
+ );
59
+ border: 1px solid rgba(255, 255, 255, 0.1);
60
+ border-radius: var(--br);
61
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
62
+ }
63
+ .section {
64
+ padding: 16px;
65
+ border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
66
+ transition: background 0.2s ease, border-color 0.2s ease,
67
+ box-shadow 0.2s ease, transform 0.2s ease;
68
+ will-change: transform, box-shadow;
69
+ }
70
+ .section:last-child {
71
+ border-bottom: 0;
72
+ }
73
+ /* Hover highlight for any top-level section */
74
+ .card .section:hover,
75
+ .card .section:focus-within {
76
+ background: linear-gradient(
77
+ 180deg,
78
+ rgba(22, 30, 60, 0.92),
79
+ rgba(18, 26, 52, 0.92)
80
+ );
81
+ border-color: rgba(86, 180, 233, 0.35);
82
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
83
+ transform: translateY(-1px);
84
+ }
85
+
86
+ /* sticky nav */
87
+ .topnav {
88
+ position: sticky;
89
+ top: 0;
90
+ z-index: 5;
91
+ background: rgba(11, 16, 32, 0.7);
92
+ backdrop-filter: blur(8px);
93
+ padding: 10px 14px;
94
+ }
95
+ .toprow {
96
+ display: flex;
97
+ align-items: center;
98
+ gap: 10px;
99
+ }
100
+ .progress {
101
+ height: 10px;
102
+ border-radius: 999px;
103
+ background: #17224a;
104
+ overflow: hidden;
105
+ border: 1px solid rgba(255, 255, 255, 0.12);
106
+ flex: 1;
107
+ }
108
+ .progress > span {
109
+ display: block;
110
+ height: 100%;
111
+ width: 0;
112
+ background: linear-gradient(90deg, var(--ok));
113
+ transition: width 0.6s ease;
114
+ }
115
+ .clear {
116
+ margin-left: auto;
117
+ border: 1px solid rgba(255, 255, 255, 0.2);
118
+ background: rgba(255, 255, 255, 0.06);
119
+ color: #fff;
120
+ border-radius: 10px;
121
+ padding: 8px 12px;
122
+ cursor: pointer;
123
+ transition: transform 0.15s ease, background 0.15s ease;
124
+ }
125
+ .clear:hover {
126
+ background: rgba(255, 255, 255, 0.12);
127
+ transform: translateY(-1px);
128
+ }
129
+ .graph {
130
+ display: flex;
131
+ gap: 8px;
132
+ justify-content: center;
133
+ margin-top: 10px;
134
+ flex-wrap: wrap;
135
+ }
136
+ .dot {
137
+ position: relative;
138
+ display: grid;
139
+ place-items: center;
140
+ width: 28px;
141
+ height: 28px;
142
+ border-radius: 50%;
143
+ background: #101a3f;
144
+ border: 1px solid rgba(255, 255, 255, 0.18);
145
+ color: #cfe0ff;
146
+ font-weight: 800;
147
+ opacity: 0.45;
148
+ transition: 0.2s;
149
+ will-change: transform, box-shadow;
150
+ }
151
+ .dot.unlocked {
152
+ opacity: 1;
153
+ cursor: pointer;
154
+ }
155
+ .dot.active {
156
+ outline: 2px solid var(--accent);
157
+ }
158
+ .dot.unlocked:hover {
159
+ transform: translateY(-2px) scale(1.05);
160
+ border-color: var(--accent2);
161
+ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
162
+ }
163
+ .dot.done {
164
+ background: var(--ok);
165
+ color: #ffffff;
166
+ border-color: transparent;
167
+ }
168
+ .dot.done::after {
169
+ content: "✓";
170
+ position: absolute;
171
+ right: -4px;
172
+ bottom: -6px;
173
+ font-size: 12px;
174
+ background: var(--ok);
175
+ color: #fff;
176
+ border-radius: 6px;
177
+ padding: 0 3px;
178
+ }
179
+
180
+ /* purpose */
181
+ .purpose {
182
+ display: grid;
183
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
184
+ gap: 10px;
185
+ }
186
+ .option {
187
+ padding: 14px;
188
+ border-radius: 12px;
189
+ border: 1px solid rgba(255, 255, 255, 0.12);
190
+ background: rgba(255, 255, 255, 0.02);
191
+ cursor: pointer;
192
+ user-select: none;
193
+ transition: 0.2s transform, 0.2s border-color, 0.2s background,
194
+ box-shadow 0.2s ease;
195
+ }
196
+ .option:hover {
197
+ transform: translateY(-2px);
198
+ border-color: rgba(255, 255, 255, 0.22);
199
+ box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
200
+ }
201
+ .option.active {
202
+ outline: 2px solid var(--accent);
203
+ background: rgba(86, 180, 233, 0.12);
204
+ }
205
+ .option input {
206
+ display: none;
207
+ }
208
+ .tag {
209
+ font-size: 0.75rem;
210
+ padding: 2px 8px;
211
+ color: var(--muted);
212
+ }
213
+ .gdpr {
214
+ color: #c6ede2;
215
+ }
216
+
217
+ /* steps */
218
+ .timeline {
219
+ padding: 10px;
220
+ }
221
+ .step {
222
+ margin: 12px 6px;
223
+ border-radius: 14px;
224
+ border: 1px solid rgba(255, 255, 255, 0.14);
225
+ background: linear-gradient(
226
+ 180deg,
227
+ rgba(16, 22, 44, 0.86),
228
+ rgba(14, 20, 38, 0.86)
229
+ );
230
+ overflow: hidden;
231
+ animation: pop 0.35s ease both;
232
+ transition: background 0.2s ease, border-color 0.2s ease,
233
+ box-shadow 0.2s ease, transform 0.2s ease;
234
+ will-change: transform, box-shadow;
235
+ }
236
+ @keyframes pop {
237
+ from {
238
+ opacity: 0;
239
+ transform: translateY(8px) scale(0.98);
240
+ }
241
+ to {
242
+ opacity: 1;
243
+ transform: translateY(0) scale(1);
244
+ }
245
+ }
246
+ /* Hover highlight for each step block */
247
+ .step:hover,
248
+ .step:focus-within {
249
+ transform: translateY(-2px);
250
+ border-color: rgba(86, 180, 233, 0.35);
251
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
252
+ background: linear-gradient(
253
+ 180deg,
254
+ rgba(20, 28, 56, 0.92),
255
+ rgba(18, 26, 52, 0.92)
256
+ );
257
+ }
258
+
259
+ .head {
260
+ display: flex;
261
+ align-items: center;
262
+ justify-content: space-between;
263
+ padding: 14px 16px;
264
+ }
265
+ .title {
266
+ display: flex;
267
+ align-items: center;
268
+ gap: 10px;
269
+ }
270
+ .num {
271
+ width: 32px;
272
+ height: 32px;
273
+ border-radius: 50%;
274
+ display: grid;
275
+ place-items: center;
276
+ background: linear-gradient(180deg, #27336a, #202a56);
277
+ border: 1px solid rgba(255, 255, 255, 0.18);
278
+ font-weight: 800;
279
+ color: #ffffff;
280
+ transition: background 0.2s ease, border-color 0.2s ease;
281
+ }
282
+ .badge {
283
+ font-size: 0.85rem;
284
+ padding: 4px 8px;
285
+ border-radius: 999px;
286
+ border: 1px solid rgba(255, 255, 255, 0.12);
287
+ color: #cde6ff;
288
+ background: transparent;
289
+ transition: background 0.2s ease, color 0.2s ease,
290
+ border-color 0.2s ease;
291
+ }
292
+ .step.done {
293
+ border-color: rgba(0, 158, 115, 0.55);
294
+ box-shadow: 0 0 0 1px rgba(0, 158, 115, 0.25) inset;
295
+ }
296
+ .step.done .num {
297
+ background: var(--ok);
298
+ border-color: transparent;
299
+ color: #ffffff;
300
+ }
301
+ .step.done .badge {
302
+ background: var(--ok);
303
+ color: #ffffff;
304
+ border-color: transparent;
305
+ }
306
+ .body {
307
+ padding: 0 16px 14px;
308
+ }
309
+ .list {
310
+ list-style: none;
311
+ margin: 0;
312
+ padding: 0;
313
+ }
314
+ .li {
315
+ display: grid;
316
+ grid-template-columns: auto 1fr auto;
317
+ gap: 10px;
318
+ align-items: flex-start;
319
+ padding: 10px;
320
+ border: 1px dashed rgba(255, 255, 255, 0.14);
321
+ border-radius: 10px;
322
+ margin: 8px 0;
323
+ background: rgba(255, 255, 255, 0.02);
324
+ transition: background 0.15s ease, border-color 0.15s ease,
325
+ transform 0.15s ease;
326
+ }
327
+ .li:hover {
328
+ background: rgba(86, 180, 233, 0.08);
329
+ border-color: rgba(86, 180, 233, 0.35);
330
+ transform: translateY(-1px);
331
+ }
332
+ .letters {
333
+ font-weight: 700;
334
+ color: #cbe0ff;
335
+ width: 24px;
336
+ }
337
+ .li a {
338
+ color: var(--accent2);
339
+ text-decoration: none;
340
+ }
341
+ .li a:hover {
342
+ text-decoration: underline;
343
+ }
344
+ .req {
345
+ color: var(--no);
346
+ margin-left: 6px;
347
+ }
348
+ .opt {
349
+ color: #a9b6e6;
350
+ font-size: 0.85rem;
351
+ }
352
+ .fold {
353
+ display: none;
354
+ }
355
+ .toggle {
356
+ background: transparent;
357
+ border: 1px solid rgba(255, 255, 255, 0.18);
358
+ color: #dfe7ff;
359
+ border-radius: 10px;
360
+ padding: 6px 10px;
361
+ cursor: pointer;
362
+ transition: background 0.15s ease, transform 0.15s ease,
363
+ border-color 0.15s ease;
364
+ }
365
+ .toggle:hover {
366
+ background: rgba(86, 180, 233, 0.12);
367
+ transform: translateY(-1px);
368
+ border-color: rgba(86, 180, 233, 0.35);
369
+ }
370
+
371
+ /* animated checkbox */
372
+ .chk {
373
+ position: absolute;
374
+ opacity: 0;
375
+ }
376
+ .box {
377
+ width: 22px;
378
+ height: 22px;
379
+ border-radius: 6px;
380
+ border: 1px solid rgba(255, 255, 255, 0.22);
381
+ background: #0f1533;
382
+ }
383
+ .tick {
384
+ stroke: #cfe0ff;
385
+ stroke-width: 3;
386
+ fill: none;
387
+ stroke-dasharray: 30;
388
+ stroke-dashoffset: 30;
389
+ transition: stroke-dashoffset 0.32s ease;
390
+ }
391
+ .chk:checked + .box {
392
+ background: #1e396e;
393
+ border-color: var(--accent);
394
+ }
395
+ .chk:checked + .box .tick {
396
+ stroke-dashoffset: 0;
397
+ }
398
+
399
+ .tiny {
400
+ font-size: 0.82rem;
401
+ color: var(--muted);
402
+ }
403
+ .center {
404
+ display: grid;
405
+ place-items: center;
406
+ }
407
+ .hidden {
408
+ display: none !important;
409
+ }
410
+
411
+ /* flow buttons */
412
+ .flow {
413
+ position: fixed;
414
+ left: 50%;
415
+ transform: translateX(-50%);
416
+ bottom: 16px;
417
+ width: min(960px, 92vw);
418
+ background: #0f1533;
419
+ border: 1px solid rgba(255, 255, 255, 0.14);
420
+ border-radius: 14px;
421
+ padding: 10px 12px;
422
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
423
+ }
424
+ .q {
425
+ display: flex;
426
+ align-items: center;
427
+ justify-content: space-between;
428
+ gap: 12px;
429
+ flex-wrap: wrap;
430
+ }
431
+ .q strong {
432
+ font-size: 1rem;
433
+ }
434
+ .btns {
435
+ display: flex;
436
+ gap: 10px;
437
+ }
438
+ .cta {
439
+ font-weight: 800;
440
+ border-radius: 12px;
441
+ border: 1px solid rgba(255, 255, 255, 0.2);
442
+ padding: 12px 16px;
443
+ cursor: pointer;
444
+ transition: transform 0.15s ease, filter 0.15s ease;
445
+ }
446
+ .cta:hover {
447
+ transform: translateY(-1px);
448
+ filter: brightness(1.05);
449
+ }
450
+ .cta.y {
451
+ background: linear-gradient(180deg, var(--ok));
452
+ }
453
+ .cta.n {
454
+ background: linear-gradient(180deg, var(--no));
455
+ }
456
+
457
+ /* finish */
458
+ .finish {
459
+ display: none;
460
+ text-align: center;
461
+ padding: 18px;
462
+ }
463
+ .finish.show {
464
+ display: block;
465
+ animation: pop 0.35s ease both;
466
+ }
467
+ .confetti {
468
+ position: relative;
469
+ height: 0;
470
+ }
471
+ .confetti i {
472
+ position: absolute;
473
+ width: 8px;
474
+ height: 14px;
475
+ background: var(--accent);
476
+ top: -10px;
477
+ left: 50%;
478
+ animation: drop 1.2s ease-out forwards;
479
+ transform: translateX(-50%);
480
+ }
481
+ @keyframes drop {
482
+ to {
483
+ top: -90px;
484
+ transform: translateX(calc(-50% + var(--dx))) rotate(120deg);
485
+ }
486
+ }