@kadal/theme-lecture 0.0.0-stage → 0.4.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.
Files changed (5) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +71 -2
  3. package/index.tsx +245 -0
  4. package/package.json +116 -4
  5. package/style.css +642 -0
package/style.css ADDED
@@ -0,0 +1,642 @@
1
+ /* ─────────────────────────────────────────────────────────────────────────────
2
+ Lecture — an academic theme for lectures, seminars and defences. The Source family (Serif 4
3
+ for headings, Sans 3 for text, Code Pro for code), navy for structure and crimson for results,
4
+ numbered sections, a footer on every slide with the course, the author, the section and the
5
+ page, definition / theorem / proof blocks set the way a textbook sets them, citations and a
6
+ references layout. Made to print: white pages, hairlines that survive a laser printer, no
7
+ shadows, the footer on every page.
8
+
9
+ Scoped under .theme-lecture; dark is .theme-lecture[data-color-scheme="dark"].
10
+ themeConfig (read by index.tsx): `course`, `author`, `institution`, `footer: false`,
11
+ `sectionNumbers: false`. Colours: `accent` (--theme-accent) recolours the structure.
12
+ ───────────────────────────────────────────────────────────────────────────── */
13
+
14
+ .theme-lecture {
15
+ --deck-bg: #fdfcf9;
16
+ --deck-fg: #1b1e24;
17
+ --deck-muted: #545b69;
18
+ --deck-accent: var(--theme-accent, #1f4e8c);
19
+ --deck-accent-2: #a23b2a;
20
+ --deck-surface: #f2f1ec;
21
+ --deck-border: #d6d4cc;
22
+ --deck-live: var(--deck-accent);
23
+ --deck-controls-color: var(--deck-accent);
24
+ --lecture-result: #a23b2a;
25
+ --lecture-good: #2f6b3a;
26
+ --lecture-warn: #8a5a00;
27
+ --deck-heading-font: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
28
+ --deck-body-font: "Source Sans 3", "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, sans-serif;
29
+ --deck-mono-font: "Source Code Pro", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
30
+ --deck-serif-font: "Source Serif 4", "Source Serif Pro", Georgia, serif;
31
+ --deck-base-size: 34px;
32
+ --deck-code-bg: #f4f3ee;
33
+ --deck-code-fg: #24292f;
34
+ --deck-code-active: rgba(31, 78, 140, 0.09);
35
+ --deck-radius: 6px;
36
+ --deck-pad: 84px;
37
+ --deck-transition: 400ms;
38
+ }
39
+ .theme-lecture[data-color-scheme="dark"] {
40
+ --lecture-accent-lifted: color-mix(in oklab, var(--theme-accent) 55%, white);
41
+ --deck-bg: #15181e;
42
+ --deck-fg: #e6e8ec;
43
+ --deck-muted: #a3a9b5;
44
+ --deck-accent: var(--lecture-accent-lifted, #86aef0);
45
+ --deck-accent-2: #ef9a87;
46
+ --deck-surface: #1d2129;
47
+ --deck-border: #313845;
48
+ --lecture-result: #ef9a87;
49
+ --lecture-good: #8fcf9b;
50
+ --lecture-warn: #e3b55e;
51
+ --deck-code-bg: #1c2128;
52
+ --deck-code-fg: #adbac7;
53
+ --deck-code-active: rgba(134, 174, 240, 0.12);
54
+ color-scheme: dark;
55
+ }
56
+ /* a printed page is white, whatever the screen's paper */
57
+ .theme-lecture:not([data-color-scheme="dark"]) .deck-print-page {
58
+ --deck-bg: #ffffff;
59
+ --deck-surface: #f4f4f1;
60
+ }
61
+
62
+ /* ── type ──────────────────────────────────────────────────────────────── */
63
+ .theme-lecture .deck-slide {
64
+ line-height: 1.42;
65
+ }
66
+ .theme-lecture .deck-slide :is(h1, h2, h3) {
67
+ font-weight: 600;
68
+ letter-spacing: -0.012em;
69
+ line-height: 1.12;
70
+ }
71
+ .theme-lecture .deck-slide h1 {
72
+ font-size: 2.6em;
73
+ }
74
+ .theme-lecture .deck-slide h2 {
75
+ font-size: 1.75em;
76
+ margin-bottom: 0.55em;
77
+ padding-bottom: 0.2em;
78
+ border-bottom: 1px solid var(--deck-border);
79
+ }
80
+ .theme-lecture .deck-slide h3 {
81
+ font-size: 1.15em;
82
+ font-weight: 600;
83
+ color: var(--deck-accent);
84
+ }
85
+ .theme-lecture .deck-slide h4 {
86
+ font-family: var(--deck-body-font);
87
+ font-size: 0.66em;
88
+ font-weight: 700;
89
+ letter-spacing: 0.12em;
90
+ text-transform: uppercase;
91
+ color: var(--deck-muted);
92
+ }
93
+ .theme-lecture .deck-slide :is(p, li) {
94
+ text-wrap: pretty;
95
+ hyphens: auto;
96
+ }
97
+ .theme-lecture .deck-slide ul > li::marker {
98
+ color: var(--deck-accent);
99
+ }
100
+ .theme-lecture .deck-slide ul ul > li::marker {
101
+ content: "\2013 ";
102
+ }
103
+ .theme-lecture .deck-slide ol > li::marker {
104
+ color: var(--deck-accent);
105
+ font-weight: 600;
106
+ }
107
+ .theme-lecture .deck-slide ol ol {
108
+ list-style: lower-alpha;
109
+ }
110
+ .theme-lecture .deck-slide em {
111
+ font-style: italic;
112
+ }
113
+ .theme-lecture .deck-slide strong {
114
+ font-weight: 700;
115
+ }
116
+ .theme-lecture .deck-slide a {
117
+ color: var(--deck-accent);
118
+ text-decoration-thickness: 0.05em;
119
+ text-underline-offset: 0.15em;
120
+ }
121
+ .theme-lecture .deck-slide blockquote {
122
+ margin: 0.5em 0;
123
+ padding: 0.1em 0 0.1em 1em;
124
+ border: 0;
125
+ border-inline-start: 2px solid var(--deck-border);
126
+ border-radius: 0;
127
+ background: none;
128
+ font-family: var(--deck-serif-font);
129
+ font-style: italic;
130
+ color: var(--deck-muted);
131
+ }
132
+ .theme-lecture .deck-slide blockquote p:last-child {
133
+ margin-bottom: 0;
134
+ }
135
+ .theme-lecture .deck-slide hr {
136
+ border-top: 1px solid var(--deck-border);
137
+ }
138
+ /* tables as a paper sets them: three rules, a caption above */
139
+ .theme-lecture .deck-slide table {
140
+ font-size: 0.72em;
141
+ border-top: 1.5px solid var(--deck-fg);
142
+ border-bottom: 1.5px solid var(--deck-fg);
143
+ font-variant-numeric: tabular-nums;
144
+ }
145
+ .theme-lecture .deck-slide th {
146
+ font-family: var(--deck-body-font);
147
+ text-transform: none;
148
+ font-size: 0.95em;
149
+ letter-spacing: 0;
150
+ font-weight: 700;
151
+ color: var(--deck-fg);
152
+ border-bottom: 1px solid var(--deck-fg);
153
+ }
154
+ .theme-lecture .deck-slide td {
155
+ border-bottom: 0;
156
+ }
157
+ .theme-lecture .deck-slide :is(th, td) {
158
+ padding: 0.38em 0.9em 0.38em 0;
159
+ }
160
+ .theme-lecture .deck-slide caption {
161
+ caption-side: top;
162
+ text-align: start;
163
+ padding-bottom: 0.4em;
164
+ font-size: 0.92em;
165
+ color: var(--deck-muted);
166
+ }
167
+ .theme-lecture .deck-slide :not(pre) > code {
168
+ font-size: 0.82em;
169
+ padding: 0.06em 0.3em;
170
+ border-radius: 3px;
171
+ background: var(--deck-surface);
172
+ color: var(--deck-fg);
173
+ }
174
+ .theme-lecture .deck-kbd {
175
+ border-radius: 4px;
176
+ }
177
+ .theme-lecture .deck-slide .katex {
178
+ font-size: 1.08em;
179
+ }
180
+ .theme-lecture .deck-slide .katex-display {
181
+ margin: 0.5em 0;
182
+ }
183
+ .theme-lecture .deck-slide figure figcaption {
184
+ margin-top: 0.4em;
185
+ font-size: 0.7em;
186
+ color: var(--deck-muted);
187
+ }
188
+ /* footnote references and the notes themselves */
189
+ .theme-lecture .deck-slide sup {
190
+ font-size: 0.62em;
191
+ line-height: 0;
192
+ }
193
+ .theme-lecture .deck-slide sup a {
194
+ text-decoration: none;
195
+ }
196
+ .theme-lecture .deck-slide :is(.footnotes, section[data-footnotes]) {
197
+ margin-top: auto;
198
+ padding-top: 0.4em;
199
+ border-top: 1px solid var(--deck-border);
200
+ font-size: 0.56em;
201
+ color: var(--deck-muted);
202
+ }
203
+ .theme-lecture .deck-slide :is(.footnotes, section[data-footnotes]) h2 {
204
+ display: none;
205
+ }
206
+
207
+ /* ── code ──────────────────────────────────────────────────────────────── */
208
+ .theme-lecture .deck-code-block {
209
+ border-radius: var(--deck-radius);
210
+ border: 1px solid var(--deck-border);
211
+ }
212
+ .theme-lecture .deck-code-title {
213
+ font: 600 0.48em var(--deck-mono-font);
214
+ color: var(--deck-muted);
215
+ padding: 0.55em 1.1em;
216
+ }
217
+ .theme-lecture .deck-code-title-dot {
218
+ border-radius: 1px;
219
+ background: var(--deck-accent);
220
+ }
221
+ .theme-lecture pre.deck-code,
222
+ .theme-lecture .shiki-magic-move-wrap {
223
+ font-size: 0.58em;
224
+ line-height: 1.6;
225
+ }
226
+ .theme-lecture pre.deck-code .line.is-active {
227
+ box-shadow: inset 3px 0 0 var(--deck-accent);
228
+ }
229
+ .theme-lecture pre.deck-code .line.is-dim {
230
+ opacity: 0.38;
231
+ }
232
+
233
+ /* ── components ────────────────────────────────────────────────────────── */
234
+ .theme-lecture .deck-callout {
235
+ padding: 0.55em 0.9em;
236
+ border: 1px solid var(--deck-border);
237
+ border-inline-start: 4px solid var(--lecture-kind);
238
+ border-radius: 4px;
239
+ background: var(--deck-surface);
240
+ font-size: 0.82em;
241
+ --lecture-kind: var(--deck-accent);
242
+ }
243
+ .theme-lecture .deck-callout.kind-tip {
244
+ --lecture-kind: var(--lecture-good);
245
+ }
246
+ .theme-lecture .deck-callout.kind-warn {
247
+ --lecture-kind: var(--lecture-warn);
248
+ }
249
+ .theme-lecture .deck-callout.kind-danger {
250
+ --lecture-kind: var(--lecture-result);
251
+ }
252
+ .theme-lecture .deck-callout.kind-note {
253
+ --lecture-kind: var(--deck-muted);
254
+ }
255
+ .theme-lecture .deck-callout-title {
256
+ font-weight: 700;
257
+ color: var(--lecture-kind);
258
+ }
259
+ .theme-lecture .deck-callout > div > :last-child {
260
+ margin-bottom: 0;
261
+ }
262
+ .theme-lecture .deck-badge {
263
+ border-radius: 4px;
264
+ letter-spacing: 0.08em;
265
+ }
266
+ .theme-lecture .deck-toc {
267
+ counter-reset: lecture-toc;
268
+ }
269
+ .theme-lecture .deck-toc li {
270
+ margin: 0.2em 0;
271
+ }
272
+ .theme-lecture .deck-toc li.level-1 {
273
+ counter-increment: lecture-toc;
274
+ font-family: var(--deck-heading-font);
275
+ font-weight: 600;
276
+ }
277
+ .theme-lecture .deck-toc li.level-1 > a::before {
278
+ content: counter(lecture-toc) "\2002";
279
+ display: inline-block;
280
+ min-width: 1.4em;
281
+ color: var(--deck-accent);
282
+ }
283
+ .theme-lecture .deck-toc li:is(.level-2, .level-3) {
284
+ padding-inline-start: 1.6em;
285
+ color: var(--deck-muted);
286
+ }
287
+ .theme-lecture .deck-toc li.is-current > a {
288
+ color: var(--deck-accent);
289
+ }
290
+ .theme-lecture .deck-mark {
291
+ --mark-color: var(--lecture-result);
292
+ }
293
+
294
+ /* ── chrome ────────────────────────────────────────────────────────────── */
295
+ .theme-lecture .deck-progress {
296
+ height: 3px;
297
+ background: transparent;
298
+ }
299
+ .theme-lecture .deck-progress span {
300
+ background: var(--deck-accent);
301
+ }
302
+ .theme-lecture .deck-slide-number {
303
+ font: 600 13px var(--deck-body-font);
304
+ color: var(--deck-muted);
305
+ background: none;
306
+ }
307
+
308
+ /* ── the footer (index.tsx's slide-bottom layer) ───────────────────────── */
309
+ .theme-lecture .lecture-footer {
310
+ position: absolute;
311
+ left: var(--deck-pad);
312
+ right: var(--deck-pad);
313
+ bottom: calc(var(--deck-pad) * 0.32);
314
+ display: grid;
315
+ grid-template-columns: 1fr auto 1fr;
316
+ gap: 1em;
317
+ align-items: baseline;
318
+ padding-top: 0.4em;
319
+ border-top: 1px solid var(--deck-border);
320
+ font: 0.46em/1.2 var(--deck-body-font);
321
+ letter-spacing: 0.02em;
322
+ color: var(--deck-muted);
323
+ }
324
+ .theme-lecture .lecture-footer > :first-child {
325
+ overflow: hidden;
326
+ white-space: nowrap;
327
+ text-overflow: ellipsis;
328
+ }
329
+ .theme-lecture .lecture-footer b {
330
+ font-weight: 600;
331
+ color: var(--deck-fg);
332
+ }
333
+ .theme-lecture .lecture-footer-section {
334
+ text-align: center;
335
+ font-style: italic;
336
+ }
337
+ .theme-lecture .lecture-footer-page {
338
+ text-align: end;
339
+ font-variant-numeric: tabular-nums;
340
+ }
341
+
342
+ /* ── layouts ───────────────────────────────────────────────────────────── */
343
+ .theme-lecture .deck-layout-cover {
344
+ justify-content: center;
345
+ align-items: flex-start;
346
+ }
347
+ .theme-lecture .deck-layout-cover h1 {
348
+ font-size: 3em;
349
+ max-width: 20ch;
350
+ margin-bottom: 0.3em;
351
+ }
352
+ .theme-lecture .deck-layout-cover h1 + p {
353
+ font-family: var(--deck-serif-font);
354
+ font-size: 1.2em;
355
+ font-style: italic;
356
+ color: var(--deck-muted);
357
+ max-width: 34em;
358
+ padding-bottom: 0.9em;
359
+ margin-bottom: 0.9em;
360
+ border-bottom: 2px solid var(--deck-accent);
361
+ }
362
+ .theme-lecture .deck-layout-cover > p:not(h1 + p) {
363
+ margin-bottom: 0.15em;
364
+ font-size: 0.85em;
365
+ }
366
+ .theme-lecture .deck-layout-intro {
367
+ align-items: flex-start;
368
+ }
369
+ .theme-lecture .deck-layout-intro h1 {
370
+ font-size: 2.6em;
371
+ }
372
+ .theme-lecture .deck-layout-intro > p {
373
+ max-width: 34em;
374
+ }
375
+ /* the built-in section (index.tsx numbers it): the number, then the title */
376
+ .theme-lecture .deck-layout-section {
377
+ align-items: flex-start;
378
+ }
379
+ .theme-lecture .lecture-section-number {
380
+ font-family: var(--deck-heading-font);
381
+ font-size: 1.1em;
382
+ font-weight: 600;
383
+ color: var(--deck-accent);
384
+ letter-spacing: 0.04em;
385
+ margin-bottom: 0.3em;
386
+ }
387
+ .theme-lecture .lecture-section-number b {
388
+ font-size: 2.6em;
389
+ line-height: 1;
390
+ font-weight: 600;
391
+ margin-inline-start: 0.1em;
392
+ }
393
+ .theme-lecture .deck-layout-section :is(h1, h2) {
394
+ font-size: 2.8em;
395
+ max-width: 20ch;
396
+ border: 0;
397
+ padding: 0;
398
+ }
399
+ .theme-lecture .deck-layout-section > p,
400
+ .theme-lecture .deck-layout-section .lecture-section-body > p {
401
+ max-width: 34em;
402
+ color: var(--deck-muted);
403
+ }
404
+ .theme-lecture .deck-layout-end :is(h1, h2) {
405
+ font-size: 2.8em;
406
+ }
407
+ .theme-lecture .deck-layout-end > p {
408
+ color: var(--deck-muted);
409
+ }
410
+ .theme-lecture .deck-layout-fact > :is(h1, h2, p, .deck-counter):first-child {
411
+ font-family: var(--deck-heading-font);
412
+ font-size: 4.6em;
413
+ font-weight: 600;
414
+ line-height: 1;
415
+ color: var(--deck-accent);
416
+ margin-bottom: 0.2em;
417
+ }
418
+ .theme-lecture .deck-layout-fact > :not(:first-child) {
419
+ font-size: 1.05em;
420
+ font-weight: 400;
421
+ letter-spacing: 0;
422
+ color: var(--deck-muted);
423
+ max-width: 30em;
424
+ }
425
+ .theme-lecture .deck-layout-quote {
426
+ padding-inline: 12%;
427
+ font-size: 1.15em;
428
+ }
429
+ .theme-lecture .deck-layout-quote blockquote {
430
+ border: 0;
431
+ padding: 0;
432
+ font-size: 1.15em;
433
+ color: var(--deck-fg);
434
+ }
435
+ .theme-lecture .deck-layout-quote > p {
436
+ margin-top: 0.6em;
437
+ font-size: 0.7em;
438
+ font-style: normal;
439
+ color: var(--deck-muted);
440
+ }
441
+ .theme-lecture .deck-layout-quote > p::before {
442
+ content: "\2014\2002";
443
+ }
444
+ .theme-lecture .deck-layout-statement :is(h1, h2) {
445
+ font-size: 2.6em;
446
+ max-width: 22ch;
447
+ margin-inline: auto;
448
+ border: 0;
449
+ }
450
+ .theme-lecture .deck-layout-center :is(h1, h2) {
451
+ border: 0;
452
+ }
453
+ .theme-lecture .deck-layout-full {
454
+ padding: 0;
455
+ }
456
+ .theme-lecture .deck-layout-two-cols {
457
+ column-gap: 2.4em;
458
+ }
459
+ .theme-lecture .deck-layout-two-cols > :is(.deck-slot-default, .deck-slot-right) > :first-child {
460
+ margin-top: 0;
461
+ }
462
+ .theme-lecture .deck-layout-two-cols-header {
463
+ column-gap: 2.4em;
464
+ }
465
+ .theme-lecture .deck-layout-two-cols-header > .deck-slot-default h2 {
466
+ margin-bottom: 0.3em;
467
+ }
468
+ .theme-lecture .deck-layout-two-cols-header > .deck-slot-default > p {
469
+ color: var(--deck-muted);
470
+ }
471
+ .theme-lecture .deck-layout-image .deck-layout-image-content {
472
+ background: linear-gradient(180deg, transparent, rgba(10, 14, 24, 0.78));
473
+ }
474
+ .theme-lecture .deck-layout-image .deck-layout-image-content h2 {
475
+ border-bottom-color: rgba(255, 255, 255, 0.3);
476
+ }
477
+ .theme-lecture :is(.deck-layout-image-left, .deck-layout-image-right) .deck-layout-image-content {
478
+ padding: calc(var(--deck-pad) * 0.9);
479
+ }
480
+ .theme-lecture .deck-layout-image-pane {
481
+ background-color: var(--deck-surface);
482
+ }
483
+ .theme-lecture :is(.deck-layout-iframe, .deck-layout-iframe-left, .deck-layout-iframe-right) .deck-frame.deck-layout-iframe-pane {
484
+ border-radius: 4px;
485
+ border: 1px solid var(--deck-border);
486
+ box-shadow: none;
487
+ }
488
+ .theme-lecture :is(.deck-layout-iframe-left, .deck-layout-iframe-right) .deck-layout-iframe-content {
489
+ padding-inline: calc(var(--deck-pad) * 0.4);
490
+ }
491
+
492
+ /* ── definition, theorem, proof (index.tsx) ─────────────────────────────── */
493
+ .theme-lecture .lecture-block {
494
+ margin: 0.5em 0;
495
+ font-size: 0.9em;
496
+ --lecture-kind: var(--deck-accent);
497
+ }
498
+ .theme-lecture .lecture-block > :last-child,
499
+ .theme-lecture .lecture-block-body > :last-child {
500
+ margin-bottom: 0;
501
+ }
502
+ .theme-lecture .lecture-label {
503
+ font-family: var(--deck-heading-font);
504
+ font-style: normal;
505
+ font-weight: 700;
506
+ color: var(--lecture-kind);
507
+ }
508
+ .theme-lecture .lecture-label i {
509
+ font-weight: 400;
510
+ font-style: normal;
511
+ color: var(--deck-fg);
512
+ }
513
+ /* a definition: a tinted box, ruled on the left */
514
+ .theme-lecture .lecture-block.is-definition {
515
+ padding: 0.6em 0.9em;
516
+ background: color-mix(in oklab, var(--deck-accent) 7%, transparent);
517
+ border-inline-start: 4px solid var(--deck-accent);
518
+ border-radius: 0 4px 4px 0;
519
+ }
520
+ /* theorems, lemmas, corollaries, propositions: framed, the statement in italics */
521
+ .theme-lecture .lecture-block:is(.is-theorem, .is-lemma, .is-corollary, .is-proposition) {
522
+ --lecture-kind: var(--lecture-result);
523
+ padding: 0.6em 0.9em;
524
+ border: 1.5px solid var(--lecture-result);
525
+ border-radius: 4px;
526
+ }
527
+ .theme-lecture .lecture-block:is(.is-theorem, .is-lemma, .is-corollary, .is-proposition) .lecture-block-body {
528
+ font-family: var(--deck-serif-font);
529
+ font-style: italic;
530
+ }
531
+ .theme-lecture .lecture-block:is(.is-lemma, .is-corollary, .is-proposition) {
532
+ border-style: solid;
533
+ border-width: 1px;
534
+ }
535
+ /* a proof: no box, an italic label, the tombstone at the end */
536
+ .theme-lecture .lecture-block.is-proof {
537
+ --lecture-kind: var(--deck-fg);
538
+ padding-inline-start: 0.9em;
539
+ border-inline-start: 1px solid var(--deck-border);
540
+ }
541
+ .theme-lecture .lecture-block.is-proof .lecture-label {
542
+ font-family: var(--deck-serif-font);
543
+ font-style: italic;
544
+ font-weight: 600;
545
+ }
546
+ .theme-lecture .lecture-block.is-proof .lecture-block-body > :last-child::after {
547
+ content: "\220E";
548
+ float: right;
549
+ margin-inline-start: 0.6em;
550
+ color: var(--deck-fg);
551
+ }
552
+ .theme-lecture .lecture-block.is-example {
553
+ --lecture-kind: var(--lecture-good);
554
+ padding-inline-start: 0.9em;
555
+ border-inline-start: 3px solid var(--lecture-good);
556
+ }
557
+ .theme-lecture .lecture-block.is-remark {
558
+ --lecture-kind: var(--deck-muted);
559
+ color: var(--deck-muted);
560
+ }
561
+ .theme-lecture .lecture-block.is-remark .lecture-label {
562
+ font-style: italic;
563
+ font-weight: 600;
564
+ }
565
+ /* the label runs in with the first paragraph */
566
+ .theme-lecture .lecture-label + p {
567
+ display: inline;
568
+ }
569
+ .theme-lecture .lecture-label + p + * {
570
+ margin-top: 0.5em;
571
+ }
572
+ /* the slide-sized versions: `layout: definition` and `layout: theorem` */
573
+ .theme-lecture :is(.deck-layout-definition, .deck-layout-theorem) {
574
+ justify-content: center;
575
+ }
576
+ .theme-lecture :is(.deck-layout-definition, .deck-layout-theorem) > .lecture-block {
577
+ font-size: 1.2em;
578
+ max-width: 34em;
579
+ }
580
+ .theme-lecture :is(.deck-layout-definition, .deck-layout-theorem) .lecture-label {
581
+ display: block;
582
+ margin-bottom: 0.35em;
583
+ font-size: 0.8em;
584
+ letter-spacing: 0.02em;
585
+ }
586
+ .theme-lecture :is(.deck-layout-definition, .deck-layout-theorem) .lecture-label + p {
587
+ display: block;
588
+ }
589
+ /* citations and the references slide */
590
+ .theme-lecture .lecture-cite {
591
+ color: var(--deck-accent);
592
+ font-size: 0.92em;
593
+ white-space: nowrap;
594
+ }
595
+ .theme-lecture .deck-layout-references :is(ol, ul) {
596
+ list-style: none;
597
+ padding: 0;
598
+ counter-reset: lecture-ref;
599
+ font-size: 0.72em;
600
+ line-height: 1.38;
601
+ }
602
+ .theme-lecture .deck-layout-references li {
603
+ position: relative;
604
+ counter-increment: lecture-ref;
605
+ padding-inline-start: 2.4em;
606
+ margin: 0 0 0.55em;
607
+ }
608
+ .theme-lecture .deck-layout-references li::before {
609
+ content: "[" counter(lecture-ref) "]";
610
+ position: absolute;
611
+ left: 0;
612
+ font-weight: 600;
613
+ color: var(--deck-accent);
614
+ font-variant-numeric: tabular-nums;
615
+ }
616
+ .theme-lecture .deck-layout-references li em {
617
+ font-style: italic;
618
+ }
619
+ .theme-lecture .deck-layout-references:has(li:nth-child(7)) :is(ol, ul) {
620
+ columns: 2;
621
+ column-gap: 2em;
622
+ }
623
+ .theme-lecture .deck-layout-references li {
624
+ break-inside: avoid;
625
+ }
626
+
627
+ /* ── still copies ──────────────────────────────────────────────────────── */
628
+ @media print {
629
+ .theme-lecture .deck-slide a {
630
+ color: inherit;
631
+ }
632
+ }
633
+ @media (prefers-reduced-motion: reduce) {
634
+ .theme-lecture .deck-progress span {
635
+ transition: none;
636
+ }
637
+ }
638
+
639
+ /* default: content from the top, the heading ruled (above) */
640
+ .theme-lecture .deck-layout-default > :is(h1, h2):first-child {
641
+ margin-top: 0;
642
+ }