@magpiecloud/mags 1.8.13 → 1.8.15

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.
Files changed (43) hide show
  1. package/README.md +95 -378
  2. package/bin/mags.js +196 -104
  3. package/index.js +6 -52
  4. package/package.json +22 -4
  5. package/API.md +0 -388
  6. package/Mags-API.postman_collection.json +0 -374
  7. package/QUICKSTART.md +0 -295
  8. package/deploy-page.sh +0 -171
  9. package/mags +0 -0
  10. package/mags.sh +0 -270
  11. package/nodejs/README.md +0 -197
  12. package/nodejs/bin/mags.js +0 -1146
  13. package/nodejs/index.js +0 -642
  14. package/nodejs/package.json +0 -42
  15. package/python/INTEGRATION.md +0 -800
  16. package/python/README.md +0 -161
  17. package/python/dist/magpie_mags-1.3.5-py3-none-any.whl +0 -0
  18. package/python/dist/magpie_mags-1.3.5.tar.gz +0 -0
  19. package/python/examples/demo.py +0 -181
  20. package/python/pyproject.toml +0 -39
  21. package/python/src/magpie_mags.egg-info/PKG-INFO +0 -182
  22. package/python/src/magpie_mags.egg-info/SOURCES.txt +0 -9
  23. package/python/src/magpie_mags.egg-info/dependency_links.txt +0 -1
  24. package/python/src/magpie_mags.egg-info/requires.txt +0 -1
  25. package/python/src/magpie_mags.egg-info/top_level.txt +0 -1
  26. package/python/src/mags/__init__.py +0 -6
  27. package/python/src/mags/client.py +0 -573
  28. package/python/test_sdk.py +0 -78
  29. package/skill.md +0 -153
  30. package/website/api.html +0 -1095
  31. package/website/claude-skill.html +0 -481
  32. package/website/cookbook/hn-marketing.html +0 -410
  33. package/website/cookbook/hn-marketing.sh +0 -42
  34. package/website/cookbook.html +0 -282
  35. package/website/env.js +0 -4
  36. package/website/index.html +0 -801
  37. package/website/llms.txt +0 -334
  38. package/website/login.html +0 -108
  39. package/website/mags.md +0 -210
  40. package/website/script.js +0 -453
  41. package/website/styles.css +0 -908
  42. package/website/tokens.html +0 -169
  43. package/website/usage.html +0 -185
@@ -1,908 +0,0 @@
1
- @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap");
2
-
3
- :root {
4
- color-scheme: light;
5
- --bg: #fafafa;
6
- --surface: #ffffff;
7
- --surface-muted: #f4f4f5;
8
- --text: #0a0a0a;
9
- --text-muted: #666666;
10
- --border: #e5e7eb;
11
- --accent: #2f9b66;
12
- --accent-strong: #237c52;
13
- --shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
14
- --radius: 18px;
15
- --radius-sm: 12px;
16
- --max-width: 1120px;
17
- --sans: "Manrope", "Helvetica Neue", "Segoe UI", sans-serif;
18
- --mono: "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
19
- }
20
-
21
- * {
22
- box-sizing: border-box;
23
- }
24
-
25
- body {
26
- margin: 0;
27
- font-family: var(--sans);
28
- background: var(--bg);
29
- color: var(--text);
30
- line-height: 1.7;
31
- }
32
-
33
- a {
34
- color: inherit;
35
- text-decoration: none;
36
- }
37
-
38
- a:hover {
39
- color: var(--accent-strong);
40
- }
41
-
42
- .backdrop {
43
- position: fixed;
44
- inset: 0;
45
- z-index: -1;
46
- background: radial-gradient(circle at top left, rgba(47, 143, 99, 0.12), transparent 55%),
47
- radial-gradient(circle at 20% 80%, rgba(47, 143, 99, 0.08), transparent 45%),
48
- #fafafa;
49
- }
50
-
51
- .container {
52
- width: min(100% - 2.5rem, var(--max-width));
53
- margin: 0 auto;
54
- }
55
-
56
- .site-header {
57
- position: sticky;
58
- top: 0;
59
- background: rgba(250, 250, 250, 0.92);
60
- border-bottom: 1px solid var(--border);
61
- backdrop-filter: blur(12px);
62
- z-index: 5;
63
- }
64
-
65
- .nav {
66
- display: flex;
67
- align-items: center;
68
- justify-content: space-between;
69
- padding: 1.1rem 0;
70
- gap: 1.5rem;
71
- }
72
-
73
- .brand {
74
- display: flex;
75
- flex-direction: column;
76
- gap: 0.2rem;
77
- }
78
-
79
- .logo {
80
- font-size: 1.45rem;
81
- font-weight: 700;
82
- letter-spacing: 0.03em;
83
- }
84
-
85
- .tag {
86
- font-size: 0.85rem;
87
- color: var(--text-muted);
88
- }
89
-
90
- .nav-links {
91
- display: flex;
92
- gap: 1.4rem;
93
- font-size: 0.95rem;
94
- color: var(--text-muted);
95
- }
96
-
97
- .nav-cta {
98
- display: flex;
99
- }
100
-
101
- .button {
102
- display: inline-flex;
103
- align-items: center;
104
- justify-content: center;
105
- padding: 0.75rem 1.5rem;
106
- border-radius: 999px;
107
- background: var(--accent);
108
- color: #ffffff;
109
- font-weight: 600;
110
- border: 1px solid transparent;
111
- transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
112
- box-shadow: 0 14px 30px rgba(47, 143, 99, 0.18);
113
- }
114
-
115
- .button.full {
116
- width: 100%;
117
- }
118
-
119
- .button:hover {
120
- transform: translateY(-1px);
121
- background: var(--accent-strong);
122
- }
123
-
124
- .button.ghost {
125
- background: transparent;
126
- color: var(--text);
127
- border: 1px solid var(--border);
128
- box-shadow: none;
129
- }
130
-
131
- .button.ghost:hover {
132
- border-color: var(--accent);
133
- color: var(--accent-strong);
134
- transform: translateY(-1px);
135
- }
136
-
137
- .hero {
138
- padding: 5.5rem 0 3rem;
139
- }
140
-
141
- .hero-grid {
142
- display: grid;
143
- grid-template-columns: repeat(2, minmax(0, 1fr));
144
- gap: 3.5rem;
145
- align-items: center;
146
- }
147
-
148
- .hero-copy h1 {
149
- font-size: clamp(2.4rem, 4vw, 3.4rem);
150
- line-height: 1.05;
151
- margin: 1rem 0 1.1rem;
152
- }
153
-
154
- .pill {
155
- display: inline-flex;
156
- align-items: center;
157
- padding: 0.2rem 0.7rem;
158
- border-radius: 999px;
159
- background: rgba(47, 143, 99, 0.12);
160
- color: var(--accent-strong);
161
- font-size: 0.75rem;
162
- font-weight: 600;
163
- letter-spacing: 0.08em;
164
- text-transform: uppercase;
165
- }
166
-
167
- .lead {
168
- color: var(--text-muted);
169
- font-size: 1.05rem;
170
- max-width: 520px;
171
- }
172
-
173
- .hero-actions {
174
- display: flex;
175
- gap: 1rem;
176
- margin: 1.8rem 0 1.2rem;
177
- flex-wrap: wrap;
178
- }
179
-
180
- .hero-meta {
181
- display: flex;
182
- flex-direction: column;
183
- gap: 0.3rem;
184
- color: var(--text-muted);
185
- font-size: 0.95rem;
186
- }
187
-
188
- .auth-status {
189
- margin-top: 1rem;
190
- color: var(--text-muted);
191
- font-size: 0.9rem;
192
- }
193
-
194
- .hero-card {
195
- padding: 1.8rem;
196
- border-radius: var(--radius);
197
- background: var(--surface);
198
- border: 1px solid var(--border);
199
- box-shadow: var(--shadow);
200
- }
201
-
202
- .card-header {
203
- display: flex;
204
- justify-content: space-between;
205
- align-items: center;
206
- margin-bottom: 1rem;
207
- color: var(--text-muted);
208
- font-size: 0.9rem;
209
- }
210
-
211
- .chip {
212
- padding: 0.2rem 0.65rem;
213
- border-radius: 999px;
214
- border: 1px solid var(--border);
215
- font-size: 0.75rem;
216
- text-transform: uppercase;
217
- letter-spacing: 0.08em;
218
- }
219
-
220
- .card-note {
221
- margin: 0.9rem 0 0;
222
- color: var(--text-muted);
223
- }
224
-
225
- .section {
226
- padding: 3.5rem 0;
227
- }
228
-
229
- .section-title p {
230
- text-transform: uppercase;
231
- letter-spacing: 0.08em;
232
- color: var(--accent-strong);
233
- font-size: 0.75rem;
234
- margin: 0 0 0.6rem;
235
- }
236
-
237
- .section-title h2 {
238
- margin: 0 0 2rem;
239
- font-size: clamp(1.7rem, 3vw, 2.4rem);
240
- }
241
-
242
- .grid {
243
- display: grid;
244
- gap: 1.6rem;
245
- }
246
-
247
- .section .grid + .grid {
248
- margin-top: 1.6rem;
249
- }
250
-
251
- .grid.cards {
252
- grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
253
- }
254
-
255
- .grid.split {
256
- grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
257
- }
258
-
259
- .auth-card {
260
- display: grid;
261
- gap: 0.8rem;
262
- }
263
-
264
- .auth-page {
265
- padding: 4.5rem 0 5.5rem;
266
- }
267
-
268
- .auth-layout {
269
- display: flex;
270
- justify-content: center;
271
- }
272
-
273
- .auth-shell {
274
- width: min(100%, 420px);
275
- background: var(--surface);
276
- border: 1px solid var(--border);
277
- border-radius: var(--radius);
278
- padding: 2.2rem;
279
- box-shadow: var(--shadow);
280
- display: grid;
281
- gap: 1.4rem;
282
- }
283
-
284
- .auth-title {
285
- margin: 0.6rem 0 0.4rem;
286
- font-size: 2.1rem;
287
- line-height: 1.1;
288
- }
289
-
290
- .auth-subtitle {
291
- margin: 0;
292
- color: var(--text-muted);
293
- }
294
-
295
- .auth-divider {
296
- position: relative;
297
- text-align: center;
298
- color: var(--text-muted);
299
- font-size: 0.85rem;
300
- }
301
-
302
- .auth-divider::before,
303
- .auth-divider::after {
304
- content: '';
305
- position: absolute;
306
- top: 50%;
307
- width: 40%;
308
- height: 1px;
309
- background: var(--border);
310
- }
311
-
312
- .auth-divider::before {
313
- left: 0;
314
- }
315
-
316
- .auth-divider::after {
317
- right: 0;
318
- }
319
-
320
- .login-form,
321
- .token-form {
322
- display: grid;
323
- gap: 0.9rem;
324
- }
325
-
326
- .form-group {
327
- display: grid;
328
- gap: 0.4rem;
329
- }
330
-
331
- .form-label {
332
- font-size: 0.85rem;
333
- color: var(--text-muted);
334
- }
335
-
336
- .input {
337
- border: 1px solid var(--border);
338
- border-radius: 12px;
339
- padding: 0.7rem 0.9rem;
340
- font-size: 0.95rem;
341
- font-family: var(--sans);
342
- background: #ffffff;
343
- color: var(--text);
344
- }
345
-
346
- .input:focus {
347
- outline: none;
348
- border-color: var(--accent);
349
- box-shadow: 0 0 0 3px rgba(47, 143, 99, 0.15);
350
- }
351
-
352
- .form-message {
353
- margin: 0;
354
- font-size: 0.85rem;
355
- color: var(--text-muted);
356
- }
357
-
358
- .form-links {
359
- display: flex;
360
- justify-content: space-between;
361
- font-size: 0.85rem;
362
- color: var(--text-muted);
363
- }
364
-
365
- .stats-grid {
366
- display: grid;
367
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
368
- gap: 1.4rem;
369
- }
370
-
371
- .stat-card {
372
- background: var(--surface);
373
- border: 1px solid var(--border);
374
- border-radius: var(--radius-sm);
375
- padding: 1.4rem 1.6rem;
376
- box-shadow: var(--shadow);
377
- }
378
-
379
- .stat-label {
380
- margin: 0;
381
- font-size: 0.85rem;
382
- color: var(--text-muted);
383
- }
384
-
385
- .stat-value {
386
- margin: 0.4rem 0 0.2rem;
387
- font-size: 1.8rem;
388
- font-weight: 600;
389
- }
390
-
391
- .stat-note {
392
- margin: 0;
393
- color: var(--text-muted);
394
- font-size: 0.9rem;
395
- }
396
-
397
- .recipe-list {
398
- display: grid;
399
- gap: 1.2rem;
400
- }
401
-
402
- .recipe-item {
403
- background: var(--surface);
404
- border: 1px solid var(--border);
405
- border-radius: var(--radius-sm);
406
- padding: 1.4rem 1.6rem;
407
- box-shadow: var(--shadow);
408
- }
409
-
410
- .recipe-header {
411
- display: flex;
412
- align-items: center;
413
- justify-content: space-between;
414
- gap: 1rem;
415
- margin-bottom: 0.6rem;
416
- }
417
-
418
- .recipe-header h3 {
419
- margin: 0;
420
- font-size: 1.05rem;
421
- }
422
-
423
- .card,
424
- .panel,
425
- .card.wide {
426
- background: var(--surface);
427
- border: 1px solid var(--border);
428
- border-radius: var(--radius-sm);
429
- padding: 1.4rem 1.6rem;
430
- box-shadow: var(--shadow);
431
- }
432
-
433
- .card.wide {
434
- margin-top: 1.6rem;
435
- }
436
-
437
- .card h3,
438
- .panel h3 {
439
- margin-top: 0;
440
- font-size: 1.05rem;
441
- }
442
-
443
- .panel {
444
- background: var(--surface);
445
- }
446
-
447
- .list {
448
- margin: 0;
449
- padding-left: 1.1rem;
450
- color: var(--text-muted);
451
- }
452
-
453
- .list li {
454
- margin-bottom: 0.6rem;
455
- }
456
-
457
- .list code {
458
- color: var(--text);
459
- }
460
-
461
- .command-list {
462
- display: grid;
463
- gap: 0.9rem;
464
- }
465
-
466
- .command-item {
467
- padding-bottom: 0.9rem;
468
- border-bottom: 1px solid var(--border);
469
- }
470
-
471
- .command-item:last-child {
472
- border-bottom: none;
473
- padding-bottom: 0;
474
- }
475
-
476
- .command-row {
477
- display: flex;
478
- align-items: center;
479
- justify-content: space-between;
480
- gap: 0.8rem;
481
- }
482
-
483
- .command-row code {
484
- color: var(--text);
485
- font-size: 0.95rem;
486
- }
487
-
488
- .command-item p {
489
- margin: 0.35rem 0 0;
490
- color: var(--text-muted);
491
- font-size: 0.95rem;
492
- }
493
-
494
- .copy-button {
495
- border: 1px solid var(--border);
496
- background: #ffffff;
497
- color: var(--text-muted);
498
- border-radius: 999px;
499
- font-size: 0.75rem;
500
- padding: 0.35rem 0.75rem;
501
- cursor: pointer;
502
- transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
503
- }
504
-
505
- .copy-button:hover {
506
- border-color: var(--accent);
507
- color: var(--accent-strong);
508
- transform: translateY(-1px);
509
- }
510
-
511
- .copy-button.copied {
512
- border-color: var(--accent);
513
- color: var(--accent-strong);
514
- }
515
-
516
- .revoke-button {
517
- border: 1px solid var(--border);
518
- background: #ffffff;
519
- color: #b91c1c;
520
- border-radius: 999px;
521
- font-size: 0.75rem;
522
- padding: 0.35rem 0.75rem;
523
- cursor: pointer;
524
- transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
525
- }
526
-
527
- .revoke-button:hover {
528
- border-color: #f87171;
529
- color: #991b1b;
530
- transform: translateY(-1px);
531
- }
532
-
533
- .table-wrap {
534
- border: 1px solid var(--border);
535
- border-radius: var(--radius-sm);
536
- background: var(--surface);
537
- box-shadow: var(--shadow);
538
- overflow: hidden;
539
- }
540
-
541
- .table-header,
542
- .table-row {
543
- display: grid;
544
- grid-template-columns: 1.2fr 1fr 1fr 1fr 0.7fr;
545
- gap: 1rem;
546
- padding: 0.9rem 1.2rem;
547
- align-items: center;
548
- font-size: 0.9rem;
549
- }
550
-
551
- .table-header {
552
- background: var(--surface-muted);
553
- color: var(--text-muted);
554
- text-transform: uppercase;
555
- letter-spacing: 0.08em;
556
- font-size: 0.72rem;
557
- font-weight: 600;
558
- }
559
-
560
- .table-row {
561
- border-top: 1px solid var(--border);
562
- color: var(--text);
563
- }
564
-
565
- .table-row.empty {
566
- color: var(--text-muted);
567
- }
568
-
569
- .status {
570
- display: inline-flex;
571
- align-items: center;
572
- justify-content: center;
573
- padding: 0.25rem 0.6rem;
574
- border-radius: 999px;
575
- font-size: 0.72rem;
576
- text-transform: uppercase;
577
- letter-spacing: 0.05em;
578
- background: rgba(47, 143, 99, 0.12);
579
- color: var(--accent-strong);
580
- }
581
-
582
- .status.error {
583
- background: rgba(239, 68, 68, 0.12);
584
- color: #b91c1c;
585
- }
586
-
587
- .status.pending,
588
- .status.sleeping {
589
- background: rgba(234, 179, 8, 0.15);
590
- color: #92400e;
591
- }
592
-
593
- .text-link {
594
- color: var(--accent-strong);
595
- font-weight: 600;
596
- }
597
-
598
- .token-result {
599
- display: grid;
600
- gap: 0.8rem;
601
- }
602
-
603
- .token-box {
604
- display: flex;
605
- align-items: center;
606
- justify-content: space-between;
607
- gap: 0.8rem;
608
- padding: 0.7rem 0.9rem;
609
- border: 1px dashed var(--border);
610
- border-radius: 12px;
611
- background: var(--surface-muted);
612
- font-family: var(--mono);
613
- font-size: 0.85rem;
614
- }
615
-
616
- .hidden {
617
- display: none !important;
618
- }
619
-
620
- .callout {
621
- margin-top: 1rem;
622
- padding: 0.8rem 1rem;
623
- border-radius: 12px;
624
- background: var(--surface-muted);
625
- border: 1px solid rgba(47, 143, 99, 0.2);
626
- color: var(--text-muted);
627
- }
628
-
629
- .stack {
630
- display: grid;
631
- gap: 1rem;
632
- }
633
-
634
- .label {
635
- margin: 0 0 0.4rem;
636
- font-size: 0.85rem;
637
- color: var(--text-muted);
638
- }
639
-
640
- pre {
641
- background: var(--surface-muted);
642
- border-radius: var(--radius-sm);
643
- padding: 0.9rem 1rem;
644
- border: 1px solid var(--border);
645
- font-family: var(--mono);
646
- font-size: 0.9rem;
647
- line-height: 1.6;
648
- white-space: pre-wrap;
649
- word-break: break-word;
650
- overflow: hidden;
651
- }
652
-
653
- code {
654
- font-family: var(--mono);
655
- color: var(--accent-strong);
656
- }
657
-
658
- .site-footer {
659
- padding: 3rem 0 4rem;
660
- border-top: 1px solid var(--border);
661
- background: #ffffff;
662
- }
663
-
664
- .footer-grid {
665
- display: grid;
666
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
667
- gap: 2rem;
668
- }
669
-
670
- .footer-links {
671
- display: grid;
672
- gap: 0.6rem;
673
- color: var(--text-muted);
674
- }
675
-
676
- [data-reveal] {
677
- opacity: 0;
678
- transform: translateY(16px);
679
- }
680
-
681
- [data-reveal].visible {
682
- opacity: 1;
683
- transform: translateY(0);
684
- transition: opacity 0.5s ease, transform 0.5s ease;
685
- }
686
-
687
- @media (max-width: 920px) {
688
- .nav-links {
689
- display: none;
690
- }
691
-
692
- .hero-grid {
693
- grid-template-columns: 1fr;
694
- }
695
-
696
- .hero-card {
697
- order: -1;
698
- }
699
- }
700
-
701
- @media (max-width: 700px) {
702
- .nav {
703
- flex-direction: column;
704
- align-items: flex-start;
705
- }
706
-
707
- .nav-cta {
708
- width: 100%;
709
- }
710
-
711
- .hero-actions {
712
- flex-direction: column;
713
- align-items: stretch;
714
- }
715
- }
716
-
717
- /* ── Tab bar ─────────────────────────────────────────────── */
718
-
719
- .tab-group {
720
- position: relative;
721
- }
722
-
723
- .tab-bar {
724
- display: flex;
725
- gap: 0.35rem;
726
- margin-bottom: 1.2rem;
727
- padding: 0.25rem;
728
- background: var(--surface-muted);
729
- border: 1px solid var(--border);
730
- border-radius: 10px;
731
- width: fit-content;
732
- }
733
-
734
- .tab-bar .tab {
735
- padding: 0.4rem 1rem;
736
- border-radius: 8px;
737
- font-size: 0.82rem;
738
- font-weight: 600;
739
- color: var(--text-muted);
740
- cursor: pointer;
741
- border: none;
742
- background: transparent;
743
- font-family: var(--sans);
744
- transition: color 0.15s, background 0.15s;
745
- }
746
-
747
- .tab-bar .tab:hover {
748
- color: var(--text);
749
- }
750
-
751
- .tab-bar .tab.active {
752
- background: var(--accent);
753
- color: #ffffff;
754
- box-shadow: 0 1px 4px rgba(47, 143, 99, 0.2);
755
- }
756
-
757
- .tab-content {
758
- display: none;
759
- }
760
-
761
- .tab-content.active {
762
- display: block;
763
- }
764
-
765
- /* ── Pattern cards (expandable) ─────────────────────────── */
766
-
767
- .pattern-list {
768
- display: grid;
769
- gap: 0.6rem;
770
- }
771
-
772
- .pattern-card {
773
- background: var(--surface);
774
- border: 1px solid var(--border);
775
- border-radius: var(--radius-sm);
776
- overflow: hidden;
777
- transition: box-shadow 0.2s;
778
- }
779
-
780
- .pattern-card:hover {
781
- box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
782
- }
783
-
784
- .pattern-header {
785
- display: flex;
786
- align-items: center;
787
- justify-content: space-between;
788
- padding: 1rem 1.4rem;
789
- cursor: pointer;
790
- user-select: none;
791
- }
792
-
793
- .pattern-header h4 {
794
- margin: 0;
795
- font-size: 0.95rem;
796
- font-weight: 600;
797
- }
798
-
799
- .pattern-header .pattern-desc {
800
- margin: 0;
801
- color: var(--text-muted);
802
- font-size: 0.85rem;
803
- }
804
-
805
- .pattern-header .chevron {
806
- font-size: 0.8rem;
807
- color: var(--text-muted);
808
- transition: transform 0.2s;
809
- flex-shrink: 0;
810
- margin-left: 1rem;
811
- }
812
-
813
- .pattern-card.open .chevron {
814
- transform: rotate(180deg);
815
- }
816
-
817
- .pattern-body {
818
- display: none;
819
- padding: 0 1.4rem 1.2rem;
820
- }
821
-
822
- .pattern-card.open .pattern-body {
823
- display: block;
824
- }
825
-
826
- /* ── Reference tables ─────────────────────────────────── */
827
-
828
- .ref-section {
829
- margin-bottom: 2rem;
830
- }
831
-
832
- .ref-section h3 {
833
- margin: 0 0 0.75rem;
834
- font-size: 1rem;
835
- font-weight: 600;
836
- }
837
-
838
- .ref-table-wrap {
839
- border: 1px solid var(--border);
840
- border-radius: var(--radius-sm);
841
- overflow: hidden;
842
- background: var(--surface);
843
- }
844
-
845
- .ref-table {
846
- width: 100%;
847
- border-collapse: collapse;
848
- font-size: 0.88rem;
849
- }
850
-
851
- .ref-table thead {
852
- background: var(--surface-muted);
853
- }
854
-
855
- .ref-table th {
856
- text-align: left;
857
- padding: 0.65rem 1rem;
858
- font-weight: 600;
859
- font-size: 0.75rem;
860
- text-transform: uppercase;
861
- letter-spacing: 0.06em;
862
- color: var(--text-muted);
863
- }
864
-
865
- .ref-table td {
866
- padding: 0.6rem 1rem;
867
- border-top: 1px solid var(--border);
868
- vertical-align: top;
869
- }
870
-
871
- .ref-table td:first-child {
872
- white-space: nowrap;
873
- }
874
-
875
- .ref-table code {
876
- font-family: var(--mono);
877
- font-size: 0.82rem;
878
- background: var(--surface-muted);
879
- padding: 0.15rem 0.4rem;
880
- border-radius: 4px;
881
- }
882
-
883
- @media (max-width: 768px) {
884
- .ref-table td:first-child {
885
- white-space: normal;
886
- }
887
- }
888
-
889
- /* ── Inline tab bar (for endpoint cards in api.html) ───── */
890
-
891
- .code-tabs {
892
- margin-top: 1rem;
893
- }
894
-
895
- .code-tabs .tab-bar {
896
- margin-bottom: 0.6rem;
897
- }
898
-
899
- @media (prefers-reduced-motion: reduce) {
900
- * {
901
- scroll-behavior: auto !important;
902
- }
903
-
904
- [data-reveal] {
905
- opacity: 1;
906
- transform: none;
907
- }
908
- }