mdv-live 0.1.15__py3-none-any.whl

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.

Potentially problematic release.


This version of mdv-live might be problematic. Click here for more details.

mdv/static/styles.css ADDED
@@ -0,0 +1,776 @@
1
+ /**
2
+ * MDV - Markdown Viewer Styles
3
+ */
4
+
5
+ /* ============================================================
6
+ CSS Variables (Theme)
7
+ ============================================================ */
8
+
9
+ :root {
10
+ --bg-primary: #1e1e2e;
11
+ --bg-secondary: #181825;
12
+ --bg-tertiary: #313244;
13
+ --text-primary: #cdd6f4;
14
+ --text-secondary: #a6adc8;
15
+ --text-muted: #6c7086;
16
+ --accent: #89b4fa;
17
+ --accent-hover: #b4befe;
18
+ --border: #45475a;
19
+ --scrollbar: #45475a;
20
+ --scrollbar-hover: #585b70;
21
+ --tab-active: #313244;
22
+ --tab-hover: #262637;
23
+ }
24
+
25
+ [data-theme="light"] {
26
+ --bg-primary: #ffffff;
27
+ --bg-secondary: #f5f5f5;
28
+ --bg-tertiary: #e8e8e8;
29
+ --text-primary: #1a1a1a;
30
+ --text-secondary: #4a4a4a;
31
+ --text-muted: #6a6a6a;
32
+ --accent: #0066cc;
33
+ --accent-hover: #0052a3;
34
+ --border: #d0d0d0;
35
+ --scrollbar: #c0c0c0;
36
+ --scrollbar-hover: #a0a0a0;
37
+ --tab-active: #ffffff;
38
+ --tab-hover: #e8e8e8;
39
+ }
40
+
41
+ /* ============================================================
42
+ Base Styles
43
+ ============================================================ */
44
+
45
+ * {
46
+ margin: 0;
47
+ padding: 0;
48
+ box-sizing: border-box;
49
+ }
50
+
51
+ body {
52
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
53
+ background: var(--bg-primary);
54
+ color: var(--text-primary);
55
+ height: 100vh;
56
+ overflow: hidden;
57
+ transition: background 0.2s, color 0.2s;
58
+ }
59
+
60
+ .container {
61
+ display: flex;
62
+ height: 100vh;
63
+ }
64
+
65
+ /* ============================================================
66
+ Sidebar
67
+ ============================================================ */
68
+
69
+ .sidebar {
70
+ width: 280px;
71
+ min-width: 0;
72
+ max-width: 500px;
73
+ background: var(--bg-secondary);
74
+ border-right: 1px solid var(--border);
75
+ display: flex;
76
+ flex-direction: column;
77
+ overflow: hidden;
78
+ transition: width 0.2s, background 0.2s;
79
+ }
80
+
81
+ .sidebar.collapsed {
82
+ width: 0 !important;
83
+ border-right: none;
84
+ }
85
+
86
+ .sidebar-header {
87
+ padding: 8px 16px;
88
+ font-weight: 600;
89
+ font-size: 14px;
90
+ color: var(--text-secondary);
91
+ display: flex;
92
+ align-items: center;
93
+ gap: 8px;
94
+ white-space: nowrap;
95
+ min-height: 45px;
96
+ }
97
+
98
+ .sidebar-header svg {
99
+ width: 18px;
100
+ height: 18px;
101
+ flex-shrink: 0;
102
+ }
103
+
104
+ /* ============================================================
105
+ File Tree
106
+ ============================================================ */
107
+
108
+ .file-tree {
109
+ flex: 1;
110
+ overflow-y: auto;
111
+ overflow-x: hidden;
112
+ padding: 8px 0;
113
+ }
114
+
115
+ .file-tree::-webkit-scrollbar { width: 8px; }
116
+ .file-tree::-webkit-scrollbar-track { background: transparent; }
117
+ .file-tree::-webkit-scrollbar-thumb { background: var(--scrollbar); border-radius: 4px; }
118
+ .file-tree::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-hover); }
119
+
120
+ .tree-item { user-select: none; }
121
+
122
+ .tree-item-content {
123
+ display: flex;
124
+ align-items: center;
125
+ gap: 6px;
126
+ padding: 6px 12px;
127
+ cursor: pointer;
128
+ font-size: 13px;
129
+ color: var(--text-secondary);
130
+ transition: background 0.1s, color 0.1s;
131
+ white-space: nowrap;
132
+ }
133
+
134
+ .tree-item-content:hover {
135
+ background: var(--bg-tertiary);
136
+ color: var(--text-primary);
137
+ }
138
+
139
+ .tree-item-content.active {
140
+ background: var(--bg-tertiary);
141
+ color: var(--accent);
142
+ }
143
+
144
+ .tree-item-content svg { width: 16px; height: 16px; flex-shrink: 0; }
145
+ .tree-item-content .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
146
+ .tree-children { padding-left: 16px; }
147
+ .tree-children.collapsed { display: none; }
148
+ .chevron { transition: transform 0.15s; }
149
+ .chevron.expanded { transform: rotate(90deg); }
150
+
151
+ /* ============================================================
152
+ Resize Handle
153
+ ============================================================ */
154
+
155
+ .resize-handle {
156
+ width: 6px;
157
+ cursor: col-resize;
158
+ background: var(--bg-secondary);
159
+ transition: background 0.2s;
160
+ position: relative;
161
+ }
162
+
163
+ .resize-handle::after {
164
+ content: '';
165
+ position: absolute;
166
+ top: 44px;
167
+ left: 0;
168
+ right: 0;
169
+ height: 1px;
170
+ background: var(--border);
171
+ }
172
+
173
+ .resize-handle:hover, .resize-handle.active {
174
+ background: var(--accent);
175
+ }
176
+
177
+ /* ============================================================
178
+ Main Content Area
179
+ ============================================================ */
180
+
181
+ .main {
182
+ flex: 1;
183
+ display: flex;
184
+ flex-direction: column;
185
+ overflow: hidden;
186
+ }
187
+
188
+ /* ============================================================
189
+ Toolbar
190
+ ============================================================ */
191
+
192
+ .toolbar {
193
+ padding: 8px 16px;
194
+ border-bottom: 1px solid var(--border);
195
+ display: flex;
196
+ align-items: center;
197
+ gap: 8px;
198
+ background: var(--bg-secondary);
199
+ min-height: 37px;
200
+ }
201
+
202
+ .toolbar-btn {
203
+ background: none;
204
+ border: 1px solid var(--border);
205
+ border-radius: 6px;
206
+ padding: 6px 10px;
207
+ cursor: pointer;
208
+ color: var(--text-secondary);
209
+ font-size: 12px;
210
+ display: flex;
211
+ align-items: center;
212
+ gap: 6px;
213
+ transition: all 0.2s;
214
+ }
215
+
216
+ .toolbar-btn:hover {
217
+ background: var(--bg-tertiary);
218
+ color: var(--text-primary);
219
+ }
220
+
221
+ .toolbar-btn svg { width: 14px; height: 14px; }
222
+
223
+ .toolbar-btn.active {
224
+ background: var(--accent);
225
+ color: white;
226
+ border-color: var(--accent);
227
+ }
228
+
229
+ .toolbar-spacer { flex: 1; }
230
+
231
+ .status {
232
+ display: flex;
233
+ align-items: center;
234
+ gap: 6px;
235
+ font-size: 12px;
236
+ color: var(--text-muted);
237
+ }
238
+
239
+ .status-dot {
240
+ width: 8px;
241
+ height: 8px;
242
+ border-radius: 50%;
243
+ background: #a6e3a1;
244
+ }
245
+
246
+ .status-dot.disconnected { background: #f38ba8; }
247
+
248
+ /* ============================================================
249
+ Tab Bar
250
+ ============================================================ */
251
+
252
+ .tab-bar {
253
+ display: flex;
254
+ background: var(--bg-secondary);
255
+ border-bottom: 1px solid var(--border);
256
+ overflow-x: auto;
257
+ }
258
+
259
+ .tab-bar:empty {
260
+ display: none;
261
+ }
262
+
263
+ .tab-bar::-webkit-scrollbar { height: 4px; }
264
+ .tab-bar::-webkit-scrollbar-thumb { background: var(--scrollbar); }
265
+
266
+ .tab {
267
+ display: flex;
268
+ align-items: center;
269
+ gap: 8px;
270
+ padding: 8px 16px;
271
+ font-size: 13px;
272
+ color: var(--text-muted);
273
+ background: transparent;
274
+ border: none;
275
+ border-top: 1px solid var(--border);
276
+ border-right: 1px solid var(--border);
277
+ cursor: pointer;
278
+ white-space: nowrap;
279
+ transition: all 0.1s;
280
+ }
281
+
282
+ .tab:first-child {
283
+ border-left: 1px solid var(--border);
284
+ }
285
+
286
+ .tab:hover {
287
+ background: var(--tab-hover);
288
+ color: var(--text-secondary);
289
+ }
290
+
291
+ .tab.active {
292
+ background: var(--tab-active);
293
+ color: var(--text-primary);
294
+ border-bottom: 2px solid var(--accent);
295
+ }
296
+
297
+ .tab-close {
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: center;
301
+ width: 16px;
302
+ height: 16px;
303
+ border-radius: 3px;
304
+ opacity: 0.5;
305
+ transition: all 0.1s;
306
+ }
307
+
308
+ .tab-close:hover {
309
+ opacity: 1;
310
+ background: var(--bg-tertiary);
311
+ }
312
+
313
+ .tab-close svg { width: 12px; height: 12px; }
314
+
315
+ /* ============================================================
316
+ Content Area
317
+ ============================================================ */
318
+
319
+ .content {
320
+ flex: 1;
321
+ overflow-y: auto;
322
+ padding: 32px 48px;
323
+ }
324
+
325
+ .content::-webkit-scrollbar { width: 10px; }
326
+ .content::-webkit-scrollbar-track { background: var(--bg-primary); }
327
+ .content::-webkit-scrollbar-thumb { background: var(--scrollbar); border-radius: 5px; }
328
+ .content::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-hover); }
329
+
330
+ /* ============================================================
331
+ Markdown Body
332
+ ============================================================ */
333
+
334
+ .markdown-body {
335
+ max-width: 900px;
336
+ line-height: 1.7;
337
+ }
338
+
339
+ .markdown-body h1, .markdown-body h2, .markdown-body h3,
340
+ .markdown-body h4, .markdown-body h5, .markdown-body h6 {
341
+ margin-top: 24px;
342
+ margin-bottom: 16px;
343
+ font-weight: 600;
344
+ line-height: 1.25;
345
+ color: var(--text-primary);
346
+ }
347
+
348
+ .markdown-body h1 { font-size: 2em; padding-bottom: 0.3em; border-bottom: 1px solid var(--border); }
349
+ .markdown-body h2 { font-size: 1.5em; padding-bottom: 0.3em; border-bottom: 1px solid var(--border); }
350
+ .markdown-body h3 { font-size: 1.25em; }
351
+ .markdown-body h4 { font-size: 1em; }
352
+ .markdown-body h5 { font-size: 0.875em; }
353
+ .markdown-body h6 { font-size: 0.85em; color: var(--text-muted); }
354
+ .markdown-body p { margin-top: 0; margin-bottom: 16px; }
355
+ .markdown-body a { color: var(--accent); text-decoration: none; }
356
+ .markdown-body a:hover { text-decoration: underline; }
357
+ .markdown-body ul, .markdown-body ol { margin-top: 0; margin-bottom: 16px; padding-left: 2em; }
358
+ .markdown-body li { margin-bottom: 4px; }
359
+ .markdown-body li + li { margin-top: 4px; }
360
+ .markdown-body li > p { margin-bottom: 0; }
361
+ .markdown-body li > p:first-child { margin-top: 0; }
362
+ .markdown-body blockquote { margin: 0 0 16px; padding: 0 1em; color: var(--text-muted); border-left: 4px solid var(--border); }
363
+
364
+ .markdown-body code {
365
+ padding: 0.2em 0.4em;
366
+ margin: 0;
367
+ font-size: 85%;
368
+ background: var(--bg-tertiary);
369
+ border-radius: 4px;
370
+ font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;
371
+ }
372
+
373
+ .markdown-body pre {
374
+ margin-top: 0;
375
+ margin-bottom: 16px;
376
+ padding: 16px;
377
+ overflow: auto;
378
+ font-size: 85%;
379
+ line-height: 1.45;
380
+ background: var(--bg-secondary);
381
+ border-radius: 8px;
382
+ border: 1px solid var(--border);
383
+ }
384
+
385
+ .markdown-body pre code { padding: 0; margin: 0; font-size: 100%; background: transparent; border-radius: 0; white-space: pre; }
386
+ .markdown-body table { margin-bottom: 16px; border-collapse: collapse; width: 100%; }
387
+ .markdown-body table th, .markdown-body table td { padding: 8px 16px; border: 1px solid var(--border); }
388
+ .markdown-body table th { background: var(--bg-secondary); font-weight: 600; }
389
+ .markdown-body table tr:nth-child(even) { background: var(--bg-secondary); }
390
+ .markdown-body hr { height: 1px; margin: 24px 0; background: var(--border); border: 0; }
391
+ .markdown-body img { max-width: 100%; border-radius: 8px; }
392
+
393
+ /* Task List (Checkbox) */
394
+ .markdown-body .task-list-item {
395
+ list-style-type: none;
396
+ margin-left: -1.5em;
397
+ }
398
+ .markdown-body .task-list-item input[type="checkbox"] {
399
+ margin-right: 0.5em;
400
+ vertical-align: middle;
401
+ width: 16px;
402
+ height: 16px;
403
+ accent-color: var(--accent);
404
+ }
405
+
406
+ /* Plain Text */
407
+ .markdown-body pre.plain-text {
408
+ white-space: pre-wrap;
409
+ word-wrap: break-word;
410
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
411
+ font-size: 14px;
412
+ line-height: 1.6;
413
+ background: var(--bg-secondary);
414
+ padding: 16px;
415
+ border-radius: 8px;
416
+ }
417
+
418
+ /* ============================================================
419
+ Image Preview
420
+ ============================================================ */
421
+
422
+ .image-preview {
423
+ display: flex;
424
+ flex-direction: column;
425
+ align-items: center;
426
+ gap: 16px;
427
+ padding: 32px;
428
+ }
429
+
430
+ .image-preview img {
431
+ max-width: 100%;
432
+ max-height: 70vh;
433
+ border-radius: 8px;
434
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
435
+ }
436
+
437
+ .image-preview .image-info {
438
+ font-size: 13px;
439
+ color: var(--text-muted);
440
+ }
441
+
442
+ /* ============================================================
443
+ PDF Viewer
444
+ ============================================================ */
445
+
446
+ .pdf-viewer {
447
+ display: flex;
448
+ flex-direction: column;
449
+ height: 100%;
450
+ width: 100%;
451
+ }
452
+
453
+ .pdf-viewer iframe {
454
+ flex: 1;
455
+ width: 100%;
456
+ height: 100%;
457
+ border: none;
458
+ border-radius: 8px;
459
+ background: var(--bg-secondary);
460
+ }
461
+
462
+ .pdf-viewer .pdf-info {
463
+ padding: 8px 16px;
464
+ font-size: 13px;
465
+ color: var(--text-muted);
466
+ text-align: center;
467
+ }
468
+
469
+ /* ============================================================
470
+ Editor Mode
471
+ ============================================================ */
472
+
473
+ .editor-container {
474
+ display: flex;
475
+ flex-direction: column;
476
+ height: 100%;
477
+ }
478
+
479
+ .editor-textarea {
480
+ flex: 1;
481
+ width: 100%;
482
+ padding: 16px;
483
+ font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;
484
+ font-size: 14px;
485
+ line-height: 1.6;
486
+ background: var(--bg-primary);
487
+ color: var(--text-primary);
488
+ border: none;
489
+ resize: none;
490
+ outline: none;
491
+ }
492
+
493
+ .editor-toolbar {
494
+ display: flex;
495
+ align-items: center;
496
+ gap: 8px;
497
+ padding: 8px 16px;
498
+ background: var(--bg-secondary);
499
+ border-top: 1px solid var(--border);
500
+ }
501
+
502
+ .editor-status {
503
+ font-size: 12px;
504
+ color: var(--text-muted);
505
+ }
506
+
507
+ .editor-status.modified {
508
+ color: #f9e2af;
509
+ }
510
+
511
+ .editor-status.saved {
512
+ color: #a6e3a1;
513
+ }
514
+
515
+ /* ============================================================
516
+ File Icons
517
+ ============================================================ */
518
+
519
+ .icon-markdown { color: #519aba; }
520
+ .icon-python { color: #3572A5; }
521
+ .icon-javascript { color: #f1e05a; }
522
+ .icon-typescript { color: #3178c6; }
523
+ .icon-json { color: #cbcb41; }
524
+ .icon-yaml { color: #cb171e; }
525
+ .icon-html { color: #e34c26; }
526
+ .icon-css { color: #563d7c; }
527
+ .icon-image { color: #a074c4; }
528
+ .icon-pdf { color: #e74c3c; }
529
+ .icon-text { color: var(--text-muted); }
530
+ .icon-config { color: #6d8086; }
531
+ .icon-shell { color: #89e051; }
532
+ .icon-database { color: #e38c00; }
533
+ .icon-react { color: #61dafb; }
534
+ .icon-vue { color: #42b883; }
535
+
536
+ /* ============================================================
537
+ Welcome Screen
538
+ ============================================================ */
539
+
540
+ .welcome {
541
+ display: flex;
542
+ flex-direction: column;
543
+ align-items: center;
544
+ justify-content: center;
545
+ height: 100%;
546
+ color: var(--text-muted);
547
+ text-align: center;
548
+ }
549
+
550
+ .welcome svg { width: 64px; height: 64px; margin-bottom: 16px; opacity: 0.5; }
551
+ .welcome h2 { font-size: 18px; margin-bottom: 8px; color: var(--text-secondary); }
552
+ .welcome p { font-size: 14px; margin-bottom: 8px; }
553
+ .welcome kbd { background: var(--bg-tertiary); padding: 2px 6px; border-radius: 4px; font-size: 12px; }
554
+
555
+ /* ============================================================
556
+ Mermaid Diagrams
557
+ ============================================================ */
558
+
559
+ .mermaid { background: var(--bg-secondary); padding: 16px; border-radius: 8px; margin-bottom: 16px; }
560
+
561
+ /* ============================================================
562
+ Context Menu
563
+ ============================================================ */
564
+
565
+ .context-menu {
566
+ position: fixed;
567
+ background: var(--bg-secondary);
568
+ border: 1px solid var(--border);
569
+ border-radius: 8px;
570
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
571
+ min-width: 160px;
572
+ z-index: 1000;
573
+ padding: 4px 0;
574
+ }
575
+ .context-menu.hidden { display: none; }
576
+ .context-menu-item {
577
+ display: flex;
578
+ align-items: center;
579
+ gap: 8px;
580
+ padding: 8px 16px;
581
+ cursor: pointer;
582
+ font-size: 13px;
583
+ color: var(--text-secondary);
584
+ }
585
+ .context-menu-item:hover {
586
+ background: var(--bg-tertiary);
587
+ color: var(--text-primary);
588
+ }
589
+ .context-menu-item.danger { color: #f38ba8; }
590
+ .context-menu-item.danger:hover { background: rgba(243, 139, 168, 0.1); }
591
+ .context-menu-separator {
592
+ height: 1px;
593
+ background: var(--border);
594
+ margin: 4px 0;
595
+ }
596
+
597
+ /* ============================================================
598
+ Dialog
599
+ ============================================================ */
600
+
601
+ .dialog-overlay {
602
+ position: fixed;
603
+ top: 0; left: 0; right: 0; bottom: 0;
604
+ background: rgba(0, 0, 0, 0.5);
605
+ display: flex;
606
+ align-items: center;
607
+ justify-content: center;
608
+ z-index: 2000;
609
+ }
610
+ .dialog-overlay.hidden { display: none; }
611
+ .dialog-content {
612
+ background: var(--bg-secondary);
613
+ padding: 24px;
614
+ border-radius: 12px;
615
+ min-width: 320px;
616
+ max-width: 90%;
617
+ }
618
+ .dialog-content h3 {
619
+ margin-bottom: 16px;
620
+ color: var(--text-primary);
621
+ font-size: 16px;
622
+ }
623
+ .dialog-content input {
624
+ width: 100%;
625
+ padding: 10px 12px;
626
+ background: var(--bg-primary);
627
+ border: 1px solid var(--border);
628
+ border-radius: 6px;
629
+ color: var(--text-primary);
630
+ font-size: 14px;
631
+ outline: none;
632
+ }
633
+ .dialog-content input:focus { border-color: var(--accent); }
634
+ .dialog-actions {
635
+ display: flex;
636
+ justify-content: flex-end;
637
+ gap: 8px;
638
+ margin-top: 20px;
639
+ }
640
+ .dialog-actions button {
641
+ padding: 8px 16px;
642
+ border-radius: 6px;
643
+ border: none;
644
+ cursor: pointer;
645
+ font-size: 13px;
646
+ }
647
+ .btn-cancel { background: var(--bg-tertiary); color: var(--text-secondary); }
648
+ .btn-cancel:hover { background: var(--border); }
649
+ .btn-confirm { background: var(--accent); color: white; }
650
+ .btn-confirm:hover { opacity: 0.9; }
651
+ .btn-danger { background: #f38ba8; color: white; }
652
+ .btn-danger:hover { opacity: 0.9; }
653
+
654
+ /* ============================================================
655
+ Drag & Drop
656
+ ============================================================ */
657
+
658
+ .tree-item-content.drag-over {
659
+ background: var(--accent) !important;
660
+ color: white !important;
661
+ }
662
+ .file-tree.drag-over {
663
+ background: rgba(137, 180, 250, 0.1);
664
+ border: 2px dashed var(--accent);
665
+ border-radius: 8px;
666
+ }
667
+
668
+ /* ============================================================
669
+ Video/Audio Preview
670
+ ============================================================ */
671
+
672
+ .video-preview, .audio-preview {
673
+ display: flex;
674
+ flex-direction: column;
675
+ align-items: center;
676
+ gap: 16px;
677
+ padding: 32px;
678
+ }
679
+ .video-preview video {
680
+ max-width: 100%;
681
+ max-height: 70vh;
682
+ border-radius: 8px;
683
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
684
+ }
685
+ .audio-preview audio { width: 100%; max-width: 500px; }
686
+ .media-info { font-size: 13px; color: var(--text-muted); }
687
+
688
+ /* ============================================================
689
+ Upload Progress
690
+ ============================================================ */
691
+
692
+ .upload-progress-overlay {
693
+ position: fixed;
694
+ top: 0; left: 0; right: 0; bottom: 0;
695
+ background: rgba(0, 0, 0, 0.5);
696
+ display: flex;
697
+ align-items: center;
698
+ justify-content: center;
699
+ z-index: 2000;
700
+ }
701
+ .upload-progress-overlay.hidden { display: none; }
702
+ .upload-progress-box {
703
+ background: var(--bg-secondary);
704
+ padding: 24px 32px;
705
+ border-radius: 12px;
706
+ min-width: 300px;
707
+ text-align: center;
708
+ }
709
+ .upload-progress-bar {
710
+ height: 8px;
711
+ background: var(--bg-tertiary);
712
+ border-radius: 4px;
713
+ margin: 12px 0;
714
+ overflow: hidden;
715
+ }
716
+ .upload-progress-fill {
717
+ height: 100%;
718
+ background: var(--accent);
719
+ width: 0%;
720
+ transition: width 0.2s;
721
+ }
722
+
723
+ /* ============================================================
724
+ Print Styles
725
+ ============================================================ */
726
+
727
+ @media print {
728
+ @page {
729
+ margin: 15mm 20mm;
730
+ }
731
+
732
+ .sidebar, .resize-handle, .toolbar, .tab-bar { display: none !important; }
733
+
734
+ body {
735
+ height: auto !important;
736
+ overflow: visible !important;
737
+ background: white !important;
738
+ color: black !important;
739
+ }
740
+
741
+ .container {
742
+ height: auto !important;
743
+ overflow: visible !important;
744
+ display: block !important;
745
+ }
746
+
747
+ .main {
748
+ width: 100% !important;
749
+ height: auto !important;
750
+ overflow: visible !important;
751
+ display: block !important;
752
+ }
753
+
754
+ .content {
755
+ padding: 0 !important;
756
+ height: auto !important;
757
+ overflow: visible !important;
758
+ flex: none !important;
759
+ }
760
+
761
+ .markdown-body {
762
+ max-width: 100% !important;
763
+ }
764
+
765
+ .markdown-body code { background: #f0f0f0 !important; }
766
+ .markdown-body pre { background: #f8f8f8 !important; border: 1px solid #ddd !important; }
767
+
768
+ /* Page Break Control */
769
+ .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4 {
770
+ page-break-after: avoid;
771
+ }
772
+ .markdown-body pre, .markdown-body table, .markdown-body img,
773
+ .markdown-body ul, .markdown-body ol, .markdown-body li, .markdown-body p {
774
+ page-break-inside: avoid;
775
+ }
776
+ }