mcp-scraper 0.97.1 → 0.98.0

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 (104) hide show
  1. package/CHANGELOG.md +5 -2442
  2. package/README.md +16 -412
  3. package/dist/bin/api-server.js +3 -2
  4. package/dist/bin/mcp-scraper-cli.js +33 -27
  5. package/dist/bin/mcp-scraper-core.js +9 -1
  6. package/dist/bin/mcp-scraper-install.js +17 -2
  7. package/dist/bin/mcp-stdio-server.js +9 -1
  8. package/dist/bin/paa-harvest.js +8 -1
  9. package/dist/index.cjs +5 -21830
  10. package/dist/index.d.ts +14 -607
  11. package/dist/index.js +5 -39
  12. package/dist/transport.d.ts +35 -0
  13. package/package.json +11 -51
  14. package/THIRD_PARTY_NOTICES.html +0 -203
  15. package/dist/actions-5X5CQAKO.js +0 -1
  16. package/dist/artifacts-4ZDNP2JW.js +0 -1
  17. package/dist/artifacts-N62OPIT5.js +0 -1
  18. package/dist/artifacts-PSADD5OC.js +0 -1
  19. package/dist/artifacts-RUR3OHAK.js +0 -1
  20. package/dist/blob-store-GIH26EDO.js +0 -1
  21. package/dist/bundle-GS657HXG.js +0 -1
  22. package/dist/chunk-24YDQ3EO.js +0 -5
  23. package/dist/chunk-2L7CHN5N.js +0 -4
  24. package/dist/chunk-3F7AFM53.js +0 -1
  25. package/dist/chunk-4AEW53RU.js +0 -954
  26. package/dist/chunk-4HZXATHB.js +0 -27
  27. package/dist/chunk-4YZ74SJ6.js +0 -1
  28. package/dist/chunk-4ZVO6GX4.js +0 -1
  29. package/dist/chunk-55ZANTHL.js +0 -3
  30. package/dist/chunk-5RQWFYXY.js +0 -930
  31. package/dist/chunk-5TQINRZN.js +0 -12
  32. package/dist/chunk-5UQAL7HV.js +0 -41
  33. package/dist/chunk-6D25Q5BR.js +0 -21728
  34. package/dist/chunk-6N5EC7ZO.js +0 -1
  35. package/dist/chunk-7POHNTVW.js +0 -1
  36. package/dist/chunk-7SR7MEU5.js +0 -62
  37. package/dist/chunk-ANQ4JJVI.js +0 -71
  38. package/dist/chunk-B3JRL45T.js +0 -1
  39. package/dist/chunk-B4ZKPLSP.js +0 -1
  40. package/dist/chunk-B5Y26E3A.js +0 -1
  41. package/dist/chunk-C3JWX6KM.js +0 -10
  42. package/dist/chunk-C7MGJUTU.js +0 -1
  43. package/dist/chunk-CNSVZTTT.js +0 -13
  44. package/dist/chunk-EYGA6LOU.js +0 -1
  45. package/dist/chunk-F3M7INSN.js +0 -41
  46. package/dist/chunk-FLAWC5PF.js +0 -5
  47. package/dist/chunk-FM7BX2LU.js +0 -159
  48. package/dist/chunk-HCK6PLM3.js +0 -3
  49. package/dist/chunk-HNNYXMSI.js +0 -1
  50. package/dist/chunk-IFPION5D.js +0 -121
  51. package/dist/chunk-IPQOBOFY.js +0 -1
  52. package/dist/chunk-J7XDXIB6.js +0 -163
  53. package/dist/chunk-JHDD6R3O.js +0 -8
  54. package/dist/chunk-JMZIDHYQ.js +0 -2
  55. package/dist/chunk-K3VDGJNK.js +0 -1
  56. package/dist/chunk-KBZY2OGP.js +0 -11
  57. package/dist/chunk-KJQXUZ4Y.js +0 -4
  58. package/dist/chunk-KXJCGV3H.js +0 -1
  59. package/dist/chunk-NALXKTUU.js +0 -1
  60. package/dist/chunk-NNOX3FYG.js +0 -198
  61. package/dist/chunk-NQFTETVC.js +0 -189
  62. package/dist/chunk-OILOHQNL.js +0 -2
  63. package/dist/chunk-OLYPLX5C.js +0 -1
  64. package/dist/chunk-P6CDR3RM.js +0 -1
  65. package/dist/chunk-PKQHHCO4.js +0 -20
  66. package/dist/chunk-QCBCOEH5.js +0 -1
  67. package/dist/chunk-QER2ELZP.js +0 -1
  68. package/dist/chunk-RDHGQ2WZ.js +0 -1
  69. package/dist/chunk-SDQW7IJN.js +0 -1
  70. package/dist/chunk-SEZETSB3.js +0 -1
  71. package/dist/chunk-SJNSTO3C.js +0 -42
  72. package/dist/chunk-TZYITYL4.js +0 -2
  73. package/dist/chunk-UIOSADPB.js +0 -1718
  74. package/dist/chunk-UNEJYZ4T.js +0 -102
  75. package/dist/chunk-UUJYICAJ.js +0 -1
  76. package/dist/chunk-VVSHZV5S.js +0 -73
  77. package/dist/chunk-WNUXMPVX.js +0 -1
  78. package/dist/chunk-XNTAHMPA.js +0 -218
  79. package/dist/chunk-ZDECILF6.js +0 -16
  80. package/dist/chunk-ZNPGM3XE.js +0 -4
  81. package/dist/compatibility-UPPKZ4KY.js +0 -1
  82. package/dist/contracts-GUXGFCVV.js +0 -1
  83. package/dist/core-schema-Y47YFKH2.js +0 -899
  84. package/dist/direct-completion-ZVPPEBDU.js +0 -1
  85. package/dist/dispatch-GRMMPKQD.js +0 -1
  86. package/dist/editorial-reading-room/assets/app.js +0 -433
  87. package/dist/editorial-reading-room/assets/index.html +0 -139
  88. package/dist/editorial-reading-room/assets/styles.css +0 -1091
  89. package/dist/index.d.cts +0 -607
  90. package/dist/jobs-NRZHGQ7I.js +0 -1
  91. package/dist/media-artifacts-67CJWI7O.js +0 -1
  92. package/dist/metering-YHZ46GV4.js +0 -1
  93. package/dist/migrations-3AKEC5QE.js +0 -1
  94. package/dist/queue-2VKW7SGH.js +0 -1
  95. package/dist/reconciliation-QC6SILLR.js +0 -1
  96. package/dist/report-artifact-offload-PQNFDNPL.js +0 -1
  97. package/dist/repository-CYXVMYAI.js +0 -1
  98. package/dist/repository-UKDA4IWP.js +0 -1
  99. package/dist/server-EYMJROPX.js +0 -5544
  100. package/dist/settlement-47EUTSGX.js +0 -1
  101. package/dist/vendor-errors-647LSH6H.js +0 -1
  102. package/dist/worker-AWJF7UYR.js +0 -1
  103. package/public/.well-known/xray-install.json +0 -183
  104. package/public/agent-install.md +0 -200
@@ -1,1091 +0,0 @@
1
- :root {
2
- --paper: #f5f1e8;
3
- --paper-raised: #fbf9f4;
4
- --ink: #171714;
5
- --muted: #68655f;
6
- --rule: #c8c2b6;
7
- --rule-strong: #2e2c29;
8
- --accent: #1859d1;
9
- --accent-soft: #e3eaf8;
10
- --serif: Georgia, "Times New Roman", serif;
11
- --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
12
- --reading-size: 19px;
13
- --header-height: 66px;
14
- color-scheme: light;
15
- }
16
-
17
- html[data-theme="evening"] {
18
- --paper: #1b1b19;
19
- --paper-raised: #232320;
20
- --ink: #f4f0e7;
21
- --muted: #aaa69d;
22
- --rule: #45423c;
23
- --rule-strong: #d8d1c3;
24
- --accent: #8bb2ff;
25
- --accent-soft: #26334d;
26
- color-scheme: dark;
27
- }
28
-
29
- html[data-type="large"] {
30
- --reading-size: 21px;
31
- }
32
-
33
- html[data-type="larger"] {
34
- --reading-size: 23px;
35
- }
36
-
37
- * {
38
- box-sizing: border-box;
39
- }
40
-
41
- html {
42
- scroll-behavior: smooth;
43
- background: var(--paper);
44
- }
45
-
46
- body {
47
- margin: 0;
48
- color: var(--ink);
49
- background: var(--paper);
50
- font-family: var(--sans);
51
- -webkit-font-smoothing: antialiased;
52
- text-rendering: optimizeLegibility;
53
- }
54
-
55
- button,
56
- input {
57
- color: inherit;
58
- font: inherit;
59
- }
60
-
61
- button {
62
- cursor: pointer;
63
- }
64
-
65
- a {
66
- color: var(--accent);
67
- text-decoration-thickness: 1px;
68
- text-underline-offset: 0.16em;
69
- }
70
-
71
- .sr-only {
72
- position: absolute;
73
- width: 1px;
74
- height: 1px;
75
- padding: 0;
76
- margin: -1px;
77
- overflow: hidden;
78
- clip: rect(0, 0, 0, 0);
79
- white-space: nowrap;
80
- border: 0;
81
- }
82
-
83
- .skip-link {
84
- position: fixed;
85
- z-index: 120;
86
- top: 10px;
87
- left: 10px;
88
- padding: 10px 14px;
89
- color: white;
90
- background: var(--accent);
91
- transform: translateY(-150%);
92
- }
93
-
94
- .skip-link:focus {
95
- transform: translateY(0);
96
- }
97
-
98
- .reading-progress {
99
- position: fixed;
100
- z-index: 110;
101
- inset: 0 0 auto;
102
- height: 3px;
103
- background: transparent;
104
- }
105
-
106
- .reading-progress span {
107
- display: block;
108
- width: 0;
109
- height: 100%;
110
- background: var(--accent);
111
- transition: width 120ms linear;
112
- }
113
-
114
- .site-header {
115
- position: sticky;
116
- z-index: 80;
117
- top: 0;
118
- display: grid;
119
- grid-template-columns: 1fr auto 1fr;
120
- align-items: center;
121
- height: var(--header-height);
122
- padding: 0 24px;
123
- border-bottom: 1px solid var(--rule-strong);
124
- background: color-mix(in srgb, var(--paper) 94%, transparent);
125
- backdrop-filter: blur(16px);
126
- }
127
-
128
- .menu-button {
129
- display: grid;
130
- gap: 4px;
131
- width: 42px;
132
- height: 42px;
133
- padding: 12px 10px;
134
- border: 0;
135
- background: transparent;
136
- }
137
-
138
- .menu-button span {
139
- display: block;
140
- height: 1.5px;
141
- background: var(--ink);
142
- }
143
-
144
- .masthead {
145
- display: flex;
146
- align-items: baseline;
147
- gap: 9px;
148
- padding: 6px 12px;
149
- border: 0;
150
- background: transparent;
151
- }
152
-
153
- .masthead-product {
154
- font-weight: 800;
155
- letter-spacing: -0.04em;
156
- }
157
-
158
- .masthead-title {
159
- font-family: var(--serif);
160
- font-size: 22px;
161
- font-style: italic;
162
- }
163
-
164
- .header-tools {
165
- display: flex;
166
- justify-content: flex-end;
167
- gap: 2px;
168
- }
169
-
170
- .text-button {
171
- display: flex;
172
- align-items: center;
173
- gap: 7px;
174
- min-height: 40px;
175
- padding: 8px 10px;
176
- border: 0;
177
- background: transparent;
178
- font-size: 12px;
179
- font-weight: 700;
180
- }
181
-
182
- .type-large {
183
- font-size: 18px;
184
- }
185
-
186
- .eyebrow,
187
- .article-kicker,
188
- .rail-label,
189
- .issue-line {
190
- margin: 0;
191
- font-size: 11px;
192
- font-weight: 800;
193
- letter-spacing: 0.12em;
194
- text-transform: uppercase;
195
- }
196
-
197
- .issue-line {
198
- display: flex;
199
- justify-content: space-between;
200
- max-width: 1180px;
201
- margin: 0 auto;
202
- padding: 15px 24px;
203
- border-bottom: 1px solid var(--rule);
204
- color: var(--muted);
205
- }
206
-
207
- .home-view {
208
- padding-bottom: 90px;
209
- }
210
-
211
- .home-hero {
212
- max-width: 980px;
213
- margin: 0 auto;
214
- padding: 88px 32px 74px;
215
- text-align: center;
216
- }
217
-
218
- .home-hero h1 {
219
- max-width: 900px;
220
- margin: 20px auto 24px;
221
- font-family: var(--serif);
222
- font-size: clamp(48px, 8vw, 104px);
223
- font-weight: 400;
224
- line-height: 0.93;
225
- letter-spacing: -0.065em;
226
- }
227
-
228
- .home-deck {
229
- max-width: 720px;
230
- margin: 0 auto 32px;
231
- color: var(--muted);
232
- font-family: var(--serif);
233
- font-size: clamp(20px, 2.5vw, 28px);
234
- line-height: 1.35;
235
- }
236
-
237
- .primary-link {
238
- padding: 13px 18px;
239
- border: 1px solid var(--ink);
240
- border-radius: 999px;
241
- color: var(--paper);
242
- background: var(--ink);
243
- font-weight: 750;
244
- }
245
-
246
- .featured-grid {
247
- display: grid;
248
- grid-template-columns: 1.5fr 1fr 1fr;
249
- max-width: 1180px;
250
- margin: 0 auto;
251
- border-top: 2px solid var(--rule-strong);
252
- border-bottom: 1px solid var(--rule-strong);
253
- }
254
-
255
- .feature-card {
256
- min-height: 290px;
257
- padding: 24px;
258
- border-right: 1px solid var(--rule);
259
- background: transparent;
260
- }
261
-
262
- .feature-card:last-child {
263
- border-right: 0;
264
- }
265
-
266
- .feature-card:first-child {
267
- min-height: 390px;
268
- }
269
-
270
- .feature-card button,
271
- .content-row button {
272
- display: block;
273
- width: 100%;
274
- padding: 0;
275
- border: 0;
276
- background: transparent;
277
- text-align: left;
278
- }
279
-
280
- .feature-card-image {
281
- width: 100%;
282
- aspect-ratio: 16 / 9;
283
- margin-bottom: 20px;
284
- border: 1px solid var(--rule);
285
- object-fit: cover;
286
- }
287
-
288
- .card-kicker {
289
- margin: 0 0 18px;
290
- color: var(--accent);
291
- font-size: 11px;
292
- font-weight: 800;
293
- letter-spacing: 0.1em;
294
- text-transform: uppercase;
295
- }
296
-
297
- .feature-card h2 {
298
- margin: 0 0 16px;
299
- font-family: var(--serif);
300
- font-size: clamp(28px, 3vw, 46px);
301
- font-weight: 400;
302
- line-height: 1.03;
303
- letter-spacing: -0.035em;
304
- }
305
-
306
- .feature-card:not(:first-child) h2 {
307
- font-size: clamp(24px, 2.4vw, 34px);
308
- }
309
-
310
- .feature-card p:last-child {
311
- color: var(--muted);
312
- font-family: var(--serif);
313
- font-size: 16px;
314
- line-height: 1.45;
315
- }
316
-
317
- .contents-section {
318
- max-width: 1180px;
319
- margin: 80px auto 0;
320
- padding: 0 24px;
321
- }
322
-
323
- .section-heading {
324
- display: flex;
325
- align-items: baseline;
326
- justify-content: space-between;
327
- padding-bottom: 12px;
328
- border-bottom: 3px double var(--rule-strong);
329
- }
330
-
331
- .section-heading h2 {
332
- margin: 0;
333
- font-family: var(--serif);
334
- font-size: 32px;
335
- font-weight: 400;
336
- }
337
-
338
- .content-row {
339
- display: grid;
340
- grid-template-columns: 82px minmax(0, 1.6fr) minmax(240px, 1fr) auto;
341
- gap: 24px;
342
- align-items: baseline;
343
- padding: 22px 0;
344
- border-bottom: 1px solid var(--rule);
345
- }
346
-
347
- .content-number {
348
- color: var(--muted);
349
- font-family: var(--serif);
350
- font-size: 30px;
351
- }
352
-
353
- .content-row h3 {
354
- margin: 0;
355
- font-family: var(--serif);
356
- font-size: 25px;
357
- font-weight: 400;
358
- line-height: 1.12;
359
- }
360
-
361
- .content-row p {
362
- margin: 0;
363
- color: var(--muted);
364
- font-family: var(--serif);
365
- font-size: 15px;
366
- line-height: 1.45;
367
- }
368
-
369
- .content-meta {
370
- white-space: nowrap;
371
- color: var(--muted);
372
- font-size: 11px;
373
- font-weight: 700;
374
- text-transform: uppercase;
375
- }
376
-
377
- .navigation-drawer {
378
- position: fixed;
379
- z-index: 100;
380
- inset: 0 auto 0 0;
381
- width: min(430px, 92vw);
382
- padding: 22px;
383
- overflow-y: auto;
384
- border-right: 1px solid var(--rule-strong);
385
- background: var(--paper-raised);
386
- transform: translateX(-102%);
387
- transition: transform 240ms ease;
388
- }
389
-
390
- body.drawer-open {
391
- overflow: hidden;
392
- }
393
-
394
- body.drawer-open .navigation-drawer {
395
- transform: translateX(0);
396
- }
397
-
398
- .drawer-backdrop {
399
- position: fixed;
400
- z-index: 90;
401
- inset: 0;
402
- display: none;
403
- border: 0;
404
- background: rgb(0 0 0 / 0.42);
405
- }
406
-
407
- body.drawer-open .drawer-backdrop {
408
- display: block;
409
- }
410
-
411
- .drawer-header {
412
- display: flex;
413
- align-items: center;
414
- justify-content: space-between;
415
- padding-bottom: 18px;
416
- border-bottom: 1px solid var(--rule-strong);
417
- }
418
-
419
- .drawer-header button {
420
- padding: 8px;
421
- border: 0;
422
- background: transparent;
423
- font-size: 12px;
424
- font-weight: 800;
425
- text-transform: uppercase;
426
- }
427
-
428
- .search-field {
429
- display: block;
430
- margin: 18px 0 24px;
431
- }
432
-
433
- .search-field input {
434
- width: 100%;
435
- padding: 12px 0;
436
- border: 0;
437
- border-bottom: 1px solid var(--rule-strong);
438
- outline: none;
439
- background: transparent;
440
- font-family: var(--serif);
441
- font-size: 20px;
442
- }
443
-
444
- .drawer-group {
445
- margin: 26px 0;
446
- }
447
-
448
- .drawer-group-title {
449
- margin: 0 0 7px;
450
- color: var(--muted);
451
- font-size: 10px;
452
- font-weight: 800;
453
- letter-spacing: 0.12em;
454
- text-transform: uppercase;
455
- }
456
-
457
- .drawer-link {
458
- display: grid;
459
- grid-template-columns: 22px 1fr;
460
- gap: 8px;
461
- width: 100%;
462
- padding: 10px 0;
463
- border: 0;
464
- border-bottom: 1px solid color-mix(in srgb, var(--rule) 55%, transparent);
465
- background: transparent;
466
- text-align: left;
467
- }
468
-
469
- .drawer-link[aria-current="page"] {
470
- color: var(--accent);
471
- }
472
-
473
- .drawer-index {
474
- color: var(--muted);
475
- font-family: var(--serif);
476
- font-size: 13px;
477
- }
478
-
479
- .drawer-title {
480
- font-family: var(--serif);
481
- font-size: 16px;
482
- line-height: 1.25;
483
- }
484
-
485
- .jump-group {
486
- margin: 28px 0 12px;
487
- padding-top: 18px;
488
- border-top: 2px solid var(--rule-strong);
489
- }
490
-
491
- .jump-link {
492
- display: block;
493
- width: 100%;
494
- padding: 7px 0 7px 12px;
495
- border: 0;
496
- border-left: 1px solid var(--rule);
497
- background: transparent;
498
- color: var(--muted);
499
- font-family: var(--serif);
500
- text-align: left;
501
- }
502
-
503
- .jump-link.level-3 {
504
- padding-left: 28px;
505
- font-size: 14px;
506
- }
507
-
508
- .article-view {
509
- padding-bottom: 80px;
510
- }
511
-
512
- .article-shell {
513
- display: grid;
514
- grid-template-columns: 220px minmax(0, 760px);
515
- gap: 72px;
516
- justify-content: center;
517
- max-width: 1160px;
518
- margin: 0 auto;
519
- padding: 60px 32px 0;
520
- }
521
-
522
- .article-rail {
523
- position: sticky;
524
- top: calc(var(--header-height) + 30px);
525
- align-self: start;
526
- max-height: calc(100vh - var(--header-height) - 60px);
527
- overflow: auto;
528
- }
529
-
530
- .rail-label {
531
- padding-bottom: 10px;
532
- border-bottom: 1px solid var(--rule-strong);
533
- }
534
-
535
- .article-rail a {
536
- display: block;
537
- padding: 8px 0;
538
- border-bottom: 1px solid var(--rule);
539
- color: var(--muted);
540
- font-family: var(--serif);
541
- font-size: 13px;
542
- line-height: 1.25;
543
- text-decoration: none;
544
- }
545
-
546
- .article-rail a.level-3 {
547
- padding-left: 14px;
548
- font-size: 12px;
549
- }
550
-
551
- .article-rail a.active {
552
- color: var(--accent);
553
- }
554
-
555
- .article-header {
556
- padding-bottom: 38px;
557
- border-bottom: 1px solid var(--rule-strong);
558
- }
559
-
560
- .breadcrumb {
561
- margin-bottom: 48px;
562
- padding: 0;
563
- border: 0;
564
- background: transparent;
565
- color: var(--accent);
566
- font-size: 11px;
567
- font-weight: 800;
568
- letter-spacing: 0.11em;
569
- text-transform: uppercase;
570
- }
571
-
572
- .article-kicker {
573
- color: var(--muted);
574
- }
575
-
576
- .article-header h1 {
577
- margin: 12px 0 22px;
578
- font-family: var(--serif);
579
- font-size: clamp(44px, 7vw, 78px);
580
- font-weight: 400;
581
- line-height: 0.98;
582
- letter-spacing: -0.055em;
583
- }
584
-
585
- .article-deck {
586
- margin: 0;
587
- color: var(--muted);
588
- font-family: var(--serif);
589
- font-size: 23px;
590
- line-height: 1.38;
591
- }
592
-
593
- .article-meta {
594
- display: flex;
595
- flex-wrap: wrap;
596
- gap: 18px;
597
- margin-top: 28px;
598
- color: var(--muted);
599
- font-size: 11px;
600
- font-weight: 700;
601
- letter-spacing: 0.06em;
602
- text-transform: uppercase;
603
- }
604
-
605
- .article-image {
606
- margin: 34px 0 0;
607
- }
608
-
609
- .article-image img {
610
- display: block;
611
- width: 100%;
612
- max-height: 680px;
613
- border: 1px solid var(--rule);
614
- object-fit: cover;
615
- }
616
-
617
- .article-image figcaption {
618
- margin-top: 9px;
619
- color: var(--muted);
620
- font-size: 12px;
621
- line-height: 1.45;
622
- }
623
-
624
- .article-image figcaption a {
625
- margin-left: 0.45em;
626
- color: inherit;
627
- }
628
-
629
- .article-body img {
630
- display: block;
631
- max-width: 100%;
632
- height: auto;
633
- margin: 1.8em auto;
634
- }
635
-
636
- .article-body {
637
- padding-top: 28px;
638
- font-family: var(--serif);
639
- font-size: var(--reading-size);
640
- line-height: 1.65;
641
- }
642
-
643
- .article-body > p:first-child {
644
- font-size: calc(var(--reading-size) + 3px);
645
- }
646
-
647
- .article-body h2 {
648
- margin: 2.7em 0 0.75em;
649
- padding-top: 0.3em;
650
- border-top: 1px solid var(--rule-strong);
651
- font-size: 1.8em;
652
- font-weight: 400;
653
- line-height: 1.08;
654
- letter-spacing: -0.035em;
655
- scroll-margin-top: calc(var(--header-height) + 22px);
656
- }
657
-
658
- .article-body h3 {
659
- margin: 2.1em 0 0.6em;
660
- font-family: var(--sans);
661
- font-size: 1.02em;
662
- font-weight: 800;
663
- line-height: 1.25;
664
- scroll-margin-top: calc(var(--header-height) + 22px);
665
- }
666
-
667
- .article-body p {
668
- margin: 0 0 1.2em;
669
- }
670
-
671
- .article-body ul,
672
- .article-body ol {
673
- margin: 0 0 1.35em;
674
- padding-left: 1.35em;
675
- }
676
-
677
- .article-body li {
678
- margin: 0.42em 0;
679
- padding-left: 0.3em;
680
- }
681
-
682
- .article-body blockquote {
683
- margin: 1.8em 0;
684
- padding: 0.2em 0 0.2em 1em;
685
- border-left: 3px solid var(--accent);
686
- color: var(--ink);
687
- font-size: 1.22em;
688
- font-style: italic;
689
- line-height: 1.45;
690
- }
691
-
692
- .article-body blockquote p {
693
- margin: 0;
694
- }
695
-
696
- .article-body code {
697
- padding: 0.13em 0.3em;
698
- border-radius: 3px;
699
- background: var(--accent-soft);
700
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
701
- font-size: 0.78em;
702
- }
703
-
704
- .article-body pre {
705
- max-width: 100%;
706
- padding: 18px;
707
- overflow-x: auto;
708
- border: 1px solid var(--rule);
709
- background: var(--paper-raised);
710
- }
711
-
712
- .article-body pre code {
713
- padding: 0;
714
- background: transparent;
715
- }
716
-
717
- .article-body table {
718
- display: block;
719
- width: 100%;
720
- margin: 1.8em 0;
721
- overflow-x: auto;
722
- border-collapse: collapse;
723
- font-family: var(--sans);
724
- font-size: 0.72em;
725
- line-height: 1.4;
726
- }
727
-
728
- .article-body th,
729
- .article-body td {
730
- min-width: 150px;
731
- padding: 10px 12px;
732
- border-bottom: 1px solid var(--rule);
733
- text-align: left;
734
- vertical-align: top;
735
- }
736
-
737
- .article-body th {
738
- border-top: 1px solid var(--rule-strong);
739
- border-bottom-color: var(--rule-strong);
740
- }
741
-
742
- .article-body hr {
743
- margin: 3em 0;
744
- border: 0;
745
- border-top: 3px double var(--rule-strong);
746
- }
747
-
748
- .article-body strong {
749
- font-weight: 700;
750
- }
751
-
752
- .article-source {
753
- margin-top: 64px;
754
- padding: 18px 0;
755
- border-top: 3px double var(--rule-strong);
756
- color: var(--muted);
757
- font-size: 12px;
758
- line-height: 1.5;
759
- }
760
-
761
- .article-source p:last-child {
762
- overflow-wrap: anywhere;
763
- }
764
-
765
- .next-previous {
766
- display: grid;
767
- grid-template-columns: 1fr 1fr;
768
- max-width: 980px;
769
- margin: 80px auto 0;
770
- border-top: 1px solid var(--rule-strong);
771
- border-bottom: 1px solid var(--rule-strong);
772
- }
773
-
774
- .next-previous button {
775
- min-height: 130px;
776
- padding: 24px;
777
- border: 0;
778
- background: transparent;
779
- font-family: var(--serif);
780
- font-size: 22px;
781
- text-align: left;
782
- }
783
-
784
- .next-previous button:last-child {
785
- border-left: 1px solid var(--rule);
786
- text-align: right;
787
- }
788
-
789
- .next-previous button:disabled {
790
- color: var(--muted);
791
- cursor: default;
792
- opacity: 0.45;
793
- }
794
-
795
- .site-footer {
796
- display: flex;
797
- justify-content: space-between;
798
- gap: 20px;
799
- padding: 24px;
800
- border-top: 1px solid var(--rule-strong);
801
- color: var(--muted);
802
- font-size: 11px;
803
- font-weight: 700;
804
- letter-spacing: 0.05em;
805
- text-transform: uppercase;
806
- }
807
-
808
- .site-footer button {
809
- padding: 0;
810
- border: 0;
811
- background: transparent;
812
- font-weight: 800;
813
- text-decoration: underline;
814
- text-underline-offset: 3px;
815
- }
816
-
817
- .loading-screen {
818
- position: fixed;
819
- z-index: 140;
820
- inset: 0;
821
- display: grid;
822
- place-content: center;
823
- background: var(--paper);
824
- text-align: center;
825
- transition: opacity 220ms ease, visibility 220ms ease;
826
- }
827
-
828
- .loading-screen.loaded {
829
- visibility: hidden;
830
- opacity: 0;
831
- }
832
-
833
- .loading-mark {
834
- display: grid;
835
- place-items: center;
836
- width: 64px;
837
- height: 64px;
838
- margin: 0 auto;
839
- border: 1px solid var(--rule-strong);
840
- border-radius: 50%;
841
- font-family: var(--serif);
842
- font-size: 34px;
843
- font-style: italic;
844
- }
845
-
846
- .loading-screen p {
847
- color: var(--muted);
848
- font-family: var(--serif);
849
- }
850
-
851
- @media (max-width: 900px) {
852
- .featured-grid {
853
- grid-template-columns: 1fr 1fr;
854
- margin: 0 20px;
855
- }
856
-
857
- .feature-card:first-child {
858
- grid-column: 1 / -1;
859
- min-height: auto;
860
- border-right: 0;
861
- border-bottom: 1px solid var(--rule);
862
- }
863
-
864
- .article-shell {
865
- display: block;
866
- max-width: 780px;
867
- padding-top: 46px;
868
- }
869
-
870
- .article-rail {
871
- display: none;
872
- }
873
-
874
- .content-row {
875
- grid-template-columns: 54px minmax(0, 1fr) auto;
876
- }
877
-
878
- .content-row p {
879
- display: none;
880
- }
881
- }
882
-
883
- @media (max-width: 640px) {
884
- :root {
885
- --reading-size: 18px;
886
- --header-height: 58px;
887
- }
888
-
889
- html[data-type="large"] {
890
- --reading-size: 20px;
891
- }
892
-
893
- html[data-type="larger"] {
894
- --reading-size: 22px;
895
- }
896
-
897
- .site-header {
898
- grid-template-columns: 44px minmax(0, 1fr) 44px;
899
- height: var(--header-height);
900
- padding: 0 8px;
901
- }
902
-
903
- .masthead {
904
- justify-content: center;
905
- gap: 6px;
906
- overflow: hidden;
907
- }
908
-
909
- .masthead-product {
910
- font-size: 14px;
911
- }
912
-
913
- .masthead-title {
914
- font-size: 18px;
915
- }
916
-
917
- .header-tools {
918
- justify-content: flex-end;
919
- }
920
-
921
- #type-button {
922
- display: none;
923
- }
924
-
925
- .tool-label {
926
- display: none;
927
- }
928
-
929
- .text-button {
930
- justify-content: center;
931
- width: 42px;
932
- padding: 8px;
933
- font-size: 18px;
934
- }
935
-
936
- .issue-line {
937
- padding: 12px 16px;
938
- font-size: 9px;
939
- }
940
-
941
- .home-hero {
942
- padding: 62px 20px 54px;
943
- text-align: left;
944
- }
945
-
946
- .home-hero h1 {
947
- margin-left: 0;
948
- font-size: clamp(48px, 16vw, 72px);
949
- line-height: 0.96;
950
- }
951
-
952
- .home-deck {
953
- margin-left: 0;
954
- font-size: 20px;
955
- }
956
-
957
- .featured-grid {
958
- display: block;
959
- margin: 0 16px;
960
- }
961
-
962
- .feature-card,
963
- .feature-card:first-child {
964
- min-height: 0;
965
- padding: 22px 0;
966
- border-right: 0;
967
- border-bottom: 1px solid var(--rule);
968
- }
969
-
970
- .feature-card:last-child {
971
- border-bottom: 0;
972
- }
973
-
974
- .feature-card h2,
975
- .feature-card:not(:first-child) h2 {
976
- font-size: 31px;
977
- }
978
-
979
- .contents-section {
980
- margin-top: 58px;
981
- padding: 0 16px;
982
- }
983
-
984
- .section-heading {
985
- display: block;
986
- }
987
-
988
- .section-heading h2 {
989
- margin-top: 8px;
990
- }
991
-
992
- .content-row {
993
- grid-template-columns: 38px minmax(0, 1fr);
994
- gap: 10px;
995
- padding: 18px 0;
996
- }
997
-
998
- .content-number {
999
- font-size: 20px;
1000
- }
1001
-
1002
- .content-row h3 {
1003
- font-size: 21px;
1004
- }
1005
-
1006
- .content-meta {
1007
- grid-column: 2;
1008
- margin-top: -2px;
1009
- }
1010
-
1011
- .article-shell {
1012
- padding: 34px 18px 0;
1013
- }
1014
-
1015
- .breadcrumb {
1016
- margin-bottom: 34px;
1017
- }
1018
-
1019
- .article-header {
1020
- padding-bottom: 28px;
1021
- }
1022
-
1023
- .article-header h1 {
1024
- font-size: clamp(43px, 13vw, 62px);
1025
- line-height: 0.99;
1026
- }
1027
-
1028
- .article-deck {
1029
- font-size: 20px;
1030
- }
1031
-
1032
- .article-meta {
1033
- gap: 12px;
1034
- font-size: 9px;
1035
- }
1036
-
1037
- .article-body h2 {
1038
- font-size: 1.55em;
1039
- }
1040
-
1041
- .article-body blockquote {
1042
- margin-left: 0;
1043
- margin-right: 0;
1044
- font-size: 1.1em;
1045
- }
1046
-
1047
- .next-previous {
1048
- display: block;
1049
- margin-top: 56px;
1050
- }
1051
-
1052
- .next-previous button {
1053
- width: 100%;
1054
- min-height: 96px;
1055
- padding: 18px;
1056
- font-size: 19px;
1057
- }
1058
-
1059
- .next-previous button:last-child {
1060
- border-top: 1px solid var(--rule);
1061
- border-left: 0;
1062
- text-align: left;
1063
- }
1064
-
1065
- .site-footer {
1066
- flex-wrap: wrap;
1067
- padding: 20px 16px;
1068
- }
1069
- }
1070
-
1071
- @media print {
1072
- .site-header,
1073
- .reading-progress,
1074
- .navigation-drawer,
1075
- .drawer-backdrop,
1076
- .article-rail,
1077
- .next-previous,
1078
- .site-footer {
1079
- display: none !important;
1080
- }
1081
-
1082
- .article-shell {
1083
- display: block;
1084
- max-width: none;
1085
- padding: 0;
1086
- }
1087
-
1088
- .article-body {
1089
- font-size: 12pt;
1090
- }
1091
- }