@microlink/google 1.0.0 → 1.0.2

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/src/css/style.css DELETED
@@ -1,1152 +0,0 @@
1
- :root {
2
- --space-0: 0;
3
- --space-1: 4px;
4
- --space-2: 8px;
5
- --space-3: 12px;
6
- --space-4: 16px;
7
- --space-5: 20px;
8
- --space-6: 24px;
9
- --space-7: 32px;
10
- --space-8: 48px;
11
- --space-9: 72px;
12
-
13
- --color-spring-wood-50: #f8f7f4;
14
- --color-spring-wood-100: #f4f2ec;
15
- --color-spring-wood-200: #dfd9c9;
16
- --color-spring-wood-300: #cbc0a6;
17
- --color-spring-wood-400: #b5a282;
18
- --color-spring-wood-500: #a68d69;
19
- --color-spring-wood-600: #997c5d;
20
- --color-spring-wood-700: #7f664f;
21
- --color-spring-wood-800: #685344;
22
- --color-spring-wood-900: #554539;
23
- --color-spring-wood-950: #2d231d;
24
-
25
- --color-royal-blue-50: #eff4ff;
26
- --color-royal-blue-100: #dbe6fe;
27
- --color-royal-blue-200: #bfd3fe;
28
- --color-royal-blue-300: #93b7fd;
29
- --color-royal-blue-400: #6091fa;
30
- --color-royal-blue-500: #3f6df6;
31
- --color-royal-blue-600: #254aeb;
32
- --color-royal-blue-700: #1d36d8;
33
- --color-royal-blue-800: #1e2daf;
34
- --color-royal-blue-900: #1e2c8a;
35
- --color-royal-blue-950: #171d54;
36
-
37
- --bg-color: var(--color-spring-wood-50);
38
- --sidebar-bg: var(--bg-color);
39
-
40
- --primary-color: #0e0e11;
41
- --muted-color: var(--color-spring-wood-700);
42
- --accent-color: var(--color-royal-blue-700);
43
- --accent-hover: var(--color-royal-blue-800);
44
-
45
- --accent-soft: color-mix(in srgb, var(--color-royal-blue-500) 12%, transparent);
46
- --accent-soft-strong: color-mix(in srgb, var(--color-royal-blue-500) 22%, transparent);
47
- --accent-surface: color-mix(in srgb, var(--color-royal-blue-500) 8%, transparent);
48
- --accent-surface-subtle: color-mix(in srgb, var(--color-royal-blue-500) 5%, transparent);
49
- --border-color: #1f2940;
50
- --border-soft: rgba(31, 41, 64, 0.18);
51
- --codebox-bg: var(--color-spring-wood-100);
52
- --codebox-color: #2f3747;
53
- --heading-font: 'Archivo Black', sans-serif;
54
- --body-font: 'IBM Plex Sans', sans-serif;
55
- --code-font: 'IBM Plex Mono', monospace;
56
- --nav-width: 312px;
57
- --content-width: 1040px;
58
- --measure: 66ch;
59
- --rhythm-body-size: 1.0625rem;
60
- --rhythm-body-line: 1.72;
61
- --rhythm-block-gap: 1.375rem;
62
- --rhythm-section-gap: 4.5rem;
63
- --shadow-card: 8px 8px 0 rgba(31, 41, 64, 0.08);
64
- --shadow-hero: 12px 12px 0 rgba(31, 41, 64, 0.12);
65
- --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
66
- --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
67
- }
68
-
69
- ::selection {
70
- background: var(--accent-soft-strong);
71
- }
72
-
73
- ::-moz-selection {
74
- background: var(--accent-soft-strong);
75
- }
76
-
77
- * {
78
- -webkit-font-smoothing: antialiased;
79
- -webkit-overflow-scrolling: touch;
80
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
81
- box-sizing: border-box;
82
- }
83
-
84
- html,
85
- body {
86
- min-height: 100%;
87
- }
88
-
89
- html {
90
- background:
91
- linear-gradient(rgba(31, 41, 64, 0.02) 1px, transparent 1px),
92
- linear-gradient(90deg, rgba(31, 41, 64, 0.02) 1px, transparent 1px),
93
- var(--bg-color);
94
- background-size: 28px 28px, 28px 28px, auto;
95
- }
96
-
97
- body {
98
- margin: var(--space-0);
99
- overflow-x: hidden;
100
- color: var(--primary-color);
101
- font-family: var(--body-font);
102
- font-size: 16px;
103
- line-height: 1.65;
104
- }
105
-
106
- .skip-link {
107
- position: fixed;
108
- top: var(--space-3);
109
- left: var(--space-3);
110
- z-index: 100;
111
- padding: var(--space-3) var(--space-4);
112
- border: 2px solid var(--border-color);
113
- background: var(--bg-color);
114
- color: var(--primary-color);
115
- font-size: 0.875rem;
116
- font-weight: 700;
117
- text-decoration: none;
118
- transform: translateY(-140%);
119
- transition: transform 140ms var(--ease-out);
120
- }
121
-
122
- .skip-link:focus,
123
- .skip-link:focus-visible {
124
- transform: translateY(0);
125
- }
126
-
127
- .skip-link:focus-visible {
128
- transition: none;
129
- }
130
-
131
- img {
132
- max-width: 100%;
133
- }
134
-
135
- .badge,
136
- img[src='https://img.shields.io/github/tag/microlinkhq/google.svg?style=flat-square'],
137
- img[src='https://img.shields.io/coveralls/microlinkhq/google.svg?style=flat-square'],
138
- img[src='https://img.shields.io/npm/dm/@microlink/google.svg?style=flat-square'] {
139
- display: none;
140
- }
141
-
142
- main {
143
- min-height: 100vh;
144
- width: 100vw;
145
- }
146
-
147
- .sidebar {
148
- position: fixed;
149
- inset: 0 auto 0 0;
150
- width: var(--nav-width);
151
- height: 100vh;
152
- padding: var(--space-5) var(--space-4) var(--space-6);
153
- overflow: auto;
154
- background: var(--sidebar-bg);
155
- border-right: 2px solid var(--border-color);
156
- }
157
-
158
- .sidebar::-webkit-scrollbar {
159
- width: var(--space-2);
160
- }
161
-
162
- .sidebar::-webkit-scrollbar-thumb {
163
- background: rgba(31, 41, 64, 0.2);
164
- }
165
-
166
- .app-name {
167
- display: block;
168
- padding: var(--space-0);
169
- margin-bottom: var(--space-5);
170
- }
171
-
172
- .app-name-link {
173
- display: grid;
174
- justify-items: center;
175
- gap: var(--space-4);
176
- padding: var(--space-0);
177
- color: var(--primary-color);
178
- text-align: center;
179
- text-decoration: none;
180
- transition: transform 140ms var(--ease-out);
181
- }
182
-
183
- .app-name-link::after {
184
- content: 'Google data for code, agents and products';
185
- color: var(--primary-color);
186
- font-size: 12px;
187
- font-weight: 600;
188
- line-height: 1.4;
189
- letter-spacing: 0.02em;
190
- }
191
-
192
- .app-name-link img {
193
- width: 80px;
194
- }
195
-
196
- .sidebar .sidebar-nav {
197
- padding: 0;
198
- line-height: 1.35;
199
- }
200
-
201
- .sidebar ul,
202
- .sidebar li {
203
- list-style: none;
204
- margin: 0;
205
- padding: 0;
206
- }
207
-
208
- .sidebar ul ul {
209
- margin-left: var(--space-2);
210
- padding-left: var(--space-2);
211
- border-left: 1px solid var(--border-soft);
212
- }
213
-
214
- .sidebar li {
215
- margin: 0;
216
- }
217
-
218
- .sidebar ul li a {
219
- display: block;
220
- position: relative;
221
- padding: var(--space-2) var(--space-2);
222
- color: var(--muted-color);
223
- text-decoration: none;
224
- font-size: 12px;
225
- font-weight: 700;
226
- letter-spacing: 0.04em;
227
- text-transform: uppercase;
228
- transition:
229
- color 140ms var(--ease-out),
230
- background-color 140ms var(--ease-out),
231
- transform 120ms var(--ease-out);
232
- }
233
-
234
- .sidebar ul li a::before {
235
- content: '';
236
- position: absolute;
237
- inset: 6px auto 6px 0;
238
- width: 3px;
239
- background: transparent;
240
- transform: scaleY(0.4);
241
- transform-origin: center;
242
- transition:
243
- transform 140ms var(--ease-out),
244
- background-color 140ms var(--ease-out);
245
- }
246
-
247
-
248
- .sidebar ul li a {
249
- opacity: 0.8;
250
- }
251
-
252
- .sidebar ul li.is-active > a,
253
- .sidebar ul li a.is-active,
254
- .sidebar ul li a[aria-current='location'] {
255
- color: var(--primary-color);
256
- background: var(--accent-surface-subtle);
257
- opacity: 1;
258
- }
259
-
260
- .app-name-link:active {
261
- transform: scale(0.98);
262
- }
263
-
264
- .sidebar ul li a:active {
265
- transform: scale(0.98);
266
- }
267
-
268
- .sidebar-toggle:active {
269
- transform: scale(0.97);
270
- }
271
-
272
- .sidebar ul li.is-active > a::before,
273
- .sidebar ul li a.is-active::before,
274
- .sidebar ul li a[aria-current='location']::before {
275
- background: var(--accent-color);
276
- transform: scaleY(1);
277
- }
278
-
279
- .sidebar ul li.active > a:not(.is-active):not([aria-current='location']) {
280
- color: var(--muted-color);
281
- background: transparent;
282
- }
283
-
284
- .sidebar ul li.active > a:not(.is-active):not([aria-current='location'])::before {
285
- background: transparent;
286
- transform: scaleY(0.4);
287
- }
288
-
289
- :focus-visible {
290
- outline: 3px solid var(--accent-color);
291
- outline-offset: 3px;
292
- }
293
-
294
- .app-name-link:focus-visible,
295
- .sidebar ul li a:focus-visible,
296
- .use-case-link:focus-visible,
297
- .sidebar-toggle:focus-visible {
298
- background: var(--bg-color);
299
- text-decoration: none;
300
- }
301
-
302
- .app-name-link:focus-visible,
303
- .sidebar ul li a:focus-visible,
304
- .sidebar ul li a:focus-visible::before {
305
- transition: none;
306
- }
307
-
308
- .sidebar-toggle {
309
- display: none;
310
- }
311
-
312
- .content {
313
- position: relative;
314
- margin-left: var(--nav-width);
315
- padding: var(--space-6) var(--space-6) var(--space-9);
316
- }
317
-
318
- .markdown-section {
319
- max-width: var(--content-width);
320
- margin: 0 auto;
321
- padding: var(--space-7) var(--space-7) var(--space-9);
322
- }
323
-
324
- .markdown-section > :first-child {
325
- margin-top: 0 !important;
326
- }
327
-
328
- .markdown-section h1,
329
- .markdown-section h2,
330
- .markdown-section h3,
331
- .markdown-section h4,
332
- .markdown-section h5 {
333
- color: var(--primary-color);
334
- font-family: var(--heading-font);
335
- font-weight: 400;
336
- letter-spacing: -0.045em;
337
- margin-top: 0;
338
- margin-bottom: 0;
339
- scroll-margin-top: calc(var(--space-8) + var(--space-3));
340
- }
341
-
342
- .markdown-section :is(h1, h2, h3) {
343
- text-wrap: balance;
344
- }
345
-
346
- .markdown-section h2 {
347
- color: var(--accent-color);
348
- }
349
-
350
- .markdown-section h1 {
351
- font-size: clamp(2.35rem, 4.6vw, 3.45rem);
352
- line-height: 1.08;
353
- padding-top: 0.32em;
354
- margin-bottom: 0.3em;
355
- }
356
-
357
- .markdown-section h1 span {
358
- color: var(--accent-color);
359
- }
360
-
361
- .markdown-section :is(h1, h2, h3, h4, h5) a {
362
- position: relative;
363
- color: inherit;
364
- }
365
-
366
- .markdown-section :is(h1, h2, h3, h4, h5) a::after {
367
- content: '#';
368
- margin-left: 0.18em;
369
- opacity: 0;
370
- color: var(--muted-color);
371
- transition: opacity 140ms ease;
372
- }
373
-
374
- .markdown-section :is(h1, h2, h3, h4, h5) a:hover {
375
- color: inherit;
376
- text-decoration: none;
377
- }
378
-
379
- .markdown-section :is(h1, h2, h3, h4, h5) a:hover::after,
380
- .markdown-section :is(h1, h2, h3, h4, h5) a:focus-visible::after {
381
- opacity: 1;
382
- }
383
-
384
- .markdown-section h2 {
385
- position: relative;
386
- font-size: clamp(2.05rem, 3.6vw, 2.85rem);
387
- line-height: 1.14;
388
- padding-top: 0.62em;
389
- margin-top: var(--rhythm-section-gap);
390
- margin-bottom: 0.42em;
391
- }
392
-
393
- .markdown-section h2:first-of-type {
394
- margin-top: var(--space-0);
395
- }
396
-
397
- .markdown-section h2 + h3 {
398
- margin-top: calc(var(--rhythm-block-gap) * 1.35);
399
- }
400
-
401
- .markdown-section h2 + p,
402
- .markdown-section h3 + p,
403
- .markdown-section h4 + p {
404
- margin-top: 0;
405
- }
406
-
407
- .markdown-section h2::before {
408
- content: '';
409
- position: absolute;
410
- top: 0;
411
- left: 0;
412
- width: 88px;
413
- height: var(--space-1);
414
- background: var(--border-color);
415
- }
416
-
417
- .markdown-section h3 {
418
- font-size: clamp(1.45rem, 2.5vw, 1.95rem);
419
- line-height: 1.18;
420
- padding-top: 0.44em;
421
- margin-top: calc(var(--rhythm-block-gap) * 1.8);
422
- margin-bottom: 0.44em;
423
- }
424
-
425
- .markdown-section h4 {
426
- font-size: 1.05rem;
427
- line-height: 1.32;
428
- padding-top: 0.28em;
429
- margin-top: calc(var(--rhythm-block-gap) * 1.45);
430
- margin-bottom: 0.48em;
431
- }
432
-
433
- .markdown-section h5 {
434
- font-size: 0.95rem;
435
- line-height: 1.35;
436
- padding-top: 0.22em;
437
- margin-top: var(--rhythm-block-gap);
438
- margin-bottom: 0.52em;
439
- }
440
-
441
- .markdown-section p,
442
- .markdown-section li {
443
- color: var(--primary-color);
444
- font-size: var(--rhythm-body-size);
445
- line-height: var(--rhythm-body-line);
446
- }
447
-
448
- .markdown-section p {
449
- max-width: var(--measure);
450
- padding-top: 0.16em;
451
- margin: 0 0 1.08em;
452
- }
453
-
454
- .markdown-section ul,
455
- .markdown-section ol {
456
- margin: 0 0 1.22rem;
457
- padding-left: 1.4em;
458
- }
459
-
460
-
461
- .markdown-section li:not(.use-case-card) {
462
- padding-top: 0.08em;
463
- }
464
-
465
- .markdown-section li + li:not(.use-case-card) {
466
- margin-top: 0.34em;
467
- }
468
-
469
- .markdown-section ul + p,
470
- .markdown-section ol + p,
471
- .markdown-section p + ul,
472
- .markdown-section p + ol {
473
- margin-top: 0;
474
- }
475
-
476
- .markdown-section :is(pre, .table-shell, blockquote) + :is(p, ul, ol) {
477
- margin-top: 0;
478
- }
479
-
480
- .markdown-section :is(p, ul, ol, pre, .table-shell, blockquote) + :is(p, ul, ol, pre, .table-shell, blockquote) {
481
- margin-top: 0;
482
- }
483
-
484
- .hero-copy p {
485
- max-width: 30ch;
486
- margin: var(--space-5) 0 0;
487
- padding-top: 0;
488
- font-size: 18px;
489
- line-height: 1.7;
490
- }
491
-
492
- .hero-copy h1 {
493
- font-size: clamp(3rem, 6.6vw, 5.2rem);
494
- line-height: 1.1;
495
- padding-top: 0.18em;
496
- margin-bottom: 0.14em;
497
- }
498
-
499
- .hero-note {
500
- margin-top: calc(var(--space-6) + 2px) !important;
501
- margin-bottom: 0 !important;
502
- padding-top: 0 !important;
503
- color: var(--muted-color) !important;
504
- font-size: 12px !important;
505
- font-weight: 500;
506
- }
507
-
508
- .hero-eyebrow {
509
- margin-bottom: var(--space-5);
510
- color: var(--muted-color);
511
- font-size: 11px;
512
- font-weight: 700;
513
- letter-spacing: 0.22em;
514
- text-transform: uppercase;
515
- }
516
-
517
- .hero-block + .hero-stats {
518
- margin-top: calc(var(--space-6) + 2px);
519
- }
520
-
521
- .markdown-section h2 {
522
- font-size: clamp(2.05rem, 3.6vw, 2.85rem);
523
- }
524
-
525
- .markdown-section strong {
526
- color: var(--primary-color);
527
- }
528
-
529
- .markdown-section a {
530
- color: var(--accent-color);
531
- text-decoration: none;
532
- text-underline-offset: 0.14em;
533
- }
534
-
535
- .markdown-section a:hover {
536
- color: var(--accent-hover);
537
- text-decoration: underline;
538
- }
539
-
540
- .markdown-section :is(li, p) code {
541
- padding: 0.12rem 0.38rem;
542
- border: 1px solid var(--border-soft);
543
- background: #fff;
544
- color: var(--primary-color);
545
- font-family: var(--code-font);
546
- font-size: 0.88em;
547
- }
548
-
549
- .hero-block {
550
- display: grid;
551
- grid-template-columns: minmax(0, 1.02fr) minmax(340px, 0.98fr);
552
- gap: calc(var(--space-7) + 10px);
553
- align-items: center;
554
- padding: calc(var(--space-6) + 2px) 0 var(--space-5);
555
- margin-bottom: calc(var(--space-6) + var(--space-1));
556
- }
557
-
558
- .hero-copy {
559
- max-width: 500px;
560
- }
561
-
562
- .hero-visual {
563
- position: relative;
564
- }
565
-
566
- .browser-frame {
567
- position: relative;
568
- border: 2px solid var(--border-color);
569
- background: #fff;
570
- box-shadow: var(--shadow-hero);
571
- }
572
-
573
- .browser-bar {
574
- display: flex;
575
- align-items: center;
576
- gap: var(--space-3);
577
- height: calc(var(--space-8) - 2px);
578
- padding: 0 calc(var(--space-3) + 2px);
579
- border-bottom: 2px solid var(--border-color);
580
- background: #f8f9fb;
581
- }
582
-
583
- .browser-dots {
584
- display: inline-flex;
585
- gap: calc(var(--space-1) + 2px);
586
- }
587
-
588
- .browser-dots i {
589
- width: var(--space-2);
590
- height: var(--space-2);
591
- border-radius: 50%;
592
- background: #c7cfdb;
593
- display: block;
594
- }
595
-
596
- .browser-url {
597
- display: inline-flex;
598
- flex: 1;
599
- align-items: center;
600
- height: calc(var(--space-7) - 2px);
601
- padding: 0 var(--space-3);
602
- border: 1px solid var(--border-soft);
603
- color: var(--muted-color);
604
- font-size: 12px;
605
- }
606
-
607
- .browser-screen {
608
- background: linear-gradient(180deg, #f3f6ff 0%, #edf1fb 100%);
609
- }
610
-
611
- .hero-banner {
612
- display: block;
613
- width: 100%;
614
- height: auto;
615
- }
616
-
617
- .hero-badge {
618
- position: absolute;
619
- z-index: 2;
620
- padding: var(--space-2) var(--space-3);
621
- border: 2px solid var(--border-color);
622
- background: var(--accent-color);
623
- color: #fff;
624
- font-size: 12px;
625
- font-weight: 700;
626
- text-transform: uppercase;
627
- box-shadow: 6px 6px 0 rgba(31, 41, 64, 0.14);
628
- }
629
-
630
- .hero-badge.top {
631
- top: calc(var(--space-2) * -1 - 2px);
632
- right: calc(var(--space-3) * -1);
633
- }
634
-
635
- .hero-badge.bottom {
636
- left: calc(var(--space-3) * -1);
637
- bottom: var(--space-5);
638
- }
639
-
640
- .hero-stats {
641
- display: grid;
642
- grid-template-columns: repeat(3, minmax(0, 1fr));
643
- max-width: 960px;
644
- margin: calc(var(--space-6) + 2px) auto var(--space-8);
645
- }
646
-
647
- .hero-stat {
648
- padding: calc(var(--space-5) + 2px) var(--space-5) calc(var(--space-1) + 2px);
649
- text-align: center;
650
- border-right: 1px solid var(--border-soft);
651
- }
652
-
653
- .hero-stat:last-child {
654
- border-right: 0;
655
- }
656
-
657
- .hero-stat strong {
658
- display: block;
659
- color: var(--primary-color);
660
- font-size: 2rem;
661
- line-height: 1;
662
- }
663
-
664
- .hero-stat--serialization strong {
665
- font-size: 1.625rem;
666
- white-space: nowrap;
667
- }
668
-
669
- .hero-stat span {
670
- display: block;
671
- margin-top: var(--space-2);
672
- color: var(--muted-color);
673
- font-size: 11px;
674
- font-weight: 700;
675
- letter-spacing: 0.08em;
676
- text-transform: uppercase;
677
- }
678
-
679
- .use-case-grid {
680
- display: grid;
681
- grid-template-columns: repeat(4, minmax(0, 1fr));
682
- gap: var(--space-5);
683
- margin: var(--space-6) 0 var(--space-7);
684
- padding: var(--space-0);
685
- }
686
-
687
- .hero-use-cases {
688
- margin: 0 0 var(--space-9);
689
- }
690
-
691
- .markdown-section .hero-use-cases__intro {
692
- max-width: none;
693
- width: 100%;
694
- text-align: center;
695
- margin-bottom: var(--space-8);
696
- }
697
-
698
- .markdown-section .hero-use-cases__grid {
699
- margin: 0 auto;
700
- padding: 0;
701
- }
702
-
703
- .use-case-card {
704
- list-style: none;
705
- position: relative;
706
- min-height: 100%;
707
- margin-top: 0;
708
- padding: 0;
709
- border: 2px solid var(--border-color);
710
- background: var(--bg-color);
711
- box-shadow: var(--shadow-card);
712
- touch-action: manipulation;
713
- transition: transform 140ms var(--ease-out), box-shadow 140ms var(--ease-out);
714
- }
715
-
716
- .use-case-card li {
717
- padding-top: 0;
718
- }
719
-
720
- .use-case-card li + li {
721
- margin-top: 0;
722
- }
723
-
724
- .use-case-card:active {
725
- transform: scale(0.98);
726
- box-shadow: 6px 6px 0 rgba(31, 41, 64, 0.09);
727
- }
728
-
729
- .use-case-card::after {
730
- content: '';
731
- position: absolute;
732
- right: calc(var(--space-3) + 2px);
733
- bottom: calc(var(--space-3) + 2px);
734
- width: calc(var(--space-8) + 6px);
735
- height: calc(var(--space-8) + 6px);
736
- border-radius: 50%;
737
- background: var(--accent-surface);
738
- pointer-events: none;
739
- }
740
-
741
- .use-case-link {
742
- display: grid;
743
- grid-template-rows: 4.6rem 1fr;
744
- row-gap: var(--space-2);
745
- align-content: start;
746
- min-height: 100%;
747
- padding: var(--space-5) calc(var(--space-5) + 2px);
748
- color: inherit !important;
749
- text-decoration: none !important;
750
- touch-action: manipulation;
751
- }
752
-
753
- .use-case-link strong {
754
- display: block;
755
- max-width: 13ch;
756
- margin-bottom: 0;
757
- color: var(--primary-color);
758
- font-family: var(--heading-font);
759
- font-size: 1.15rem;
760
- line-height: 1.05;
761
- }
762
-
763
- .use-case-card p {
764
- margin: 0;
765
- max-width: none;
766
- color: var(--primary-color);
767
- font-size: 14px;
768
- line-height: 1.65;
769
- }
770
-
771
- .use-case-card--agentic {
772
- background: linear-gradient(180deg, var(--accent-surface), transparent 58%), var(--bg-color);
773
- }
774
-
775
- .use-case-card--rag {
776
- background: linear-gradient(180deg, rgba(31, 41, 64, 0.05), transparent 58%), var(--bg-color);
777
- }
778
-
779
- .use-case-card--news {
780
- background: linear-gradient(180deg, var(--accent-surface-subtle), rgba(31, 41, 64, 0.02)), var(--bg-color);
781
- }
782
-
783
- .use-case-card--local {
784
- background: linear-gradient(180deg, rgba(31, 41, 64, 0.03), transparent 58%), var(--bg-color);
785
- }
786
-
787
- .code-shell {
788
- position: relative;
789
- margin: var(--space-6) 0;
790
- border: 2px solid var(--border-color);
791
- background: linear-gradient(180deg, var(--bg-color) 0%, var(--bg-color) 100%);
792
- box-shadow: var(--shadow-card);
793
- overflow: hidden;
794
- }
795
-
796
- .code-shell__header {
797
- display: flex;
798
- align-items: center;
799
- justify-content: space-between;
800
- gap: var(--space-4);
801
- min-height: 44px;
802
- padding: 0 var(--space-4);
803
- border-bottom: 2px solid var(--border-color);
804
- background: transparent;
805
- }
806
-
807
- .code-shell__dots {
808
- display: inline-flex;
809
- gap: 6px;
810
- }
811
-
812
- .code-shell__dots i {
813
- display: block;
814
- width: 8px;
815
- height: 8px;
816
- border-radius: 999px;
817
- background: #c1c8d4;
818
- }
819
-
820
- .code-shell__label {
821
- color: var(--muted-color);
822
- font-family: var(--code-font);
823
- font-size: 11px;
824
- font-weight: 700;
825
- letter-spacing: 0.08em;
826
- text-transform: uppercase;
827
- }
828
-
829
- pre {
830
- margin: var(--space-0);
831
- padding: var(--space-6) var(--space-5);
832
- overflow-x: auto;
833
- background: var(--codebox-bg);
834
- color: var(--codebox-color);
835
- font-family: var(--code-font);
836
- font-size: 13px;
837
- line-height: 1.75;
838
- }
839
-
840
- pre code {
841
- display: block;
842
- background: transparent !important;
843
- color: inherit;
844
- padding: 0;
845
- border: 0;
846
- font-family: inherit;
847
- font-size: inherit;
848
- }
849
-
850
- code[class*='language-'],
851
- pre[class*='language-'] {
852
- background: var(--codebox-bg) !important;
853
- color: var(--codebox-color) !important;
854
- border: 0 !important;
855
- border-radius: 0 !important;
856
- text-shadow: none !important;
857
- }
858
-
859
- .token.comment {
860
- color: #6c7a92 !important;
861
- }
862
-
863
- .token.constant,
864
- .token.punctuation {
865
- color: #2d74b7 !important;
866
- }
867
-
868
- .token.number,
869
- .token.builtin,
870
- .token.function {
871
- color: #c85f43 !important;
872
- }
873
-
874
- .token.keyword,
875
- .token.tag {
876
- color: #3f6df6 !important;
877
- }
878
-
879
- .token.attr-name,
880
- .token.selector {
881
- color: #23827a !important;
882
- }
883
-
884
- .token.attr-value,
885
- .token.string {
886
- color: #7a4ce0 !important;
887
- }
888
-
889
- .table-shell {
890
- margin: var(--space-7) 0;
891
- overflow-x: auto;
892
- border: 2px solid var(--border-color);
893
- background: var(--bg-color);
894
- box-shadow: var(--shadow-card);
895
- }
896
-
897
- .markdown-section table {
898
- width: 100%;
899
- min-width: 620px;
900
- margin: 0;
901
- border-collapse: collapse;
902
- font-size: 14px;
903
- }
904
-
905
- .markdown-section th,
906
- .markdown-section td {
907
- padding: calc(var(--space-3) + 2px) var(--space-4);
908
- text-align: left;
909
- border-bottom: 1px solid var(--border-soft);
910
- white-space: nowrap;
911
- }
912
-
913
- .markdown-section th {
914
- background: #f7f8fb;
915
- color: var(--muted-color);
916
- font-size: 11px;
917
- font-weight: 700;
918
- letter-spacing: 0.12em;
919
- text-transform: uppercase;
920
- }
921
-
922
- .markdown-section tbody tr:hover {
923
- background: var(--accent-soft);
924
- }
925
-
926
- .markdown-section blockquote {
927
- margin: var(--space-7) 0;
928
- padding: var(--space-3) var(--space-5);
929
- border-left: 4px solid var(--accent-color);
930
- background: var(--bg-color);
931
- color: var(--primary-color);
932
- }
933
-
934
- .markdown-section hr {
935
- height: 1px;
936
- border: 0;
937
- margin: var(--space-8) 0;
938
- background: var(--border-soft);
939
- }
940
-
941
- .github-corner svg {
942
- position: fixed;
943
- top: 0;
944
- right: 0;
945
- width: 84px;
946
- height: 84px;
947
- color: #fff;
948
- fill: var(--primary-color);
949
- z-index: 10;
950
- }
951
-
952
- .github-corner:hover .octo-arm {
953
- animation: octocat-wave 240ms ease-in-out;
954
- }
955
-
956
- @keyframes octocat-wave {
957
- 0%,
958
- 100% {
959
- transform: rotate(0);
960
- }
961
-
962
- 20%,
963
- 60% {
964
- transform: rotate(-25deg);
965
- }
966
-
967
- 40%,
968
- 80% {
969
- transform: rotate(10deg);
970
- }
971
- }
972
-
973
- @keyframes riseIn {
974
- from {
975
- opacity: 0;
976
- transform: translateY(12px);
977
- }
978
-
979
- to {
980
- opacity: 1;
981
- transform: translateY(0);
982
- }
983
- }
984
-
985
- .reveal-on-load {
986
- animation: riseIn 240ms var(--ease-out) both;
987
- }
988
-
989
- .reveal-on-load:nth-child(2) {
990
- animation-delay: 40ms;
991
- }
992
-
993
- .reveal-on-load:nth-child(3) {
994
- animation-delay: 80ms;
995
- }
996
-
997
- .reveal-on-load:nth-child(4) {
998
- animation-delay: 120ms;
999
- }
1000
-
1001
- @media (hover: hover) and (pointer: fine) {
1002
- .sidebar ul li a:hover {
1003
- color: var(--primary-color);
1004
- background: var(--accent-surface-subtle);
1005
- opacity: 1;
1006
- }
1007
-
1008
- .use-case-card:hover {
1009
- transform: translateY(-2px);
1010
- box-shadow: 10px 10px 0 rgba(31, 41, 64, 0.1);
1011
- }
1012
- }
1013
-
1014
- @media (prefers-reduced-motion: reduce) {
1015
- html {
1016
- scroll-behavior: auto;
1017
- }
1018
-
1019
- .reveal-on-load {
1020
- animation: none !important;
1021
- opacity: 1;
1022
- transform: none;
1023
- }
1024
-
1025
- .github-corner .octo-arm {
1026
- animation: none !important;
1027
- }
1028
-
1029
- .skip-link,
1030
- .app-name-link,
1031
- .sidebar ul li a,
1032
- .sidebar ul li a::before,
1033
- .sidebar,
1034
- .content,
1035
- .use-case-card,
1036
- .sidebar-toggle {
1037
- transition-property: color, background-color, opacity !important;
1038
- transition-duration: 120ms !important;
1039
- transform: none !important;
1040
- }
1041
- }
1042
-
1043
- @media (max-width: 500px) {
1044
- .github-corner:hover .octo-arm {
1045
- animation: none;
1046
- }
1047
-
1048
- .github-corner .octo-arm {
1049
- animation: octocat-wave 240ms ease-in-out;
1050
- }
1051
- }
1052
-
1053
- @media print {
1054
- .github-corner,
1055
- .sidebar,
1056
- .sidebar-toggle {
1057
- display: none;
1058
- }
1059
-
1060
- .content {
1061
- margin-left: 0;
1062
- padding: 0;
1063
- }
1064
-
1065
- }
1066
-
1067
- @media (max-width: 1100px) {
1068
- .hero-block,
1069
- .hero-stats {
1070
- grid-template-columns: 1fr;
1071
- }
1072
-
1073
- .use-case-grid {
1074
- grid-template-columns: repeat(2, minmax(0, 1fr));
1075
- }
1076
-
1077
- .hero-stat {
1078
- border-right: 0;
1079
- border-bottom: 1px solid var(--border-soft);
1080
- }
1081
-
1082
- .hero-stat:last-child {
1083
- border-bottom: 0;
1084
- }
1085
- }
1086
-
1087
- @media (max-width: 820px) {
1088
- .sidebar ul li a {
1089
- min-height: 44px;
1090
- }
1091
-
1092
- .sidebar {
1093
- left: calc(var(--nav-width) * -1);
1094
- transition: transform 180ms var(--ease-out);
1095
- z-index: 20;
1096
- }
1097
-
1098
- .sidebar-toggle {
1099
- position: fixed;
1100
- top: 12px;
1101
- left: var(--space-3);
1102
- z-index: 30;
1103
- display: grid;
1104
- gap: var(--space-1);
1105
- width: var(--space-8);
1106
- height: var(--space-8);
1107
- padding: var(--space-3);
1108
- border: 2px solid var(--border-color);
1109
- background: #fff;
1110
- box-shadow: var(--shadow-card);
1111
- touch-action: manipulation;
1112
- }
1113
-
1114
- .sidebar-toggle span {
1115
- display: block;
1116
- width: 100%;
1117
- height: 2px;
1118
- background: var(--primary-color);
1119
- }
1120
-
1121
- body.close .sidebar,
1122
- body.close .content {
1123
- transform: none;
1124
- }
1125
-
1126
- body.close .sidebar {
1127
- transform: translateX(var(--nav-width));
1128
- }
1129
-
1130
- .content {
1131
- margin-left: 0;
1132
- padding: calc(var(--space-9) + var(--space-1)) var(--space-3) var(--space-8);
1133
- }
1134
-
1135
-
1136
- .markdown-section {
1137
- padding: var(--space-5) var(--space-5) var(--space-8);
1138
- }
1139
-
1140
- .use-case-grid {
1141
- grid-template-columns: 1fr;
1142
- }
1143
-
1144
- .hero-badge.top {
1145
- right: var(--space-2);
1146
- }
1147
-
1148
- .hero-badge.bottom {
1149
- left: var(--space-2);
1150
- bottom: var(--space-2);
1151
- }
1152
- }