@x12i/connectix-docs 0.1.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 (45) hide show
  1. package/README.md +77 -0
  2. package/bin/connectix-docs.js +2 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +56 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/generated/bundle.d.ts +7 -0
  8. package/dist/generated/bundle.d.ts.map +1 -0
  9. package/dist/generated/bundle.js +304 -0
  10. package/dist/generated/bundle.js.map +1 -0
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +13 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/web/.deploy-ready +1 -0
  16. package/dist/web/agent-manifest.json +102 -0
  17. package/dist/web/agents.html +66 -0
  18. package/dist/web/app.js +164 -0
  19. package/dist/web/assets/book.css +783 -0
  20. package/dist/web/assets/extras.css +137 -0
  21. package/dist/web/assets/site.css +792 -0
  22. package/dist/web/assets/tokens.css +19 -0
  23. package/dist/web/books/00-orient-connectix/developers.html +174 -0
  24. package/dist/web/books/00-orient-connectix.html +56 -0
  25. package/dist/web/books/01-tools-and-simulator/developers.html +197 -0
  26. package/dist/web/books/01-tools-and-simulator.html +56 -0
  27. package/dist/web/catalog.html +83 -0
  28. package/dist/web/catalog.json +59 -0
  29. package/dist/web/docs.html +73 -0
  30. package/dist/web/downloads/books/00-orient-connectix/developers.chapters.json +26 -0
  31. package/dist/web/downloads/books/00-orient-connectix/developers.md +82 -0
  32. package/dist/web/downloads/books/01-tools-and-simulator/developers.chapters.json +32 -0
  33. package/dist/web/downloads/books/01-tools-and-simulator/developers.md +118 -0
  34. package/dist/web/downloads/use-cases/call-connect-tools.md +78 -0
  35. package/dist/web/downloads/use-cases/catalog-extension-overview.md +42 -0
  36. package/dist/web/downloads/use-cases/orient-connectix.md +95 -0
  37. package/dist/web/downloads/use-cases/run-package-simulator.md +48 -0
  38. package/dist/web/getting-started.html +74 -0
  39. package/dist/web/index.html +84 -0
  40. package/dist/web/pages.json +55 -0
  41. package/dist/web/read.html +121 -0
  42. package/dist/web/site.json +28 -0
  43. package/dist/web/use-cases.html +66 -0
  44. package/dist/web/use-cases.json +103 -0
  45. package/package.json +64 -0
@@ -0,0 +1,792 @@
1
+ /* x12i-docify — product site + docs chrome */
2
+
3
+ :root {
4
+ --ink: oklch(18% 0.01 260);
5
+ --ink-muted: oklch(40% 0.012 260);
6
+ --ink-faint: oklch(50% 0.01 260);
7
+ --surface: oklch(98% 0.003 260);
8
+ --surface-dim: oklch(96% 0.006 260);
9
+ --border: oklch(88% 0.006 260);
10
+ --border-strong: oklch(80% 0.008 260);
11
+ --accent: oklch(55% 0.15 260);
12
+ --accent-alt: oklch(60% 0.15 40);
13
+ --accent-soft: oklch(94% 0.03 260);
14
+ --accent-alt-soft: oklch(94% 0.03 40);
15
+ --radius: 6px;
16
+ --radius-lg: 8px;
17
+ --font-sans: "IBM Plex Sans", "Segoe UI", sans-serif;
18
+ --font-mono: "IBM Plex Mono", ui-monospace, monospace;
19
+ --shadow: none;
20
+ --pad-x: clamp(24px, 5vw, 64px);
21
+ }
22
+
23
+ *{ box-sizing: border-box; }
24
+
25
+ html, body{
26
+ margin: 0;
27
+ padding: 0;
28
+ background: var(--surface);
29
+ color: var(--ink);
30
+ font-family: var(--font-sans);
31
+ font-size: 16px;
32
+ line-height: 1.5;
33
+ -webkit-font-smoothing: antialiased;
34
+ }
35
+
36
+ body{ min-height: 100vh; }
37
+
38
+ a{ color: inherit; text-decoration: none; }
39
+ a:focus-visible, button:focus-visible{
40
+ outline: 2px solid var(--accent);
41
+ outline-offset: 2px;
42
+ }
43
+
44
+ .page-shell{
45
+ min-height: 100vh;
46
+ display: flex;
47
+ flex-direction: column;
48
+ }
49
+
50
+ main{ flex: 1; }
51
+
52
+ /* ---------- header ---------- */
53
+
54
+ .site-header{
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: space-between;
58
+ gap: 16px;
59
+ padding: 22px var(--pad-x);
60
+ border-bottom: 1px solid var(--border);
61
+ flex-wrap: wrap;
62
+ }
63
+
64
+ .brand{
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 10px;
68
+ font-family: var(--font-mono);
69
+ font-weight: 600;
70
+ font-size: 18px;
71
+ letter-spacing: -0.02em;
72
+ }
73
+
74
+ .brand-mark{
75
+ width: 10px;
76
+ height: 10px;
77
+ background: var(--accent);
78
+ border-radius: 2px;
79
+ flex-shrink: 0;
80
+ }
81
+
82
+ .brand-badge{
83
+ font-family: var(--font-mono);
84
+ font-size: 12px;
85
+ font-weight: 500;
86
+ padding: 3px 8px;
87
+ border-radius: 4px;
88
+ background: var(--surface-dim);
89
+ color: var(--ink-muted);
90
+ }
91
+
92
+ .site-nav{
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 32px;
96
+ flex-wrap: wrap;
97
+ }
98
+
99
+ .site-nav a{
100
+ font-size: 15px;
101
+ font-weight: 500;
102
+ color: var(--ink-muted);
103
+ }
104
+
105
+ .site-nav a:hover{ color: var(--ink); }
106
+
107
+ .nav-external{
108
+ border-left: 1px solid var(--border);
109
+ padding-left: 24px;
110
+ font-size: 14px !important;
111
+ color: var(--ink-faint) !important;
112
+ }
113
+
114
+ .nav-toggle{
115
+ display: none;
116
+ background: transparent;
117
+ border: 1px solid var(--border);
118
+ border-radius: var(--radius);
119
+ padding: 8px 12px;
120
+ font-family: var(--font-sans);
121
+ font-size: 13px;
122
+ font-weight: 600;
123
+ cursor: pointer;
124
+ }
125
+
126
+ /* ---------- hero ---------- */
127
+
128
+ .hero{
129
+ padding: 96px var(--pad-x) 64px;
130
+ max-width: calc(880px + 2 * var(--pad-x));
131
+ }
132
+
133
+ .page-product-home .hero{
134
+ padding-top: 120px;
135
+ padding-bottom: 96px;
136
+ max-width: calc(920px + 2 * var(--pad-x));
137
+ }
138
+
139
+ .hero-kicker{
140
+ font-family: var(--font-mono);
141
+ font-size: 13px;
142
+ font-weight: 600;
143
+ letter-spacing: 0.08em;
144
+ text-transform: uppercase;
145
+ color: var(--accent);
146
+ margin-bottom: 20px;
147
+ }
148
+
149
+ .hero h1{
150
+ font-size: clamp(36px, 5vw, 60px);
151
+ line-height: 1.08;
152
+ letter-spacing: -0.02em;
153
+ margin: 0 0 24px;
154
+ font-weight: 600;
155
+ }
156
+
157
+ .page-docs-home .hero h1{ font-size: clamp(32px, 4vw, 44px); line-height: 1.15; }
158
+
159
+ .hero-lead{
160
+ font-size: 19px;
161
+ line-height: 1.6;
162
+ color: var(--ink-muted);
163
+ max-width: 640px;
164
+ margin: 0 0 40px;
165
+ }
166
+
167
+ .page-docs-home .hero-lead{ font-size: 17px; }
168
+
169
+ .cta-row{
170
+ display: flex;
171
+ gap: 16px;
172
+ flex-wrap: wrap;
173
+ align-items: center;
174
+ }
175
+
176
+ .btn{
177
+ display: inline-flex;
178
+ align-items: center;
179
+ gap: 6px;
180
+ padding: 14px 24px;
181
+ border-radius: var(--radius);
182
+ font-weight: 600;
183
+ font-size: 15px;
184
+ border: 1px solid transparent;
185
+ cursor: pointer;
186
+ }
187
+
188
+ .btn-sm{ padding: 10px 18px; font-size: 14px; }
189
+
190
+ .btn-primary{
191
+ background: var(--accent);
192
+ color: #fff;
193
+ }
194
+
195
+ .btn-alt{
196
+ background: var(--accent-alt);
197
+ color: #fff;
198
+ }
199
+
200
+ .btn-secondary{
201
+ background: transparent;
202
+ color: var(--ink);
203
+ border-color: var(--border-strong);
204
+ }
205
+
206
+ .btn-link{
207
+ background: transparent;
208
+ color: var(--ink);
209
+ padding-left: 4px;
210
+ padding-right: 4px;
211
+ border: 0;
212
+ }
213
+
214
+ .btn-link::after{ content: " →"; }
215
+
216
+ /* ---------- sections ---------- */
217
+
218
+ .section{
219
+ padding: 0 var(--pad-x) 80px;
220
+ max-width: calc(1200px + 2 * var(--pad-x));
221
+ }
222
+
223
+ .section-kicker{
224
+ font-size: 14px;
225
+ font-family: var(--font-mono);
226
+ text-transform: uppercase;
227
+ letter-spacing: 0.08em;
228
+ color: var(--ink-muted);
229
+ margin: 0 0 40px;
230
+ font-weight: 600;
231
+ }
232
+
233
+ .section-head{
234
+ display: flex;
235
+ align-items: baseline;
236
+ justify-content: space-between;
237
+ margin-bottom: 32px;
238
+ flex-wrap: wrap;
239
+ gap: 12px;
240
+ }
241
+
242
+ .section-head h2,
243
+ .section-title{
244
+ font-size: 26px;
245
+ margin: 0;
246
+ font-weight: 600;
247
+ }
248
+
249
+ .section-link{
250
+ font-size: 14px;
251
+ font-weight: 600;
252
+ }
253
+
254
+ .grid-cells{
255
+ display: grid;
256
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
257
+ gap: 1px;
258
+ background: var(--border);
259
+ border: 1px solid var(--border);
260
+ }
261
+
262
+ .grid-cell{
263
+ background: var(--surface);
264
+ padding: 28px;
265
+ display: flex;
266
+ flex-direction: column;
267
+ gap: 10px;
268
+ }
269
+
270
+ .cell-title{ font-weight: 600; font-size: 17px; }
271
+ .cell-body{
272
+ font-size: 14.5px;
273
+ color: var(--ink-muted);
274
+ line-height: 1.5;
275
+ }
276
+
277
+ .trust-strip{
278
+ background: var(--surface-dim);
279
+ border-top: 1px solid var(--border);
280
+ border-bottom: 1px solid var(--border);
281
+ padding: 24px var(--pad-x);
282
+ margin-bottom: 48px;
283
+ }
284
+
285
+ .trust-inner{
286
+ display: flex;
287
+ gap: 48px;
288
+ flex-wrap: wrap;
289
+ font-family: var(--font-mono);
290
+ font-size: 13px;
291
+ color: var(--ink-muted);
292
+ }
293
+
294
+ .book-card-grid{
295
+ display: grid;
296
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
297
+ gap: 20px;
298
+ }
299
+
300
+ .book-card{
301
+ border: 1px solid var(--border);
302
+ padding: 24px;
303
+ border-radius: var(--radius-lg);
304
+ display: flex;
305
+ flex-direction: column;
306
+ gap: 14px;
307
+ color: var(--ink);
308
+ }
309
+
310
+ .book-card:hover{ border-color: var(--border-strong); }
311
+
312
+ .book-num{
313
+ font-family: var(--font-mono);
314
+ font-size: 12px;
315
+ color: var(--ink-faint);
316
+ }
317
+
318
+ .book-title{ font-weight: 600; font-size: 16.5px; }
319
+
320
+ .tag-row{ display: flex; gap: 6px; flex-wrap: wrap; }
321
+
322
+ .tag{
323
+ font-size: 11px;
324
+ font-weight: 600;
325
+ padding: 3px 8px;
326
+ border-radius: 4px;
327
+ background: var(--accent-soft);
328
+ color: var(--accent);
329
+ text-transform: uppercase;
330
+ letter-spacing: 0.04em;
331
+ width: fit-content;
332
+ }
333
+
334
+ .tag-alt{
335
+ background: var(--accent-alt-soft);
336
+ color: var(--accent-alt);
337
+ }
338
+
339
+ /* ---------- tracks / audience ---------- */
340
+
341
+ .tracks, .audience-grid{
342
+ display: grid;
343
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
344
+ gap: 24px;
345
+ max-width: calc(1100px + 2 * var(--pad-x));
346
+ }
347
+
348
+ .audience-card, .track{
349
+ border: 1px solid var(--border);
350
+ border-radius: var(--radius-lg);
351
+ padding: 36px;
352
+ display: flex;
353
+ flex-direction: column;
354
+ gap: 20px;
355
+ }
356
+
357
+ .audience-card{ border-top: 3px solid var(--accent); }
358
+ .audience-alt{ border-top-color: var(--accent-alt); }
359
+
360
+ .audience-card h2, .track h2{
361
+ font-size: 22px;
362
+ margin: 0;
363
+ font-weight: 600;
364
+ }
365
+
366
+ .audience-card p{
367
+ font-size: 15px;
368
+ line-height: 1.6;
369
+ color: var(--ink-muted);
370
+ margin: 0;
371
+ }
372
+
373
+ .path-line{
374
+ font-family: var(--font-mono);
375
+ font-size: 13px;
376
+ color: var(--ink-muted);
377
+ line-height: 1.8;
378
+ }
379
+
380
+ .step-list{
381
+ list-style: none;
382
+ margin: 0;
383
+ padding: 0;
384
+ display: flex;
385
+ flex-direction: column;
386
+ gap: 18px;
387
+ }
388
+
389
+ .step-list li{
390
+ display: flex;
391
+ gap: 14px;
392
+ align-items: flex-start;
393
+ }
394
+
395
+ .step-num{
396
+ flex-shrink: 0;
397
+ width: 26px;
398
+ height: 26px;
399
+ border-radius: 50%;
400
+ background: var(--accent);
401
+ color: #fff;
402
+ display: flex;
403
+ align-items: center;
404
+ justify-content: center;
405
+ font-size: 13px;
406
+ font-weight: 600;
407
+ }
408
+
409
+ .track-alt .step-num{ background: var(--accent-alt); }
410
+
411
+ .step-text{
412
+ font-size: 15px;
413
+ line-height: 1.6;
414
+ padding-top: 2px;
415
+ }
416
+
417
+ .step-text a{
418
+ color: var(--accent);
419
+ font-weight: 600;
420
+ }
421
+
422
+ .track-alt .step-text a{ color: var(--accent-alt); }
423
+
424
+ .track-note{
425
+ font-size: 14px;
426
+ color: var(--ink-muted);
427
+ line-height: 1.6;
428
+ margin: 0;
429
+ }
430
+
431
+ .note{
432
+ border: 1px solid var(--border);
433
+ border-radius: var(--radius-lg);
434
+ padding: 22px 26px;
435
+ font-size: 14px;
436
+ color: var(--ink-muted);
437
+ line-height: 1.6;
438
+ background: var(--surface-dim);
439
+ }
440
+
441
+ .note-title{ font-weight: 600; font-size: 15px; color: var(--ink); margin-bottom: 6px; }
442
+
443
+ /* ---------- catalog / use cases hydrate ---------- */
444
+
445
+ .list-table-wrap{
446
+ border: 1px solid var(--border);
447
+ border-radius: var(--radius-lg);
448
+ overflow: hidden;
449
+ }
450
+
451
+ .list-table-head,
452
+ .list-table-row{
453
+ display: grid;
454
+ grid-template-columns: 56px 1fr 120px 140px;
455
+ padding: 14px 24px;
456
+ align-items: center;
457
+ gap: 8px;
458
+ }
459
+
460
+ .list-table-head{
461
+ background: var(--surface-dim);
462
+ font-family: var(--font-mono);
463
+ font-size: 12px;
464
+ text-transform: uppercase;
465
+ letter-spacing: 0.04em;
466
+ color: var(--ink-faint);
467
+ }
468
+
469
+ .list-table-row{
470
+ border-top: 1px solid oklch(90% 0.006 260);
471
+ color: inherit;
472
+ text-decoration: none;
473
+ }
474
+
475
+ .list-table-row:hover{ background: var(--surface-dim); }
476
+
477
+ .list-num{
478
+ font-family: var(--font-mono);
479
+ font-size: 13px;
480
+ color: var(--ink-faint);
481
+ }
482
+
483
+ .list-title{ font-size: 15px; font-weight: 500; }
484
+
485
+ .mark-yes{ color: var(--accent); font-weight: 600; }
486
+ .mark-alt{ color: var(--accent-alt); font-weight: 600; }
487
+ .mark-no{ color: oklch(70% 0.01 260); font-weight: 600; }
488
+
489
+ .coming-soon-block{
490
+ margin-top: 40px;
491
+ border: 1px dashed oklch(82% 0.006 260);
492
+ border-radius: var(--radius-lg);
493
+ overflow: hidden;
494
+ }
495
+
496
+ .coming-soon-block h3{
497
+ font-size: 16px;
498
+ font-weight: 600;
499
+ margin: 0 0 16px;
500
+ padding: 0;
501
+ }
502
+
503
+ .coming-soon-item{
504
+ background: var(--surface);
505
+ padding: 14px 20px;
506
+ font-size: 14.5px;
507
+ color: var(--ink-muted);
508
+ border-top: 1px solid oklch(90% 0.006 260);
509
+ }
510
+
511
+ .coming-soon-item:first-child{ border-top: 0; }
512
+
513
+ .uc-group{ margin-bottom: 48px; }
514
+
515
+ .uc-group-label{ margin-bottom: 18px; }
516
+
517
+ .uc-grid{
518
+ border: 1px solid var(--border);
519
+ border-radius: var(--radius-lg);
520
+ overflow: hidden;
521
+ display: grid;
522
+ grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
523
+ }
524
+
525
+ .uc-item{
526
+ display: flex;
527
+ align-items: baseline;
528
+ gap: 12px;
529
+ padding: 12px 20px;
530
+ border-top: 1px solid oklch(92% 0.006 260);
531
+ border-left: 1px solid oklch(92% 0.006 260);
532
+ text-decoration: none;
533
+ color: inherit;
534
+ cursor: pointer;
535
+ }
536
+
537
+ a.uc-item:hover{
538
+ background: oklch(97.5% 0.006 260);
539
+ }
540
+
541
+ a.uc-item:hover .uc-title{
542
+ color: var(--accent);
543
+ }
544
+
545
+ a.uc-item:has(.uc-id.alt):hover .uc-title{
546
+ color: var(--accent-alt);
547
+ }
548
+
549
+ .uc-id{
550
+ font-family: var(--font-mono);
551
+ font-size: 11.5px;
552
+ color: var(--accent);
553
+ background: var(--accent-soft);
554
+ padding: 2px 6px;
555
+ border-radius: 4px;
556
+ flex-shrink: 0;
557
+ }
558
+
559
+ .uc-id.alt{
560
+ color: var(--accent-alt);
561
+ background: var(--accent-alt-soft);
562
+ }
563
+
564
+ .uc-title{ font-size: 14px; flex: 1; }
565
+
566
+ .uc-open{
567
+ font-size: 12px;
568
+ color: var(--ink-faint);
569
+ flex-shrink: 0;
570
+ }
571
+
572
+ a.uc-item:hover .uc-open{
573
+ color: var(--accent);
574
+ }
575
+
576
+ a.uc-item:has(.uc-id.alt):hover .uc-open{
577
+ color: var(--accent-alt);
578
+ }
579
+
580
+ /* ---------- book landing ---------- */
581
+
582
+ .crumb{
583
+ padding: 20px var(--pad-x) 0;
584
+ font-size: 13px;
585
+ color: var(--ink-faint);
586
+ }
587
+
588
+ .book-hero{ padding-top: 48px; padding-bottom: 40px; }
589
+
590
+ .meta-grid{
591
+ display: grid;
592
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
593
+ gap: 24px;
594
+ padding-bottom: 40px;
595
+ }
596
+
597
+ .meta-card{
598
+ border: 1px solid var(--border);
599
+ border-radius: var(--radius-lg);
600
+ padding: 20px;
601
+ }
602
+
603
+ .meta-label{
604
+ font-size: 12px;
605
+ font-family: var(--font-mono);
606
+ text-transform: uppercase;
607
+ letter-spacing: 0.06em;
608
+ color: var(--ink-faint);
609
+ margin-bottom: 8px;
610
+ }
611
+
612
+ .meta-body{ font-size: 14.5px; color: var(--ink); }
613
+
614
+ .related-row{ display: flex; gap: 12px; flex-wrap: wrap; }
615
+
616
+ .related-chip{
617
+ border: 1px solid var(--border);
618
+ border-radius: var(--radius);
619
+ padding: 10px 16px;
620
+ font-size: 14px;
621
+ }
622
+
623
+ /* ---------- footer ---------- */
624
+
625
+ .site-footer{
626
+ margin-top: auto;
627
+ border-top: 1px solid var(--border);
628
+ padding: 40px var(--pad-x);
629
+ display: flex;
630
+ justify-content: space-between;
631
+ flex-wrap: wrap;
632
+ gap: 24px;
633
+ }
634
+
635
+ .footer-id{
636
+ font-family: var(--font-mono);
637
+ font-size: 13px;
638
+ color: var(--ink-faint);
639
+ }
640
+
641
+ .footer-nav{
642
+ display: flex;
643
+ gap: 24px;
644
+ flex-wrap: wrap;
645
+ }
646
+
647
+ .footer-nav a{
648
+ font-size: 14px;
649
+ color: var(--ink-muted);
650
+ }
651
+
652
+ .prose{
653
+ max-width: 720px;
654
+ font-size: 15px;
655
+ color: var(--ink-muted);
656
+ line-height: 1.65;
657
+ }
658
+
659
+ .prose code{
660
+ font-family: var(--font-mono);
661
+ font-size: 0.9em;
662
+ background: var(--surface-dim);
663
+ padding: 2px 6px;
664
+ border-radius: 4px;
665
+ }
666
+
667
+ /* ---------- reader shell (kept for /read) ---------- */
668
+
669
+ .reader-shell{ display: flex; flex: 1; min-height: 0; }
670
+
671
+ .reader-sidebar{
672
+ width: 280px;
673
+ flex-shrink: 0;
674
+ background: var(--ink);
675
+ color: oklch(92% 0.01 260);
676
+ padding: 22px 0;
677
+ overflow-y: auto;
678
+ }
679
+
680
+ .reader-sidebar .side-block{
681
+ padding: 0 20px 18px;
682
+ border-bottom: 1px solid oklch(30% 0.01 260);
683
+ margin-bottom: 12px;
684
+ }
685
+
686
+ .reader-sidebar .side-title{
687
+ font-size: 15px;
688
+ font-weight: 600;
689
+ color: #fff;
690
+ margin: 0 0 4px;
691
+ }
692
+
693
+ .reader-sidebar .side-sub{
694
+ font-size: 12px;
695
+ color: var(--accent);
696
+ font-family: var(--font-mono);
697
+ }
698
+
699
+ .reader-sidebar .export-btn{
700
+ display: block;
701
+ margin-top: 14px;
702
+ background: var(--accent);
703
+ color: #fff;
704
+ text-align: center;
705
+ padding: 9px 10px;
706
+ border-radius: var(--radius);
707
+ font-size: 12.5px;
708
+ font-weight: 600;
709
+ }
710
+
711
+ .chapter-nav{ list-style: none; margin: 0; padding: 6px 8px; }
712
+ .chapter-nav a{
713
+ display: block;
714
+ padding: 8px 12px;
715
+ font-size: 13px;
716
+ border-radius: 5px;
717
+ color: oklch(85% 0.01 260);
718
+ line-height: 1.35;
719
+ }
720
+ .chapter-nav a:hover{ background: oklch(28% 0.01 260); color: #fff; }
721
+ .chapter-nav a.active{ background: var(--accent); color: #fff; }
722
+ .chapter-nav .num{
723
+ font-family: var(--font-mono);
724
+ font-size: 10.5px;
725
+ color: var(--accent);
726
+ margin-right: 6px;
727
+ }
728
+ .chapter-nav a.active .num{ color: #fff; }
729
+
730
+ .reader-main{ flex: 1; min-width: 0; display: flex; flex-direction: column; }
731
+
732
+ .reader-topline{
733
+ padding: 10px 24px;
734
+ border-bottom: 1px solid var(--border);
735
+ font-size: 12.5px;
736
+ color: var(--ink-muted);
737
+ display: flex;
738
+ align-items: center;
739
+ gap: 8px;
740
+ flex-wrap: wrap;
741
+ }
742
+
743
+ .reader-topline a{ color: var(--accent); font-weight: 600; }
744
+
745
+ .reader-frame-wrap{ flex: 1; min-height: 0; }
746
+ .reader-frame-wrap iframe{ width: 100%; height: 100%; border: 0; display: block; }
747
+
748
+ .sidebar-toggle{
749
+ display: none;
750
+ background: var(--ink);
751
+ color: #fff;
752
+ border: 0;
753
+ padding: 10px 16px;
754
+ font-size: 13px;
755
+ font-weight: 600;
756
+ text-align: left;
757
+ width: 100%;
758
+ }
759
+
760
+ .dl-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
761
+
762
+ @media (max-width: 820px){
763
+ .nav-toggle{ display: inline-flex; }
764
+ .site-nav{
765
+ display: none;
766
+ width: 100%;
767
+ flex-direction: column;
768
+ align-items: flex-start;
769
+ gap: 14px;
770
+ padding-top: 8px;
771
+ }
772
+ .site-nav.open{ display: flex; }
773
+ .nav-external{ border-left: 0; padding-left: 0; }
774
+ .list-table-head, .list-table-row{
775
+ grid-template-columns: 48px 1fr;
776
+ }
777
+ .list-table-head span:nth-child(3),
778
+ .list-table-head span:nth-child(4),
779
+ .list-table-row span:nth-child(3),
780
+ .list-table-row span:nth-child(4){ display: none; }
781
+ .sidebar-toggle{ display: block; }
782
+ .reader-shell{ flex-direction: column; }
783
+ .reader-sidebar{
784
+ width: 100%;
785
+ max-height: 0;
786
+ padding: 0;
787
+ overflow: hidden;
788
+ }
789
+ .reader-sidebar.open{ max-height: 60vh; padding: 18px 0; }
790
+ .reader-frame-wrap{ height: 70vh; }
791
+ .hero{ padding-top: 64px; padding-bottom: 48px; }
792
+ }