docnest 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1205 @@
1
+ /*
2
+ * DocNest theme profiles
3
+ *
4
+ * One semantic DOM, five visual systems. The original DocNest rules remain
5
+ * the Slate Modern baseline; this file owns theme tokens and deliberate layout
6
+ * variations without forking templates or client behavior.
7
+ */
8
+
9
+ :root {
10
+ --doc-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
11
+ "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
12
+ --doc-font-reading: var(--doc-font-ui);
13
+ --doc-font-display: var(--doc-font-ui);
14
+ --doc-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
15
+ --doc-surface-raised: #ffffff;
16
+ --doc-selection: rgba(94, 106, 210, 0.18);
17
+ --doc-rule-strong: #bfc0c5;
18
+ --doc-accent-soft: rgba(94, 106, 210, 0.12);
19
+ --doc-code-bg: #f6f7f8;
20
+ --doc-code-text: #24262b;
21
+ --doc-header-height: auto;
22
+ --doc-reading-width: 1024px;
23
+ }
24
+
25
+ html[data-theme="dark"] {
26
+ --doc-surface-raised: #1c1c1e;
27
+ --doc-selection: rgba(165, 180, 252, 0.24);
28
+ --doc-rule-strong: #48484d;
29
+ --doc-accent-soft: rgba(165, 180, 252, 0.15);
30
+ --doc-code-bg: #171719;
31
+ --doc-code-text: #eff0f2;
32
+ }
33
+
34
+ body {
35
+ font-family: var(--doc-font-ui);
36
+ }
37
+
38
+ ::selection {
39
+ background: var(--doc-selection);
40
+ }
41
+
42
+ .markdown-body {
43
+ font-family: var(--doc-font-reading);
44
+ }
45
+
46
+ .tree-kind-icon {
47
+ margin-right: 0.3em;
48
+ }
49
+
50
+ .brand-fallback-shape {
51
+ display: none;
52
+ }
53
+
54
+ .markdown-body h1,
55
+ .markdown-body h2,
56
+ .markdown-body h3,
57
+ .markdown-body h4,
58
+ .welcome h2,
59
+ .dir-listing-title {
60
+ font-family: var(--doc-font-display);
61
+ }
62
+
63
+ /* Appearance picker */
64
+ .header {
65
+ position: relative;
66
+ z-index: 100;
67
+ }
68
+
69
+ .theme-selector {
70
+ position: relative;
71
+ }
72
+
73
+ .theme-style-toggle {
74
+ min-width: 168px;
75
+ }
76
+
77
+ .theme-swatch {
78
+ width: 12px;
79
+ height: 12px;
80
+ flex: 0 0 auto;
81
+ border: 1px solid currentColor;
82
+ background: var(--linear-accent);
83
+ box-shadow: inset 4px 0 0 var(--linear-bg);
84
+ }
85
+
86
+ .theme-style-text {
87
+ flex: 1;
88
+ overflow: hidden;
89
+ text-align: left;
90
+ text-overflow: ellipsis;
91
+ }
92
+
93
+ .theme-chevron {
94
+ color: var(--linear-text-muted);
95
+ font-size: 0.8rem;
96
+ line-height: 1;
97
+ }
98
+
99
+ .theme-popover[hidden] {
100
+ display: none;
101
+ }
102
+
103
+ .theme-popover {
104
+ position: absolute;
105
+ top: calc(100% + 10px);
106
+ right: 0;
107
+ width: min(360px, calc(100vw - 32px));
108
+ overflow: hidden;
109
+ border: 1px solid var(--linear-border);
110
+ border-radius: max(var(--linear-radius), 8px);
111
+ background: var(--doc-surface-raised);
112
+ color: var(--linear-text);
113
+ box-shadow: 0 18px 50px rgba(17, 17, 17, 0.16);
114
+ }
115
+
116
+ .theme-popover-section {
117
+ padding: 14px;
118
+ }
119
+
120
+ .theme-popover-section + .theme-popover-section {
121
+ border-top: 1px solid var(--linear-border);
122
+ }
123
+
124
+ .theme-popover-label {
125
+ margin: 0 0 9px;
126
+ color: var(--linear-text-muted);
127
+ font-size: 0.6875rem;
128
+ font-weight: 700;
129
+ letter-spacing: 0.09em;
130
+ text-transform: uppercase;
131
+ }
132
+
133
+ .theme-options {
134
+ display: grid;
135
+ gap: 4px;
136
+ }
137
+
138
+ .theme-option {
139
+ display: grid;
140
+ grid-template-columns: 54px minmax(0, 1fr) 20px;
141
+ width: 100%;
142
+ min-height: 58px;
143
+ padding: 9px;
144
+ gap: 11px;
145
+ align-items: center;
146
+ border: 1px solid transparent;
147
+ border-radius: var(--linear-radius);
148
+ background: transparent;
149
+ color: var(--linear-text);
150
+ cursor: pointer;
151
+ text-align: left;
152
+ }
153
+
154
+ .theme-option:hover {
155
+ border-color: var(--linear-border);
156
+ background: var(--linear-bg-subtle);
157
+ }
158
+
159
+ .theme-option.is-active {
160
+ border-color: var(--linear-accent);
161
+ background: var(--doc-accent-soft);
162
+ }
163
+
164
+ .theme-option-palette {
165
+ display: flex;
166
+ height: 32px;
167
+ overflow: hidden;
168
+ border: 1px solid var(--linear-border);
169
+ }
170
+
171
+ .theme-option-palette i {
172
+ flex: 1;
173
+ }
174
+
175
+ .theme-option-copy {
176
+ display: flex;
177
+ min-width: 0;
178
+ flex-direction: column;
179
+ }
180
+
181
+ .theme-option-copy strong {
182
+ font-size: 0.8125rem;
183
+ font-weight: 680;
184
+ }
185
+
186
+ .theme-option-copy small {
187
+ overflow: hidden;
188
+ color: var(--linear-text-muted);
189
+ font-size: 0.6875rem;
190
+ line-height: 1.45;
191
+ text-overflow: ellipsis;
192
+ white-space: nowrap;
193
+ }
194
+
195
+ .theme-option-check {
196
+ color: var(--linear-accent);
197
+ font-size: 0.875rem;
198
+ opacity: 0;
199
+ }
200
+
201
+ .theme-option.is-active .theme-option-check {
202
+ opacity: 1;
203
+ }
204
+
205
+ .theme-mode-options {
206
+ display: grid;
207
+ grid-template-columns: repeat(3, 1fr);
208
+ gap: 6px;
209
+ }
210
+
211
+ .theme-mode-option {
212
+ min-height: 52px;
213
+ border: 1px solid var(--linear-border);
214
+ border-radius: var(--linear-radius);
215
+ background: var(--linear-bg-subtle);
216
+ color: var(--linear-text);
217
+ cursor: pointer;
218
+ }
219
+
220
+ .theme-mode-option span,
221
+ .theme-mode-option strong {
222
+ display: block;
223
+ }
224
+
225
+ .theme-mode-option span {
226
+ margin-bottom: 2px;
227
+ color: var(--linear-text-muted);
228
+ font: 700 0.6875rem/1 var(--doc-font-mono);
229
+ }
230
+
231
+ .theme-mode-option strong {
232
+ font-size: 0.75rem;
233
+ font-weight: 650;
234
+ }
235
+
236
+ .theme-mode-option:hover,
237
+ .theme-mode-option.is-active {
238
+ border-color: var(--linear-accent);
239
+ }
240
+
241
+ .theme-mode-option.is-active {
242
+ background: var(--doc-accent-soft);
243
+ color: var(--linear-accent);
244
+ }
245
+
246
+ body[data-theme="dark"] .theme-popover,
247
+ body[data-theme="dark"] .theme-option,
248
+ body[data-theme="dark"] .theme-mode-option {
249
+ color: var(--linear-text);
250
+ }
251
+
252
+ /* Normalize hard-coded dark rules so every profile is token-driven. */
253
+ body[data-doc-theme][data-theme="dark"] .header,
254
+ body[data-doc-theme][data-theme="dark"] .main-content {
255
+ background: var(--linear-bg);
256
+ }
257
+
258
+ body[data-doc-theme][data-theme="dark"] .sidebar,
259
+ body[data-doc-theme][data-theme="dark"] .sidebar h2,
260
+ body[data-doc-theme][data-theme="dark"] .sidebar-collapse-toggle {
261
+ background: var(--linear-sidebar);
262
+ }
263
+
264
+ body[data-doc-theme][data-theme="dark"] .header h1,
265
+ body[data-doc-theme][data-theme="dark"] .dir-name,
266
+ body[data-doc-theme][data-theme="dark"] .file-link,
267
+ body[data-doc-theme][data-theme="dark"] .welcome h2 {
268
+ color: var(--linear-text);
269
+ }
270
+
271
+ body[data-doc-theme][data-theme="dark"] .subtitle,
272
+ body[data-doc-theme][data-theme="dark"] .sidebar h2,
273
+ body[data-doc-theme][data-theme="dark"] .welcome {
274
+ color: var(--linear-text-muted);
275
+ }
276
+
277
+ body[data-doc-theme][data-theme="dark"] .header-action-btn,
278
+ body[data-doc-theme][data-theme="dark"] .theme-toggle {
279
+ border-color: var(--linear-border);
280
+ background: var(--linear-bg-subtle);
281
+ color: var(--linear-text);
282
+ }
283
+
284
+ body[data-doc-theme][data-theme="dark"] .header-action-btn:hover,
285
+ body[data-doc-theme][data-theme="dark"] .theme-mode-option:hover,
286
+ body[data-doc-theme][data-theme="dark"] .theme-option:hover {
287
+ background: var(--doc-accent-soft);
288
+ }
289
+
290
+ body[data-doc-theme][data-theme="dark"] .file-link.active,
291
+ body[data-doc-theme][data-theme="dark"] .dir-toggle.active {
292
+ border-color: var(--linear-accent);
293
+ background: var(--doc-accent-soft);
294
+ color: var(--linear-accent);
295
+ }
296
+
297
+ body[data-doc-theme][data-theme="dark"] .file-link:hover,
298
+ body[data-doc-theme][data-theme="dark"] .dir-name-link,
299
+ body[data-doc-theme][data-theme="dark"] .back-link {
300
+ color: var(--linear-accent);
301
+ }
302
+
303
+ body[data-doc-theme][data-theme="dark"] .download-menu-content,
304
+ body[data-doc-theme][data-theme="dark"] .pdf-export-modal__panel {
305
+ border-color: var(--linear-border);
306
+ background: var(--doc-surface-raised);
307
+ color: var(--linear-text);
308
+ }
309
+
310
+ body[data-doc-theme][data-theme="dark"] .download-menu-content button,
311
+ body[data-doc-theme][data-theme="dark"] .pdf-export-modal__option,
312
+ body[data-doc-theme][data-theme="dark"] .pdf-export-modal__watermark-input {
313
+ border-color: var(--linear-border);
314
+ background: var(--linear-bg-subtle);
315
+ color: var(--linear-text);
316
+ }
317
+
318
+ /* Theme 01: Slate Modern — the package's original visual language. */
319
+ body[data-doc-theme="slate-modern"] {
320
+ --doc-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
321
+ "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
322
+ --doc-font-reading: var(--doc-font-ui);
323
+ --doc-font-display: var(--doc-font-ui);
324
+ }
325
+
326
+ /* Theme 02: Editorial Atlas */
327
+ body[data-doc-theme="editorial-atlas"] {
328
+ --linear-bg: #f3f0e7;
329
+ --linear-bg-subtle: #ebe6da;
330
+ --linear-sidebar: #eee9dd;
331
+ --linear-border: #d1cdc0;
332
+ --linear-text: #171815;
333
+ --linear-text-muted: #686960;
334
+ --linear-accent: #1f5b57;
335
+ --linear-accent-hover: #164742;
336
+ --linear-radius: 2px;
337
+ --doc-surface-raised: #faf8f2;
338
+ --doc-selection: rgba(31, 91, 87, 0.19);
339
+ --doc-rule-strong: #9e9c91;
340
+ --doc-accent-soft: rgba(31, 91, 87, 0.1);
341
+ --doc-code-bg: #e9e5da;
342
+ --doc-code-text: #22241f;
343
+ --doc-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
344
+ "Microsoft YaHei", sans-serif;
345
+ --doc-font-reading: "Songti SC", SimSun, "Noto Serif CJK SC", serif;
346
+ --doc-font-display: "Songti SC", SimSun, "Noto Serif CJK SC", serif;
347
+ --doc-reading-width: 860px;
348
+ }
349
+
350
+ body[data-doc-theme="editorial-atlas"][data-theme="dark"] {
351
+ --linear-bg: #171915;
352
+ --linear-bg-subtle: #20231e;
353
+ --linear-sidebar: #1d201b;
354
+ --linear-border: #3b3f37;
355
+ --linear-text: #eeece3;
356
+ --linear-text-muted: #a6a89d;
357
+ --linear-accent: #83bdb5;
358
+ --linear-accent-hover: #a6d2cc;
359
+ --doc-surface-raised: #20231e;
360
+ --doc-selection: rgba(131, 189, 181, 0.25);
361
+ --doc-rule-strong: #62675d;
362
+ --doc-accent-soft: rgba(131, 189, 181, 0.13);
363
+ --doc-code-bg: #11130f;
364
+ --doc-code-text: #f0eee5;
365
+ }
366
+
367
+ body[data-doc-theme="editorial-atlas"] .header {
368
+ padding: 0.9rem 1.75rem;
369
+ border-bottom-color: var(--doc-rule-strong);
370
+ background: var(--doc-surface-raised);
371
+ }
372
+
373
+ body[data-doc-theme="editorial-atlas"] .header h1 {
374
+ font-family: var(--doc-font-display);
375
+ font-size: 1.35rem;
376
+ font-weight: 600;
377
+ letter-spacing: 0.02em;
378
+ }
379
+
380
+ body[data-doc-theme="editorial-atlas"] .subtitle,
381
+ body[data-doc-theme="editorial-atlas"] .sidebar h2,
382
+ body[data-doc-theme="editorial-atlas"] .doc-toc-title {
383
+ font-family: var(--doc-font-mono);
384
+ letter-spacing: 0.12em;
385
+ text-transform: uppercase;
386
+ }
387
+
388
+ body[data-doc-theme="editorial-atlas"] .sidebar {
389
+ width: 292px;
390
+ min-width: 248px;
391
+ border-right-color: var(--doc-rule-strong);
392
+ }
393
+
394
+ body[data-doc-theme="editorial-atlas"] .main-content {
395
+ padding: clamp(2rem, 4vw, 4.75rem) clamp(1.5rem, 5vw, 5.5rem);
396
+ background: var(--linear-bg);
397
+ }
398
+
399
+ body[data-doc-theme="editorial-atlas"] .doc-layout {
400
+ width: min(1240px, 100%);
401
+ gap: 42px;
402
+ }
403
+
404
+ body[data-doc-theme="editorial-atlas"] .markdown-body {
405
+ width: min(var(--doc-reading-width), 100%);
406
+ background: transparent;
407
+ font-size: 1rem;
408
+ line-height: 1.9;
409
+ }
410
+
411
+ body[data-doc-theme="editorial-atlas"] .markdown-body h1 {
412
+ padding-bottom: 1.3rem;
413
+ border-bottom: 1px solid var(--doc-rule-strong);
414
+ font-size: clamp(2.25rem, 4vw, 3.75rem);
415
+ font-weight: 600;
416
+ letter-spacing: -0.035em;
417
+ line-height: 1.12;
418
+ }
419
+
420
+ body[data-doc-theme="editorial-atlas"] .markdown-body h2 {
421
+ margin-top: 3rem;
422
+ font-size: 1.65rem;
423
+ font-weight: 600;
424
+ }
425
+
426
+ body[data-doc-theme="editorial-atlas"] .markdown-body blockquote {
427
+ border: 0;
428
+ border-left: 1px solid var(--linear-accent);
429
+ border-radius: 0;
430
+ background: transparent;
431
+ color: var(--linear-text-muted);
432
+ font-style: italic;
433
+ }
434
+
435
+ body[data-doc-theme="editorial-atlas"] .doc-toc {
436
+ border-width: 0 0 0 1px;
437
+ border-radius: 0;
438
+ background: transparent;
439
+ }
440
+
441
+ /* Theme 03: Precision Index */
442
+ body[data-doc-theme="precision-index"] {
443
+ --linear-bg: #eef2f3;
444
+ --linear-bg-subtle: #e4eaec;
445
+ --linear-sidebar: #e9eef0;
446
+ --linear-border: #ccd6d9;
447
+ --linear-text: #14242b;
448
+ --linear-text-muted: #687a82;
449
+ --linear-accent: #007486;
450
+ --linear-accent-hover: #005c6a;
451
+ --linear-radius: 0px;
452
+ --doc-surface-raised: #f8faf9;
453
+ --doc-selection: rgba(0, 116, 134, 0.2);
454
+ --doc-rule-strong: #9dafb5;
455
+ --doc-accent-soft: #dcecef;
456
+ --doc-code-bg: #15262d;
457
+ --doc-code-text: #e8f2f3;
458
+ --doc-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
459
+ "Microsoft YaHei", sans-serif;
460
+ --doc-font-reading: var(--doc-font-ui);
461
+ --doc-font-display: var(--doc-font-ui);
462
+ --doc-reading-width: 980px;
463
+ }
464
+
465
+ body[data-doc-theme="precision-index"][data-theme="dark"] {
466
+ --linear-bg: #101b20;
467
+ --linear-bg-subtle: #17262c;
468
+ --linear-sidebar: #142229;
469
+ --linear-border: #31444c;
470
+ --linear-text: #e5edef;
471
+ --linear-text-muted: #91a5ad;
472
+ --linear-accent: #65c4cf;
473
+ --linear-accent-hover: #8bd5dd;
474
+ --doc-surface-raised: #142229;
475
+ --doc-selection: rgba(101, 196, 207, 0.26);
476
+ --doc-rule-strong: #526871;
477
+ --doc-accent-soft: rgba(101, 196, 207, 0.12);
478
+ --doc-code-bg: #081114;
479
+ --doc-code-text: #e8f2f3;
480
+ }
481
+
482
+ body[data-doc-theme="precision-index"] .header {
483
+ min-height: 54px;
484
+ padding: 0 1rem;
485
+ border-bottom: 2px solid var(--linear-text);
486
+ background: var(--linear-bg-subtle);
487
+ }
488
+
489
+ body[data-doc-theme="precision-index"] .header h1,
490
+ body[data-doc-theme="precision-index"] .subtitle,
491
+ body[data-doc-theme="precision-index"] .sidebar h2,
492
+ body[data-doc-theme="precision-index"] .doc-toc-title,
493
+ body[data-doc-theme="precision-index"] .breadcrumbs {
494
+ font-family: var(--doc-font-mono);
495
+ }
496
+
497
+ body[data-doc-theme="precision-index"] .header h1 {
498
+ font-size: 0.875rem;
499
+ letter-spacing: 0.06em;
500
+ text-transform: uppercase;
501
+ }
502
+
503
+ body[data-doc-theme="precision-index"] .subtitle {
504
+ font-size: 0.625rem;
505
+ letter-spacing: 0.08em;
506
+ }
507
+
508
+ body[data-doc-theme="precision-index"] .header-action-btn {
509
+ border-color: var(--doc-rule-strong);
510
+ font-family: var(--doc-font-mono);
511
+ font-size: 0.6875rem;
512
+ text-transform: uppercase;
513
+ }
514
+
515
+ body[data-doc-theme="precision-index"] .sidebar {
516
+ width: 264px;
517
+ min-width: 230px;
518
+ border-right: 1px solid var(--doc-rule-strong);
519
+ }
520
+
521
+ body[data-doc-theme="precision-index"] .sidebar h2 {
522
+ padding-block: 0.75rem;
523
+ border-bottom: 1px solid var(--linear-border);
524
+ font-size: 0.625rem;
525
+ letter-spacing: 0.15em;
526
+ }
527
+
528
+ body[data-doc-theme="precision-index"] .dir-toggle,
529
+ body[data-doc-theme="precision-index"] .file-link {
530
+ border-bottom: 1px solid var(--linear-border);
531
+ font-size: 0.75rem;
532
+ }
533
+
534
+ body[data-doc-theme="precision-index"] .file-link.active {
535
+ border-left-width: 4px;
536
+ background: var(--doc-surface-raised);
537
+ }
538
+
539
+ body[data-doc-theme="precision-index"] .main-content {
540
+ padding: 0;
541
+ background: var(--linear-bg);
542
+ }
543
+
544
+ body[data-doc-theme="precision-index"] .breadcrumbs {
545
+ margin: 0;
546
+ padding: 0.75rem 1.5rem;
547
+ border-bottom: 1px solid var(--doc-rule-strong);
548
+ background: var(--linear-bg-subtle);
549
+ font-size: 0.6875rem;
550
+ }
551
+
552
+ body[data-doc-theme="precision-index"] .doc-layout {
553
+ width: 100%;
554
+ gap: 0;
555
+ background: var(--doc-surface-raised);
556
+ }
557
+
558
+ body[data-doc-theme="precision-index"] .markdown-body {
559
+ width: min(var(--doc-reading-width), 100%);
560
+ padding: clamp(2.5rem, 5vw, 5rem);
561
+ border-right: 1px solid var(--doc-rule-strong);
562
+ font-size: 0.9rem;
563
+ line-height: 1.75;
564
+ }
565
+
566
+ body[data-doc-theme="precision-index"] .markdown-body h1 {
567
+ position: relative;
568
+ margin-bottom: 2rem;
569
+ padding: 0 0 1.25rem 3.25rem;
570
+ border-bottom: 2px solid var(--linear-text);
571
+ font-size: clamp(2rem, 4vw, 3.35rem);
572
+ font-weight: 720;
573
+ letter-spacing: -0.045em;
574
+ }
575
+
576
+ body[data-doc-theme="precision-index"] .markdown-body h1::before {
577
+ content: "";
578
+ position: absolute;
579
+ left: 0;
580
+ top: 0.25em;
581
+ width: 1.6rem;
582
+ height: 0.28rem;
583
+ background: var(--linear-accent);
584
+ }
585
+
586
+ body[data-doc-theme="precision-index"] .markdown-body h2 {
587
+ padding-top: 0.8rem;
588
+ border-top: 1px solid var(--doc-rule-strong);
589
+ font-size: 1.2rem;
590
+ }
591
+
592
+ body[data-doc-theme="precision-index"] .doc-toc {
593
+ top: 0;
594
+ width: 216px;
595
+ flex-basis: 216px;
596
+ max-height: calc(100vh - 54px);
597
+ padding: 1.25rem;
598
+ border: 0;
599
+ border-radius: 0;
600
+ background: var(--linear-bg-subtle);
601
+ }
602
+
603
+ body[data-doc-theme="precision-index"] .doc-toc-title {
604
+ letter-spacing: 0.12em;
605
+ text-transform: uppercase;
606
+ }
607
+
608
+ body[data-doc-theme="precision-index"] .dir-listing-page,
609
+ body[data-doc-theme="precision-index"] .welcome {
610
+ margin: 0;
611
+ padding: clamp(2rem, 5vw, 5rem);
612
+ }
613
+
614
+ /* Theme 04: Archive Room */
615
+ body[data-doc-theme="archive-room"] {
616
+ --linear-bg: #f3efe4;
617
+ --linear-bg-subtle: #e9e2d3;
618
+ --linear-sidebar: #ebe5d8;
619
+ --linear-border: #c9c2b1;
620
+ --linear-text: #262821;
621
+ --linear-text-muted: #5d6055;
622
+ --linear-accent: #6b7150;
623
+ --linear-accent-hover: #535a3d;
624
+ --linear-radius: 1px;
625
+ --doc-surface-raised: #faf8f1;
626
+ --doc-selection: rgba(107, 113, 80, 0.22);
627
+ --doc-rule-strong: #9e9684;
628
+ --doc-accent-soft: rgba(107, 113, 80, 0.12);
629
+ --doc-code-bg: #292b25;
630
+ --doc-code-text: #f5f1e7;
631
+ --doc-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
632
+ "Microsoft YaHei", sans-serif;
633
+ --doc-font-reading: "Songti SC", SimSun, "Noto Serif CJK SC", serif;
634
+ --doc-font-display: "Songti SC", SimSun, "Noto Serif CJK SC", serif;
635
+ --doc-reading-width: 900px;
636
+ }
637
+
638
+ body[data-doc-theme="archive-room"][data-theme="dark"] {
639
+ --linear-bg: #1e201b;
640
+ --linear-bg-subtle: #282b24;
641
+ --linear-sidebar: #25271f;
642
+ --linear-border: #494b3f;
643
+ --linear-text: #efeadd;
644
+ --linear-text-muted: #aca99d;
645
+ --linear-accent: #b9bd8b;
646
+ --linear-accent-hover: #d1d3a9;
647
+ --doc-surface-raised: #25271f;
648
+ --doc-selection: rgba(185, 189, 139, 0.24);
649
+ --doc-rule-strong: #6a6b5c;
650
+ --doc-accent-soft: rgba(185, 189, 139, 0.12);
651
+ --doc-code-bg: #12130f;
652
+ --doc-code-text: #f5f1e7;
653
+ }
654
+
655
+ body[data-doc-theme="archive-room"] .header {
656
+ padding: 0.8rem 1.5rem;
657
+ border-top: 4px solid #a5523d;
658
+ border-bottom-color: var(--doc-rule-strong);
659
+ background: var(--linear-bg);
660
+ }
661
+
662
+ body[data-doc-theme="archive-room"] .header h1 {
663
+ font-family: var(--doc-font-display);
664
+ font-size: 1.25rem;
665
+ font-weight: 600;
666
+ }
667
+
668
+ body[data-doc-theme="archive-room"] .subtitle,
669
+ body[data-doc-theme="archive-room"] .sidebar h2,
670
+ body[data-doc-theme="archive-room"] .doc-toc-title,
671
+ body[data-doc-theme="archive-room"] .breadcrumbs {
672
+ font-family: var(--doc-font-mono);
673
+ letter-spacing: 0.08em;
674
+ }
675
+
676
+ body[data-doc-theme="archive-room"] .sidebar {
677
+ width: 300px;
678
+ min-width: 250px;
679
+ border-right-color: var(--doc-rule-strong);
680
+ }
681
+
682
+ body[data-doc-theme="archive-room"] .sidebar h2 {
683
+ border-bottom: 1px solid var(--doc-rule-strong);
684
+ text-transform: uppercase;
685
+ }
686
+
687
+ body[data-doc-theme="archive-room"] .dir-children {
688
+ border-left-style: dashed;
689
+ border-left-color: var(--doc-rule-strong);
690
+ }
691
+
692
+ body[data-doc-theme="archive-room"] .file-link.active {
693
+ border-left-color: #a5523d;
694
+ background: var(--doc-surface-raised);
695
+ color: #8d4434;
696
+ }
697
+
698
+ body[data-doc-theme="archive-room"][data-theme="dark"] .file-link.active {
699
+ color: #d99a87;
700
+ }
701
+
702
+ body[data-doc-theme="archive-room"] .main-content {
703
+ padding: clamp(2rem, 4vw, 4.5rem);
704
+ background-color: var(--linear-bg);
705
+ background-image:
706
+ linear-gradient(rgba(93, 96, 85, 0.045) 1px, transparent 1px),
707
+ linear-gradient(90deg, rgba(93, 96, 85, 0.035) 1px, transparent 1px);
708
+ background-size: 24px 24px;
709
+ }
710
+
711
+ body[data-doc-theme="archive-room"] .doc-layout {
712
+ width: min(1280px, 100%);
713
+ gap: 34px;
714
+ }
715
+
716
+ body[data-doc-theme="archive-room"] .markdown-body {
717
+ width: min(var(--doc-reading-width), 100%);
718
+ padding: clamp(1.5rem, 3vw, 3rem);
719
+ border: 1px solid var(--doc-rule-strong);
720
+ background: var(--doc-surface-raised);
721
+ box-shadow: 7px 7px 0 var(--linear-border);
722
+ font-size: 1rem;
723
+ line-height: 1.88;
724
+ }
725
+
726
+ body[data-doc-theme="archive-room"] .markdown-body h1 {
727
+ padding-bottom: 1.25rem;
728
+ border-bottom: 3px double var(--doc-rule-strong);
729
+ font-size: clamp(2.15rem, 4vw, 3.5rem);
730
+ font-weight: 600;
731
+ line-height: 1.14;
732
+ }
733
+
734
+ body[data-doc-theme="archive-room"] .markdown-body h2 {
735
+ margin-top: 2.8rem;
736
+ color: var(--linear-accent-hover);
737
+ font-size: 1.55rem;
738
+ font-weight: 600;
739
+ }
740
+
741
+ body[data-doc-theme="archive-room"][data-theme="dark"] .markdown-body h2 {
742
+ color: var(--linear-accent);
743
+ }
744
+
745
+ body[data-doc-theme="archive-room"] .markdown-body blockquote {
746
+ border-left-color: #a5523d;
747
+ border-radius: 0;
748
+ background: var(--linear-bg-subtle);
749
+ }
750
+
751
+ body[data-doc-theme="archive-room"] .doc-toc {
752
+ border: 1px solid var(--doc-rule-strong);
753
+ border-radius: 0;
754
+ background: var(--linear-bg-subtle);
755
+ }
756
+
757
+ /* Theme 05: Swiss Manual */
758
+ body[data-doc-theme="swiss-manual"] {
759
+ --linear-bg: #f4f3ef;
760
+ --linear-bg-subtle: #e9e7e0;
761
+ --linear-sidebar: #eeece6;
762
+ --linear-border: #c8c6bf;
763
+ --linear-text: #111111;
764
+ --linear-text-muted: #65645f;
765
+ --linear-accent: #e33b27;
766
+ --linear-accent-hover: #b62617;
767
+ --linear-radius: 0px;
768
+ --doc-surface-raised: #ffffff;
769
+ --doc-selection: rgba(227, 59, 39, 0.22);
770
+ --doc-rule-strong: #111111;
771
+ --doc-accent-soft: rgba(227, 59, 39, 0.1);
772
+ --doc-code-bg: #111111;
773
+ --doc-code-text: #f7f5ef;
774
+ --doc-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
775
+ "Microsoft YaHei", sans-serif;
776
+ --doc-font-reading: var(--doc-font-ui);
777
+ --doc-font-display: var(--doc-font-ui);
778
+ --doc-reading-width: 960px;
779
+ }
780
+
781
+ body[data-doc-theme="swiss-manual"][data-theme="dark"] {
782
+ --linear-bg: #111111;
783
+ --linear-bg-subtle: #1a1a19;
784
+ --linear-sidebar: #171716;
785
+ --linear-border: #44433f;
786
+ --linear-text: #f4f3ef;
787
+ --linear-text-muted: #aaa9a3;
788
+ --linear-accent: #ff5a45;
789
+ --linear-accent-hover: #ff7968;
790
+ --doc-surface-raised: #171716;
791
+ --doc-selection: rgba(255, 90, 69, 0.28);
792
+ --doc-rule-strong: #f4f3ef;
793
+ --doc-accent-soft: rgba(255, 90, 69, 0.14);
794
+ --doc-code-bg: #050505;
795
+ --doc-code-text: #f7f5ef;
796
+ }
797
+
798
+ body[data-doc-theme="swiss-manual"] .header {
799
+ min-height: 72px;
800
+ padding: 0;
801
+ border: 1px solid var(--doc-rule-strong);
802
+ border-top: 0;
803
+ background: var(--doc-surface-raised);
804
+ }
805
+
806
+ body[data-doc-theme="swiss-manual"] .header-content {
807
+ min-height: 72px;
808
+ }
809
+
810
+ body[data-doc-theme="swiss-manual"] .header-title-group {
811
+ align-self: stretch;
812
+ min-width: 250px;
813
+ padding: 0.85rem 1.4rem;
814
+ border-right: 1px solid var(--doc-rule-strong);
815
+ }
816
+
817
+ body[data-doc-theme="swiss-manual"] .header h1 {
818
+ font-size: 1rem;
819
+ font-weight: 800;
820
+ letter-spacing: 0.04em;
821
+ }
822
+
823
+ body[data-doc-theme="swiss-manual"] .subtitle,
824
+ body[data-doc-theme="swiss-manual"] .sidebar h2,
825
+ body[data-doc-theme="swiss-manual"] .doc-toc-title,
826
+ body[data-doc-theme="swiss-manual"] .breadcrumbs {
827
+ font-family: var(--doc-font-mono);
828
+ letter-spacing: 0.1em;
829
+ text-transform: uppercase;
830
+ }
831
+
832
+ body[data-doc-theme="swiss-manual"] .header-meta {
833
+ align-self: stretch;
834
+ justify-content: center;
835
+ padding-right: 1rem;
836
+ }
837
+
838
+ body[data-doc-theme="swiss-manual"] .header-action-btn {
839
+ border-color: var(--doc-rule-strong);
840
+ background: var(--doc-surface-raised);
841
+ font-weight: 700;
842
+ }
843
+
844
+ body[data-doc-theme="swiss-manual"] .header-action-btn:hover {
845
+ border-color: var(--linear-accent);
846
+ background: var(--linear-accent);
847
+ color: #ffffff;
848
+ }
849
+
850
+ body[data-doc-theme="swiss-manual"] .sidebar {
851
+ width: 270px;
852
+ min-width: 236px;
853
+ border-right: 1px solid var(--doc-rule-strong);
854
+ }
855
+
856
+ body[data-doc-theme="swiss-manual"] .sidebar h2 {
857
+ padding: 1rem;
858
+ border-bottom: 1px solid var(--doc-rule-strong);
859
+ background: var(--linear-text);
860
+ color: var(--linear-bg);
861
+ }
862
+
863
+ body[data-doc-theme="swiss-manual"] .tree-nav {
864
+ padding-inline: 0;
865
+ }
866
+
867
+ body[data-doc-theme="swiss-manual"] .dir-toggle,
868
+ body[data-doc-theme="swiss-manual"] .file-link {
869
+ margin: 0;
870
+ padding: 0.55rem 0.75rem;
871
+ border-bottom: 1px solid var(--linear-border);
872
+ }
873
+
874
+ body[data-doc-theme="swiss-manual"] .file-link.active {
875
+ border-left: 6px solid var(--linear-accent);
876
+ background: var(--doc-surface-raised);
877
+ color: var(--linear-text);
878
+ font-weight: 800;
879
+ }
880
+
881
+ body[data-doc-theme="swiss-manual"] .main-content {
882
+ padding: 0;
883
+ background: var(--doc-surface-raised);
884
+ }
885
+
886
+ body[data-doc-theme="swiss-manual"] .breadcrumbs {
887
+ margin: 0;
888
+ padding: 0.85rem 1.5rem;
889
+ border-bottom: 1px solid var(--doc-rule-strong);
890
+ background: var(--linear-bg-subtle);
891
+ font-size: 0.65rem;
892
+ }
893
+
894
+ body[data-doc-theme="swiss-manual"] .doc-layout {
895
+ width: 100%;
896
+ gap: 0;
897
+ }
898
+
899
+ body[data-doc-theme="swiss-manual"] .markdown-body {
900
+ width: min(var(--doc-reading-width), 100%);
901
+ padding: clamp(2.5rem, 6vw, 6rem);
902
+ border-right: 1px solid var(--doc-rule-strong);
903
+ font-size: 0.95rem;
904
+ line-height: 1.72;
905
+ }
906
+
907
+ body[data-doc-theme="swiss-manual"] .markdown-body h1 {
908
+ margin-bottom: 2.5rem;
909
+ padding: 0 0 1.5rem;
910
+ border-bottom: 3px solid var(--linear-text);
911
+ font-size: clamp(2.8rem, 6vw, 5.6rem);
912
+ font-weight: 800;
913
+ letter-spacing: -0.065em;
914
+ line-height: 0.98;
915
+ }
916
+
917
+ body[data-doc-theme="swiss-manual"] .markdown-body h2 {
918
+ display: grid;
919
+ grid-template-columns: 52px 1fr;
920
+ margin-top: 3rem;
921
+ padding-top: 1rem;
922
+ border-top: 2px solid var(--linear-text);
923
+ font-size: 1.35rem;
924
+ }
925
+
926
+ body[data-doc-theme="swiss-manual"] .markdown-body h2::before {
927
+ content: "";
928
+ width: 12px;
929
+ height: 12px;
930
+ margin-top: 0.28em;
931
+ background: var(--linear-accent);
932
+ }
933
+
934
+ body[data-doc-theme="swiss-manual"] .markdown-body blockquote {
935
+ border: 1px solid var(--linear-text);
936
+ border-left: 10px solid var(--linear-accent);
937
+ border-radius: 0;
938
+ background: transparent;
939
+ }
940
+
941
+ body[data-doc-theme="swiss-manual"] .doc-toc {
942
+ top: 0;
943
+ width: 220px;
944
+ flex-basis: 220px;
945
+ max-height: calc(100vh - 72px);
946
+ padding: 1.25rem;
947
+ border: 0;
948
+ border-radius: 0;
949
+ background: var(--linear-bg-subtle);
950
+ }
951
+
952
+ body[data-doc-theme="swiss-manual"] .dir-listing-page,
953
+ body[data-doc-theme="swiss-manual"] .welcome {
954
+ margin: 0;
955
+ padding: clamp(2rem, 6vw, 6rem);
956
+ }
957
+
958
+ /* Shared component refinements for the four independent profiles. */
959
+ body:not([data-doc-theme="slate-modern"]) .markdown-body code:not(pre code) {
960
+ border: 1px solid var(--linear-border);
961
+ border-radius: var(--linear-radius);
962
+ background: var(--linear-bg-subtle);
963
+ color: var(--linear-text);
964
+ }
965
+
966
+ body:not([data-doc-theme="slate-modern"]) .markdown-body pre,
967
+ body:not([data-doc-theme="slate-modern"]) .markdown-body .hljs {
968
+ border: 1px solid var(--doc-rule-strong);
969
+ border-radius: var(--linear-radius);
970
+ background: var(--doc-code-bg);
971
+ color: var(--doc-code-text);
972
+ }
973
+
974
+ body:not([data-doc-theme="slate-modern"]) .markdown-body table {
975
+ border-collapse: collapse;
976
+ }
977
+
978
+ body:not([data-doc-theme="slate-modern"]) .markdown-body th {
979
+ border-color: var(--doc-rule-strong);
980
+ background: var(--linear-bg-subtle);
981
+ color: var(--linear-text);
982
+ }
983
+
984
+ body:not([data-doc-theme="slate-modern"]) .markdown-body td {
985
+ border-color: var(--linear-border);
986
+ color: var(--linear-text);
987
+ }
988
+
989
+ body:not([data-doc-theme="slate-modern"]) .markdown-body tr {
990
+ border-color: var(--linear-border);
991
+ background: transparent;
992
+ }
993
+
994
+ body:not([data-doc-theme="slate-modern"]) .markdown-body tr:nth-child(2n) {
995
+ background: var(--linear-bg-subtle);
996
+ }
997
+
998
+ body:not([data-doc-theme="slate-modern"]) .markdown-body .mermaid {
999
+ border-color: var(--doc-rule-strong);
1000
+ border-radius: var(--linear-radius);
1001
+ background: var(--linear-bg-subtle);
1002
+ }
1003
+
1004
+ body:not([data-doc-theme="slate-modern"]) .sidebar-collapse-toggle {
1005
+ border-color: var(--doc-rule-strong);
1006
+ border-radius: var(--linear-radius);
1007
+ box-shadow: none;
1008
+ }
1009
+
1010
+ body:not([data-doc-theme="slate-modern"]) .brand-fallback {
1011
+ display: inline-flex;
1012
+ width: 1.2em;
1013
+ height: 1.2em;
1014
+ margin-right: 0.35em;
1015
+ align-items: center;
1016
+ justify-content: center;
1017
+ vertical-align: -0.18em;
1018
+ }
1019
+
1020
+ body:not([data-doc-theme="slate-modern"]) .brand-fallback-emoji,
1021
+ body:not([data-doc-theme="slate-modern"]) .tree-kind-icon {
1022
+ overflow: hidden;
1023
+ width: 0.72em;
1024
+ height: 0.72em;
1025
+ margin-right: 0.45em;
1026
+ color: transparent;
1027
+ background: currentColor;
1028
+ font-size: 1em;
1029
+ line-height: 0;
1030
+ }
1031
+
1032
+ body:not([data-doc-theme="slate-modern"]) .brand-fallback-emoji {
1033
+ display: none;
1034
+ }
1035
+
1036
+ body:not([data-doc-theme="slate-modern"]) .brand-fallback-shape {
1037
+ display: block;
1038
+ width: 100%;
1039
+ height: 100%;
1040
+ border: 1px solid currentColor;
1041
+ background: linear-gradient(90deg, var(--linear-accent) 0 34%, transparent 34% 100%);
1042
+ }
1043
+
1044
+ body[data-doc-theme="editorial-atlas"] .tree-kind-icon {
1045
+ border-radius: 50%;
1046
+ }
1047
+
1048
+ body[data-doc-theme="archive-room"] .tree-kind-icon-directory {
1049
+ background: #a5523d;
1050
+ }
1051
+
1052
+ body[data-doc-theme="swiss-manual"] .tree-kind-icon {
1053
+ width: 0.55em;
1054
+ height: 0.55em;
1055
+ background: var(--linear-accent);
1056
+ }
1057
+
1058
+ body:not([data-doc-theme="slate-modern"]).not-found-page .not-found-main {
1059
+ padding: clamp(1rem, 4vw, 4rem);
1060
+ background: var(--linear-bg);
1061
+ }
1062
+
1063
+ body:not([data-doc-theme="slate-modern"]).not-found-page .deep-space-404 {
1064
+ --space-card-bg: var(--doc-surface-raised);
1065
+ --space-scene: none;
1066
+ --space-border: var(--doc-rule-strong);
1067
+ --space-card-color: var(--linear-text);
1068
+ --space-card-shadow: none;
1069
+ --space-overlay: none;
1070
+ --space-mobile-overlay: none;
1071
+ --space-vignette: none;
1072
+ --space-eyebrow: var(--linear-text-muted);
1073
+ --space-code: var(--linear-accent);
1074
+ --space-code-shadow: transparent;
1075
+ --space-heading: var(--linear-text);
1076
+ --space-description: var(--linear-text-muted);
1077
+ --space-path-border: var(--linear-border);
1078
+ --space-path-bg: var(--linear-bg-subtle);
1079
+ --space-path-label: var(--linear-text-muted);
1080
+ --space-path-code: var(--linear-text);
1081
+ --space-primary-bg: var(--linear-accent);
1082
+ --space-primary-hover: var(--linear-accent-hover);
1083
+ --space-primary-color: #ffffff;
1084
+ --space-secondary-border: var(--doc-rule-strong);
1085
+ --space-secondary-bg: transparent;
1086
+ --space-secondary-color: var(--linear-text);
1087
+ --space-secondary-hover-bg: var(--linear-bg-subtle);
1088
+ --space-secondary-hover-border: var(--linear-text);
1089
+ --space-focus: var(--linear-accent);
1090
+ --space-caption: var(--linear-text-muted);
1091
+ border-radius: var(--linear-radius);
1092
+ background: var(--doc-surface-raised);
1093
+ animation: none;
1094
+ }
1095
+
1096
+ body:not([data-doc-theme="slate-modern"]).not-found-page .deep-space-404::before,
1097
+ body:not([data-doc-theme="slate-modern"]).not-found-page .deep-space-404::after {
1098
+ display: none;
1099
+ }
1100
+
1101
+ body:not([data-doc-theme="slate-modern"]).not-found-page .deep-space-404__content,
1102
+ body:not([data-doc-theme="slate-modern"]).not-found-page .deep-space-404__code {
1103
+ animation: none;
1104
+ }
1105
+
1106
+ body[data-doc-theme="editorial-atlas"].not-found-page .deep-space-404__content,
1107
+ body[data-doc-theme="archive-room"].not-found-page .deep-space-404__content {
1108
+ font-family: var(--doc-font-reading);
1109
+ }
1110
+
1111
+ body[data-doc-theme="swiss-manual"].not-found-page .deep-space-404 {
1112
+ border-width: 2px;
1113
+ }
1114
+
1115
+ body[data-doc-theme="swiss-manual"].not-found-page .deep-space-404__code {
1116
+ font-family: var(--doc-font-mono);
1117
+ font-weight: 900;
1118
+ }
1119
+
1120
+ @media (max-width: 1320px) {
1121
+ body[data-doc-theme="precision-index"] .markdown-body,
1122
+ body[data-doc-theme="swiss-manual"] .markdown-body {
1123
+ border-right: 0;
1124
+ }
1125
+ }
1126
+
1127
+ @media (max-width: 768px) {
1128
+ .theme-style-toggle {
1129
+ min-width: 44px;
1130
+ }
1131
+
1132
+ .theme-style-text,
1133
+ .theme-chevron {
1134
+ display: none;
1135
+ }
1136
+
1137
+ .theme-popover {
1138
+ position: fixed;
1139
+ top: auto;
1140
+ right: max(12px, env(safe-area-inset-right));
1141
+ bottom: max(12px, env(safe-area-inset-bottom));
1142
+ left: max(12px, env(safe-area-inset-left));
1143
+ width: auto;
1144
+ max-height: min(680px, calc(100vh - 24px));
1145
+ overflow-y: auto;
1146
+ }
1147
+
1148
+ body[data-doc-theme="editorial-atlas"] .main-content,
1149
+ body[data-doc-theme="archive-room"] .main-content {
1150
+ padding: 1.25rem;
1151
+ }
1152
+
1153
+ body[data-doc-theme="archive-room"] .markdown-body {
1154
+ padding: 1.25rem;
1155
+ box-shadow: 4px 4px 0 var(--linear-border);
1156
+ }
1157
+
1158
+ body[data-doc-theme="precision-index"] .main-content,
1159
+ body[data-doc-theme="swiss-manual"] .main-content {
1160
+ padding: 0;
1161
+ }
1162
+
1163
+ body[data-doc-theme="precision-index"] .markdown-body,
1164
+ body[data-doc-theme="swiss-manual"] .markdown-body {
1165
+ padding: 1.25rem;
1166
+ }
1167
+
1168
+ body[data-doc-theme="precision-index"] .markdown-body h1,
1169
+ body[data-doc-theme="swiss-manual"] .markdown-body h1 {
1170
+ font-size: clamp(2rem, 12vw, 3.25rem);
1171
+ }
1172
+
1173
+ body[data-doc-theme="swiss-manual"] .header-title-group {
1174
+ min-width: 0;
1175
+ border-right: 0;
1176
+ }
1177
+
1178
+ body[data-doc-theme="swiss-manual"] .header,
1179
+ body[data-doc-theme="swiss-manual"] .header-content {
1180
+ min-height: 0;
1181
+ }
1182
+ }
1183
+
1184
+ @media (prefers-reduced-motion: reduce) {
1185
+ *,
1186
+ *::before,
1187
+ *::after {
1188
+ scroll-behavior: auto !important;
1189
+ animation-duration: 0.01ms !important;
1190
+ animation-iteration-count: 1 !important;
1191
+ transition-duration: 0.01ms !important;
1192
+ }
1193
+ }
1194
+
1195
+ @media print {
1196
+ .theme-style-toggle,
1197
+ .theme-popover {
1198
+ display: none !important;
1199
+ }
1200
+
1201
+ body[data-doc-theme="archive-room"] .markdown-body {
1202
+ border: 0;
1203
+ box-shadow: none;
1204
+ }
1205
+ }