@bitbiz/pi-coding-agent-win32-x64 1.6.24

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,1004 @@
1
+ :root {
2
+ {{THEME_VARS}}
3
+ --body-bg: {{BODY_BG}};
4
+ --container-bg: {{CONTAINER_BG}};
5
+ --info-bg: {{INFO_BG}};
6
+ }
7
+
8
+ * { margin: 0; padding: 0; box-sizing: border-box; }
9
+
10
+ html {
11
+ color-scheme: var(--exportColorScheme);
12
+ scrollbar-color: color-mix(in srgb, var(--muted) 72%, var(--container-bg))
13
+ color-mix(in srgb, var(--container-bg) 92%, var(--text));
14
+ scrollbar-width: thin;
15
+ }
16
+
17
+ *::-webkit-scrollbar {
18
+ width: 11px;
19
+ height: 11px;
20
+ }
21
+
22
+ *::-webkit-scrollbar-track,
23
+ *::-webkit-scrollbar-corner {
24
+ background: color-mix(in srgb, var(--container-bg) 92%, var(--text));
25
+ }
26
+
27
+ *::-webkit-scrollbar-thumb {
28
+ min-width: 32px;
29
+ min-height: 32px;
30
+ background: color-mix(in srgb, var(--muted) 72%, var(--container-bg));
31
+ border: 2px solid color-mix(in srgb, var(--container-bg) 92%, var(--text));
32
+ border-radius: 999px;
33
+ }
34
+
35
+ *::-webkit-scrollbar-thumb:hover {
36
+ background: color-mix(in srgb, var(--accent) 72%, var(--container-bg));
37
+ }
38
+
39
+ *::-webkit-scrollbar-thumb:active {
40
+ background: var(--accent);
41
+ }
42
+
43
+ :root {
44
+ --line-height: 18px; /* 12px font * 1.5 */
45
+ }
46
+
47
+ body {
48
+ font-family: ui-monospace, Menlo, Monaco, Consolas, monospace;
49
+ font-size: 12px;
50
+ line-height: var(--line-height);
51
+ color: var(--text);
52
+ background: var(--body-bg);
53
+ }
54
+
55
+ #app {
56
+ display: flex;
57
+ min-height: 100vh;
58
+ }
59
+
60
+ /* Sidebar */
61
+ #sidebar {
62
+ width: 400px;
63
+ background: var(--container-bg);
64
+ flex-shrink: 0;
65
+ display: flex;
66
+ flex-direction: column;
67
+ position: sticky;
68
+ top: 0;
69
+ height: 100vh;
70
+ border-right: 1px solid var(--dim);
71
+ }
72
+
73
+ .sidebar-header {
74
+ padding: 8px 12px;
75
+ flex-shrink: 0;
76
+ }
77
+
78
+ .sidebar-controls {
79
+ padding: 8px 8px 4px 8px;
80
+ }
81
+
82
+ .sidebar-search {
83
+ width: 100%;
84
+ box-sizing: border-box;
85
+ padding: 4px 8px;
86
+ font-size: 11px;
87
+ font-family: inherit;
88
+ background: var(--body-bg);
89
+ color: var(--text);
90
+ border: 1px solid var(--dim);
91
+ border-radius: 3px;
92
+ }
93
+
94
+ .sidebar-filters {
95
+ display: flex;
96
+ padding: 4px 8px 8px 8px;
97
+ gap: 4px;
98
+ align-items: center;
99
+ flex-wrap: wrap;
100
+ }
101
+
102
+ .sidebar-search:focus {
103
+ outline: none;
104
+ border-color: var(--accent);
105
+ }
106
+
107
+ .sidebar-search::placeholder {
108
+ color: var(--muted);
109
+ }
110
+
111
+ .filter-btn {
112
+ padding: 3px 8px;
113
+ font-size: 10px;
114
+ font-family: inherit;
115
+ background: transparent;
116
+ color: var(--muted);
117
+ border: 1px solid var(--dim);
118
+ border-radius: 3px;
119
+ cursor: pointer;
120
+ }
121
+
122
+ .filter-btn:hover {
123
+ color: var(--text);
124
+ border-color: var(--text);
125
+ }
126
+
127
+ .filter-btn.active {
128
+ background: var(--accent);
129
+ color: var(--body-bg);
130
+ border-color: var(--accent);
131
+ }
132
+
133
+ .sidebar-close {
134
+ display: none;
135
+ padding: 3px 8px;
136
+ font-size: 12px;
137
+ font-family: inherit;
138
+ background: transparent;
139
+ color: var(--muted);
140
+ border: 1px solid var(--dim);
141
+ border-radius: 3px;
142
+ cursor: pointer;
143
+ margin-left: auto;
144
+ }
145
+
146
+ .sidebar-close:hover {
147
+ color: var(--text);
148
+ border-color: var(--text);
149
+ }
150
+
151
+ .tree-container {
152
+ flex: 1;
153
+ overflow: auto;
154
+ padding: 4px 0;
155
+ }
156
+
157
+ .tree-node {
158
+ padding: 0 8px;
159
+ cursor: pointer;
160
+ display: flex;
161
+ align-items: baseline;
162
+ font-size: 11px;
163
+ line-height: 13px;
164
+ white-space: nowrap;
165
+ }
166
+
167
+ .tree-node:hover {
168
+ background: var(--selectedBg);
169
+ }
170
+
171
+ .tree-node.active {
172
+ background: var(--selectedBg);
173
+ }
174
+
175
+ .tree-node.active .tree-content {
176
+ font-weight: bold;
177
+ }
178
+
179
+ .tree-node.in-path {
180
+ background: color-mix(in srgb, var(--accent) 10%, transparent);
181
+ }
182
+
183
+ .tree-node:not(.in-path) {
184
+ opacity: 0.5;
185
+ }
186
+
187
+ .tree-node:not(.in-path):hover {
188
+ opacity: 1;
189
+ }
190
+
191
+ .tree-prefix {
192
+ color: var(--muted);
193
+ flex-shrink: 0;
194
+ font-family: monospace;
195
+ white-space: pre;
196
+ }
197
+
198
+ .tree-marker {
199
+ color: var(--accent);
200
+ flex-shrink: 0;
201
+ }
202
+
203
+ .tree-content {
204
+ color: var(--text);
205
+ }
206
+
207
+ .tree-role-user {
208
+ color: var(--accent);
209
+ }
210
+
211
+ .tree-role-assistant {
212
+ color: var(--success);
213
+ }
214
+
215
+ .tree-role-tool {
216
+ color: var(--muted);
217
+ }
218
+
219
+ .tree-muted {
220
+ color: var(--muted);
221
+ }
222
+
223
+ .tree-error {
224
+ color: var(--error);
225
+ }
226
+
227
+ .tree-compaction {
228
+ color: var(--borderAccent);
229
+ }
230
+
231
+ .tree-branch-summary {
232
+ color: var(--warning);
233
+ }
234
+
235
+ .tree-custom-message {
236
+ color: var(--customMessageLabel);
237
+ }
238
+
239
+ .tree-status {
240
+ padding: 4px 12px;
241
+ font-size: 10px;
242
+ color: var(--muted);
243
+ flex-shrink: 0;
244
+ }
245
+
246
+ /* Main content */
247
+ #content {
248
+ flex: 1;
249
+ overflow-y: auto;
250
+ padding: var(--line-height) calc(var(--line-height) * 2);
251
+ display: flex;
252
+ flex-direction: column;
253
+ align-items: center;
254
+ }
255
+
256
+ #content > * {
257
+ width: 100%;
258
+ max-width: 800px;
259
+ }
260
+
261
+ /* Help bar */
262
+ .help-bar {
263
+ font-size: 11px;
264
+ color: var(--warning);
265
+ margin-bottom: var(--line-height);
266
+ display: flex;
267
+ align-items: center;
268
+ gap: 12px;
269
+ }
270
+
271
+ .download-json-btn {
272
+ font-size: 10px;
273
+ padding: 2px 8px;
274
+ background: var(--container-bg);
275
+ border: 1px solid var(--border);
276
+ border-radius: 3px;
277
+ color: var(--text);
278
+ cursor: pointer;
279
+ font-family: inherit;
280
+ }
281
+
282
+ .download-json-btn:hover {
283
+ background: var(--hover);
284
+ border-color: var(--borderAccent);
285
+ }
286
+
287
+ /* Header */
288
+ .header {
289
+ background: var(--container-bg);
290
+ border-radius: 4px;
291
+ padding: var(--line-height);
292
+ margin-bottom: var(--line-height);
293
+ }
294
+
295
+ .header h1 {
296
+ font-size: 12px;
297
+ font-weight: bold;
298
+ color: var(--borderAccent);
299
+ margin-bottom: var(--line-height);
300
+ }
301
+
302
+ .header-info {
303
+ display: flex;
304
+ flex-direction: column;
305
+ gap: 0;
306
+ font-size: 11px;
307
+ }
308
+
309
+ .info-item {
310
+ color: var(--dim);
311
+ display: flex;
312
+ align-items: baseline;
313
+ }
314
+
315
+ .info-label {
316
+ font-weight: 600;
317
+ margin-right: 8px;
318
+ min-width: 100px;
319
+ }
320
+
321
+ .info-value {
322
+ color: var(--text);
323
+ flex: 1;
324
+ }
325
+
326
+ /* Messages */
327
+ #messages {
328
+ display: flex;
329
+ flex-direction: column;
330
+ gap: var(--line-height);
331
+ }
332
+
333
+ .message-timestamp {
334
+ font-size: 10px;
335
+ color: var(--dim);
336
+ opacity: 0.8;
337
+ }
338
+
339
+ .user-message {
340
+ background: var(--userMessageBg);
341
+ color: var(--userMessageText);
342
+ padding: var(--line-height);
343
+ border-radius: 4px;
344
+ position: relative;
345
+ }
346
+
347
+ .assistant-message {
348
+ padding: 0;
349
+ position: relative;
350
+ }
351
+
352
+ /* Copy link button - appears on hover */
353
+ .copy-link-btn {
354
+ position: absolute;
355
+ top: 8px;
356
+ right: 8px;
357
+ width: 28px;
358
+ height: 28px;
359
+ padding: 6px;
360
+ background: var(--container-bg);
361
+ border: 1px solid var(--dim);
362
+ border-radius: 4px;
363
+ color: var(--muted);
364
+ cursor: pointer;
365
+ opacity: 0;
366
+ transition: opacity 0.15s, background 0.15s, color 0.15s;
367
+ display: flex;
368
+ align-items: center;
369
+ justify-content: center;
370
+ z-index: 10;
371
+ }
372
+
373
+ .user-message:hover .copy-link-btn,
374
+ .assistant-message:hover .copy-link-btn {
375
+ opacity: 1;
376
+ }
377
+
378
+ .copy-link-btn:hover {
379
+ background: var(--accent);
380
+ color: var(--body-bg);
381
+ border-color: var(--accent);
382
+ }
383
+
384
+ .copy-link-btn.copied {
385
+ background: var(--success, #22c55e);
386
+ color: white;
387
+ border-color: var(--success, #22c55e);
388
+ }
389
+
390
+ /* Highlight effect for deep-linked messages */
391
+ .user-message.highlight,
392
+ .assistant-message.highlight {
393
+ animation: highlight-pulse 2s ease-out;
394
+ }
395
+
396
+ @keyframes highlight-pulse {
397
+ 0% {
398
+ box-shadow: 0 0 0 3px var(--accent);
399
+ }
400
+ 100% {
401
+ box-shadow: 0 0 0 0 transparent;
402
+ }
403
+ }
404
+
405
+ .assistant-message > .message-timestamp {
406
+ padding-left: var(--line-height);
407
+ }
408
+
409
+ .assistant-text {
410
+ padding: var(--line-height);
411
+ padding-bottom: 0;
412
+ }
413
+
414
+ .message-timestamp + .assistant-text,
415
+ .message-timestamp + .thinking-block {
416
+ padding-top: 0;
417
+ }
418
+
419
+ .thinking-block + .assistant-text {
420
+ padding-top: 0;
421
+ }
422
+
423
+ .thinking-text {
424
+ padding: var(--line-height);
425
+ color: var(--thinkingText);
426
+ font-style: italic;
427
+ white-space: pre-wrap;
428
+ }
429
+
430
+ .message-timestamp + .thinking-block .thinking-text,
431
+ .message-timestamp + .thinking-block .thinking-collapsed {
432
+ padding-top: 0;
433
+ }
434
+
435
+ .thinking-collapsed {
436
+ display: none;
437
+ padding: var(--line-height);
438
+ color: var(--thinkingText);
439
+ font-style: italic;
440
+ }
441
+
442
+ /* Tool execution */
443
+ .tool-execution {
444
+ padding: var(--line-height);
445
+ border-radius: 4px;
446
+ }
447
+
448
+ .tool-execution + .tool-execution {
449
+ margin-top: var(--line-height);
450
+ }
451
+
452
+ .assistant-text + .tool-execution {
453
+ margin-top: var(--line-height);
454
+ }
455
+
456
+ .tool-execution.pending { background: var(--toolPendingBg); }
457
+ .tool-execution.success { background: var(--toolSuccessBg); }
458
+ .tool-execution.error { background: var(--toolErrorBg); }
459
+
460
+ .tool-header, .tool-name {
461
+ font-weight: bold;
462
+ }
463
+
464
+ .tool-path {
465
+ color: var(--accent);
466
+ word-break: break-all;
467
+ }
468
+
469
+ .line-numbers {
470
+ color: var(--warning);
471
+ }
472
+
473
+ .line-count {
474
+ color: var(--dim);
475
+ }
476
+
477
+ .tool-command {
478
+ font-weight: bold;
479
+ white-space: pre-wrap;
480
+ word-wrap: break-word;
481
+ overflow-wrap: break-word;
482
+ word-break: break-word;
483
+ }
484
+
485
+ .tool-output {
486
+ margin-top: var(--line-height);
487
+ color: var(--toolOutput);
488
+ word-wrap: break-word;
489
+ overflow-wrap: break-word;
490
+ word-break: break-word;
491
+ font-family: inherit;
492
+ overflow-x: auto;
493
+ }
494
+
495
+ .tool-output > div,
496
+ .output-preview,
497
+ .output-full {
498
+ margin: 0;
499
+ padding: 0;
500
+ line-height: var(--line-height);
501
+ }
502
+
503
+ .tool-output pre {
504
+ margin: 0;
505
+ padding: 0;
506
+ font-family: inherit;
507
+ color: inherit;
508
+ white-space: pre-wrap;
509
+ word-wrap: break-word;
510
+ overflow-wrap: break-word;
511
+ }
512
+
513
+ .tool-output code {
514
+ padding: 0;
515
+ background: none;
516
+ color: var(--text);
517
+ }
518
+
519
+ .tool-output.expandable {
520
+ cursor: pointer;
521
+ }
522
+
523
+ .tool-output.expandable:hover {
524
+ opacity: 0.9;
525
+ }
526
+
527
+ .tool-output.expandable .output-full {
528
+ display: none;
529
+ }
530
+
531
+ .tool-output.expandable.expanded .output-preview {
532
+ display: none;
533
+ }
534
+
535
+ .tool-output.expandable.expanded .output-full {
536
+ display: block;
537
+ }
538
+
539
+ .ansi-line {
540
+ white-space: pre-wrap;
541
+ }
542
+
543
+ .tool-images {
544
+ }
545
+
546
+ .tool-image {
547
+ max-width: 100%;
548
+ max-height: 500px;
549
+ border-radius: 4px;
550
+ margin: var(--line-height) 0;
551
+ }
552
+
553
+ .expand-hint {
554
+ color: var(--toolOutput);
555
+ }
556
+
557
+ /* Diff */
558
+ .tool-diff {
559
+ font-size: 11px;
560
+ overflow-x: auto;
561
+ white-space: pre;
562
+ }
563
+
564
+ .diff-added { color: var(--toolDiffAdded); }
565
+ .diff-removed { color: var(--toolDiffRemoved); }
566
+ .diff-context { color: var(--toolDiffContext); }
567
+
568
+ /* Model change */
569
+ .model-change {
570
+ padding: 0 var(--line-height);
571
+ color: var(--dim);
572
+ font-size: 11px;
573
+ }
574
+
575
+ .model-name {
576
+ color: var(--borderAccent);
577
+ font-weight: bold;
578
+ }
579
+
580
+ /* Compaction / Branch Summary - matches customMessage colors from TUI */
581
+ .compaction {
582
+ background: var(--customMessageBg);
583
+ border-radius: 4px;
584
+ padding: var(--line-height);
585
+ cursor: pointer;
586
+ }
587
+
588
+ .compaction-label {
589
+ color: var(--customMessageLabel);
590
+ font-weight: bold;
591
+ }
592
+
593
+ .compaction-collapsed {
594
+ color: var(--customMessageText);
595
+ }
596
+
597
+ .compaction-content {
598
+ display: none;
599
+ color: var(--customMessageText);
600
+ white-space: pre-wrap;
601
+ margin-top: var(--line-height);
602
+ }
603
+
604
+ .compaction.expanded .compaction-collapsed {
605
+ display: none;
606
+ }
607
+
608
+ .compaction.expanded .compaction-content {
609
+ display: block;
610
+ }
611
+
612
+ /* System prompt */
613
+ .system-prompt {
614
+ background: var(--customMessageBg);
615
+ padding: var(--line-height);
616
+ border-radius: 4px;
617
+ margin-bottom: var(--line-height);
618
+ }
619
+
620
+ .system-prompt.expandable {
621
+ cursor: pointer;
622
+ }
623
+
624
+ .system-prompt-header {
625
+ font-weight: bold;
626
+ color: var(--customMessageLabel);
627
+ }
628
+
629
+ .system-prompt-preview {
630
+ color: var(--customMessageText);
631
+ white-space: pre-wrap;
632
+ word-wrap: break-word;
633
+ font-size: 11px;
634
+ margin-top: var(--line-height);
635
+ }
636
+
637
+ .system-prompt-expand-hint {
638
+ color: var(--muted);
639
+ font-style: italic;
640
+ margin-top: 4px;
641
+ }
642
+
643
+ .system-prompt-full {
644
+ display: none;
645
+ color: var(--customMessageText);
646
+ white-space: pre-wrap;
647
+ word-wrap: break-word;
648
+ font-size: 11px;
649
+ margin-top: var(--line-height);
650
+ }
651
+
652
+ .system-prompt.expanded .system-prompt-preview,
653
+ .system-prompt.expanded .system-prompt-expand-hint {
654
+ display: none;
655
+ }
656
+
657
+ .system-prompt.expanded .system-prompt-full {
658
+ display: block;
659
+ }
660
+
661
+ .system-prompt.provider-prompt {
662
+ border-left: 3px solid var(--warning);
663
+ }
664
+
665
+ .system-prompt-note {
666
+ font-size: 10px;
667
+ font-style: italic;
668
+ color: var(--muted);
669
+ margin-top: 4px;
670
+ }
671
+
672
+ /* Tools list */
673
+ .tools-list {
674
+ background: var(--customMessageBg);
675
+ padding: var(--line-height);
676
+ border-radius: 4px;
677
+ margin-bottom: var(--line-height);
678
+ }
679
+
680
+ .tools-header {
681
+ font-weight: bold;
682
+ color: var(--customMessageLabel);
683
+ margin-bottom: var(--line-height);
684
+ }
685
+
686
+ .tool-item {
687
+ font-size: 11px;
688
+ }
689
+
690
+ .tool-item-name {
691
+ font-weight: bold;
692
+ color: var(--text);
693
+ }
694
+
695
+ .tool-item-desc {
696
+ color: var(--dim);
697
+ }
698
+
699
+ .tool-params-hint {
700
+ color: var(--muted);
701
+ font-style: italic;
702
+ }
703
+
704
+ .tool-item:has(.tool-params-hint) {
705
+ cursor: pointer;
706
+ }
707
+
708
+ .tool-params-hint::after {
709
+ content: '[click to show parameters]';
710
+ }
711
+
712
+ .tool-item.params-expanded .tool-params-hint::after {
713
+ content: '[hide parameters]';
714
+ }
715
+
716
+ .tool-params-content {
717
+ display: none;
718
+ margin-top: 4px;
719
+ margin-left: 12px;
720
+ padding-left: 8px;
721
+ border-left: 1px solid var(--dim);
722
+ }
723
+
724
+ .tool-item.params-expanded .tool-params-content {
725
+ display: block;
726
+ }
727
+
728
+ .tool-param {
729
+ margin-bottom: 4px;
730
+ font-size: 11px;
731
+ }
732
+
733
+ .tool-param-name {
734
+ font-weight: bold;
735
+ color: var(--text);
736
+ }
737
+
738
+ .tool-param-type {
739
+ color: var(--dim);
740
+ font-style: italic;
741
+ }
742
+
743
+ .tool-param-required {
744
+ color: var(--warning, #e8a838);
745
+ font-size: 10px;
746
+ }
747
+
748
+ .tool-param-optional {
749
+ color: var(--dim);
750
+ font-size: 10px;
751
+ }
752
+
753
+ .tool-param-desc {
754
+ color: var(--dim);
755
+ margin-left: 8px;
756
+ }
757
+
758
+ /* Hook/custom messages */
759
+ .hook-message {
760
+ background: var(--customMessageBg);
761
+ color: var(--customMessageText);
762
+ padding: var(--line-height);
763
+ border-radius: 4px;
764
+ }
765
+
766
+ .hook-type {
767
+ color: var(--customMessageLabel);
768
+ font-weight: bold;
769
+ }
770
+
771
+ /* Branch summary */
772
+ .branch-summary {
773
+ background: var(--customMessageBg);
774
+ padding: var(--line-height);
775
+ border-radius: 4px;
776
+ }
777
+
778
+ .branch-summary-header {
779
+ font-weight: bold;
780
+ color: var(--borderAccent);
781
+ }
782
+
783
+ /* Error */
784
+ .error-text {
785
+ color: var(--error);
786
+ padding: 0 var(--line-height);
787
+ }
788
+ .tool-error {
789
+ color: var(--error);
790
+ }
791
+
792
+ /* Images */
793
+ .message-images {
794
+ margin-bottom: 12px;
795
+ }
796
+
797
+ .message-image {
798
+ max-width: 100%;
799
+ max-height: 400px;
800
+ border-radius: 4px;
801
+ margin: var(--line-height) 0;
802
+ }
803
+
804
+ /* Markdown content */
805
+ .markdown-content h1,
806
+ .markdown-content h2,
807
+ .markdown-content h3,
808
+ .markdown-content h4,
809
+ .markdown-content h5,
810
+ .markdown-content h6 {
811
+ color: var(--mdHeading);
812
+ margin: var(--line-height) 0 0 0;
813
+ font-weight: bold;
814
+ }
815
+
816
+ .markdown-content h1 { font-size: 1em; }
817
+ .markdown-content h2 { font-size: 1em; }
818
+ .markdown-content h3 { font-size: 1em; }
819
+ .markdown-content h4 { font-size: 1em; }
820
+ .markdown-content h5 { font-size: 1em; }
821
+ .markdown-content h6 { font-size: 1em; }
822
+ .markdown-content p { margin: 0; }
823
+ .markdown-content p + p { margin-top: var(--line-height); }
824
+
825
+ .markdown-content a {
826
+ color: var(--mdLink);
827
+ text-decoration: underline;
828
+ }
829
+
830
+ .markdown-content code {
831
+ background: rgba(128, 128, 128, 0.2);
832
+ color: var(--mdCode);
833
+ padding: 0 4px;
834
+ border-radius: 3px;
835
+ font-family: inherit;
836
+ }
837
+
838
+ .markdown-content pre {
839
+ background: transparent;
840
+ margin: var(--line-height) 0;
841
+ overflow-x: auto;
842
+ }
843
+
844
+ .markdown-content pre code {
845
+ display: block;
846
+ background: none;
847
+ color: var(--text);
848
+ }
849
+
850
+ .markdown-content blockquote {
851
+ border-left: 3px solid var(--mdQuoteBorder);
852
+ padding-left: var(--line-height);
853
+ margin: var(--line-height) 0;
854
+ color: var(--mdQuote);
855
+ font-style: italic;
856
+ }
857
+
858
+ .markdown-content ul,
859
+ .markdown-content ol {
860
+ margin: var(--line-height) 0;
861
+ padding-left: calc(var(--line-height) * 2);
862
+ }
863
+
864
+ .markdown-content li { margin: 0; }
865
+ .markdown-content li::marker { color: var(--mdListBullet); }
866
+
867
+ .markdown-content hr {
868
+ border: none;
869
+ border-top: 1px solid var(--mdHr);
870
+ margin: var(--line-height) 0;
871
+ }
872
+
873
+ .markdown-content table {
874
+ border-collapse: collapse;
875
+ margin: 0.5em 0;
876
+ width: 100%;
877
+ }
878
+
879
+ .markdown-content th,
880
+ .markdown-content td {
881
+ border: 1px solid var(--mdCodeBlockBorder);
882
+ padding: 6px 10px;
883
+ text-align: left;
884
+ }
885
+
886
+ .markdown-content th {
887
+ background: rgba(128, 128, 128, 0.1);
888
+ font-weight: bold;
889
+ }
890
+
891
+ .markdown-content img {
892
+ max-width: 100%;
893
+ border-radius: 4px;
894
+ }
895
+
896
+ /* Syntax highlighting */
897
+ .hljs { background: transparent; color: var(--text); }
898
+ .hljs-comment, .hljs-quote { color: var(--syntaxComment); }
899
+ .hljs-keyword, .hljs-selector-tag { color: var(--syntaxKeyword); }
900
+ .hljs-number, .hljs-literal { color: var(--syntaxNumber); }
901
+ .hljs-string, .hljs-doctag { color: var(--syntaxString); }
902
+ /* Function names: hljs v11 uses .hljs-title.function_ compound class */
903
+ .hljs-function, .hljs-title, .hljs-title.function_, .hljs-section, .hljs-name { color: var(--syntaxFunction); }
904
+ /* Types: hljs v11 uses .hljs-title.class_ for class names */
905
+ .hljs-type, .hljs-class, .hljs-title.class_, .hljs-built_in { color: var(--syntaxType); }
906
+ .hljs-attr, .hljs-variable, .hljs-variable.language_, .hljs-params, .hljs-property { color: var(--syntaxVariable); }
907
+ .hljs-meta, .hljs-meta .hljs-keyword, .hljs-meta .hljs-string { color: var(--syntaxKeyword); }
908
+ .hljs-operator { color: var(--syntaxOperator); }
909
+ .hljs-punctuation { color: var(--syntaxPunctuation); }
910
+ .hljs-subst { color: var(--text); }
911
+
912
+ /* Footer */
913
+ .footer {
914
+ margin-top: 48px;
915
+ padding: 20px;
916
+ text-align: center;
917
+ color: var(--dim);
918
+ font-size: 10px;
919
+ }
920
+
921
+ /* Mobile */
922
+ #hamburger {
923
+ display: none;
924
+ position: fixed;
925
+ top: 10px;
926
+ left: 10px;
927
+ z-index: 100;
928
+ padding: 3px 8px;
929
+ font-size: 12px;
930
+ font-family: inherit;
931
+ background: transparent;
932
+ color: var(--muted);
933
+ border: 1px solid var(--dim);
934
+ border-radius: 3px;
935
+ cursor: pointer;
936
+ }
937
+
938
+ #hamburger:hover {
939
+ color: var(--text);
940
+ border-color: var(--text);
941
+ }
942
+
943
+
944
+
945
+ #sidebar-overlay {
946
+ display: none;
947
+ position: fixed;
948
+ top: 0;
949
+ left: 0;
950
+ right: 0;
951
+ bottom: 0;
952
+ background: rgba(0, 0, 0, 0.5);
953
+ z-index: 98;
954
+ }
955
+
956
+ @media (max-width: 900px) {
957
+ #sidebar {
958
+ position: fixed;
959
+ left: -400px;
960
+ width: 400px;
961
+ top: 0;
962
+ bottom: 0;
963
+ height: 100vh;
964
+ z-index: 99;
965
+ transition: left 0.3s;
966
+ }
967
+
968
+ #sidebar.open {
969
+ left: 0;
970
+ }
971
+
972
+ #sidebar-overlay.open {
973
+ display: block;
974
+ }
975
+
976
+ #hamburger {
977
+ display: block;
978
+ }
979
+
980
+ .sidebar-close {
981
+ display: block;
982
+ }
983
+
984
+ #content {
985
+ padding: var(--line-height) 16px;
986
+ }
987
+
988
+ #content > * {
989
+ max-width: 100%;
990
+ }
991
+ }
992
+
993
+ @media (max-width: 500px) {
994
+ #sidebar {
995
+ width: 100vw;
996
+ left: -100vw;
997
+ }
998
+ }
999
+
1000
+ @media print {
1001
+ #sidebar, #sidebar-toggle { display: none !important; }
1002
+ body { background: white; color: black; }
1003
+ #content { max-width: none; }
1004
+ }