r-markdown-cli 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,1218 @@
1
+ :root {
2
+ --rmd-color-page: #f5f7f4;
3
+ --rmd-color-bg: #fbfcf8;
4
+ --rmd-color-surface: #ffffff;
5
+ --rmd-color-surface-strong: #f0f4ef;
6
+ --rmd-color-fg: #20251f;
7
+ --rmd-color-muted: #687064;
8
+ --rmd-color-subtle: #8b9387;
9
+ --rmd-color-line: #d7ddd2;
10
+ --rmd-color-line-strong: #b7c1b0;
11
+ --rmd-color-primary: #176b72;
12
+ --rmd-color-primary-strong: #0e4d55;
13
+ --rmd-color-accent: #c8523e;
14
+ --rmd-color-success: #2f7d4f;
15
+ --rmd-color-warning: #a36a1c;
16
+ --rmd-color-danger: #b63f35;
17
+ --rmd-color-info: #3867a8;
18
+ --rmd-font-body: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", serif;
19
+ --rmd-font-ui: "Avenir Next", Avenir, "Gill Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
20
+ --rmd-font-mono: "SF Mono", "Cascadia Code", "Liberation Mono", Menlo, Consolas, monospace;
21
+ --rmd-radius-sm: 4px;
22
+ --rmd-radius-md: 8px;
23
+ --rmd-radius-lg: 8px;
24
+ --rmd-spacing-sm: 8px;
25
+ --rmd-spacing-md: 16px;
26
+ --rmd-spacing-lg: 28px;
27
+ --rmd-shadow-sm: 0 1px 2px rgb(23 36 29 / 0.05), 0 8px 22px rgb(23 36 29 / 0.05);
28
+ --rmd-shadow-md: 0 16px 38px rgb(23 36 29 / 0.09);
29
+ --rmd-focus-ring: 0 0 0 3px rgb(23 107 114 / 0.2);
30
+ }
31
+
32
+ body[data-rmd-theme] {
33
+ margin: 0;
34
+ background:
35
+ linear-gradient(180deg, rgb(245 247 244 / 0.92), rgb(238 243 241 / 0.92)),
36
+ radial-gradient(circle at 18% 12%, rgb(200 82 62 / 0.12), transparent 28rem),
37
+ radial-gradient(circle at 82% 4%, rgb(23 107 114 / 0.14), transparent 34rem);
38
+ color: var(--rmd-color-fg);
39
+ }
40
+
41
+ .rmd-document {
42
+ box-sizing: border-box;
43
+ max-width: 1040px;
44
+ margin: 0 auto;
45
+ padding: clamp(32px, 6vw, 72px) clamp(18px, 5vw, 56px);
46
+ color: var(--rmd-color-fg);
47
+ font-family: var(--rmd-font-body);
48
+ font-size: 17px;
49
+ line-height: 1.72;
50
+ letter-spacing: 0;
51
+ }
52
+
53
+ .rmd-document *,
54
+ .rmd-document *::before,
55
+ .rmd-document *::after {
56
+ box-sizing: border-box;
57
+ }
58
+
59
+ .rmd-document > :first-child {
60
+ margin-top: 0;
61
+ }
62
+
63
+ .rmd-document > :last-child {
64
+ margin-bottom: 0;
65
+ }
66
+
67
+ .rmd-document h1,
68
+ .rmd-document h2,
69
+ .rmd-document h3,
70
+ .rmd-document h4,
71
+ .rmd-document h5,
72
+ .rmd-document h6 {
73
+ margin: 2.2em 0 0.65em;
74
+ color: #18201a;
75
+ font-family: var(--rmd-font-ui);
76
+ font-weight: 720;
77
+ letter-spacing: 0;
78
+ line-height: 1.12;
79
+ }
80
+
81
+ .rmd-document h1 {
82
+ max-width: 840px;
83
+ margin-bottom: 0.85em;
84
+ padding-bottom: 22px;
85
+ border-bottom: 1px solid var(--rmd-color-line);
86
+ font-size: 42px;
87
+ }
88
+
89
+ .rmd-document h2 {
90
+ font-size: 28px;
91
+ }
92
+
93
+ .rmd-document h3 {
94
+ font-size: 20px;
95
+ }
96
+
97
+ .rmd-document p,
98
+ .rmd-document ul,
99
+ .rmd-document ol,
100
+ .rmd-document blockquote {
101
+ margin: 0 0 1.05em;
102
+ }
103
+
104
+ .rmd-document a {
105
+ color: var(--rmd-color-primary-strong);
106
+ text-decoration-color: rgb(23 107 114 / 0.28);
107
+ text-decoration-thickness: 2px;
108
+ text-underline-offset: 3px;
109
+ }
110
+
111
+ .rmd-document a:hover {
112
+ color: var(--rmd-color-accent);
113
+ text-decoration-color: rgb(200 82 62 / 0.42);
114
+ }
115
+
116
+ .rmd-document strong {
117
+ color: #111a14;
118
+ font-weight: 720;
119
+ }
120
+
121
+ .rmd-document code {
122
+ border: 1px solid rgb(23 107 114 / 0.14);
123
+ border-radius: var(--rmd-radius-sm);
124
+ padding: 0.08em 0.32em;
125
+ background: rgb(23 107 114 / 0.07);
126
+ color: #0f4f57;
127
+ font-family: var(--rmd-font-mono);
128
+ font-size: 0.88em;
129
+ }
130
+
131
+ .rmd-document img {
132
+ max-width: 100%;
133
+ border-radius: var(--rmd-radius-md);
134
+ }
135
+
136
+ .rmd-document blockquote {
137
+ margin: 1.45em 0;
138
+ border-left: 4px solid var(--rmd-color-primary);
139
+ padding: 4px 0 4px 18px;
140
+ color: #3f493d;
141
+ font-size: 18px;
142
+ }
143
+
144
+ .rmd-document blockquote > :last-child {
145
+ margin-bottom: 0;
146
+ }
147
+
148
+ .rmd-document hr {
149
+ margin: 38px 0;
150
+ border: 0;
151
+ border-top: 1px solid var(--rmd-color-line);
152
+ }
153
+
154
+ .rmd-block {
155
+ margin: 32px 0;
156
+ }
157
+
158
+ .rmd-grid {
159
+ display: grid;
160
+ grid-template-columns: repeat(var(--rmd-grid-columns, 1), minmax(0, 1fr));
161
+ gap: 14px;
162
+ }
163
+
164
+ .rmd-grid[data-columns="2"] { --rmd-grid-columns: 2; }
165
+ .rmd-grid[data-columns="3"] { --rmd-grid-columns: 3; }
166
+ .rmd-grid[data-columns="4"] { --rmd-grid-columns: 4; }
167
+ .rmd-grid[data-columns="5"] { --rmd-grid-columns: 5; }
168
+ .rmd-grid[data-columns="6"] { --rmd-grid-columns: 6; }
169
+
170
+ .rmd-grid-cell,
171
+ .rmd-callout,
172
+ .rmd-export,
173
+ .rmd-slider,
174
+ .rmd-diff,
175
+ .rmd-flow,
176
+ .rmd-tabs {
177
+ border: 1px solid var(--rmd-color-line);
178
+ border-radius: var(--rmd-radius-md);
179
+ background: rgb(255 255 255 / 0.86);
180
+ box-shadow: var(--rmd-shadow-sm);
181
+ }
182
+
183
+ .rmd-grid-cell {
184
+ min-width: 0;
185
+ padding: 18px;
186
+ border-top: 3px solid rgb(23 107 114 / 0.46);
187
+ }
188
+
189
+ .rmd-grid-cell > :first-child {
190
+ margin-top: 0;
191
+ }
192
+
193
+ .rmd-grid-cell > :last-child {
194
+ margin-bottom: 0;
195
+ }
196
+
197
+ .rmd-callout,
198
+ .rmd-export,
199
+ .rmd-diff,
200
+ .rmd-flow,
201
+ .rmd-tabs {
202
+ padding: 20px;
203
+ }
204
+
205
+ .rmd-callout {
206
+ position: relative;
207
+ overflow: hidden;
208
+ border-left-width: 5px;
209
+ }
210
+
211
+ .rmd-callout::before {
212
+ position: absolute;
213
+ inset: 0 auto 0 0;
214
+ width: 5px;
215
+ background: currentColor;
216
+ content: "";
217
+ }
218
+
219
+ .rmd-callout-tip,
220
+ .rmd-callout-success {
221
+ border-color: rgb(47 125 79 / 0.28);
222
+ color: var(--rmd-color-success);
223
+ }
224
+
225
+ .rmd-callout-warning {
226
+ border-color: rgb(163 106 28 / 0.3);
227
+ color: var(--rmd-color-warning);
228
+ }
229
+
230
+ .rmd-callout-danger {
231
+ border-color: rgb(182 63 53 / 0.3);
232
+ color: var(--rmd-color-danger);
233
+ }
234
+
235
+ .rmd-callout-info {
236
+ border-color: rgb(56 103 168 / 0.28);
237
+ color: var(--rmd-color-info);
238
+ }
239
+
240
+ .rmd-callout-title,
241
+ .rmd-block-title {
242
+ margin: 0 0 12px;
243
+ color: var(--rmd-color-fg);
244
+ font-family: var(--rmd-font-ui);
245
+ font-size: 15px;
246
+ font-weight: 720;
247
+ }
248
+
249
+ .rmd-callout-body {
250
+ color: var(--rmd-color-fg);
251
+ }
252
+
253
+ .rmd-callout-body > :last-child {
254
+ margin-bottom: 0;
255
+ }
256
+
257
+ .rmd-chart {
258
+ padding: 20px;
259
+ border: 1px solid var(--rmd-color-line);
260
+ border-radius: var(--rmd-radius-md);
261
+ background:
262
+ linear-gradient(180deg, rgb(255 255 255 / 0.94), rgb(246 249 244 / 0.92));
263
+ box-shadow: var(--rmd-shadow-md);
264
+ }
265
+
266
+ .rmd-chart-svg {
267
+ display: block;
268
+ width: 100%;
269
+ max-width: 100%;
270
+ min-height: 220px;
271
+ padding-top: 6px;
272
+ }
273
+
274
+ .rmd-chart rect {
275
+ fill: var(--rmd-color-primary);
276
+ filter: drop-shadow(0 8px 8px rgb(23 107 114 / 0.16));
277
+ transition: fill 160ms ease, transform 160ms ease;
278
+ transform-origin: bottom;
279
+ }
280
+
281
+ .rmd-chart-point:nth-of-type(2n) rect {
282
+ fill: var(--rmd-color-accent);
283
+ }
284
+
285
+ .rmd-chart-point:hover rect {
286
+ fill: var(--rmd-color-primary-strong);
287
+ transform: scaleY(1.03);
288
+ }
289
+
290
+ .rmd-chart text {
291
+ fill: var(--rmd-color-muted);
292
+ font-family: var(--rmd-font-ui);
293
+ font-size: 12px;
294
+ }
295
+
296
+ .rmd-slider {
297
+ display: grid;
298
+ grid-template-columns: minmax(150px, 1.1fr) minmax(180px, 3fr) minmax(58px, auto);
299
+ gap: 14px;
300
+ align-items: center;
301
+ padding: 14px 16px;
302
+ }
303
+
304
+ .rmd-slider label,
305
+ .rmd-slider output {
306
+ font-family: var(--rmd-font-ui);
307
+ font-size: 14px;
308
+ font-weight: 680;
309
+ }
310
+
311
+ .rmd-slider label {
312
+ color: #293128;
313
+ }
314
+
315
+ .rmd-slider output {
316
+ justify-self: end;
317
+ min-width: 54px;
318
+ border: 1px solid rgb(23 107 114 / 0.18);
319
+ border-radius: 999px;
320
+ padding: 4px 9px;
321
+ background: rgb(23 107 114 / 0.08);
322
+ color: var(--rmd-color-primary-strong);
323
+ text-align: center;
324
+ }
325
+
326
+ .rmd-slider input[type="range"] {
327
+ width: 100%;
328
+ accent-color: var(--rmd-color-primary);
329
+ cursor: pointer;
330
+ }
331
+
332
+ .rmd-slider input[type="range"]:focus-visible,
333
+ .rmd-export button:focus-visible,
334
+ .rmd-tabs [role="tab"]:focus-visible {
335
+ outline: 0;
336
+ box-shadow: var(--rmd-focus-ring);
337
+ }
338
+
339
+ .rmd-export button,
340
+ .rmd-tabs [role="tab"] {
341
+ border: 1px solid var(--rmd-color-line-strong);
342
+ border-radius: var(--rmd-radius-sm);
343
+ padding: 8px 12px;
344
+ background: var(--rmd-color-surface);
345
+ color: #243026;
346
+ font-family: var(--rmd-font-ui);
347
+ font-size: 13px;
348
+ font-weight: 700;
349
+ cursor: pointer;
350
+ transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
351
+ }
352
+
353
+ .rmd-export button:hover,
354
+ .rmd-tabs [role="tab"]:hover {
355
+ border-color: var(--rmd-color-primary);
356
+ color: var(--rmd-color-primary-strong);
357
+ transform: translateY(-1px);
358
+ }
359
+
360
+ .rmd-export button {
361
+ background: var(--rmd-color-primary);
362
+ border-color: var(--rmd-color-primary);
363
+ color: #fff;
364
+ }
365
+
366
+ .rmd-export button:hover {
367
+ background: var(--rmd-color-primary-strong);
368
+ color: #fff;
369
+ }
370
+
371
+ .rmd-tabs [role="tablist"] {
372
+ display: flex;
373
+ flex-wrap: wrap;
374
+ gap: 8px;
375
+ margin-bottom: 18px;
376
+ }
377
+
378
+ .rmd-tabs [role="tab"][aria-selected="true"] {
379
+ border-color: var(--rmd-color-primary);
380
+ background: rgb(23 107 114 / 0.1);
381
+ color: var(--rmd-color-primary-strong);
382
+ }
383
+
384
+ .rmd-tabs [role="tabpanel"] > :last-child {
385
+ margin-bottom: 0;
386
+ }
387
+
388
+ .rmd-code,
389
+ .rmd-export pre,
390
+ .rmd-diff pre {
391
+ overflow: auto;
392
+ border: 1px solid rgb(32 37 31 / 0.1);
393
+ border-radius: var(--rmd-radius-md);
394
+ background: #15201b;
395
+ color: #e8eee7;
396
+ font-family: var(--rmd-font-mono);
397
+ font-size: 13px;
398
+ line-height: 1.62;
399
+ }
400
+
401
+ .rmd-code {
402
+ padding: 16px;
403
+ }
404
+
405
+ .rmd-code code,
406
+ .rmd-export pre code,
407
+ .rmd-diff code {
408
+ border: 0;
409
+ padding: 0;
410
+ background: transparent;
411
+ color: inherit;
412
+ font-size: inherit;
413
+ }
414
+
415
+ .rmd-export pre,
416
+ .rmd-diff pre {
417
+ margin: 14px 0 0;
418
+ padding: 14px;
419
+ }
420
+
421
+ .rmd-flow ol {
422
+ display: grid;
423
+ gap: 10px;
424
+ margin: 0;
425
+ padding: 0;
426
+ list-style: none;
427
+ }
428
+
429
+ .rmd-flow li {
430
+ display: flex;
431
+ flex-wrap: wrap;
432
+ gap: 8px;
433
+ align-items: center;
434
+ border: 1px solid rgb(23 107 114 / 0.14);
435
+ border-radius: var(--rmd-radius-md);
436
+ padding: 10px 12px;
437
+ background: rgb(23 107 114 / 0.055);
438
+ color: #263229;
439
+ font-family: var(--rmd-font-ui);
440
+ font-size: 14px;
441
+ }
442
+
443
+ .rmd-flow li span:nth-child(2) {
444
+ color: var(--rmd-color-accent);
445
+ font-weight: 800;
446
+ }
447
+
448
+ .rmd-diff-line {
449
+ display: block;
450
+ padding: 2px 0;
451
+ }
452
+
453
+ .rmd-diff-line mark {
454
+ border-radius: 999px;
455
+ padding: 2px 7px;
456
+ background: rgb(200 82 62 / 0.18);
457
+ color: #f0c2b9;
458
+ font-family: var(--rmd-font-ui);
459
+ font-size: 12px;
460
+ }
461
+
462
+ .rmd-diff-add code {
463
+ color: #9fe0b5;
464
+ }
465
+
466
+ .rmd-diff-remove code {
467
+ color: #f1a29a;
468
+ }
469
+
470
+ @media (max-width: 720px) {
471
+ .rmd-grid {
472
+ grid-template-columns: 1fr;
473
+ }
474
+
475
+ .rmd-slider {
476
+ grid-template-columns: 1fr;
477
+ }
478
+
479
+ .rmd-slider output {
480
+ justify-self: start;
481
+ }
482
+
483
+ .rmd-document h1 {
484
+ font-size: 32px;
485
+ }
486
+
487
+ .rmd-document h2 {
488
+ font-size: 24px;
489
+ }
490
+ }
491
+
492
+ /* ========================================================================= */
493
+ /* EXTENSION BLOCKS v0.2 */
494
+ /* ========================================================================= */
495
+
496
+ /* Grid Masonry Layout */
497
+ .rmd-grid[data-layout="masonry"] {
498
+ display: block;
499
+ column-gap: 14px;
500
+ column-count: var(--rmd-grid-columns, 1);
501
+ }
502
+
503
+ .rmd-grid[data-layout="masonry"] > .rmd-grid-cell {
504
+ break-inside: avoid;
505
+ margin-bottom: 14px;
506
+ }
507
+
508
+ /* Timeline */
509
+ .rmd-timeline {
510
+ margin: 32px 0;
511
+ }
512
+
513
+ .rmd-timeline ol {
514
+ position: relative;
515
+ margin: 0;
516
+ padding: 0;
517
+ list-style: none;
518
+ }
519
+
520
+ .rmd-timeline-vertical ol::before {
521
+ position: absolute;
522
+ top: 0;
523
+ bottom: 0;
524
+ left: 5px;
525
+ width: 2px;
526
+ background: var(--rmd-color-line);
527
+ content: "";
528
+ }
529
+
530
+ .rmd-timeline-vertical .rmd-timeline-item {
531
+ position: relative;
532
+ padding-left: 28px;
533
+ margin-bottom: 24px;
534
+ }
535
+
536
+ .rmd-timeline-vertical .rmd-timeline-item::before {
537
+ position: absolute;
538
+ top: 6px;
539
+ left: 0;
540
+ width: 12px;
541
+ height: 12px;
542
+ border-radius: 50%;
543
+ background: var(--rmd-color-surface);
544
+ border: 2px solid var(--rmd-color-line-strong);
545
+ content: "";
546
+ z-index: 1;
547
+ }
548
+
549
+ .rmd-timeline-horizontal ol {
550
+ display: flex;
551
+ overflow-x: auto;
552
+ gap: 20px;
553
+ padding-bottom: 10px;
554
+ }
555
+
556
+ .rmd-timeline-horizontal .rmd-timeline-item {
557
+ flex: 0 0 auto;
558
+ min-width: 200px;
559
+ position: relative;
560
+ padding-top: 28px;
561
+ }
562
+
563
+ .rmd-timeline-horizontal ol::before {
564
+ position: absolute;
565
+ top: 5px;
566
+ left: 0;
567
+ right: 0;
568
+ height: 2px;
569
+ background: var(--rmd-color-line);
570
+ content: "";
571
+ }
572
+
573
+ .rmd-timeline-horizontal .rmd-timeline-item::before {
574
+ position: absolute;
575
+ top: 0;
576
+ left: 0;
577
+ width: 12px;
578
+ height: 12px;
579
+ border-radius: 50%;
580
+ background: var(--rmd-color-surface);
581
+ border: 2px solid var(--rmd-color-line-strong);
582
+ content: "";
583
+ z-index: 1;
584
+ }
585
+
586
+ .rmd-timeline-time {
587
+ font-family: var(--rmd-font-mono);
588
+ font-size: 13px;
589
+ color: var(--rmd-color-subtle);
590
+ margin-bottom: 4px;
591
+ }
592
+
593
+ .rmd-timeline-content h4 {
594
+ margin: 0 0 8px;
595
+ font-size: 16px;
596
+ color: var(--rmd-color-fg);
597
+ }
598
+
599
+ .rmd-timeline-status-success::before { border-color: var(--rmd-color-success) !important; background: var(--rmd-color-success) !important; }
600
+ .rmd-timeline-status-warning::before { border-color: var(--rmd-color-warning) !important; background: var(--rmd-color-warning) !important; }
601
+ .rmd-timeline-status-danger::before { border-color: var(--rmd-color-danger) !important; background: var(--rmd-color-danger) !important; }
602
+ .rmd-timeline-status-pending::before { border-color: var(--rmd-color-primary) !important; }
603
+
604
+ /* Kanban */
605
+ .rmd-kanban {
606
+ display: flex;
607
+ gap: 16px;
608
+ overflow-x: auto;
609
+ padding-bottom: 16px;
610
+ align-items: flex-start;
611
+ scroll-snap-type: x mandatory;
612
+ }
613
+
614
+ .rmd-kanban-column {
615
+ flex: 0 0 300px;
616
+ scroll-snap-align: start;
617
+ background: rgb(243 246 242 / 0.85);
618
+ border-radius: var(--rmd-radius-md);
619
+ padding: 16px;
620
+ border: 1px solid var(--rmd-color-line);
621
+ }
622
+
623
+ .rmd-kanban-column h3 {
624
+ margin: 0 0 16px;
625
+ font-size: 15px;
626
+ font-weight: 720;
627
+ color: var(--rmd-color-fg);
628
+ display: flex;
629
+ align-items: center;
630
+ gap: 8px;
631
+ }
632
+
633
+ .rmd-kanban-column h3::before {
634
+ content: "";
635
+ display: block;
636
+ width: 10px;
637
+ height: 10px;
638
+ border-radius: 50%;
639
+ background: var(--rmd-color-primary);
640
+ box-shadow: 0 0 0 3px rgb(23 107 114 / 0.15);
641
+ }
642
+
643
+ .rmd-kanban-column:nth-child(2n) h3::before { background: var(--rmd-color-warning); box-shadow: 0 0 0 3px rgb(163 106 28 / 0.15); }
644
+ .rmd-kanban-column:nth-child(3n) h3::before { background: var(--rmd-color-success); box-shadow: 0 0 0 3px rgb(47 125 79 / 0.15); }
645
+ .rmd-kanban-column:nth-child(4n) h3::before { background: var(--rmd-color-accent); box-shadow: 0 0 0 3px rgb(200 82 62 / 0.15); }
646
+
647
+ .rmd-kanban-cards {
648
+ display: flex;
649
+ flex-direction: column;
650
+ gap: 12px;
651
+ }
652
+
653
+ .rmd-kanban-cards ul,
654
+ .rmd-kanban-cards ol {
655
+ list-style: none;
656
+ padding: 0;
657
+ margin: 0;
658
+ display: flex;
659
+ flex-direction: column;
660
+ gap: 12px;
661
+ }
662
+
663
+ .rmd-kanban-cards > :not(ul):not(ol),
664
+ .rmd-kanban-cards li {
665
+ background: var(--rmd-color-surface);
666
+ border-radius: var(--rmd-radius-sm);
667
+ padding: 14px;
668
+ margin: 0;
669
+ box-shadow: 0 2px 5px rgb(23 36 29 / 0.04);
670
+ border: 1px solid var(--rmd-color-line);
671
+ font-size: 15px;
672
+ line-height: 1.5;
673
+ color: #384236;
674
+ transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
675
+ cursor: default;
676
+ }
677
+
678
+ .rmd-kanban-cards > :not(ul):not(ol):hover,
679
+ .rmd-kanban-cards li:hover {
680
+ transform: translateY(-2px);
681
+ box-shadow: var(--rmd-shadow-sm);
682
+ border-color: var(--rmd-color-line-strong);
683
+ }
684
+
685
+ .rmd-kanban-cards li input[type="checkbox"] {
686
+ margin-right: 8px;
687
+ accent-color: var(--rmd-color-primary);
688
+ }
689
+
690
+ /* Details */
691
+ .rmd-details {
692
+ border: 1px solid var(--rmd-color-line);
693
+ border-radius: var(--rmd-radius-md);
694
+ background: rgb(255 255 255 / 0.6);
695
+ overflow: hidden;
696
+ transition: background 200ms ease;
697
+ }
698
+
699
+ .rmd-details[open] {
700
+ background: var(--rmd-color-surface);
701
+ box-shadow: var(--rmd-shadow-sm);
702
+ }
703
+
704
+ .rmd-details summary {
705
+ padding: 16px 20px;
706
+ font-family: var(--rmd-font-ui);
707
+ font-size: 16px;
708
+ font-weight: 600;
709
+ cursor: pointer;
710
+ user-select: none;
711
+ list-style: none;
712
+ display: flex;
713
+ align-items: center;
714
+ gap: 10px;
715
+ }
716
+
717
+ .rmd-details summary::-webkit-details-marker {
718
+ display: none;
719
+ }
720
+
721
+ .rmd-details summary::before {
722
+ content: "";
723
+ display: block;
724
+ width: 0;
725
+ height: 0;
726
+ border-top: 5px solid transparent;
727
+ border-bottom: 5px solid transparent;
728
+ border-left: 6px solid var(--rmd-color-muted);
729
+ transition: transform 200ms ease;
730
+ }
731
+
732
+ .rmd-details[open] summary::before {
733
+ transform: rotate(90deg);
734
+ }
735
+
736
+ .rmd-details-body {
737
+ padding: 0 20px 20px;
738
+ border-top: 1px solid transparent;
739
+ }
740
+
741
+ .rmd-details[open] .rmd-details-body {
742
+ border-top-color: rgb(23 107 114 / 0.08);
743
+ padding-top: 16px;
744
+ }
745
+
746
+ /* Carousel */
747
+ .rmd-carousel {
748
+ position: relative;
749
+ border: 1px solid var(--rmd-color-line);
750
+ border-radius: var(--rmd-radius-md);
751
+ overflow: hidden;
752
+ box-shadow: var(--rmd-shadow-sm);
753
+ background: var(--rmd-color-surface);
754
+ }
755
+
756
+ .rmd-carousel-track {
757
+ display: flex;
758
+ overflow-x: auto;
759
+ scroll-snap-type: x mandatory;
760
+ scroll-behavior: smooth;
761
+ -ms-overflow-style: none;
762
+ scrollbar-width: none;
763
+ }
764
+
765
+ .rmd-carousel-track::-webkit-scrollbar {
766
+ display: none;
767
+ }
768
+
769
+ .rmd-carousel-item {
770
+ scroll-snap-align: center;
771
+ flex: 0 0 100%;
772
+ width: 100%;
773
+ padding: 24px;
774
+ }
775
+
776
+ /* Embed */
777
+ .rmd-embed {
778
+ position: relative;
779
+ width: 100%;
780
+ border-radius: var(--rmd-radius-md);
781
+ overflow: hidden;
782
+ background: #000;
783
+ box-shadow: var(--rmd-shadow-md);
784
+ }
785
+
786
+ .rmd-embed iframe {
787
+ width: 100%;
788
+ height: 100%;
789
+ border: 0;
790
+ aspect-ratio: var(--rmd-aspect-ratio, 16 / 9);
791
+ }
792
+
793
+ /* Math */
794
+ .rmd-math {
795
+ display: block;
796
+ overflow-x: auto;
797
+ padding: 18px 24px;
798
+ background: rgb(23 107 114 / 0.04);
799
+ border-radius: var(--rmd-radius-md);
800
+ border: 1px solid rgb(23 107 114 / 0.12);
801
+ color: var(--rmd-color-fg);
802
+ font-family: var(--rmd-font-mono);
803
+ font-size: 15px;
804
+ text-align: center;
805
+ }
806
+
807
+ .rmd-math pre {
808
+ margin: 0;
809
+ }
810
+
811
+ /* ========================================================================= */
812
+ /* THEME: notion-like — overrides applied on top of the default layout */
813
+ /* ========================================================================= */
814
+
815
+ :root {
816
+ --rmd-color-page: #ffffff;
817
+ --rmd-color-bg: #ffffff;
818
+ --rmd-color-surface: #ffffff;
819
+ --rmd-color-surface-strong: #f7f6f3;
820
+ --rmd-color-fg: #37352f;
821
+ --rmd-color-muted: #787774;
822
+ --rmd-color-subtle: #9b9a97;
823
+ --rmd-color-line: #ecebe9;
824
+ --rmd-color-line-strong: #d3d1cb;
825
+ --rmd-color-primary: #2383e2;
826
+ --rmd-color-primary-strong: #1a6dc0;
827
+ --rmd-color-accent: #eb5757;
828
+ --rmd-color-success: #0f7b6c;
829
+ --rmd-color-warning: #cb912f;
830
+ --rmd-color-danger: #e03e3e;
831
+ --rmd-color-info: #2383e2;
832
+ --rmd-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
833
+ --rmd-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", sans-serif;
834
+ --rmd-font-mono: "SFMono-Regular", "Menlo", "Consolas", "PT Mono", "Liberation Mono", monospace;
835
+ --rmd-radius-sm: 4px;
836
+ --rmd-radius-md: 6px;
837
+ --rmd-radius-lg: 10px;
838
+ --rmd-spacing-sm: 8px;
839
+ --rmd-spacing-md: 14px;
840
+ --rmd-spacing-lg: 24px;
841
+ --rmd-shadow-sm: 0 1px 2px rgb(15 15 15 / 0.04);
842
+ --rmd-shadow-md: 0 4px 12px rgb(15 15 15 / 0.06);
843
+ --rmd-focus-ring: 0 0 0 2px rgb(35 131 226 / 0.45);
844
+ }
845
+
846
+ /* Pure white, no gradient, no decorative tint */
847
+ body[data-rmd-theme] {
848
+ background: #ffffff;
849
+ color: var(--rmd-color-fg);
850
+ }
851
+
852
+ .rmd-document {
853
+ max-width: 720px;
854
+ padding: clamp(40px, 8vw, 96px) clamp(20px, 5vw, 48px) clamp(40px, 6vw, 64px);
855
+ font-size: 16px;
856
+ line-height: 1.6;
857
+ letter-spacing: -0.003em;
858
+ color: var(--rmd-color-fg);
859
+ }
860
+
861
+ /* Headings — system font, tighter, no underline on H1 */
862
+ .rmd-document h1,
863
+ .rmd-document h2,
864
+ .rmd-document h3,
865
+ .rmd-document h4,
866
+ .rmd-document h5,
867
+ .rmd-document h6 {
868
+ color: var(--rmd-color-fg);
869
+ font-family: var(--rmd-font-ui);
870
+ font-weight: 700;
871
+ letter-spacing: -0.012em;
872
+ line-height: 1.2;
873
+ }
874
+
875
+ .rmd-document h1 {
876
+ margin-top: 0;
877
+ margin-bottom: 0.6em;
878
+ padding-bottom: 0;
879
+ border-bottom: 0;
880
+ font-size: 40px;
881
+ font-weight: 800;
882
+ }
883
+
884
+ .rmd-document h2 {
885
+ margin-top: 1.8em;
886
+ font-size: 24px;
887
+ font-weight: 700;
888
+ }
889
+
890
+ .rmd-document h3 {
891
+ margin-top: 1.4em;
892
+ font-size: 18px;
893
+ font-weight: 600;
894
+ }
895
+
896
+ .rmd-document a {
897
+ color: var(--rmd-color-fg);
898
+ text-decoration: underline;
899
+ text-decoration-color: var(--rmd-color-line-strong);
900
+ text-decoration-thickness: 1px;
901
+ text-underline-offset: 2px;
902
+ }
903
+
904
+ .rmd-document a:hover {
905
+ color: var(--rmd-color-fg);
906
+ text-decoration-color: var(--rmd-color-fg);
907
+ }
908
+
909
+ .rmd-document strong {
910
+ color: var(--rmd-color-fg);
911
+ font-weight: 700;
912
+ }
913
+
914
+ /* Notion-style inline code — pink-tinged on neutral pill */
915
+ .rmd-document code {
916
+ background: #f1f1ef;
917
+ border: 0;
918
+ color: #eb5757;
919
+ font-size: 0.86em;
920
+ padding: 2px 6px;
921
+ border-radius: 4px;
922
+ }
923
+
924
+ /* Notion-style block quote — accent left border, neutral text */
925
+ .rmd-document blockquote {
926
+ margin-left: 0;
927
+ margin-right: 0;
928
+ padding: 4px 0 4px 18px;
929
+ border-left: 3px solid var(--rmd-color-fg);
930
+ background: transparent;
931
+ color: var(--rmd-color-fg);
932
+ font-style: normal;
933
+ font-size: 16px;
934
+ }
935
+
936
+ .rmd-document hr {
937
+ height: 1px;
938
+ background: var(--rmd-color-line);
939
+ margin: 2em 0;
940
+ }
941
+
942
+ /* Card-like blocks — flat, soft border, very subtle shadow on hover */
943
+ .rmd-grid-cell,
944
+ .rmd-callout,
945
+ .rmd-export,
946
+ .rmd-slider,
947
+ .rmd-diff,
948
+ .rmd-flow,
949
+ .rmd-tabs {
950
+ background: var(--rmd-color-surface);
951
+ border: 1px solid var(--rmd-color-line);
952
+ border-radius: var(--rmd-radius-md);
953
+ box-shadow: none;
954
+ }
955
+
956
+ .rmd-grid-cell {
957
+ background: var(--rmd-color-surface-strong);
958
+ }
959
+
960
+ /* Notion-style callout: gray bg, color icon stripe via left border */
961
+ .rmd-callout {
962
+ background: var(--rmd-color-surface-strong);
963
+ border: 1px solid var(--rmd-color-line);
964
+ border-left-width: 3px;
965
+ border-radius: var(--rmd-radius-md);
966
+ }
967
+
968
+ .rmd-callout::before {
969
+ width: 3px;
970
+ }
971
+
972
+ .rmd-callout-tip,
973
+ .rmd-callout-success { color: var(--rmd-color-success); border-left-color: var(--rmd-color-success); }
974
+ .rmd-callout-warning { color: var(--rmd-color-warning); border-left-color: var(--rmd-color-warning); }
975
+ .rmd-callout-danger { color: var(--rmd-color-danger); border-left-color: var(--rmd-color-danger); }
976
+ .rmd-callout-info { color: var(--rmd-color-info); border-left-color: var(--rmd-color-info); }
977
+
978
+ .rmd-callout-title,
979
+ .rmd-block-title {
980
+ color: var(--rmd-color-fg);
981
+ font-family: var(--rmd-font-ui);
982
+ font-weight: 600;
983
+ font-size: 15px;
984
+ letter-spacing: -0.005em;
985
+ }
986
+
987
+ .rmd-callout-body { color: var(--rmd-color-fg); }
988
+
989
+ /* Chart — flat fills, soft rounded bars feeling */
990
+ .rmd-chart {
991
+ background: var(--rmd-color-surface);
992
+ border: 1px solid var(--rmd-color-line);
993
+ border-radius: var(--rmd-radius-md);
994
+ box-shadow: none;
995
+ }
996
+
997
+ .rmd-chart rect {
998
+ fill: var(--rmd-color-primary);
999
+ filter: none;
1000
+ rx: 3;
1001
+ ry: 3;
1002
+ }
1003
+
1004
+ .rmd-chart-point:nth-of-type(2n) rect {
1005
+ fill: var(--rmd-color-accent);
1006
+ }
1007
+
1008
+ .rmd-chart-point:hover rect {
1009
+ fill: var(--rmd-color-primary-strong);
1010
+ transform: none;
1011
+ }
1012
+
1013
+ .rmd-chart text {
1014
+ fill: var(--rmd-color-muted);
1015
+ font-family: var(--rmd-font-ui);
1016
+ font-size: 12px;
1017
+ }
1018
+
1019
+ /* Slider — minimal */
1020
+ .rmd-slider label { color: var(--rmd-color-fg); font-family: var(--rmd-font-ui); }
1021
+
1022
+ .rmd-slider output {
1023
+ background: var(--rmd-color-surface-strong);
1024
+ border: 1px solid var(--rmd-color-line);
1025
+ color: var(--rmd-color-fg);
1026
+ font-family: var(--rmd-font-mono);
1027
+ border-radius: 4px;
1028
+ }
1029
+
1030
+ .rmd-slider input[type="range"] {
1031
+ accent-color: var(--rmd-color-primary);
1032
+ }
1033
+
1034
+ /* Buttons — pill style for tabs, blue primary for export */
1035
+ .rmd-export button,
1036
+ .rmd-tabs [role="tab"] {
1037
+ background: var(--rmd-color-surface);
1038
+ border: 1px solid var(--rmd-color-line);
1039
+ border-radius: 999px;
1040
+ padding: 6px 14px;
1041
+ color: var(--rmd-color-fg);
1042
+ font-family: var(--rmd-font-ui);
1043
+ font-weight: 500;
1044
+ font-size: 13px;
1045
+ }
1046
+
1047
+ .rmd-export button:hover,
1048
+ .rmd-tabs [role="tab"]:hover {
1049
+ background: var(--rmd-color-surface-strong);
1050
+ border-color: var(--rmd-color-line-strong);
1051
+ color: var(--rmd-color-fg);
1052
+ transform: none;
1053
+ }
1054
+
1055
+ .rmd-export button {
1056
+ background: var(--rmd-color-primary);
1057
+ border-color: var(--rmd-color-primary);
1058
+ color: #ffffff;
1059
+ border-radius: 6px;
1060
+ }
1061
+
1062
+ .rmd-export button:hover {
1063
+ background: var(--rmd-color-primary-strong);
1064
+ border-color: var(--rmd-color-primary-strong);
1065
+ color: #ffffff;
1066
+ }
1067
+
1068
+ .rmd-tabs [role="tab"][aria-selected="true"] {
1069
+ background: var(--rmd-color-fg);
1070
+ border-color: var(--rmd-color-fg);
1071
+ color: var(--rmd-color-page);
1072
+ }
1073
+
1074
+ /* Code & pre — Notion uses monochrome dark on near-white */
1075
+ .rmd-code,
1076
+ .rmd-export pre,
1077
+ .rmd-diff pre {
1078
+ background: #f7f6f3;
1079
+ border: 1px solid var(--rmd-color-line);
1080
+ color: #37352f;
1081
+ border-radius: var(--rmd-radius-sm);
1082
+ }
1083
+
1084
+ .rmd-export pre,
1085
+ .rmd-diff pre {
1086
+ background: #2f2f2f;
1087
+ color: #e8e8e8;
1088
+ border-color: #2f2f2f;
1089
+ }
1090
+
1091
+ .rmd-code code,
1092
+ .rmd-export pre code,
1093
+ .rmd-diff code {
1094
+ color: inherit;
1095
+ }
1096
+
1097
+ /* Flow — soft chips */
1098
+ .rmd-flow li {
1099
+ background: var(--rmd-color-surface-strong);
1100
+ border: 1px solid var(--rmd-color-line);
1101
+ color: var(--rmd-color-fg);
1102
+ border-radius: var(--rmd-radius-md);
1103
+ }
1104
+
1105
+ .rmd-flow li span:nth-child(2) {
1106
+ color: var(--rmd-color-primary);
1107
+ font-weight: 700;
1108
+ }
1109
+
1110
+ /* Diff */
1111
+ .rmd-diff-add code { color: #6dd9ad; }
1112
+ .rmd-diff-remove code { color: #ff8b80; }
1113
+
1114
+ .rmd-diff-line mark {
1115
+ background: var(--rmd-color-warning);
1116
+ color: #fff;
1117
+ border-radius: 999px;
1118
+ }
1119
+
1120
+ /* Timeline — Notion style: small dot, neutral rail */
1121
+ .rmd-timeline-vertical ol::before,
1122
+ .rmd-timeline-horizontal ol::before {
1123
+ background: var(--rmd-color-line);
1124
+ }
1125
+
1126
+ .rmd-timeline-vertical .rmd-timeline-item::before,
1127
+ .rmd-timeline-horizontal .rmd-timeline-item::before {
1128
+ background: var(--rmd-color-page);
1129
+ border-color: var(--rmd-color-line-strong);
1130
+ box-shadow: none;
1131
+ }
1132
+
1133
+ .rmd-timeline-time {
1134
+ color: var(--rmd-color-muted);
1135
+ font-family: var(--rmd-font-ui);
1136
+ }
1137
+
1138
+ .rmd-timeline-content h4 {
1139
+ color: var(--rmd-color-fg);
1140
+ font-family: var(--rmd-font-ui);
1141
+ }
1142
+
1143
+ /* Kanban — soft column tint, card with hover lift */
1144
+ .rmd-kanban-column {
1145
+ background: var(--rmd-color-surface-strong);
1146
+ border: 1px solid var(--rmd-color-line);
1147
+ border-radius: var(--rmd-radius-md);
1148
+ }
1149
+
1150
+ .rmd-kanban-column h3 {
1151
+ color: var(--rmd-color-fg);
1152
+ font-family: var(--rmd-font-ui);
1153
+ font-weight: 600;
1154
+ }
1155
+
1156
+ .rmd-kanban-cards > :not(ul):not(ol),
1157
+ .rmd-kanban-cards li {
1158
+ background: var(--rmd-color-surface);
1159
+ border: 1px solid var(--rmd-color-line);
1160
+ color: var(--rmd-color-fg);
1161
+ border-radius: var(--rmd-radius-sm);
1162
+ box-shadow: none;
1163
+ }
1164
+
1165
+ .rmd-kanban-cards > :not(ul):not(ol):hover,
1166
+ .rmd-kanban-cards li:hover {
1167
+ border-color: var(--rmd-color-line-strong);
1168
+ box-shadow: var(--rmd-shadow-sm);
1169
+ transform: none;
1170
+ }
1171
+
1172
+ /* Details — Notion toggle */
1173
+ .rmd-details {
1174
+ background: var(--rmd-color-surface);
1175
+ border: 1px solid var(--rmd-color-line);
1176
+ border-radius: var(--rmd-radius-md);
1177
+ }
1178
+
1179
+ .rmd-details[open] {
1180
+ background: var(--rmd-color-surface);
1181
+ box-shadow: none;
1182
+ }
1183
+
1184
+ .rmd-details summary {
1185
+ font-family: var(--rmd-font-ui);
1186
+ font-weight: 600;
1187
+ }
1188
+
1189
+ .rmd-details summary::before {
1190
+ border-left-color: var(--rmd-color-muted);
1191
+ }
1192
+
1193
+ .rmd-details[open] .rmd-details-body {
1194
+ border-top-color: var(--rmd-color-line);
1195
+ }
1196
+
1197
+ /* Carousel & embed — soft cards */
1198
+ .rmd-carousel {
1199
+ background: var(--rmd-color-surface);
1200
+ border: 1px solid var(--rmd-color-line);
1201
+ border-radius: var(--rmd-radius-md);
1202
+ box-shadow: none;
1203
+ }
1204
+
1205
+ .rmd-embed {
1206
+ background: var(--rmd-color-surface-strong);
1207
+ border-radius: var(--rmd-radius-md);
1208
+ box-shadow: none;
1209
+ }
1210
+
1211
+ /* Math — soft monospace */
1212
+ .rmd-math {
1213
+ background: var(--rmd-color-surface-strong);
1214
+ border: 1px solid var(--rmd-color-line);
1215
+ color: var(--rmd-color-fg);
1216
+ border-radius: var(--rmd-radius-md);
1217
+ font-family: var(--rmd-font-mono);
1218
+ }