@terrymooreii/sia 2.0.2 → 2.1.1

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,1292 @@
1
+ /* Sia - Minimal Theme
2
+ * A clean, simple theme with excellent readability
3
+ * Near-white light mode, near-black dark mode
4
+ */
5
+
6
+ /* ===== CSS Variables ===== */
7
+ :root {
8
+ /* Light Mode Colors (default) - Near white */
9
+ --color-bg: #fefefe;
10
+ --color-bg-alt: #ffffff;
11
+ --color-text: #1a1a1a;
12
+ --color-text-muted: #555555;
13
+ --color-text-light: #888888;
14
+ --color-primary: #0066cc;
15
+ --color-primary-hover: #004999;
16
+ --color-border: #e0e0e0;
17
+ --color-border-light: #f0f0f0;
18
+ --color-accent: #cc4400;
19
+ --color-code-bg: #f5f5f5;
20
+
21
+ /* Typography - Classic, readable fonts */
22
+ --font-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
23
+ --font-serif: Georgia, 'Times New Roman', serif;
24
+ --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
25
+
26
+ /* Sizing */
27
+ --container-width: 680px;
28
+ --container-wide: 960px;
29
+ --spacing-xs: 0.25rem;
30
+ --spacing-sm: 0.5rem;
31
+ --spacing-md: 1rem;
32
+ --spacing-lg: 1.5rem;
33
+ --spacing-xl: 2rem;
34
+ --spacing-2xl: 3rem;
35
+ --spacing-3xl: 4rem;
36
+
37
+ /* Border Radius - Subtle */
38
+ --radius-sm: 3px;
39
+ --radius-md: 4px;
40
+ --radius-lg: 6px;
41
+
42
+ /* Shadows - Very subtle */
43
+ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
44
+ --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.06);
45
+ }
46
+
47
+ /* Dark Mode Colors - Near black */
48
+ [data-theme="dark"] {
49
+ --color-bg: #0a0a0a;
50
+ --color-bg-alt: #111111;
51
+ --color-text: #e8e8e8;
52
+ --color-text-muted: #a0a0a0;
53
+ --color-text-light: #707070;
54
+ --color-primary: #4da6ff;
55
+ --color-primary-hover: #80c0ff;
56
+ --color-border: #2a2a2a;
57
+ --color-border-light: #1a1a1a;
58
+ --color-accent: #ff8844;
59
+ --color-code-bg: #151515;
60
+
61
+ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
62
+ --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.3);
63
+ }
64
+
65
+ /* ===== Reset & Base ===== */
66
+ *, *::before, *::after {
67
+ box-sizing: border-box;
68
+ }
69
+
70
+ html {
71
+ font-size: 17px;
72
+ line-height: 1.7;
73
+ -webkit-font-smoothing: antialiased;
74
+ -moz-osx-font-smoothing: grayscale;
75
+ }
76
+
77
+ body {
78
+ margin: 0;
79
+ padding: 0;
80
+ font-family: var(--font-sans);
81
+ color: var(--color-text);
82
+ background-color: var(--color-bg);
83
+ min-height: 100vh;
84
+ display: flex;
85
+ flex-direction: column;
86
+ }
87
+
88
+ a {
89
+ color: var(--color-primary);
90
+ text-decoration: none;
91
+ }
92
+
93
+ a:hover {
94
+ text-decoration: underline;
95
+ }
96
+
97
+ img {
98
+ max-width: 100%;
99
+ height: auto;
100
+ display: block;
101
+ }
102
+
103
+ /* ===== Layout ===== */
104
+ .container {
105
+ width: 100%;
106
+ max-width: var(--container-width);
107
+ margin: 0 auto;
108
+ padding: 0 var(--spacing-lg);
109
+ }
110
+
111
+ .container-wide {
112
+ max-width: var(--container-wide);
113
+ }
114
+
115
+ .main {
116
+ flex: 1;
117
+ padding: var(--spacing-2xl) 0 var(--spacing-3xl);
118
+ max-width: var(--container-width);
119
+ margin: 0 auto;
120
+ width: 100%;
121
+ padding-left: var(--spacing-lg);
122
+ padding-right: var(--spacing-lg);
123
+ }
124
+
125
+ /* ===== Header ===== */
126
+ .site-header {
127
+ border-bottom: 1px solid var(--color-border);
128
+ padding: var(--spacing-lg) 0;
129
+ }
130
+
131
+ .site-header .container {
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: space-between;
135
+ max-width: var(--container-wide);
136
+ }
137
+
138
+ .site-logo {
139
+ font-size: 1.125rem;
140
+ font-weight: 600;
141
+ color: var(--color-text);
142
+ letter-spacing: -0.01em;
143
+ }
144
+
145
+ .site-logo:hover {
146
+ color: var(--color-primary);
147
+ text-decoration: none;
148
+ }
149
+
150
+ .site-nav {
151
+ display: flex;
152
+ gap: var(--spacing-lg);
153
+ align-items: center;
154
+ }
155
+
156
+ .nav-link {
157
+ color: var(--color-text-muted);
158
+ font-size: 0.9rem;
159
+ }
160
+
161
+ .nav-link:hover {
162
+ color: var(--color-text);
163
+ text-decoration: none;
164
+ }
165
+
166
+ .nav-link.active {
167
+ color: var(--color-text);
168
+ }
169
+
170
+ /* Theme Toggle Button */
171
+ .theme-toggle {
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ width: 32px;
176
+ height: 32px;
177
+ padding: 0;
178
+ background: transparent;
179
+ border: 1px solid var(--color-border);
180
+ border-radius: var(--radius-sm);
181
+ cursor: pointer;
182
+ color: var(--color-text-muted);
183
+ margin-left: var(--spacing-sm);
184
+ }
185
+
186
+ .theme-toggle:hover {
187
+ color: var(--color-text);
188
+ border-color: var(--color-text-muted);
189
+ }
190
+
191
+ /* Light mode: show moon, hide sun */
192
+ .theme-toggle .icon-sun {
193
+ display: none;
194
+ }
195
+
196
+ .theme-toggle .icon-moon {
197
+ display: block;
198
+ }
199
+
200
+ /* Dark mode: show sun, hide moon */
201
+ [data-theme="dark"] .theme-toggle .icon-sun {
202
+ display: block;
203
+ }
204
+
205
+ [data-theme="dark"] .theme-toggle .icon-moon {
206
+ display: none;
207
+ }
208
+
209
+ /* ===== Footer ===== */
210
+ .site-footer {
211
+ border-top: 1px solid var(--color-border);
212
+ padding: var(--spacing-lg) 0;
213
+ margin-top: auto;
214
+ }
215
+
216
+ .site-footer .container {
217
+ max-width: var(--container-wide);
218
+ display: flex;
219
+ align-items: center;
220
+ justify-content: space-between;
221
+ }
222
+
223
+ .footer-text {
224
+ color: var(--color-text-muted);
225
+ font-size: 0.85rem;
226
+ margin: 0;
227
+ }
228
+
229
+ .footer-nav {
230
+ display: flex;
231
+ gap: var(--spacing-lg);
232
+ }
233
+
234
+ .footer-link {
235
+ color: var(--color-text-muted);
236
+ font-size: 0.85rem;
237
+ }
238
+
239
+ .footer-link:hover {
240
+ color: var(--color-text);
241
+ }
242
+
243
+ /* ===== Hero ===== */
244
+ .hero {
245
+ text-align: center;
246
+ padding: var(--spacing-3xl) 0;
247
+ margin-bottom: var(--spacing-2xl);
248
+ }
249
+
250
+ .hero-title {
251
+ font-size: 2rem;
252
+ font-weight: 600;
253
+ letter-spacing: -0.02em;
254
+ margin: 0 0 var(--spacing-sm);
255
+ color: var(--color-text);
256
+ }
257
+
258
+ .hero-description {
259
+ font-size: 1.1rem;
260
+ color: var(--color-text-muted);
261
+ margin: 0;
262
+ }
263
+
264
+ /* ===== Sections ===== */
265
+ .section {
266
+ margin-bottom: var(--spacing-3xl);
267
+ }
268
+
269
+ .section-header {
270
+ display: flex;
271
+ align-items: baseline;
272
+ justify-content: space-between;
273
+ margin-bottom: var(--spacing-lg);
274
+ padding-bottom: var(--spacing-sm);
275
+ border-bottom: 1px solid var(--color-border-light);
276
+ }
277
+
278
+ .section-title {
279
+ font-size: 1.1rem;
280
+ font-weight: 600;
281
+ margin: 0;
282
+ color: var(--color-text);
283
+ }
284
+
285
+ .section-link {
286
+ font-size: 0.85rem;
287
+ color: var(--color-text-muted);
288
+ }
289
+
290
+ /* ===== Page Header ===== */
291
+ .page-header {
292
+ margin-bottom: var(--spacing-2xl);
293
+ }
294
+
295
+ .page-title {
296
+ font-size: 1.75rem;
297
+ font-weight: 600;
298
+ letter-spacing: -0.02em;
299
+ margin: 0 0 var(--spacing-xs);
300
+ }
301
+
302
+ .page-description {
303
+ color: var(--color-text-muted);
304
+ margin: 0;
305
+ }
306
+
307
+ /* ===== Post Card ===== */
308
+ .post-list {
309
+ display: flex;
310
+ flex-direction: column;
311
+ gap: var(--spacing-xl);
312
+ }
313
+
314
+ .post-card {
315
+ padding-bottom: var(--spacing-xl);
316
+ border-bottom: 1px solid var(--color-border-light);
317
+ }
318
+
319
+ .post-card:last-child {
320
+ border-bottom: none;
321
+ }
322
+
323
+ .post-card-title {
324
+ font-size: 1.25rem;
325
+ font-weight: 600;
326
+ margin: 0 0 var(--spacing-xs);
327
+ line-height: 1.4;
328
+ display: flex;
329
+ align-items: center;
330
+ flex-wrap: wrap;
331
+ gap: var(--spacing-sm);
332
+ }
333
+
334
+ .post-card-title a {
335
+ color: var(--color-text);
336
+ }
337
+
338
+ .post-card-title a:hover {
339
+ color: var(--color-primary);
340
+ text-decoration: none;
341
+ }
342
+
343
+ .post-card-meta {
344
+ display: flex;
345
+ align-items: center;
346
+ gap: var(--spacing-md);
347
+ font-size: 0.85rem;
348
+ color: var(--color-text-muted);
349
+ margin-bottom: var(--spacing-sm);
350
+ }
351
+
352
+ .post-card-reading-time::before {
353
+ content: '·';
354
+ margin-right: var(--spacing-md);
355
+ }
356
+
357
+ .post-card-tags {
358
+ display: flex;
359
+ flex-wrap: wrap;
360
+ gap: var(--spacing-xs);
361
+ margin-bottom: var(--spacing-sm);
362
+ }
363
+
364
+ .post-card-excerpt {
365
+ color: var(--color-text-muted);
366
+ margin: 0 0 var(--spacing-sm);
367
+ line-height: 1.6;
368
+ }
369
+
370
+ .post-card-link {
371
+ font-size: 0.9rem;
372
+ }
373
+
374
+ /* ===== Post Detail ===== */
375
+ .post-header {
376
+ margin-bottom: var(--spacing-2xl);
377
+ }
378
+
379
+ .post-title {
380
+ font-size: 1.875rem;
381
+ font-weight: 600;
382
+ letter-spacing: -0.02em;
383
+ margin: 0 0 var(--spacing-md);
384
+ line-height: 1.3;
385
+ display: flex;
386
+ align-items: center;
387
+ flex-wrap: wrap;
388
+ gap: var(--spacing-sm);
389
+ }
390
+
391
+ .post-meta {
392
+ display: flex;
393
+ align-items: center;
394
+ flex-wrap: wrap;
395
+ gap: var(--spacing-sm);
396
+ color: var(--color-text-muted);
397
+ font-size: 0.9rem;
398
+ }
399
+
400
+ .post-meta-divider {
401
+ color: var(--color-text-light);
402
+ }
403
+
404
+ .post-tags a {
405
+ color: var(--color-text-muted);
406
+ }
407
+
408
+ .post-tags a:hover {
409
+ color: var(--color-primary);
410
+ }
411
+
412
+ .post-content {
413
+ margin-bottom: var(--spacing-2xl);
414
+ }
415
+
416
+ .post-footer {
417
+ padding-top: var(--spacing-xl);
418
+ border-top: 1px solid var(--color-border-light);
419
+ }
420
+
421
+ .post-tags-footer {
422
+ display: flex;
423
+ align-items: center;
424
+ flex-wrap: wrap;
425
+ gap: var(--spacing-sm);
426
+ margin-bottom: var(--spacing-lg);
427
+ }
428
+
429
+ .tags-label {
430
+ color: var(--color-text-muted);
431
+ font-size: 0.85rem;
432
+ }
433
+
434
+ .post-nav {
435
+ display: flex;
436
+ gap: var(--spacing-md);
437
+ }
438
+
439
+ /* ===== Notes ===== */
440
+ .notes-grid {
441
+ display: grid;
442
+ gap: var(--spacing-lg);
443
+ }
444
+
445
+ .note-card {
446
+ background: var(--color-bg-alt);
447
+ border: 1px solid var(--color-border);
448
+ border-radius: var(--radius-md);
449
+ padding: var(--spacing-lg);
450
+ }
451
+
452
+ .note-card-content {
453
+ margin-bottom: var(--spacing-md);
454
+ color: var(--color-text);
455
+ }
456
+
457
+ .note-card-footer {
458
+ display: flex;
459
+ align-items: center;
460
+ justify-content: space-between;
461
+ font-size: 0.85rem;
462
+ color: var(--color-text-muted);
463
+ }
464
+
465
+ .notes-stream {
466
+ display: flex;
467
+ flex-direction: column;
468
+ gap: var(--spacing-xl);
469
+ }
470
+
471
+ .note-item {
472
+ padding-bottom: var(--spacing-xl);
473
+ border-bottom: 1px solid var(--color-border-light);
474
+ }
475
+
476
+ .note-item:last-child {
477
+ border-bottom: none;
478
+ }
479
+
480
+ .note-item-content {
481
+ margin-bottom: var(--spacing-md);
482
+ }
483
+
484
+ .note-item-footer {
485
+ display: flex;
486
+ align-items: center;
487
+ gap: var(--spacing-md);
488
+ font-size: 0.85rem;
489
+ color: var(--color-text-muted);
490
+ }
491
+
492
+ .note-item-permalink {
493
+ margin-left: auto;
494
+ color: var(--color-text-light);
495
+ }
496
+
497
+ .note-footer {
498
+ display: flex;
499
+ align-items: center;
500
+ gap: var(--spacing-md);
501
+ font-size: 0.85rem;
502
+ color: var(--color-text-muted);
503
+ margin-top: var(--spacing-lg);
504
+ }
505
+
506
+ .note-nav {
507
+ margin-top: var(--spacing-xl);
508
+ }
509
+
510
+ /* ===== Tags ===== */
511
+ .tag {
512
+ display: inline-flex;
513
+ align-items: center;
514
+ background: var(--color-border-light);
515
+ color: var(--color-text-muted);
516
+ padding: 2px var(--spacing-sm);
517
+ border-radius: var(--radius-sm);
518
+ font-size: 0.8rem;
519
+ }
520
+
521
+ .tag:hover {
522
+ background: var(--color-primary);
523
+ color: white;
524
+ text-decoration: none;
525
+ }
526
+
527
+ .tag.active {
528
+ background: var(--color-primary);
529
+ color: white;
530
+ }
531
+
532
+ .tag-sm {
533
+ padding: 1px var(--spacing-xs);
534
+ font-size: 0.75rem;
535
+ }
536
+
537
+ .tag-count {
538
+ opacity: 0.7;
539
+ margin-left: var(--spacing-xs);
540
+ }
541
+
542
+ .tag-cloud {
543
+ display: flex;
544
+ flex-wrap: wrap;
545
+ gap: var(--spacing-sm);
546
+ margin-bottom: var(--spacing-2xl);
547
+ }
548
+
549
+ .tag-lg {
550
+ font-size: 0.95rem;
551
+ padding: var(--spacing-xs) var(--spacing-sm);
552
+ }
553
+
554
+ .tag-md {
555
+ font-size: 0.875rem;
556
+ }
557
+
558
+ /* ===== Draft Badge ===== */
559
+ .draft-badge {
560
+ display: inline-flex;
561
+ align-items: center;
562
+ padding: 0.125em 0.4em;
563
+ background: #f59e0b;
564
+ color: white;
565
+ font-size: 0.65rem;
566
+ font-weight: 600;
567
+ text-transform: uppercase;
568
+ letter-spacing: 0.05em;
569
+ border-radius: var(--radius-sm);
570
+ line-height: 1;
571
+ flex-shrink: 0;
572
+ }
573
+
574
+ [data-theme="dark"] .draft-badge {
575
+ background: #fbbf24;
576
+ color: #0a0a0a;
577
+ }
578
+
579
+ .prose .draft-badge {
580
+ font-size: 0.6rem;
581
+ }
582
+
583
+ .tag-section {
584
+ margin-bottom: var(--spacing-xl);
585
+ padding-bottom: var(--spacing-lg);
586
+ border-bottom: 1px solid var(--color-border-light);
587
+ }
588
+
589
+ .tag-section:last-child {
590
+ border-bottom: none;
591
+ }
592
+
593
+ .tag-section-title {
594
+ font-size: 1.05rem;
595
+ font-weight: 600;
596
+ margin: 0 0 var(--spacing-md);
597
+ }
598
+
599
+ .tag-section-title a {
600
+ color: var(--color-text);
601
+ }
602
+
603
+ .tag-section-title a:hover {
604
+ color: var(--color-primary);
605
+ }
606
+
607
+ .tag-section-count {
608
+ color: var(--color-text-muted);
609
+ font-weight: 400;
610
+ }
611
+
612
+ .tag-posts {
613
+ list-style: none;
614
+ margin: 0;
615
+ padding: 0;
616
+ }
617
+
618
+ .tag-posts li {
619
+ display: flex;
620
+ align-items: baseline;
621
+ justify-content: space-between;
622
+ padding: var(--spacing-xs) 0;
623
+ }
624
+
625
+ .tag-posts time {
626
+ color: var(--color-text-light);
627
+ font-size: 0.85rem;
628
+ flex-shrink: 0;
629
+ margin-left: var(--spacing-md);
630
+ }
631
+
632
+ .more-link {
633
+ font-size: 0.85rem;
634
+ color: var(--color-text-muted);
635
+ }
636
+
637
+ /* ===== Pagination ===== */
638
+ .pagination {
639
+ display: flex;
640
+ align-items: center;
641
+ justify-content: space-between;
642
+ margin-top: var(--spacing-2xl);
643
+ padding-top: var(--spacing-lg);
644
+ border-top: 1px solid var(--color-border-light);
645
+ }
646
+
647
+ .pagination-info {
648
+ color: var(--color-text-muted);
649
+ font-size: 0.85rem;
650
+ }
651
+
652
+ .pagination-links {
653
+ display: flex;
654
+ gap: var(--spacing-md);
655
+ }
656
+
657
+ .pagination-link {
658
+ padding: var(--spacing-xs) var(--spacing-md);
659
+ border: 1px solid var(--color-border);
660
+ border-radius: var(--radius-sm);
661
+ font-size: 0.85rem;
662
+ color: var(--color-text);
663
+ }
664
+
665
+ .pagination-link:hover:not(.disabled) {
666
+ background: var(--color-primary);
667
+ border-color: var(--color-primary);
668
+ color: white;
669
+ text-decoration: none;
670
+ }
671
+
672
+ .pagination-link.disabled {
673
+ color: var(--color-text-light);
674
+ cursor: not-allowed;
675
+ opacity: 0.5;
676
+ }
677
+
678
+ /* ===== Buttons ===== */
679
+ .btn {
680
+ display: inline-flex;
681
+ align-items: center;
682
+ justify-content: center;
683
+ padding: var(--spacing-sm) var(--spacing-lg);
684
+ border-radius: var(--radius-sm);
685
+ font-size: 0.9rem;
686
+ cursor: pointer;
687
+ text-decoration: none;
688
+ }
689
+
690
+ .btn-primary {
691
+ background: var(--color-primary);
692
+ color: white;
693
+ border: 1px solid var(--color-primary);
694
+ }
695
+
696
+ .btn-primary:hover {
697
+ background: var(--color-primary-hover);
698
+ border-color: var(--color-primary-hover);
699
+ color: white;
700
+ text-decoration: none;
701
+ }
702
+
703
+ .btn-secondary {
704
+ background: transparent;
705
+ color: var(--color-text);
706
+ border: 1px solid var(--color-border);
707
+ }
708
+
709
+ .btn-secondary:hover {
710
+ background: var(--color-border-light);
711
+ color: var(--color-text);
712
+ text-decoration: none;
713
+ }
714
+
715
+ /* ===== Prose (Content Styling) ===== */
716
+ .prose {
717
+ line-height: 1.8;
718
+ }
719
+
720
+ .prose h1,
721
+ .prose h2,
722
+ .prose h3,
723
+ .prose h4,
724
+ .prose h5,
725
+ .prose h6 {
726
+ margin-top: 1.75em;
727
+ margin-bottom: 0.5em;
728
+ font-weight: 600;
729
+ line-height: 1.3;
730
+ }
731
+
732
+ .prose h1 { font-size: 1.75rem; }
733
+ .prose h2 { font-size: 1.4rem; }
734
+ .prose h3 { font-size: 1.15rem; }
735
+ .prose h4 { font-size: 1rem; }
736
+
737
+ .prose h1:first-child,
738
+ .prose h2:first-child,
739
+ .prose h3:first-child {
740
+ margin-top: 0;
741
+ }
742
+
743
+ .prose p {
744
+ margin: 0 0 1.25em;
745
+ }
746
+
747
+ .prose ul,
748
+ .prose ol {
749
+ margin: 0 0 1.25em;
750
+ padding-left: 1.5em;
751
+ }
752
+
753
+ .prose li {
754
+ margin-bottom: 0.35em;
755
+ }
756
+
757
+ .prose blockquote {
758
+ margin: 1.5em 0;
759
+ padding: 0 0 0 1.25em;
760
+ border-left: 2px solid var(--color-border);
761
+ color: var(--color-text-muted);
762
+ }
763
+
764
+ .prose blockquote p:last-child {
765
+ margin-bottom: 0;
766
+ }
767
+
768
+ .prose pre {
769
+ background: var(--color-code-bg);
770
+ border: 1px solid var(--color-border);
771
+ border-radius: var(--radius-md);
772
+ padding: var(--spacing-md);
773
+ overflow-x: auto;
774
+ font-family: var(--font-mono);
775
+ font-size: 0.85rem;
776
+ line-height: 1.5;
777
+ margin: 1.25em 0;
778
+ }
779
+
780
+ .prose code {
781
+ font-family: var(--font-mono);
782
+ font-size: 0.9em;
783
+ background: var(--color-code-bg);
784
+ padding: 0.15em 0.35em;
785
+ border-radius: var(--radius-sm);
786
+ }
787
+
788
+ .prose pre code {
789
+ background: none;
790
+ padding: 0;
791
+ font-size: inherit;
792
+ }
793
+
794
+ .prose img {
795
+ margin: 1.25em 0;
796
+ border-radius: var(--radius-md);
797
+ }
798
+
799
+ .prose a {
800
+ text-decoration: underline;
801
+ text-decoration-color: var(--color-border);
802
+ text-underline-offset: 2px;
803
+ }
804
+
805
+ .prose a:hover {
806
+ text-decoration-color: var(--color-primary);
807
+ }
808
+
809
+ .prose hr {
810
+ border: none;
811
+ border-top: 1px solid var(--color-border);
812
+ margin: 2em 0;
813
+ }
814
+
815
+ .prose table {
816
+ width: 100%;
817
+ border-collapse: collapse;
818
+ margin: 1.25em 0;
819
+ font-size: 0.9rem;
820
+ }
821
+
822
+ .prose th,
823
+ .prose td {
824
+ padding: var(--spacing-sm) var(--spacing-md);
825
+ border: 1px solid var(--color-border);
826
+ text-align: left;
827
+ }
828
+
829
+ .prose th {
830
+ background: var(--color-border-light);
831
+ font-weight: 600;
832
+ }
833
+
834
+ /* ===== Alert Boxes ===== */
835
+ .prose .markdown-alert {
836
+ margin: 1.25em 0;
837
+ padding: var(--spacing-md) var(--spacing-lg);
838
+ border-left: 3px solid;
839
+ border-radius: var(--radius-md);
840
+ background: var(--color-bg-alt);
841
+ }
842
+
843
+ .prose .markdown-alert-title {
844
+ display: flex;
845
+ align-items: center;
846
+ gap: var(--spacing-sm);
847
+ margin: 0 0 var(--spacing-sm) 0;
848
+ font-weight: 600;
849
+ font-style: normal;
850
+ }
851
+
852
+ .prose .markdown-alert-title svg {
853
+ flex-shrink: 0;
854
+ width: 16px;
855
+ height: 16px;
856
+ fill: currentColor;
857
+ }
858
+
859
+ /* Make SVG icons lighter in dark mode */
860
+ [data-theme="dark"] .prose .markdown-alert-title svg {
861
+ fill: currentColor;
862
+ }
863
+
864
+ .prose .markdown-alert p:last-child {
865
+ margin-bottom: 0;
866
+ }
867
+
868
+ /* Note Alert */
869
+ .prose .markdown-alert-note {
870
+ border-left-color: #0969da;
871
+ background: rgba(9, 105, 218, 0.08);
872
+ }
873
+
874
+ .prose .markdown-alert-note .markdown-alert-title {
875
+ color: #0969da;
876
+ }
877
+
878
+ [data-theme="dark"] .prose .markdown-alert-note {
879
+ background: rgba(9, 105, 218, 0.12);
880
+ border-left-color: #58a6ff;
881
+ }
882
+
883
+ [data-theme="dark"] .prose .markdown-alert-note .markdown-alert-title {
884
+ color: #58a6ff;
885
+ }
886
+
887
+ [data-theme="dark"] .prose .markdown-alert-note .markdown-alert-title svg {
888
+ fill: #58a6ff;
889
+ }
890
+
891
+ /* Tip Alert */
892
+ .prose .markdown-alert-tip {
893
+ border-left-color: #1a7f37;
894
+ background: rgba(26, 127, 55, 0.08);
895
+ }
896
+
897
+ .prose .markdown-alert-tip .markdown-alert-title {
898
+ color: #1a7f37;
899
+ }
900
+
901
+ [data-theme="dark"] .prose .markdown-alert-tip {
902
+ background: rgba(26, 127, 55, 0.12);
903
+ border-left-color: #3fb950;
904
+ }
905
+
906
+ [data-theme="dark"] .prose .markdown-alert-tip .markdown-alert-title {
907
+ color: #3fb950;
908
+ }
909
+
910
+ [data-theme="dark"] .prose .markdown-alert-tip .markdown-alert-title svg {
911
+ fill: #3fb950;
912
+ }
913
+
914
+ /* Important Alert */
915
+ .prose .markdown-alert-important {
916
+ border-left-color: #8250df;
917
+ background: rgba(130, 80, 223, 0.08);
918
+ }
919
+
920
+ .prose .markdown-alert-important .markdown-alert-title {
921
+ color: #8250df;
922
+ }
923
+
924
+ [data-theme="dark"] .prose .markdown-alert-important {
925
+ background: rgba(130, 80, 223, 0.12);
926
+ border-left-color: #a371f7;
927
+ }
928
+
929
+ [data-theme="dark"] .prose .markdown-alert-important .markdown-alert-title {
930
+ color: #a371f7;
931
+ }
932
+
933
+ [data-theme="dark"] .prose .markdown-alert-important .markdown-alert-title svg {
934
+ fill: #a371f7;
935
+ }
936
+
937
+ /* Warning Alert */
938
+ .prose .markdown-alert-warning {
939
+ border-left-color: #9a6700;
940
+ background: rgba(154, 103, 0, 0.08);
941
+ }
942
+
943
+ .prose .markdown-alert-warning .markdown-alert-title {
944
+ color: #9a6700;
945
+ }
946
+
947
+ [data-theme="dark"] .prose .markdown-alert-warning {
948
+ background: rgba(154, 103, 0, 0.12);
949
+ border-left-color: #d29922;
950
+ }
951
+
952
+ [data-theme="dark"] .prose .markdown-alert-warning .markdown-alert-title {
953
+ color: #d29922;
954
+ }
955
+
956
+ [data-theme="dark"] .prose .markdown-alert-warning .markdown-alert-title svg {
957
+ fill: #d29922;
958
+ }
959
+
960
+ /* Caution Alert */
961
+ .prose .markdown-alert-caution {
962
+ border-left-color: #cf222e;
963
+ background: rgba(207, 34, 46, 0.08);
964
+ }
965
+
966
+ .prose .markdown-alert-caution .markdown-alert-title {
967
+ color: #cf222e;
968
+ }
969
+
970
+ [data-theme="dark"] .prose .markdown-alert-caution {
971
+ background: rgba(207, 34, 46, 0.12);
972
+ border-left-color: #f85149;
973
+ }
974
+
975
+ [data-theme="dark"] .prose .markdown-alert-caution .markdown-alert-title {
976
+ color: #f85149;
977
+ }
978
+
979
+ [data-theme="dark"] .prose .markdown-alert-caution .markdown-alert-title svg {
980
+ fill: #f85149;
981
+ }
982
+
983
+ /* ===== Task Lists (Checkboxes) ===== */
984
+ .prose ul.contains-task-list,
985
+ .prose ol.contains-task-list {
986
+ list-style: none;
987
+ padding-left: 0;
988
+ }
989
+
990
+ .prose .task-list-item {
991
+ display: flex;
992
+ align-items: flex-start;
993
+ gap: var(--spacing-sm);
994
+ margin-bottom: 0.35em;
995
+ }
996
+
997
+ .prose .task-list-item input[type="checkbox"] {
998
+ margin-top: 0.2em;
999
+ cursor: pointer;
1000
+ width: 1em;
1001
+ height: 1em;
1002
+ flex-shrink: 0;
1003
+ accent-color: var(--color-primary);
1004
+ }
1005
+
1006
+ .prose .task-list-item input[type="checkbox"]:checked {
1007
+ accent-color: var(--color-primary);
1008
+ }
1009
+
1010
+ /* ===== Strikethrough ===== */
1011
+ .prose del,
1012
+ .prose s {
1013
+ text-decoration: line-through;
1014
+ text-decoration-color: var(--color-text-muted);
1015
+ opacity: 0.7;
1016
+ }
1017
+
1018
+ /* ===== Footnotes ===== */
1019
+ .prose section[data-footnotes],
1020
+ .prose .footnotes {
1021
+ margin-top: 2em;
1022
+ padding-top: var(--spacing-lg);
1023
+ border-top: 1px solid var(--color-border);
1024
+ }
1025
+
1026
+ .prose section[data-footnotes] h2,
1027
+ .prose .footnotes h2 {
1028
+ font-size: 0.95rem;
1029
+ font-weight: 600;
1030
+ margin-bottom: var(--spacing-md);
1031
+ color: var(--color-text-muted);
1032
+ }
1033
+
1034
+ .prose section[data-footnotes] ol,
1035
+ .prose .footnotes ol {
1036
+ padding-left: 1.5em;
1037
+ font-size: 0.9rem;
1038
+ color: var(--color-text-muted);
1039
+ }
1040
+
1041
+ .prose section[data-footnotes] li,
1042
+ .prose .footnotes li {
1043
+ margin-bottom: var(--spacing-sm);
1044
+ }
1045
+
1046
+ .prose .footnote-ref {
1047
+ font-size: 0.85em;
1048
+ vertical-align: super;
1049
+ text-decoration: none;
1050
+ color: var(--color-primary);
1051
+ margin-left: 0.2em;
1052
+ }
1053
+
1054
+ .prose .footnote-ref:hover {
1055
+ text-decoration: underline;
1056
+ }
1057
+
1058
+ .prose .footnote-backref {
1059
+ text-decoration: none;
1060
+ color: var(--color-primary);
1061
+ margin-left: var(--spacing-xs);
1062
+ }
1063
+
1064
+ .prose .footnote-backref:hover {
1065
+ text-decoration: underline;
1066
+ }
1067
+
1068
+ /* ===== Empty State ===== */
1069
+ .empty-message {
1070
+ text-align: center;
1071
+ padding: var(--spacing-2xl) var(--spacing-lg);
1072
+ color: var(--color-text-muted);
1073
+ background: var(--color-code-bg);
1074
+ border: 1px solid var(--color-border);
1075
+ border-radius: var(--radius-md);
1076
+ }
1077
+
1078
+ .empty-message code {
1079
+ background: var(--color-bg-alt);
1080
+ padding: 0.15em 0.35em;
1081
+ border-radius: var(--radius-sm);
1082
+ font-size: 0.9em;
1083
+ }
1084
+
1085
+ /* ===== Responsive ===== */
1086
+ @media (max-width: 768px) {
1087
+ html {
1088
+ font-size: 16px;
1089
+ }
1090
+
1091
+ .site-header .container {
1092
+ flex-direction: column;
1093
+ gap: var(--spacing-md);
1094
+ }
1095
+
1096
+ .site-nav {
1097
+ gap: var(--spacing-md);
1098
+ flex-wrap: wrap;
1099
+ justify-content: center;
1100
+ }
1101
+
1102
+ .theme-toggle {
1103
+ margin-left: 0;
1104
+ }
1105
+
1106
+ .site-footer .container {
1107
+ flex-direction: column;
1108
+ gap: var(--spacing-md);
1109
+ text-align: center;
1110
+ }
1111
+
1112
+ .hero {
1113
+ padding: var(--spacing-2xl) 0;
1114
+ }
1115
+
1116
+ .hero-title {
1117
+ font-size: 1.75rem;
1118
+ }
1119
+
1120
+ .post-title {
1121
+ font-size: 1.5rem;
1122
+ }
1123
+
1124
+ .pagination {
1125
+ flex-direction: column;
1126
+ gap: var(--spacing-md);
1127
+ }
1128
+ }
1129
+
1130
+ /* ===== Syntax Highlighting (Light Mode) ===== */
1131
+ .hljs {
1132
+ color: #1a1a1a;
1133
+ background: var(--color-code-bg);
1134
+ }
1135
+
1136
+ .hljs-comment,
1137
+ .hljs-quote {
1138
+ color: #6a6a6a;
1139
+ font-style: italic;
1140
+ }
1141
+
1142
+ .hljs-keyword,
1143
+ .hljs-selector-tag,
1144
+ .hljs-subst {
1145
+ color: #9d0006;
1146
+ }
1147
+
1148
+ .hljs-number,
1149
+ .hljs-literal,
1150
+ .hljs-variable,
1151
+ .hljs-template-variable,
1152
+ .hljs-tag .hljs-attr {
1153
+ color: #0066cc;
1154
+ }
1155
+
1156
+ .hljs-string,
1157
+ .hljs-doctag {
1158
+ color: #0a5c0a;
1159
+ }
1160
+
1161
+ .hljs-title,
1162
+ .hljs-section,
1163
+ .hljs-selector-id {
1164
+ color: #6c3fc1;
1165
+ font-weight: 600;
1166
+ }
1167
+
1168
+ .hljs-type,
1169
+ .hljs-class .hljs-title {
1170
+ color: #6c3fc1;
1171
+ }
1172
+
1173
+ .hljs-tag,
1174
+ .hljs-name,
1175
+ .hljs-attribute {
1176
+ color: #0066cc;
1177
+ }
1178
+
1179
+ .hljs-regexp,
1180
+ .hljs-link {
1181
+ color: #0a5c0a;
1182
+ }
1183
+
1184
+ .hljs-symbol,
1185
+ .hljs-bullet {
1186
+ color: #cc4400;
1187
+ }
1188
+
1189
+ .hljs-built_in,
1190
+ .hljs-builtin-name {
1191
+ color: #0066cc;
1192
+ }
1193
+
1194
+ .hljs-meta {
1195
+ color: #6a6a6a;
1196
+ }
1197
+
1198
+ .hljs-deletion {
1199
+ color: #9d0006;
1200
+ background-color: #ffeef0;
1201
+ }
1202
+
1203
+ .hljs-addition {
1204
+ color: #0a5c0a;
1205
+ background-color: #e6ffed;
1206
+ }
1207
+
1208
+ .hljs-emphasis {
1209
+ font-style: italic;
1210
+ }
1211
+
1212
+ .hljs-strong {
1213
+ font-weight: 600;
1214
+ }
1215
+
1216
+ /* ===== Syntax Highlighting (Dark Mode) ===== */
1217
+ [data-theme="dark"] .hljs {
1218
+ color: #e8e8e8;
1219
+ background: var(--color-code-bg);
1220
+ }
1221
+
1222
+ [data-theme="dark"] .hljs-comment,
1223
+ [data-theme="dark"] .hljs-quote {
1224
+ color: #808080;
1225
+ }
1226
+
1227
+ [data-theme="dark"] .hljs-keyword,
1228
+ [data-theme="dark"] .hljs-selector-tag,
1229
+ [data-theme="dark"] .hljs-subst {
1230
+ color: #ff6b6b;
1231
+ }
1232
+
1233
+ [data-theme="dark"] .hljs-number,
1234
+ [data-theme="dark"] .hljs-literal,
1235
+ [data-theme="dark"] .hljs-variable,
1236
+ [data-theme="dark"] .hljs-template-variable,
1237
+ [data-theme="dark"] .hljs-tag .hljs-attr {
1238
+ color: #4da6ff;
1239
+ }
1240
+
1241
+ [data-theme="dark"] .hljs-string,
1242
+ [data-theme="dark"] .hljs-doctag {
1243
+ color: #98c379;
1244
+ }
1245
+
1246
+ [data-theme="dark"] .hljs-title,
1247
+ [data-theme="dark"] .hljs-section,
1248
+ [data-theme="dark"] .hljs-selector-id {
1249
+ color: #c792ea;
1250
+ font-weight: 600;
1251
+ }
1252
+
1253
+ [data-theme="dark"] .hljs-type,
1254
+ [data-theme="dark"] .hljs-class .hljs-title {
1255
+ color: #c792ea;
1256
+ }
1257
+
1258
+ [data-theme="dark"] .hljs-tag,
1259
+ [data-theme="dark"] .hljs-name,
1260
+ [data-theme="dark"] .hljs-attribute {
1261
+ color: #4da6ff;
1262
+ }
1263
+
1264
+ [data-theme="dark"] .hljs-regexp,
1265
+ [data-theme="dark"] .hljs-link {
1266
+ color: #98c379;
1267
+ }
1268
+
1269
+ [data-theme="dark"] .hljs-symbol,
1270
+ [data-theme="dark"] .hljs-bullet {
1271
+ color: #ff8844;
1272
+ }
1273
+
1274
+ [data-theme="dark"] .hljs-built_in,
1275
+ [data-theme="dark"] .hljs-builtin-name {
1276
+ color: #4da6ff;
1277
+ }
1278
+
1279
+ [data-theme="dark"] .hljs-meta {
1280
+ color: #808080;
1281
+ }
1282
+
1283
+ [data-theme="dark"] .hljs-deletion {
1284
+ color: #ffc0c0;
1285
+ background-color: #400000;
1286
+ }
1287
+
1288
+ [data-theme="dark"] .hljs-addition {
1289
+ color: #b5f5b5;
1290
+ background-color: #003000;
1291
+ }
1292
+