@microlink/google 0.0.0 → 0.1.1

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.
@@ -0,0 +1,1152 @@
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
+ }