@fjell/registry 4.4.11 → 4.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/src/App.css DELETED
@@ -1,1237 +0,0 @@
1
- :root {
2
- --color-primary: #2D3748;
3
- --color-secondary: #4A5568;
4
- --color-accent: #667EEA;
5
- --color-accent-light: #764BA2;
6
- --color-background: #FAFAFA;
7
- --color-surface: #FFFFFF;
8
- --color-border: #E2E8F0;
9
- --color-text: #2D3748;
10
- --color-text-light: #718096;
11
- --color-text-muted: #A0AEC0;
12
-
13
- /* Missing surface variables */
14
- --surface-01: #FFFFFF;
15
- --surface-02: #F7FAFC;
16
- --surface-03: #EDF2F7;
17
-
18
- /* Missing border variables */
19
- --border-secondary: #CBD5E0;
20
-
21
- /* Missing accent variables */
22
- --accent-primary: #667EEA;
23
- --accent-secondary: #764BA2;
24
-
25
- /* Missing text variables */
26
- --text-secondary: #718096;
27
-
28
- --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
29
- --gradient-text: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
30
- --gradient-subtle: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
31
- --gradient-mystery: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(45, 55, 72, 0.8) 50%, rgba(0, 0, 0, 0.6) 100%);
32
-
33
- --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
34
- --font-display: 'SF Pro Display', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
35
-
36
- --sidebar-width: 320px;
37
- --header-height: 160px;
38
- --content-max-width: 1000px;
39
-
40
- --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
41
- --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
42
- --transition-mystery: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
43
- }
44
-
45
- * {
46
- box-sizing: border-box;
47
- }
48
-
49
- html {
50
- scroll-behavior: smooth;
51
- }
52
-
53
- body {
54
- margin: 0;
55
- padding: 0;
56
- font-family: var(--font-primary);
57
- background: var(--color-background);
58
- color: var(--color-text);
59
- line-height: 1.7;
60
- font-weight: 400;
61
- -webkit-font-smoothing: antialiased;
62
- -moz-osx-font-smoothing: grayscale;
63
- overflow-x: hidden;
64
- }
65
-
66
- .app {
67
- min-height: 100vh;
68
- display: flex;
69
- flex-direction: column;
70
- position: relative;
71
- }
72
-
73
- /* ===== ANIMATED BACKGROUND ===== */
74
- @keyframes pan-landscape {
75
- 0% {
76
- background-position: center 0%;
77
- }
78
-
79
- 100% {
80
- background-position: center 15%;
81
- }
82
- }
83
-
84
- @keyframes mystery-fade-in {
85
- 0% {
86
- opacity: 0;
87
- transform: translateY(30px);
88
- }
89
-
90
- 100% {
91
- opacity: 1;
92
- transform: translateY(0);
93
- }
94
- }
95
-
96
- @keyframes mystery-glow {
97
-
98
- 0%,
99
- 100% {
100
- box-shadow: 0 0 20px rgba(102, 126, 234, 0.3);
101
- }
102
-
103
- 50% {
104
- box-shadow: 0 0 40px rgba(102, 126, 234, 0.6);
105
- }
106
- }
107
-
108
- /* ===== HEADER ===== */
109
- .header {
110
- position: fixed;
111
- top: 0;
112
- left: 0;
113
- right: 0;
114
- height: var(--header-height);
115
- background-image: url('/pano.png');
116
- background-size: cover;
117
- background-position: center 0%;
118
- border-bottom: 1px solid rgba(255, 255, 255, 0.2);
119
- z-index: 1000;
120
- transition: var(--transition-smooth);
121
- overflow: hidden;
122
- animation: pan-landscape 60s ease-in-out infinite alternate;
123
- }
124
-
125
- .header::before {
126
- content: '';
127
- position: absolute;
128
- top: 0;
129
- left: 0;
130
- right: 0;
131
- bottom: 0;
132
- background: var(--gradient-mystery);
133
- backdrop-filter: blur(2px);
134
- z-index: 1;
135
- }
136
-
137
- .header-container {
138
- height: 100%;
139
- max-width: 1400px;
140
- margin: 0 auto;
141
- padding: 0 2rem;
142
- display: flex;
143
- align-items: center;
144
- justify-content: space-between;
145
- position: relative;
146
- z-index: 2;
147
- }
148
-
149
- .brand {
150
- display: flex;
151
- flex-direction: column;
152
- gap: 0.5rem;
153
- animation: mystery-fade-in 1.2s ease-out 0.3s both;
154
- margin-left: 1rem;
155
- }
156
-
157
- .brand-title {
158
- margin: 0;
159
- font-family: var(--font-display);
160
- font-size: 2.5rem;
161
- font-weight: 700;
162
- letter-spacing: -0.02em;
163
- line-height: 1.1;
164
- text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
165
- }
166
-
167
- .brand-fjell {
168
- color: rgba(255, 255, 255, 0.95);
169
- }
170
-
171
- .brand-registry {
172
- background: linear-gradient(135deg, #f093fb 0%, #f5576c 50%, #4facfe 100%);
173
- -webkit-background-clip: text;
174
- -webkit-text-fill-color: transparent;
175
- background-clip: text;
176
- filter: drop-shadow(0 0 10px rgba(240, 147, 251, 0.5));
177
- }
178
-
179
- .brand-tagline {
180
- margin: 0;
181
- font-size: 1rem;
182
- color: rgba(255, 255, 255, 0.8);
183
- font-weight: 400;
184
- letter-spacing: 0.02em;
185
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
186
- }
187
-
188
- .gradient-text {
189
- background: linear-gradient(135deg, #f093fb 0%, #f5576c 50%, #4facfe 100%);
190
- -webkit-background-clip: text;
191
- -webkit-text-fill-color: transparent;
192
- background-clip: text;
193
- font-weight: 600;
194
- filter: drop-shadow(0 0 8px rgba(240, 147, 251, 0.4));
195
- }
196
-
197
- .header-actions {
198
- display: flex;
199
- align-items: center;
200
- gap: 1.5rem;
201
- animation: mystery-fade-in 1.2s ease-out 0.6s both;
202
- }
203
-
204
- .header-link {
205
- padding: 0.75rem 1.5rem;
206
- text-decoration: none;
207
- color: rgba(255, 255, 255, 0.9);
208
- font-weight: 500;
209
- font-size: 0.875rem;
210
- border: 1px solid rgba(255, 255, 255, 0.3);
211
- border-radius: 2rem;
212
- transition: var(--transition-fast);
213
- letter-spacing: 0.01em;
214
- backdrop-filter: blur(10px);
215
- background: rgba(255, 255, 255, 0.1);
216
- }
217
-
218
- .header-link:hover {
219
- border-color: rgba(240, 147, 251, 0.8);
220
- color: #f093fb;
221
- background: rgba(255, 255, 255, 0.9);
222
- transform: translateY(-2px);
223
- box-shadow: 0 8px 32px rgba(240, 147, 251, 0.3);
224
- }
225
-
226
- .version-badge {
227
- padding: 0.5rem 1rem;
228
- text-decoration: none;
229
- color: rgba(255, 255, 255, 0.95);
230
- font-weight: 600;
231
- font-size: 0.8rem;
232
- border: 1px solid rgba(102, 126, 234, 0.5);
233
- border-radius: 1.5rem;
234
- transition: var(--transition-fast);
235
- letter-spacing: 0.05em;
236
- backdrop-filter: blur(10px);
237
- background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 100%);
238
- font-family: 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace;
239
- position: relative;
240
- overflow: hidden;
241
- }
242
-
243
- .version-badge::before {
244
- content: '';
245
- position: absolute;
246
- top: 0;
247
- left: -100%;
248
- width: 100%;
249
- height: 100%;
250
- background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
251
- transition: left 0.5s;
252
- }
253
-
254
- .version-badge:hover::before {
255
- left: 100%;
256
- }
257
-
258
- .version-badge:hover {
259
- border-color: rgba(102, 126, 234, 0.8);
260
- color: #667eea;
261
- background: rgba(255, 255, 255, 0.95);
262
- transform: translateY(-2px);
263
- box-shadow: 0 8px 32px rgba(102, 126, 234, 0.4);
264
- }
265
-
266
- .menu-toggle {
267
- display: none;
268
- flex-direction: column;
269
- gap: 4px;
270
- background: none;
271
- border: none;
272
- cursor: pointer;
273
- padding: 0.5rem;
274
- }
275
-
276
- .menu-line {
277
- width: 20px;
278
- height: 2px;
279
- background: rgba(255, 255, 255, 0.9);
280
- border-radius: 1px;
281
- transition: var(--transition-fast);
282
- }
283
-
284
- /* ===== LAYOUT ===== */
285
- .layout {
286
- display: flex;
287
- margin-top: var(--header-height);
288
- min-height: calc(100vh - var(--header-height));
289
- }
290
-
291
- /* ===== SIDEBAR ===== */
292
- .sidebar {
293
- width: var(--sidebar-width);
294
- background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 250, 250, 0.9) 100%);
295
- backdrop-filter: blur(20px);
296
- border-right: 1px solid rgba(226, 232, 240, 0.5);
297
- position: fixed;
298
- left: 0;
299
- top: var(--header-height);
300
- bottom: 0;
301
- overflow-y: auto;
302
- z-index: 100;
303
- transform: translateX(0);
304
- transition: var(--transition-smooth);
305
- }
306
-
307
- .nav-content {
308
- padding: 3rem 2rem;
309
- height: 100%;
310
- position: relative;
311
- }
312
-
313
- /* ===== ARTISTIC LOGO PLACEMENT ===== */
314
- .fjell-logo {
315
- position: absolute;
316
- bottom: 2rem;
317
- left: 50%;
318
- transform: translateX(-50%);
319
- width: 80px;
320
- height: 80px;
321
- opacity: 0.15;
322
- transition: var(--transition-mystery);
323
- filter: grayscale(1) brightness(0.8);
324
- animation: mystery-glow 8s ease-in-out infinite;
325
- object-fit: contain;
326
- z-index: 10;
327
- border-radius: 8px;
328
- }
329
-
330
- .fjell-logo:hover {
331
- opacity: 0.4;
332
- transform: translateX(-50%) scale(1.1);
333
- filter: grayscale(0) brightness(1.2);
334
- }
335
-
336
- /* Removed nav-header, nav-title, and nav-subtitle styles - no longer needed */
337
-
338
- .nav-sections {
339
- display: flex;
340
- flex-direction: column;
341
- gap: 0.5rem;
342
- animation: mystery-fade-in 1s ease-out 1s both;
343
- }
344
-
345
- .nav-item {
346
- display: flex;
347
- align-items: center;
348
- gap: 1rem;
349
- padding: 1.25rem;
350
- background: none;
351
- border: none;
352
- border-radius: 1rem;
353
- cursor: pointer;
354
- transition: var(--transition-fast);
355
- text-align: left;
356
- width: 100%;
357
- }
358
-
359
- .nav-item:hover {
360
- background: var(--gradient-subtle);
361
- transform: translateX(4px);
362
- }
363
-
364
- .nav-item.active {
365
- background: var(--gradient-primary);
366
- color: white;
367
- transform: translateX(8px);
368
- box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
369
- }
370
-
371
-
372
-
373
- .nav-item-content {
374
- display: flex;
375
- flex-direction: column;
376
- gap: 0.25rem;
377
- }
378
-
379
- .nav-item-title {
380
- font-weight: 600;
381
- font-size: 0.95rem;
382
- color: var(--color-text);
383
- letter-spacing: -0.01em;
384
- }
385
-
386
- .nav-item.active .nav-item-title {
387
- color: white;
388
- }
389
-
390
- .nav-item-subtitle {
391
- font-size: 0.8rem;
392
- color: var(--color-text-light);
393
- font-weight: 400;
394
- line-height: 1.4;
395
- }
396
-
397
- .nav-item.active .nav-item-subtitle {
398
- color: rgba(255, 255, 255, 0.8);
399
- }
400
-
401
- /* ===== MAIN CONTENT ===== */
402
- .main {
403
- flex: 1;
404
- margin-left: var(--sidebar-width);
405
- background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
406
- animation: mystery-fade-in 1.2s ease-out 1.2s both;
407
- }
408
-
409
- .content-container {
410
- max-width: var(--content-max-width);
411
- margin: 0 auto;
412
- padding: 4rem 2rem;
413
- }
414
-
415
- .content-wrapper {
416
- display: flex;
417
- flex-direction: column;
418
- gap: 3rem;
419
- }
420
-
421
- .content-header {
422
- display: flex;
423
- flex-direction: column;
424
- gap: 1rem;
425
- margin-bottom: 2rem;
426
- }
427
-
428
- .content-header {
429
- margin-bottom: 1rem;
430
- }
431
-
432
- .breadcrumb {
433
- display: flex;
434
- align-items: center;
435
- gap: 0.5rem;
436
- font-size: 0.875rem;
437
- }
438
-
439
- .section-header {
440
- text-align: right;
441
- float: right;
442
- margin-top: -2rem;
443
- margin-bottom: 1rem;
444
- }
445
-
446
- .section-header .content-title {
447
- margin: 0;
448
- font-size: 1.5rem;
449
- font-weight: 600;
450
- color: var(--color-primary);
451
- }
452
-
453
- .section-header .content-subtitle {
454
- margin: 0.25rem 0 0 0;
455
- font-size: 0.875rem;
456
- color: var(--color-text-muted);
457
- }
458
-
459
- .breadcrumb-home {
460
- color: var(--color-text-muted);
461
- opacity: 0.7;
462
- }
463
-
464
- .breadcrumb-separator {
465
- color: var(--color-text-muted);
466
- opacity: 0.5;
467
- }
468
-
469
- .breadcrumb-current {
470
- color: var(--color-primary);
471
- font-weight: 600;
472
- }
473
-
474
- .content-title {
475
- margin: 0;
476
- font-family: var(--font-display);
477
- font-size: 3rem;
478
- font-weight: 700;
479
- letter-spacing: -0.03em;
480
- line-height: 1.1;
481
- background: var(--gradient-text);
482
- -webkit-background-clip: text;
483
- -webkit-text-fill-color: transparent;
484
- background-clip: text;
485
- }
486
-
487
- .content-subtitle {
488
- margin: 0;
489
- font-size: 1.125rem;
490
- color: var(--color-text-light);
491
- font-weight: 400;
492
- letter-spacing: 0.01em;
493
- line-height: 1.6;
494
- }
495
-
496
- /* ===== CONTENT STYLES ===== */
497
- .content {
498
- background: var(--color-surface);
499
- border-radius: 1.5rem;
500
- padding: 3rem;
501
- border: 1px solid var(--color-border);
502
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
503
- }
504
-
505
- .content-h1 {
506
- margin: 0 0 2rem 0;
507
- font-family: var(--font-display);
508
- font-size: 2.25rem;
509
- font-weight: 700;
510
- letter-spacing: -0.02em;
511
- color: var(--color-text);
512
- line-height: 1.2;
513
- border-bottom: 1px solid var(--color-border);
514
- padding-bottom: 1rem;
515
- }
516
-
517
- .content-h2 {
518
- margin: 3rem 0 1.5rem 0;
519
- font-family: var(--font-display);
520
- font-size: 1.75rem;
521
- font-weight: 600;
522
- letter-spacing: -0.01em;
523
- color: var(--color-text);
524
- line-height: 1.3;
525
- }
526
-
527
- .content-h3 {
528
- margin: 2rem 0 1rem 0;
529
- font-size: 1.25rem;
530
- font-weight: 600;
531
- color: var(--color-text);
532
- line-height: 1.4;
533
- }
534
-
535
- .content h4 {
536
- margin: 1.5rem 0 0.75rem 0;
537
- font-size: 1.125rem;
538
- font-weight: 600;
539
- color: var(--color-text);
540
- }
541
-
542
- .content p {
543
- margin: 1.5rem 0;
544
- line-height: 1.7;
545
- color: var(--color-text);
546
- }
547
-
548
- .content ul,
549
- .content ol {
550
- margin: 1.5rem 0;
551
- padding-left: 2rem;
552
- }
553
-
554
- .content li {
555
- margin: 0.75rem 0;
556
- line-height: 1.7;
557
- }
558
-
559
- .content blockquote {
560
- margin: 2rem 0;
561
- padding: 1.5rem 2rem;
562
- border-left: 4px solid var(--color-accent);
563
- background: var(--gradient-subtle);
564
- border-radius: 0 1rem 1rem 0;
565
- color: var(--color-text);
566
- font-style: italic;
567
- }
568
-
569
- .content table {
570
- width: 100%;
571
- border-collapse: collapse;
572
- margin: 2rem 0;
573
- border-radius: 1rem;
574
- overflow: hidden;
575
- border: 1px solid var(--color-border);
576
- }
577
-
578
- .content th,
579
- .content td {
580
- padding: 1rem 1.5rem;
581
- text-align: left;
582
- border-bottom: 1px solid var(--color-border);
583
- }
584
-
585
- .content th {
586
- background: var(--gradient-subtle);
587
- font-weight: 600;
588
- color: var(--color-text);
589
- font-size: 0.9rem;
590
- }
591
-
592
- .content tr:last-child td {
593
- border-bottom: none;
594
- }
595
-
596
- .content a {
597
- color: var(--color-accent);
598
- text-decoration: none;
599
- font-weight: 500;
600
- border-bottom: 1px solid transparent;
601
- transition: var(--transition-fast);
602
- }
603
-
604
- .content a:hover {
605
- border-bottom-color: var(--color-accent);
606
- }
607
-
608
- .content code {
609
- background: var(--gradient-subtle);
610
- color: var(--color-text);
611
- padding: 0.25rem 0.5rem;
612
- border-radius: 0.375rem;
613
- font-size: 0.875rem;
614
- font-family: 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace;
615
- font-weight: 500;
616
- }
617
-
618
- .content pre {
619
- margin: 2rem 0;
620
- border-radius: 1rem;
621
- overflow: hidden;
622
- border: 1px solid var(--color-border);
623
- background: var(--color-surface);
624
- }
625
-
626
- .content pre code {
627
- display: block;
628
- padding: 1.5rem !important;
629
- font-size: 0.875rem;
630
- font-weight: 400;
631
- line-height: 1.6;
632
- overflow-x: auto;
633
- background: none !important;
634
- border: none !important;
635
- border-radius: 0 !important;
636
- margin: 0 !important;
637
- }
638
-
639
- /* Ensure SyntaxHighlighter components have consistent styling */
640
- .content pre>div {
641
- padding: 0 !important;
642
- margin: 0 !important;
643
- background: none !important;
644
- border: none !important;
645
- }
646
-
647
- .content pre code>span {
648
- padding: 0;
649
- margin: 0;
650
- }
651
-
652
- /* ===== NAVIGATION SUGGESTIONS ===== */
653
- .content-navigation {
654
- display: flex;
655
- justify-content: flex-end;
656
- margin-top: 3rem;
657
- }
658
-
659
- .nav-suggestion {
660
- display: flex;
661
- flex-direction: column;
662
- align-items: flex-end;
663
- gap: 0.25rem;
664
- padding: 1rem 1.5rem;
665
- background: var(--gradient-primary);
666
- color: white;
667
- border: none;
668
- border-radius: 1rem;
669
- cursor: pointer;
670
- transition: var(--transition-fast);
671
- text-align: right;
672
- }
673
-
674
- .nav-suggestion:hover {
675
- transform: translateY(-2px);
676
- box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
677
- }
678
-
679
- .nav-suggestion-label {
680
- font-size: 0.8rem;
681
- opacity: 0.8;
682
- font-weight: 500;
683
- letter-spacing: 0.05em;
684
- text-transform: uppercase;
685
- }
686
-
687
- .nav-suggestion-title {
688
- font-size: 1rem;
689
- font-weight: 600;
690
- letter-spacing: -0.01em;
691
- }
692
-
693
- /* ===== LOADING ===== */
694
- .loading {
695
- display: flex;
696
- flex-direction: column;
697
- align-items: center;
698
- justify-content: center;
699
- padding: 8rem 0;
700
- background: radial-gradient(circle at center, rgba(102, 126, 234, 0.05) 0%, transparent 70%);
701
- }
702
-
703
- .loading-animation {
704
- display: flex;
705
- gap: 0.75rem;
706
- margin-bottom: 2rem;
707
- position: relative;
708
- }
709
-
710
- .loading-dot {
711
- width: 12px;
712
- height: 12px;
713
- border-radius: 50%;
714
- background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
715
- animation: loading-mystery 2s ease-in-out infinite both;
716
- box-shadow: 0 0 20px rgba(102, 126, 234, 0.4);
717
- }
718
-
719
- .loading-dot:nth-child(1) {
720
- animation-delay: -0.4s;
721
- }
722
-
723
- .loading-dot:nth-child(2) {
724
- animation-delay: -0.2s;
725
- }
726
-
727
- .loading-dot:nth-child(3) {
728
- animation-delay: 0s;
729
- }
730
-
731
- @keyframes loading-mystery {
732
-
733
- 0%,
734
- 80%,
735
- 100% {
736
- transform: scale(0.6) translateY(0);
737
- opacity: 0.3;
738
- box-shadow: 0 0 10px rgba(102, 126, 234, 0.2);
739
- }
740
-
741
- 40% {
742
- transform: scale(1.2) translateY(-20px);
743
- opacity: 1;
744
- box-shadow: 0 0 30px rgba(240, 147, 251, 0.6);
745
- }
746
- }
747
-
748
- .loading-text {
749
- font-size: 1rem;
750
- color: var(--color-text-light);
751
- font-weight: 500;
752
- letter-spacing: 0.05em;
753
- text-transform: uppercase;
754
- opacity: 0.7;
755
- animation: mystery-fade-in 2s ease-out 0.5s both;
756
- }
757
-
758
- .loading-text::after {
759
- content: '...';
760
- animation: loading-dots 1.5s steps(4, end) infinite;
761
- }
762
-
763
- @keyframes loading-dots {
764
-
765
- 0%,
766
- 20% {
767
- color: transparent;
768
- text-shadow: .25em 0 0 transparent, .5em 0 0 transparent;
769
- }
770
-
771
- 40% {
772
- color: var(--color-text-light);
773
- text-shadow: .25em 0 0 transparent, .5em 0 0 transparent;
774
- }
775
-
776
- 60% {
777
- text-shadow: .25em 0 0 var(--color-text-light), .5em 0 0 transparent;
778
- }
779
-
780
- 80%,
781
- 100% {
782
- text-shadow: .25em 0 0 var(--color-text-light), .5em 0 0 var(--color-text-light);
783
- }
784
- }
785
-
786
- /* ===== FOOTER ===== */
787
- .footer {
788
- background: var(--color-surface);
789
- border-top: 1px solid var(--color-border);
790
- margin-top: auto;
791
- }
792
-
793
- .footer-container {
794
- max-width: 1400px;
795
- margin: 0 auto;
796
- padding: 2rem;
797
- }
798
-
799
- .footer-content {
800
- display: flex;
801
- flex-direction: column;
802
- align-items: center;
803
- gap: 0.5rem;
804
- text-align: center;
805
- }
806
-
807
- .footer-text {
808
- margin: 0;
809
- font-size: 0.9rem;
810
- color: var(--color-text);
811
- font-weight: 500;
812
- }
813
-
814
- .footer-license {
815
- margin: 0;
816
- font-size: 0.8rem;
817
- color: var(--color-text-light);
818
- font-weight: 400;
819
- }
820
-
821
- /* ===== RESPONSIVE ===== */
822
- @media (max-width: 1024px) {
823
- :root {
824
- --sidebar-width: 280px;
825
- --content-max-width: 900px;
826
- --header-height: 140px;
827
- }
828
-
829
- .content-container {
830
- padding: 3rem 1.5rem;
831
- }
832
-
833
- .content {
834
- padding: 2.5rem;
835
- }
836
-
837
- .fjell-logo {
838
- width: 60px;
839
- height: 60px;
840
- }
841
- }
842
-
843
- @media (max-width: 768px) {
844
- .menu-toggle {
845
- display: flex;
846
- }
847
-
848
- .header-link {
849
- display: none;
850
- }
851
-
852
- .version-badge {
853
- font-size: 0.75rem;
854
- padding: 0.4rem 0.8rem;
855
- /* Keep version badge visible on mobile */
856
- }
857
-
858
- .sidebar {
859
- transform: translateX(-100%);
860
- }
861
-
862
- .sidebar-open {
863
- transform: translateX(0);
864
- }
865
-
866
- .main {
867
- margin-left: 0;
868
- }
869
-
870
- .header-container {
871
- padding: 0 2rem;
872
- }
873
-
874
- .brand {
875
- margin-left: 0.5rem;
876
- }
877
-
878
- .brand-title {
879
- font-size: 2rem;
880
- }
881
-
882
- .brand-tagline {
883
- font-size: 0.9rem;
884
- }
885
-
886
- .content-container {
887
- padding: 2rem 1rem;
888
- }
889
-
890
- .content {
891
- padding: 2rem;
892
- border-radius: 1rem;
893
- }
894
-
895
- .content-title {
896
- font-size: 2.25rem;
897
- }
898
-
899
- .content-subtitle {
900
- font-size: 1rem;
901
- }
902
-
903
- .nav-content {
904
- padding: 2rem 1.5rem;
905
- }
906
-
907
- .nav-item {
908
- padding: 1rem;
909
- }
910
-
911
- .fjell-logo {
912
- width: 50px;
913
- height: 50px;
914
- bottom: 1rem;
915
- }
916
- }
917
-
918
- @media (max-width: 480px) {
919
- :root {
920
- --header-height: 120px;
921
- }
922
-
923
- .header-container {
924
- padding: 0 1.5rem;
925
- }
926
-
927
- .brand {
928
- margin-left: 0;
929
- }
930
-
931
- .brand-title {
932
- font-size: 1.75rem;
933
- }
934
-
935
- .content-container {
936
- padding: 1.5rem 0.5rem;
937
- }
938
-
939
- .content {
940
- padding: 1.5rem;
941
- margin: 0;
942
- border-radius: 0.75rem;
943
- }
944
-
945
- .content-title {
946
- font-size: 2rem;
947
- }
948
-
949
- .nav-content {
950
- padding: 1.5rem 1rem;
951
- }
952
-
953
- .fjell-logo {
954
- width: 40px;
955
- height: 40px;
956
- }
957
- }
958
-
959
- /* Example content styling */
960
- .example-content {
961
- display: flex;
962
- flex-direction: column;
963
- gap: 2rem;
964
- }
965
-
966
- .example-description {
967
- background: linear-gradient(135deg, var(--surface-01) 0%, var(--surface-02) 100%);
968
- border: 1px solid var(--border-secondary);
969
- border-radius: 0.75rem;
970
- padding: 2rem;
971
- margin-bottom: 1.5rem;
972
- }
973
-
974
- .example-description h2 {
975
- color: var(--accent-primary);
976
- margin-bottom: 1rem;
977
- font-size: 1.75rem;
978
- font-weight: 600;
979
- }
980
-
981
- .example-description ul {
982
- list-style: none;
983
- padding: 0;
984
- margin: 1rem 0;
985
- }
986
-
987
- .example-description li {
988
- padding: 0.5rem 0;
989
- padding-left: 1.5rem;
990
- position: relative;
991
- }
992
-
993
- .example-description li::before {
994
- content: "→";
995
- position: absolute;
996
- left: 0;
997
- color: var(--accent-primary);
998
- font-weight: bold;
999
- }
1000
-
1001
- .example-description code {
1002
- background: var(--surface-03);
1003
- color: var(--accent-secondary);
1004
- padding: 0.25rem 0.5rem;
1005
- border-radius: 0.25rem;
1006
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
1007
- font-size: 0.9em;
1008
- }
1009
-
1010
- .example-code {
1011
- background: var(--surface-02);
1012
- border-radius: 0.75rem;
1013
- overflow: hidden;
1014
- border: 1px solid var(--border-secondary);
1015
- }
1016
-
1017
- .example-run {
1018
- background: var(--surface-01);
1019
- border: 1px solid var(--border-secondary);
1020
- border-radius: 0.75rem;
1021
- padding: 1.5rem;
1022
- }
1023
-
1024
- .example-run h3 {
1025
- color: var(--accent-primary);
1026
- margin-bottom: 1rem;
1027
- font-size: 1.25rem;
1028
- font-weight: 600;
1029
- }
1030
-
1031
- /* Performance content styling */
1032
- .performance-content {
1033
- display: flex;
1034
- flex-direction: column;
1035
- gap: 2rem;
1036
- }
1037
-
1038
- .performance-charts {
1039
- display: grid;
1040
- grid-template-columns: 1fr 1fr;
1041
- gap: 2rem;
1042
- margin-top: 2rem;
1043
- }
1044
-
1045
- .clickable-chart {
1046
- cursor: pointer;
1047
- transition: transform 0.2s ease, box-shadow 0.2s ease;
1048
- }
1049
-
1050
- .clickable-chart:hover {
1051
- transform: scale(1.02);
1052
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
1053
- }
1054
-
1055
- /* Fullscreen modal */
1056
- .fullscreen-modal {
1057
- position: fixed;
1058
- top: 0;
1059
- left: 0;
1060
- right: 0;
1061
- bottom: 0;
1062
- background: rgba(0, 0, 0, 0.9);
1063
- display: flex;
1064
- align-items: center;
1065
- justify-content: center;
1066
- z-index: 9999;
1067
- cursor: pointer;
1068
- }
1069
-
1070
- .fullscreen-content {
1071
- position: relative;
1072
- max-width: 95vw;
1073
- max-height: 95vh;
1074
- cursor: default;
1075
- }
1076
-
1077
- .fullscreen-image {
1078
- max-width: 100%;
1079
- max-height: 95vh;
1080
- object-fit: contain;
1081
- border-radius: 0.5rem;
1082
- }
1083
-
1084
- .close-button {
1085
- position: absolute;
1086
- top: -20px;
1087
- right: -20px;
1088
- background: var(--accent-primary);
1089
- color: white;
1090
- border: none;
1091
- width: 40px;
1092
- height: 40px;
1093
- border-radius: 50%;
1094
- font-size: 24px;
1095
- cursor: pointer;
1096
- display: flex;
1097
- align-items: center;
1098
- justify-content: center;
1099
- transition: background 0.2s ease;
1100
- }
1101
-
1102
- .close-button:hover {
1103
- background: var(--accent-secondary);
1104
- }
1105
-
1106
- .svg-display {
1107
- background: var(--surface-01);
1108
- border: 1px solid var(--border-secondary);
1109
- border-radius: 0.75rem;
1110
- padding: 2rem;
1111
- text-align: center;
1112
- }
1113
-
1114
- .svg-display h2 {
1115
- color: var(--accent-primary);
1116
- margin-bottom: 1.5rem;
1117
- font-size: 1.5rem;
1118
- font-weight: 600;
1119
- }
1120
-
1121
- .performance-chart {
1122
- max-width: 100%;
1123
- height: auto;
1124
- border-radius: 0.5rem;
1125
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
1126
- }
1127
-
1128
- /* Examples grid styling */
1129
- .examples-content {
1130
- display: flex;
1131
- flex-direction: column;
1132
- gap: 2rem;
1133
- }
1134
-
1135
- .examples-grid {
1136
- display: grid;
1137
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
1138
- gap: 1.5rem;
1139
- margin-top: 2rem;
1140
- }
1141
-
1142
- .example-card {
1143
- background: linear-gradient(135deg, var(--surface-01) 0%, var(--surface-02) 100%);
1144
- border: 1px solid var(--border-secondary);
1145
- border-radius: 0.75rem;
1146
- padding: 1.5rem;
1147
- transition: all 0.3s ease;
1148
- }
1149
-
1150
- .example-card:hover {
1151
- transform: translateY(-2px);
1152
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
1153
- border-color: var(--accent-primary);
1154
- }
1155
-
1156
- .example-card h3 {
1157
- color: var(--accent-primary);
1158
- margin-bottom: 0.75rem;
1159
- font-size: 1.25rem;
1160
- font-weight: 600;
1161
- }
1162
-
1163
- .example-card p {
1164
- color: var(--text-secondary);
1165
- margin-bottom: 1rem;
1166
- line-height: 1.5;
1167
- }
1168
-
1169
- .example-card details {
1170
- margin-top: 1rem;
1171
- }
1172
-
1173
- .example-card summary {
1174
- color: var(--accent-secondary);
1175
- cursor: pointer;
1176
- font-weight: 500;
1177
- padding: 0.5rem 0;
1178
- border-bottom: 1px solid var(--border-secondary);
1179
- margin-bottom: 1rem;
1180
- }
1181
-
1182
- .example-card summary:hover {
1183
- color: var(--accent-primary);
1184
- }
1185
-
1186
- .example-code-block {
1187
- background: var(--surface-03);
1188
- border-radius: 0.5rem;
1189
- overflow: hidden;
1190
- border: 1px solid var(--border-secondary);
1191
- }
1192
-
1193
- /* Responsive adjustments for new content */
1194
- @media (max-width: 768px) {
1195
- .header-container {
1196
- padding: 0.75rem 1rem;
1197
- }
1198
-
1199
- .example-description {
1200
- padding: 1.5rem;
1201
- }
1202
-
1203
- .example-run {
1204
- padding: 1rem;
1205
- }
1206
-
1207
- .svg-display {
1208
- padding: 1rem;
1209
- }
1210
-
1211
- .performance-chart {
1212
- width: 100%;
1213
- }
1214
-
1215
- .performance-charts {
1216
- grid-template-columns: 1fr;
1217
- gap: 1rem;
1218
- }
1219
-
1220
- .examples-grid {
1221
- grid-template-columns: 1fr;
1222
- gap: 1rem;
1223
- }
1224
-
1225
- .example-card {
1226
- padding: 1rem;
1227
- }
1228
-
1229
- .content-header {
1230
- flex-direction: column;
1231
- gap: 1rem;
1232
- }
1233
-
1234
- .section-header {
1235
- text-align: left;
1236
- }
1237
- }