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