Anne-Charlotte commited on
Commit
0cb0251
·
verified ·
1 Parent(s): 4a24f49

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +577 -18
style.css CHANGED
@@ -1,28 +1,587 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
2
+
3
+ /* CSS Variables */
4
+ :root {
5
+ --background: hsl(244, 7%, 96%);
6
+ --foreground: hsl(0, 0%, 20%);
7
+ --card: hsl(0, 0%, 100%);
8
+ --card-foreground: hsl(0, 0%, 20%);
9
+ --primary: hsl(35, 100%, 50%);
10
+ --primary-foreground: hsl(0, 0%, 100%);
11
+ --secondary: hsl(0, 0%, 100%);
12
+ --secondary-foreground: hsl(0, 0%, 53%);
13
+ --muted: hsl(240, 5%, 96%);
14
+ --muted-foreground: hsl(240, 4%, 46%);
15
+ --accent: hsl(193, 60%, 52%);
16
+ --accent-foreground: hsl(0, 0%, 100%);
17
+ --destructive: hsl(0, 84%, 60%);
18
+ --border: hsl(0, 0%, 88%);
19
+ --input: hsl(0, 0%, 88%);
20
+ --ring: hsl(35, 100%, 50%);
21
+ --radius: 0.75rem;
22
+ --orange: hsl(35, 100%, 50%);
23
+ --yellow: hsl(47, 100%, 56%);
24
+ --cyan: hsl(193, 60%, 52%);
25
+ --navy: hsl(222, 48%, 35%);
26
+ --shadow-sm: 0 2px 8px hsla(0, 0%, 0%, 0.08);
27
+ --shadow-lg: 0 4px 20px hsla(0, 0%, 0%, 0.1);
28
+ --shadow-card: 0 4px 20px hsla(0, 0%, 0%, 0.1);
29
+ }
30
+
31
+ /* Reset & Base */
32
+ *, *::before, *::after {
33
+ box-sizing: border-box;
34
+ margin: 0;
35
+ padding: 0;
36
+ border-color: var(--border);
37
+ }
38
+
39
+ html {
40
+ scroll-behavior: smooth;
41
+ }
42
+
43
  body {
44
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
45
+ background-color: var(--background);
46
+ color: var(--foreground);
47
+ line-height: 1.6;
48
+ -webkit-font-smoothing: antialiased;
49
+ -moz-osx-font-smoothing: grayscale;
50
+ }
51
+
52
+ /* Utility Classes */
53
+ .hidden {
54
+ display: none !important;
55
+ }
56
+
57
+ .min-h-screen {
58
+ min-height: 100vh;
59
+ }
60
+
61
+ .bg-background {
62
+ background-color: var(--background);
63
+ }
64
+
65
+ /* Container */
66
+ .container {
67
+ max-width: 1280px;
68
+ margin: 0 auto;
69
+ padding: 0 1rem;
70
+ }
71
+
72
+ .container-full {
73
+ max-width: 100%;
74
+ padding: 0 1rem;
75
+ }
76
+
77
+ @media (min-width: 768px) {
78
+ .container-full {
79
+ padding: 0 2rem;
80
+ }
81
+ }
82
+
83
+ /* Animations */
84
+ @keyframes fade-in {
85
+ from {
86
+ opacity: 0;
87
+ transform: translateY(10px);
88
+ }
89
+ to {
90
+ opacity: 1;
91
+ transform: translateY(0);
92
+ }
93
+ }
94
+
95
+ @keyframes slide-in {
96
+ from {
97
+ opacity: 0;
98
+ transform: translateX(20px);
99
+ }
100
+ to {
101
+ opacity: 1;
102
+ transform: translateX(0);
103
+ }
104
+ }
105
+
106
+ .animate-fade-in {
107
+ animation: fade-in 0.5s ease-out;
108
+ }
109
+
110
+ .animate-slide-in {
111
+ animation: slide-in 0.3s ease-out;
112
+ }
113
+
114
+ /* Header */
115
+ .header {
116
+ border-bottom: 1px solid var(--border);
117
+ background-color: hsla(0, 0%, 100%, 0.8);
118
+ backdrop-filter: blur(12px);
119
+ -webkit-backdrop-filter: blur(12px);
120
+ position: sticky;
121
+ top: 0;
122
+ z-index: 50;
123
+ }
124
+
125
+ .header-content {
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: space-between;
129
+ padding: 1rem 0;
130
+ flex-wrap: wrap;
131
+ gap: 1rem;
132
+ }
133
+
134
+ .header-left {
135
+ display: flex;
136
+ align-items: center;
137
+ gap: 1rem;
138
+ }
139
+
140
+ .header-icon {
141
+ width: 3.5rem;
142
+ height: 3.5rem;
143
+ object-fit: contain;
144
+ }
145
+
146
+ .header-title {
147
+ font-size: 1.5rem;
148
+ font-weight: 700;
149
+ color: var(--foreground);
150
+ }
151
+
152
+ .header-subtitle {
153
+ color: var(--muted-foreground);
154
+ font-size: 0.875rem;
155
+ }
156
+
157
+ /* Main Content */
158
+ .main-content {
159
+ padding: 2.5rem 0;
160
+ }
161
+
162
+ /* Intro Section */
163
+ .intro-section {
164
+ text-align: center;
165
+ margin-bottom: 2.5rem;
166
+ }
167
+
168
+ .intro-title {
169
+ font-size: 1.875rem;
170
+ font-weight: 700;
171
+ color: var(--foreground);
172
+ margin-bottom: 1rem;
173
+ }
174
+
175
+ @media (min-width: 768px) {
176
+ .intro-title {
177
+ font-size: 2.25rem;
178
+ }
179
+ }
180
+
181
+ .intro-text {
182
+ font-size: 1.125rem;
183
+ color: var(--muted-foreground);
184
+ max-width: 42rem;
185
+ margin: 0 auto;
186
+ }
187
+
188
+ .intro-text strong {
189
+ color: var(--foreground);
190
+ }
191
+
192
+ /* Step Viewer */
193
+ .step-viewer {
194
+ background-color: var(--card);
195
+ border-radius: 1rem;
196
+ overflow: hidden;
197
+ box-shadow: var(--shadow-card);
198
+ border: 1px solid var(--border);
199
+ }
200
+
201
+ /* Image Container */
202
+ .image-container {
203
+ position: relative;
204
+ background-color: var(--secondary);
205
+ height: calc(100vh - 300px);
206
+ min-height: 300px;
207
+ }
208
+
209
+ .image-wrapper {
210
+ width: 100%;
211
+ height: 100%;
212
+ display: flex;
213
+ align-items: center;
214
+ justify-content: center;
215
+ }
216
+
217
+ .step-image {
218
+ width: 100%;
219
+ height: 100%;
220
+ object-fit: contain;
221
+ cursor: pointer;
222
+ transition: transform 0.3s ease;
223
+ }
224
+
225
+ .step-image:hover {
226
+ transform: scale(1.02);
227
+ }
228
+
229
+ /* Step Counter */
230
+ .step-counter {
231
+ position: absolute;
232
+ top: 1rem;
233
+ left: 1rem;
234
+ z-index: 10;
235
+ background-color: hsla(0, 0%, 100%, 0.9);
236
+ backdrop-filter: blur(8px);
237
+ -webkit-backdrop-filter: blur(8px);
238
+ padding: 0.5rem 1rem;
239
+ border-radius: 0.75rem;
240
+ }
241
+
242
+ .step-counter span {
243
+ font-size: 1.25rem;
244
+ font-weight: 700;
245
+ color: var(--foreground);
246
+ }
247
+
248
+ /* Fullscreen Button */
249
+ .fullscreen-btn {
250
+ position: absolute;
251
+ top: 1rem;
252
+ right: 1rem;
253
+ z-index: 10;
254
+ background-color: hsla(0, 0%, 100%, 0.9);
255
+ backdrop-filter: blur(8px);
256
+ -webkit-backdrop-filter: blur(8px);
257
+ border: none;
258
+ border-radius: 0.5rem;
259
+ padding: 0.5rem;
260
+ cursor: pointer;
261
+ box-shadow: var(--shadow-lg);
262
+ transition: background-color 0.2s;
263
+ }
264
+
265
+ .fullscreen-btn:hover {
266
+ background-color: var(--card);
267
+ }
268
+
269
+ /* Placeholder */
270
+ .placeholder {
271
+ width: 100%;
272
+ height: 100%;
273
+ display: flex;
274
+ flex-direction: column;
275
+ align-items: center;
276
+ justify-content: center;
277
+ background: linear-gradient(to bottom right, var(--muted), var(--secondary));
278
+ padding: 2rem;
279
+ }
280
+
281
+ .placeholder-circle {
282
+ width: 6rem;
283
+ height: 6rem;
284
+ border-radius: 50%;
285
+ background-color: hsla(240, 4%, 46%, 0.2);
286
+ display: flex;
287
+ align-items: center;
288
+ justify-content: center;
289
+ margin-bottom: 1rem;
290
+ }
291
+
292
+ .placeholder-circle span {
293
+ font-size: 2.5rem;
294
+ font-weight: 700;
295
+ color: var(--muted-foreground);
296
+ }
297
+
298
+ .placeholder-circle-lg {
299
+ width: 8rem;
300
+ height: 8rem;
301
+ }
302
+
303
+ .placeholder-circle-lg span {
304
+ font-size: 3rem;
305
+ }
306
+
307
+ .placeholder-text {
308
+ font-size: 1.125rem;
309
+ color: var(--muted-foreground);
310
+ }
311
+
312
+ .placeholder-text-lg {
313
+ font-size: 1.25rem;
314
+ color: var(--muted-foreground);
315
+ }
316
+
317
+ /* YouTube Embed */
318
+ .youtube-desktop {
319
+ display: none;
320
+ position: absolute;
321
+ bottom: 1rem;
322
+ right: 1rem;
323
+ width: 20rem;
324
+ aspect-ratio: 16 / 9;
325
+ z-index: 20;
326
+ border-radius: 0.5rem;
327
+ overflow: hidden;
328
+ box-shadow: var(--shadow-card);
329
+ }
330
+
331
+ @media (min-width: 768px) {
332
+ .youtube-desktop {
333
+ display: block;
334
+ }
335
+ }
336
+
337
+ .youtube-desktop iframe {
338
+ width: 100%;
339
+ height: 100%;
340
+ border: none;
341
+ }
342
+
343
+ .youtube-mobile {
344
+ width: 100%;
345
+ aspect-ratio: 16 / 9;
346
+ background-color: var(--secondary);
347
+ }
348
+
349
+ @media (min-width: 768px) {
350
+ .youtube-mobile {
351
+ display: none;
352
+ }
353
+ }
354
+
355
+ .youtube-mobile iframe {
356
+ width: 100%;
357
+ height: 100%;
358
+ border: none;
359
+ }
360
+
361
+ /* Navigation Controls */
362
+ .nav-controls {
363
+ padding: 1.5rem;
364
+ background-color: var(--card);
365
+ border-top: 1px solid var(--border);
366
+ }
367
+
368
+ .nav-buttons {
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: space-between;
372
+ gap: 1rem;
373
+ margin-bottom: 1rem;
374
+ flex-wrap: wrap;
375
+ }
376
+
377
+ /* Buttons */
378
+ .btn {
379
+ display: inline-flex;
380
+ align-items: center;
381
+ gap: 0.5rem;
382
+ font-size: 1rem;
383
+ font-weight: 500;
384
+ padding: 0.75rem 1.5rem;
385
+ border-radius: 0.5rem;
386
+ border: none;
387
+ cursor: pointer;
388
+ transition: all 0.2s;
389
+ font-family: inherit;
390
+ }
391
+
392
+ .btn:disabled {
393
+ opacity: 0.3;
394
+ cursor: not-allowed;
395
+ }
396
+
397
+ .btn-outline {
398
+ background-color: transparent;
399
+ border: 1px solid var(--border);
400
+ color: var(--foreground);
401
+ }
402
+
403
+ .btn-outline:hover:not(:disabled) {
404
+ background-color: var(--muted);
405
+ gap: 0.75rem;
406
+ }
407
+
408
+ .btn-primary {
409
+ background-color: var(--card);
410
+ color: var(--orange);
411
+ border: 1px solid var(--orange);
412
+ }
413
+
414
+ .btn-primary:hover:not(:disabled) {
415
+ background-color: var(--orange);
416
+ color: var(--primary-foreground);
417
+ gap: 0.75rem;
418
+ }
419
+
420
+ .btn-icon {
421
+ display: inline-flex;
422
+ align-items: center;
423
+ justify-content: center;
424
+ width: 2.25rem;
425
+ height: 2.25rem;
426
+ border-radius: 0.5rem;
427
+ border: 1px solid var(--border);
428
+ background-color: transparent;
429
+ cursor: pointer;
430
+ transition: background-color 0.2s;
431
+ }
432
+
433
+ .btn-icon:hover {
434
+ background-color: var(--muted);
435
+ }
436
+
437
+ /* Step Indicators */
438
+ .step-indicators {
439
+ display: flex;
440
+ align-items: center;
441
+ justify-content: center;
442
+ gap: 0.5rem;
443
+ padding: 0 1rem;
444
+ overflow-x: auto;
445
+ }
446
+
447
+ .step-indicator {
448
+ height: 0.75rem;
449
+ border-radius: 9999px;
450
+ transition: all 0.3s;
451
+ cursor: pointer;
452
+ border: none;
453
+ }
454
+
455
+ .step-indicator-inactive {
456
+ width: 0.75rem;
457
+ background-color: hsla(240, 4%, 46%, 0.3);
458
+ }
459
+
460
+ .step-indicator-inactive:hover {
461
+ background-color: hsla(240, 4%, 46%, 0.5);
462
+ }
463
+
464
+ .step-indicator-active {
465
+ width: 3rem;
466
+ background: var(--orange);
467
+ box-shadow: 0 0 20px hsla(35, 100%, 50%, 0.4);
468
+ }
469
+
470
+ /* Progress Bar */
471
+ .progress-bar-container {
472
+ width: 100%;
473
+ background-color: var(--secondary);
474
+ border-radius: 9999px;
475
+ height: 0.5rem;
476
+ overflow: hidden;
477
+ }
478
+
479
+ .progress-bar {
480
+ height: 100%;
481
+ background: linear-gradient(to right, var(--yellow), var(--orange));
482
+ border-radius: 9999px;
483
+ transition: width 0.5s ease-out;
484
+ }
485
+
486
+ /* Footer */
487
+ .footer {
488
+ border-top: 1px solid var(--border);
489
+ background-color: var(--card);
490
+ margin-top: 4rem;
491
+ }
492
+
493
+ .footer-text {
494
+ text-align: center;
495
+ padding: 1.5rem 0;
496
+ color: var(--muted-foreground);
497
+ }
498
+
499
+ .footer-link {
500
+ color: var(--foreground);
501
+ text-decoration: underline;
502
+ transition: color 0.2s;
503
+ }
504
+
505
+ .footer-link:hover {
506
+ color: var(--orange);
507
+ }
508
+
509
+ /* Fullscreen Modal */
510
+ .fullscreen-modal {
511
+ position: fixed;
512
+ inset: 0;
513
+ z-index: 100;
514
+ background-color: var(--background);
515
+ display: flex;
516
+ flex-direction: column;
517
+ animation: fade-in 0.3s ease-out;
518
+ }
519
+
520
+ .fullscreen-header {
521
+ display: flex;
522
+ align-items: center;
523
+ justify-content: space-between;
524
+ padding: 1rem;
525
+ background-color: var(--card);
526
+ border-bottom: 1px solid var(--border);
527
+ flex-shrink: 0;
528
+ }
529
+
530
+ .fullscreen-title {
531
+ font-size: 1.125rem;
532
+ font-weight: 700;
533
+ color: var(--foreground);
534
+ }
535
+
536
+ .fullscreen-controls {
537
+ display: flex;
538
+ align-items: center;
539
+ gap: 0.5rem;
540
+ }
541
+
542
+ .zoom-level {
543
+ min-width: 3.75rem;
544
+ text-align: center;
545
+ font-weight: 500;
546
+ color: var(--foreground);
547
+ }
548
+
549
+ .fullscreen-content {
550
+ flex: 1;
551
+ position: relative;
552
+ overflow: hidden;
553
+ background-color: var(--secondary);
554
+ }
555
+
556
+ .fullscreen-image-container {
557
+ width: 100%;
558
+ height: 100%;
559
+ display: flex;
560
+ align-items: center;
561
+ justify-content: center;
562
+ overflow: hidden;
563
+ cursor: grab;
564
+ }
565
+
566
+ .fullscreen-image-container:active {
567
+ cursor: grabbing;
568
  }
569
 
570
+ .fullscreen-image {
571
+ max-width: none;
572
+ user-select: none;
573
+ transition: transform 0.2s;
574
  }
575
 
576
+ .fullscreen-placeholder {
577
+ position: absolute;
578
+ inset: 0;
 
 
579
  }
580
 
581
+ .fullscreen-nav {
582
+ flex-shrink: 0;
 
 
 
 
583
  }
584
 
585
+ .fullscreen-youtube-mobile {
586
+ flex-shrink: 0;
587
  }