astro-accelerator 5.9.21 → 5.10.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.
@@ -2,6 +2,11 @@
2
2
 
3
3
  html {
4
4
  box-sizing: border-box;
5
+ interpolate-size: allow-keywords;
6
+
7
+ @media (prefers-reduced-motion: no-preference) {
8
+ scroll-behavior: smooth;
9
+ }
5
10
  }
6
11
 
7
12
  *,
@@ -16,17 +21,21 @@ html {
16
21
  outline: 0;
17
22
  padding: 0;
18
23
  vertical-align: baseline;
24
+ text-decoration-skip-ink: auto;
19
25
  }
20
26
 
21
27
  html {
22
28
  scroll-padding-top: 5em;
29
+ @media (prefers-reduced-motion: no-preference) {
30
+ scroll-behavior: smooth;
31
+ }
23
32
  }
24
33
 
25
34
  body {
26
35
  background-color: var(--aft);
27
36
  color: var(--fore);
28
- font-size: 17px;
29
- line-height: 1.8em;
37
+ font-size: 20px;
38
+ line-height: 1.8;
30
39
  letter-spacing: 0.016em;
31
40
  font-family: var(--content-font);
32
41
  }
@@ -37,6 +46,63 @@ summary {
37
46
  text-decoration: underline;
38
47
  cursor: pointer;
39
48
  border-radius: var(--block-radius);
49
+
50
+ @media (prefers-reduced-motion: no-preference) {
51
+ transition: all 200ms ease-in-out;
52
+ }
53
+ }
54
+
55
+ details {
56
+ overflow: hidden;
57
+ }
58
+
59
+ details::details-content {
60
+ block-size: 0;
61
+
62
+ @media (prefers-reduced-motion: no-preference) {
63
+ transition-property: block-size, content-visibility;
64
+ transition-duration: 0.3s;
65
+ transition-behavior: allow-discrete;
66
+ }
67
+ }
68
+
69
+ details[open]::details-content {
70
+ block-size: auto;
71
+ }
72
+
73
+ form {
74
+ fill: var(--fore-link);
75
+ }
76
+
77
+ fieldset {
78
+ border: none;
79
+ padding: 1rem;
80
+ border-radius: var(--block-radius);
81
+ }
82
+
83
+ input {
84
+ color: var(--fore-input);
85
+ background-color: var(--aft-input);
86
+ }
87
+
88
+ input::placeholder {
89
+ color: var(--fore-input);
90
+ opacity: 0.8;
91
+ }
92
+
93
+ textarea {
94
+ padding: 0.5rem;
95
+ width: calc(100% - 1rem);
96
+ font-family: var(--code-font);
97
+ }
98
+
99
+ button {
100
+ background-color: var(--icon-block);
101
+ border-radius: var(--block-radius);
102
+ color: var(--fore);
103
+ cursor: pointer;
104
+ font-size: 1.3rem;
105
+ padding: 0.6rem;
40
106
  }
41
107
 
42
108
  summary {
@@ -44,11 +110,15 @@ summary {
44
110
  }
45
111
 
46
112
  a:hover,
47
- a:focus,
48
- summary:hover,
49
- summary:focus {
113
+ a:focus {
114
+ color: var(--fore-link-alt);
115
+ }
116
+
117
+ nav a:hover,
118
+ nav a:focus,
119
+ nav summary:hover,
120
+ nav summary:focus {
50
121
  color: var(--fore-link-alt);
51
- background-color: var(--aft-link-alt);
52
122
  }
53
123
 
54
124
  .input-keyboard :focus {
@@ -78,15 +148,16 @@ blockquote::after {
78
148
  top: 3.4rem;
79
149
  }
80
150
 
81
- blockquote > *:first-child {
82
- text-indent: 2em;
151
+ blockquote > *,
152
+ blockquote > p {
153
+ margin-inline-start: 2em;
83
154
  }
84
155
 
85
156
  blockquote cite {
86
157
  font-style: initial;
87
158
  font-weight: bold;
88
159
  display: block;
89
- margin-top: 1em;
160
+ margin-top: var(--block-gap);
90
161
  text-align: right;
91
162
  }
92
163
 
@@ -95,6 +166,16 @@ blockquote cite::before {
95
166
  padding-right: 0.5em;
96
167
  }
97
168
 
169
+ dl {
170
+ display: grid;
171
+ grid-template-columns: auto 1fr;
172
+ gap: var(--grid-gap);
173
+ }
174
+
175
+ dt {
176
+ font-weight: bold;
177
+ }
178
+
98
179
  em {
99
180
  font-style: italic;
100
181
  }
@@ -106,33 +187,50 @@ h4,
106
187
  h5,
107
188
  h6 {
108
189
  font-family: var(--heading-font);
109
- margin: 1.5em 0 0.6em 0;
110
- color: var(--fore-headings);
111
- line-height: 1em;
190
+ margin: var(--block-gap-l) 0 var(--block-gap) 0;
191
+ line-height: 1;
192
+ letter-spacing: -0.03em;
193
+ text-wrap: balance;
194
+ text-decoration: underline;
195
+ text-decoration-color: var(--icon-block);
196
+ text-decoration-thickness: 4px;
197
+ text-underline-offset: 4px;
112
198
  }
113
199
 
114
200
  h1 {
115
- font-size: 3rem;
116
- font-size: clamp(2rem, 6vw, 3rem);
117
- max-width: 90%;
118
- margin-inline: auto;
201
+ font-size: var(--font-size-h1);
202
+ line-height: 1.3;
203
+ text-decoration-thickness: 8px;
204
+
205
+ @media (max-width: 860px) {
206
+ font-size: 2.3rem;
207
+ }
119
208
  }
120
209
 
121
210
  h2 {
122
- font-size: 2.6em;
123
- font-size: clamp(1.8em, 3.5vw, 2.6em);
211
+ font-size: var(--font-size-h2);
212
+
213
+ @media (max-width: 860px) {
214
+ font-size: 2rem;
215
+ }
124
216
  }
125
217
 
126
218
  h3 {
127
- font-size: 2.3em;
128
- font-size: clamp(1.6em, 3vw, 2.3em);
219
+ font-size: var(--font-size-h3);
220
+
221
+ @media (max-width: 860px) {
222
+ font-size: 1.7rem;
223
+ }
129
224
  }
130
225
 
131
226
  h4,
132
227
  h5,
133
228
  h6 {
134
- font-size: 2em;
135
- font-size: clamp(1.4em, 2.5vw, 2em);
229
+ font-size: var(--font-size-h4);
230
+
231
+ @media (max-width: 860px) {
232
+ font-size: 1.3rem;
233
+ }
136
234
  }
137
235
 
138
236
  hr {
@@ -143,10 +241,14 @@ hr {
143
241
  }
144
242
 
145
243
  figure {
146
- border-top: 1px solid var(--icon-block);
147
- border-bottom: 1px solid var(--icon-block);
148
244
  background-color: var(--aft-block);
149
- padding: 0 1rem;
245
+ padding: 1rem;
246
+ box-shadow: var(--box-shadow);
247
+ border-radius: var(--block-radius);
248
+ }
249
+
250
+ figure > p {
251
+ margin: 0;
150
252
  }
151
253
 
152
254
  figcaption {
@@ -157,6 +259,7 @@ figcaption {
157
259
 
158
260
  img {
159
261
  max-width: 100%;
262
+ background-color: var(--aft-image);
160
263
  }
161
264
 
162
265
  img.resp-img {
@@ -165,33 +268,34 @@ img.resp-img {
165
268
  }
166
269
 
167
270
  figure img {
168
- box-shadow: var(--box-shadow);
169
- }
170
-
171
- li::marker {
172
- color: var(--fore-headings);
271
+ border-radius: var(--block-radius);
173
272
  }
174
273
 
175
- .page-content ul:not(.post-list),
274
+ .page-content ul,
176
275
  .page-content ol {
177
276
  margin: var(--paragraph-margin) 0 var(--paragraph-margin) 1.2rem;
178
277
  }
179
278
 
180
- .page-content > h2:nth-child(1) {
181
- margin-top: 0;
279
+ .page-content ul.post-list,
280
+ .page-content ol.post-list {
281
+ margin: var(--paragraph-margin) auto;
182
282
  }
183
283
 
184
284
  p {
185
285
  margin: var(--paragraph-margin) 0;
186
286
  }
187
287
 
288
+ small {
289
+ font-size: 0.8em;
290
+ }
291
+
188
292
  strong {
189
293
  font-weight: bold;
190
294
  }
191
295
 
192
296
  .table-wrap {
193
- overflow: auto;
194
297
  max-width: 100%;
298
+ overflow: auto;
195
299
  }
196
300
 
197
301
  table {
@@ -255,13 +359,8 @@ nav.skip-links a:focus {
255
359
 
256
360
  .site-breadcrumbs ol {
257
361
  font-size: 0.8rem;
258
- background-color: var(--aft-breadcrumb);
259
- color: var(--fore-breadcrumb);
260
- padding: 0 1em;
261
-
262
- @media (max-width: 860px) {
263
- text-align: center;
264
- }
362
+ padding: 0.1em 1em;
363
+ text-align: center;
265
364
  }
266
365
 
267
366
  .site-breadcrumbs li {
@@ -271,7 +370,7 @@ nav.skip-links a:focus {
271
370
 
272
371
  .site-breadcrumbs li::before {
273
372
  content: '>';
274
- margin-inline-end: 0.3em;
373
+ margin-inline-end: 0.3rem;
275
374
  }
276
375
 
277
376
  .site-breadcrumbs li:first-child::before {
@@ -285,78 +384,78 @@ nav.skip-links a:focus {
285
384
  }
286
385
 
287
386
  /* Header */
288
-
289
387
  .site-header {
290
- color: var(--fore-head);
291
- background-color: var(--aft-head);
292
388
  text-align: center;
293
389
  font-size: 2rem;
294
- font-size: clamp(1.2em, 4vw, 1.6em);
295
- padding: 1rem;
296
- position: sticky;
297
- top: 0;
298
- z-index: 10;
299
- gap: 1rem;
390
+ gap: 2rem;
300
391
  display: grid;
301
392
  grid-template-columns: auto 40px 40px;
302
393
  align-items: center;
394
+ padding-block: 2rem;
395
+ width: var(--content-width);
396
+ margin-inline: auto;
397
+ max-width: calc(100vw - 1rem);
398
+ stroke: var(--fore);
399
+ }
400
+
401
+ a.site-title {
402
+ text-align: left;
403
+ text-decoration: none;
303
404
  }
304
405
 
305
- .site-header a {
306
- color: var(--link-head);
406
+ a.navigation-icon {
407
+ color: var(--fore-link);
307
408
  text-decoration: none;
409
+ align-self: center;
410
+ height: 40px;
411
+ padding: 0.4rem 0;
308
412
  }
309
413
 
310
- .site-header a:hover,
311
- .site-header a:focus {
312
- color: var(--link-alt-head);
414
+ a.site-title:hover,
415
+ a.site-title:focus,
416
+ a.navigation-icon:hover,
417
+ a.navigation-icon:focus {
418
+ color: var(--fore-link-alt);
313
419
  background-color: unset;
314
420
  }
315
421
 
316
422
  .site-header .site-title {
317
- letter-spacing: -1px;
318
- text-transform: uppercase;
319
- text-align: left;
320
-
321
- @media (min-width: 338px) {
322
- flex-shrink: 0;
323
- }
423
+ letter-spacing: -0.03em;
424
+ font-family: var(--heading-font);
425
+ line-height: 1.3;
426
+ flex-shrink: 0;
324
427
  }
325
428
 
326
429
  .site-header .header-icon {
327
430
  --icon-width: 40px;
328
- stroke: var(--icon-head);
431
+ stroke: var(--fore-link);
329
432
  width: var(--icon-width);
330
433
  height: var(--icon-width);
331
434
  }
332
435
 
333
- /* Navigation */
334
-
335
- nav.site-nav.sticky {
336
- align-self: start;
337
- position: sticky;
436
+ .site-header .header-icon:hover,
437
+ .site-header .header-icon:focus {
438
+ stroke: var(--fore-link-alt);
338
439
  }
339
440
 
340
- nav.site-nav h2 {
341
- margin-block-start: 0.1em;
342
- display: none;
343
-
344
- @media (max-width: 860px) {
345
- display: block;
346
- }
441
+ .site-header .header-icon[data-navigationid='site-nav'] {
442
+ position: relative;
443
+ z-index: 100;
347
444
  }
348
445
 
446
+ /* Navigation */
447
+
349
448
  .site-nav {
350
- margin-block-start: 10rem;
351
- margin-block-end: 1rem;
449
+ font-size: var(--font-size-meta);
450
+ }
352
451
 
353
- @media (max-width: 860px) {
354
- margin-block: 1rem;
355
- }
452
+ .site-nav ul {
453
+ border-top: 1px solid var(--fore-link);
356
454
  }
357
455
 
358
456
  .site-nav li {
359
457
  list-style: none;
458
+ border-bottom: 1px solid var(--fore-link);
360
459
  }
361
460
 
362
461
  .site-nav a {
@@ -364,26 +463,22 @@ nav.site-nav h2 {
364
463
  width: calc(100% - 2.07rem);
365
464
  display: inline-block;
366
465
  padding: 0.5rem 1rem;
466
+ text-decoration: none;
467
+ padding: 1rem;
367
468
  }
368
469
 
369
470
  .site-nav li.has-children summary span {
370
471
  text-indent: 0;
371
- width: calc(100% - 2.07rem - var(--marker-size));
372
472
  display: inline-block;
373
473
  padding: 0.5rem 1rem;
374
- text-decoration: underline;
474
+ text-decoration: none;
475
+ padding: 1rem;
375
476
  }
376
477
 
377
478
  .site-nav li.has-children ul a {
378
- width: calc(100% - 2rem);
379
479
  text-indent: calc(var(--marker-size) * 2);
380
480
  }
381
481
 
382
- .site-nav li.has-children ul details {
383
- width: calc(100% - var(--marker-size));
384
- margin-inline-start: var(--marker-size);
385
- }
386
-
387
482
  .site-nav a[aria-current] {
388
483
  font-weight: bold;
389
484
  }
@@ -398,132 +493,64 @@ nav.site-nav h2 {
398
493
  width: 1em;
399
494
  }
400
495
 
401
- /* Alternative navigation example */
402
-
403
- .site-nav-bar {
404
- position: sticky;
405
- top: 62px;
406
- background-color: var(--aft-breadcrumb);
407
- z-index: 10;
408
- box-shadow: var(--box-shadow);
496
+ .overlay-menu .site-nav {
497
+ font-size: 1.4em;
409
498
 
410
499
  @media (max-width: 860px) {
411
- display: none;
500
+ font-size: 1em;
412
501
  }
413
502
  }
414
503
 
415
- .site-nav-bar h2 {
416
- display: none;
417
-
418
- @media (max-width: 860px) {
419
- display: block;
420
- }
421
- }
422
-
423
- .site-nav-bar ul {
424
- list-style: none;
425
- text-align: center;
426
- }
427
-
428
- .site-nav-bar ul li {
429
- display: inline-block;
430
- margin: 0 1rem;
431
- }
432
-
433
- .site-nav-bar ul li a {
434
- display: block;
435
- padding: 0.3rem 0.5rem;
436
- }
437
-
438
- .overlay-menu .site-nav-bar li {
439
- display: block;
440
- margin: 0.3rem;
441
- }
442
-
443
- .overlay-menu .site-nav-bar {
444
- display: block;
445
- }
446
-
447
- .overlay-menu a,
448
- .overlay-menu summary {
449
- border-bottom: 1px solid var(--fore-link);
450
- border-radius: var(--block-radius) var(--block-radius) 0 0;
451
- }
452
-
453
504
  /* Main content group */
454
505
 
455
506
  .content-group {
456
- width: 100%;
457
- max-width: 100%;
507
+ margin-inline: 0.5rem;
458
508
  display: grid;
459
- grid-template-columns: minmax(5vw, 50vw) var(--navigation-width) min-content minmax(
460
- 5vw,
461
- 50vw
462
- );
463
- grid-template-areas: 'left nav content right';
464
509
  gap: var(--grid-gap);
510
+ justify-content: center;
511
+ max-width: 100vw;
465
512
  padding-top: 0;
466
-
467
- @media (max-width: 860px) {
468
- grid-template-columns: 1.5rem auto 1.5rem;
469
- grid-template-rows: auto auto auto;
470
- grid-template-areas:
471
- 'left content right'
472
- 'left nav right';
473
- gap: 0;
474
- }
475
- }
476
-
477
- .content-group > main {
478
- grid-area: content;
513
+ grid-template-columns: minmax(0, var(--content-width));
514
+ grid-template-rows: auto auto auto;
515
+ grid-template-areas:
516
+ 'toc'
517
+ 'content'
518
+ 'menu';
479
519
  }
480
520
 
481
521
  .content-group header {
482
- text-align: center;
483
522
  padding-bottom: var(--block-gap);
484
- max-width: 100%;
523
+
524
+ @media (max-width: 860px) {
525
+ text-align: left;
526
+ }
485
527
  }
486
528
 
487
529
  .content-group header p {
488
- width: 60%;
489
- margin: 0 auto;
490
- font-size: 2em;
491
- color: var(--fore-headings);
530
+ font-size: 1.6em;
531
+ line-height: 1.2;
532
+ margin: calc(var(--block-gap) * -1) 0 0 0;
492
533
  text-wrap: balance;
493
534
  }
494
535
 
495
- .content-group nav {
496
- grid-area: nav;
497
- padding: 0 1rem 0 0;
536
+ .content-group > nav {
537
+ grid-area: menu;
538
+ padding: var(--block-gap) 0;
498
539
  }
499
540
 
500
- .content-group article > .page-content {
501
- width: calc(var(--content-width) - var(--navigation-width));
502
- max-width: calc(var(--grid-max-width) - var(--navigation-width));
503
-
504
- @media (max-width: 860px) {
505
- width: unset;
506
- max-width: var(--content-width-mobile);
507
- }
541
+ .page-content > h2:nth-child(1) {
542
+ margin-top: 0;
508
543
  }
509
544
 
510
545
  /* Table of Contents (TOC) */
511
546
 
512
547
  .page-toc {
513
- background-color: var(--aft-block);
514
- padding: 0 1rem;
515
- margin: 0 0 var(--block-gap) 0;
516
- border-radius: var(--block-radius);
517
- }
518
-
519
- .page-toc summary {
520
- text-align: center;
548
+ margin: 0 0 var(--paragraph-margin) 0;
549
+ font-size: var(--font-size-meta);
521
550
  }
522
551
 
523
552
  .page-toc ol {
524
553
  list-style: none;
525
- padding-bottom: var(--block-gap);
526
- margin: 1rem;
527
554
  }
528
555
 
529
556
  .page-toc li a {
@@ -531,10 +558,6 @@ nav.site-nav h2 {
531
558
  padding: 0.5rem 1rem;
532
559
  }
533
560
 
534
- .page-toc li a.highlight {
535
- font-weight: bold;
536
- }
537
-
538
561
  .page-toc li.toc-lev-2 {
539
562
  margin-left: 0rem;
540
563
  }
@@ -561,35 +584,24 @@ nav.site-nav h2 {
561
584
  text-align: center;
562
585
  padding: 0.5rem 0;
563
586
  width: 100%;
564
- color: var(--fore-head);
565
- background-color: var(--aft-head);
587
+ background-color: var(--aft-block);
588
+ margin-top: 4rem;
589
+ }
590
+
591
+ .site-footer h2 {
592
+ padding-top: 2rem;
566
593
  }
567
594
 
568
595
  .site-footer a {
596
+ color: var(--fore-link);
597
+ text-decoration: none;
569
598
  display: block;
570
599
  padding: 0.5rem 1rem;
571
600
  }
572
601
 
573
- /* Footer columns */
574
-
575
- .footer-columns {
576
- display: grid;
577
- grid-template-columns: repeat(auto-fit, minmax(18rem, 22rem));
578
- justify-content: center;
579
- gap: var(--block-gap);
580
-
581
- @media (max-width: 680px) {
582
- grid-template-columns: 1fr;
583
- }
584
- }
585
-
586
- .footer-columns h2 {
587
- margin: var(--paragraph-margin) auto;
588
- }
589
-
590
- .footer-columns ul {
591
- list-style: none;
592
- margin: var(--paragraph-margin) 0;
602
+ .site-footer a:hover,
603
+ .site-footer a:focus {
604
+ color: var(--fore-link-alt);
593
605
  }
594
606
 
595
607
  /* Overlay (Mobile Navigation, Search) */
@@ -606,19 +618,26 @@ nav.site-nav h2 {
606
618
  z-index: 1;
607
619
  }
608
620
 
621
+ .overlay > * {
622
+ max-width: 40rem;
623
+ margin: 0 auto;
624
+ }
625
+
609
626
  /* Site Search */
610
627
 
611
- .site-search > fieldset {
628
+ .site-search-wrapper fieldset {
612
629
  height: 100%;
613
630
  display: flex;
614
631
  align-items: center;
632
+ padding: 0;
615
633
  }
616
634
 
617
- .site-search-wrapper input,
618
- .site-search-wrapper button {
619
- padding: 0.5em;
620
- font-size: 1.3rem;
635
+ .site-search-wrapper input {
636
+ background-color: var(--aft-block);
621
637
  border-radius: var(--block-radius);
638
+ color: var(--fore);
639
+ font-size: 1.3rem;
640
+ padding: 0.5em;
622
641
  }
623
642
 
624
643
  .site-search-wrapper input {
@@ -631,17 +650,13 @@ nav.site-nav h2 {
631
650
 
632
651
  .site-search-results ul.site-search-results-list {
633
652
  list-style-type: none;
634
- margin: 0;
653
+ margin-block: 1rem;
654
+ margin-inline: 0;
635
655
  }
636
656
 
637
- .site-search-results ul.site-search-results-list > li {
657
+ .site-search-results li.site-search-results-item {
638
658
  list-style-type: none;
639
- margin-block: 2rem;
640
- padding-block-end: 2rem;
641
- }
642
-
643
- .site-search-results ul.site-search-results-list > li:not(:last-child) {
644
- border-bottom: 1px solid var(--fore);
659
+ margin: var(--block-gap-l) 0 var(--block-gap-l) 0;
645
660
  }
646
661
 
647
662
  .site-search-results-item a {
@@ -659,6 +674,7 @@ nav.site-nav h2 {
659
674
  color: var(--aft-link-alt);
660
675
  background-color: var(--fore-link);
661
676
  cursor: pointer;
677
+ width: auto;
662
678
  }
663
679
 
664
680
  .result-wrapper mark,
@@ -669,44 +685,37 @@ nav.site-nav h2 {
669
685
  }
670
686
 
671
687
  .result-path {
672
- color: var(--fore-breadcrumb);
673
- font-size: 0.875rem;
674
- font-weight: 400;
675
- display: flex;
676
- gap: 0.5rem;
677
- flex-wrap: wrap;
678
- font-family: monospace;
688
+ display: none;
679
689
  }
680
690
 
681
691
  .result-path-icon {
682
- stroke: var(--fore-breadcrumb);
692
+ stroke: var(--fore);
683
693
  }
684
694
 
685
695
  .result-path-segment:last-child {
686
- color: var(--link-head);
696
+ color: var(--fore-link);
687
697
  }
688
698
 
689
699
  .result-title {
690
- color: var(--link-head);
700
+ color: var(--fore-link);
691
701
  font-size: 1.5rem;
692
702
  font-weight: 700;
693
703
  }
694
704
 
695
705
  .result-description {
696
- color: var(--fore-head);
706
+ color: var(--fore-block);
697
707
  font-size: 1rem;
698
708
  font-weight: 400;
699
709
  margin: 0;
700
710
  }
701
711
 
702
712
  .result-headings {
703
- display: grid;
704
- grid-template-columns: 1fr 1fr;
713
+ list-style: none;
714
+ font-size: 1rem;
705
715
  }
706
716
 
707
- .result-headings li {
717
+ .result-headings li:not(:last-child) {
708
718
  text-align: left;
709
- font-size: 1rem;
710
719
  }
711
720
 
712
721
  /* Articles */
@@ -716,54 +725,97 @@ nav.site-nav h2 {
716
725
  }
717
726
 
718
727
  .post-list .list-item {
719
- list-style: none;
720
- color: var(--fore-block);
721
728
  background-color: var(--aft-block);
729
+ border-radius: var(----block-radius);
730
+ box-shadow: var(--box-shadow-unselected);
731
+ color: var(--fore-block);
732
+ list-style: none;
733
+ margin-bottom: var(--block-gap);
722
734
  position: relative;
735
+ }
736
+
737
+ .post-list .list-item:hover,
738
+ .post-list .list-item:focus-within {
723
739
  box-shadow: var(--box-shadow);
724
- margin-bottom: 1.5rem;
740
+ transform: var(--transform-selected);
725
741
  }
726
742
 
727
743
  .post-list .list-item[data-image='true'] > article {
728
744
  display: grid;
729
- grid-template-columns: 1fr 1fr;
745
+ grid-template-columns: 2fr 1fr;
746
+ grid-template-areas: 'content img';
747
+
730
748
  @media (max-width: 680px) {
731
- /* This is deliberately 680, not 860 */
749
+ /* Special Case - We let it be two-column until later */
732
750
  display: unset;
733
751
  grid-template-columns: unset;
752
+ grid-template-areas: unset;
734
753
  }
735
754
  }
736
755
 
737
- .post-list .list-item[data-image='false'] > article {
738
- text-align: center;
739
- }
740
-
741
756
  .post-list .list-item-content {
742
757
  padding: 1rem;
743
758
  display: grid;
744
- grid-template-rows: auto 50px;
759
+ grid-template-rows: auto fit-content(5rem);
745
760
  grid-gap: 1rem;
746
- }
747
-
748
- .post-list .list-item-content .post-meta {
749
- font-size: 0.8rem;
750
- text-align: left;
761
+ grid-area: content;
751
762
  }
752
763
 
753
764
  .post-list .list-item-content h2,
754
765
  .post-list .list-item-content h3 {
755
- margin: 0.5rem 0;
766
+ margin: 0;
767
+ padding: 0;
768
+ font-size: 1.6rem;
769
+ text-decoration: none;
756
770
  }
757
771
 
758
- .post-list .list-item-image img {
772
+ .post-list .list-item-content h2 a,
773
+ .post-list .list-item-content h3 a {
774
+ text-decoration: none;
775
+ }
776
+
777
+ .post-list .list-item[data-image='true'] .list-item-image {
778
+ background-color: var(--fore-link);
779
+ padding: 1.5rem;
780
+ }
781
+
782
+ .post-list .list-item .list-item-image img {
759
783
  width: 100%;
760
- height: 100%;
784
+ min-height: 100%;
785
+ max-height: 8em;
761
786
  object-fit: cover;
787
+ filter: grayscale(1);
788
+ box-shadow: var(--box-shadow);
789
+ transform: rotate(-3deg);
790
+ border-radius: var(--block-radius);
791
+ grid-area: img;
792
+ border: 3px solid var(--fore-link);
793
+
762
794
  @media (max-width: 680px) {
763
- max-height: 120px;
795
+ filter: grayscale(calc(1 - var(--imgshown)));
796
+ scale: calc(1 + (0.2 * var(--imgshown)));
797
+ transform: rotate(3deg);
764
798
  }
765
799
  }
766
800
 
801
+ .post-list .list-item:hover .list-item-image,
802
+ .post-list .list-item:focus-within .list-item-image {
803
+ background-color: var(--icon-block);
804
+ }
805
+
806
+ .post-list .list-item:hover .list-item-image img,
807
+ .post-list .list-item:focus-within .list-item-image img {
808
+ filter: grayscale(0);
809
+ transform: rotate(3deg);
810
+ scale: 1.2;
811
+ }
812
+
813
+ .page-content ul.recent-updates {
814
+ list-style: none;
815
+ margin-inline: 0;
816
+ padding-inline: 0;
817
+ }
818
+
767
819
  .recent-updates li {
768
820
  margin-block-end: 1em;
769
821
  }
@@ -775,13 +827,15 @@ nav.site-nav h2 {
775
827
  /* Paging */
776
828
 
777
829
  .post-paging {
778
- margin-top: 2rem;
779
- text-align: center;
830
+ display: flex;
831
+ flex-direction: row;
832
+ gap: 0.5rem;
833
+ margin: var(--block-gap) 0 var(--block-gap-l) 0;
780
834
  }
781
835
 
782
836
  .post-paging > * {
783
- display: inline-block;
784
- padding: 0.3rem;
837
+ flex: 1;
838
+ text-align: center;
785
839
  }
786
840
 
787
841
  .post-paging a[aria-current] {
@@ -789,6 +843,21 @@ nav.site-nav h2 {
789
843
  color: var(--fore);
790
844
  }
791
845
 
846
+ .post-paging span,
847
+ .post-paging a {
848
+ display: inline-block;
849
+ color: var(--fore-link);
850
+ background-color: var(--aft-block);
851
+ text-decoration: none;
852
+ font-size: 1rem;
853
+ }
854
+
855
+ .post-paging a:hover,
856
+ .post-paging a:focus {
857
+ background-color: var(--fore-link-alt);
858
+ color: var(--aft);
859
+ }
860
+
792
861
  .paging-collapse-before:before,
793
862
  .paging-collapse-after:after {
794
863
  top: 0.2em;
@@ -807,65 +876,89 @@ nav.site-nav h2 {
807
876
  padding-left: 0.6rem;
808
877
  }
809
878
 
810
- .post-meta {
879
+ .post-meta:not(.mini) {
880
+ border-top: 1px solid var(--icon-block);
811
881
  display: flex;
812
- align-items: top;
882
+ font-size: var(--font-size-meta);
883
+ gap: var(--block-gap);
884
+ margin: var(--block-gap) 0 0 0;
885
+ padding: var(--block-gap) 0;
886
+
887
+ @media (max-width: 860px) {
888
+ flex-direction: column;
889
+ }
813
890
  }
814
891
 
815
892
  .post-meta .author-image {
816
- width: 80px;
817
- height: 80px;
893
+ width: 100px;
894
+ height: 100px;
818
895
  margin-right: 1rem;
819
896
  object-fit: cover;
897
+ border-radius: 50%;
898
+
899
+ @media (max-width: 860px) {
900
+ display: block;
901
+ margin: 0 auto;
902
+ }
820
903
  }
821
904
 
822
905
  .post-meta > .author-info {
823
906
  display: flex;
907
+ flex-wrap: wrap;
824
908
  align-items: center;
825
909
  }
826
910
 
827
- .post-meta time[itemprop='datePublished'] {
828
- display: inline-block;
829
- }
830
-
831
911
  .post-meta time[itemprop='dateModified'] {
832
912
  font-style: italic;
833
- display: block;
834
913
  }
835
914
 
836
- .post-taxonomy {
837
- padding: 1rem 0;
838
- margin: 1.5rem 0;
839
- border-top: 1px dashed var(--fore);
840
- text-align: right;
915
+ .post-meta.mini {
916
+ font-size: var(--font-size-meta);
917
+ margin: 0 0 var(--paragraph-margin) 0;
918
+ }
919
+
920
+ .post-meta.mini > .author-info > *:nth-child(n + 3)::before {
921
+ content: '|';
922
+ padding: 0 0.3rem;
923
+ opacity: 0.5;
841
924
  }
842
925
 
843
- .post-taxonomy > div {
844
- margin: 1rem 0;
926
+ .post-meta.mini > .author-info > .author-image {
927
+ height: 1rem;
928
+ width: 1rem;
929
+ margin: 0 0.3rem 0 0;
930
+ }
931
+
932
+ .post-taxonomy {
933
+ margin: 0 0 var(--block-gap-l) 0;
845
934
  }
846
935
 
847
936
  .post-taxonomy h2 {
848
937
  font-size: 1rem;
849
938
  font-family: var(--content-font);
850
- display: inline;
939
+ margin: 0;
940
+ padding: 0 var(--grid-gap) 0 0;
941
+ display: inline-block;
851
942
  }
852
943
 
853
944
  .post-taxonomy ul {
854
- display: inline;
855
- margin: 1rem 0;
945
+ margin: 0;
856
946
  list-style: none;
947
+ display: inline-block;
857
948
  }
858
949
 
859
950
  .post-taxonomy li {
860
- display: inline;
861
- margin-inline-end: 0.3em;
951
+ display: inline-block;
952
+ margin: 0.3em;
862
953
  }
863
954
 
864
955
  .post-taxonomy a {
865
956
  display: inline-block;
866
- color: var(--link-head);
867
- background-color: var(--aft-head);
957
+ color: var(--fore-link);
958
+ background-color: var(--aft-block);
868
959
  padding: 0.1em 0.7em;
960
+ text-decoration: none;
961
+ font-size: 1rem;
869
962
  }
870
963
 
871
964
  .post-taxonomy a:hover,
@@ -874,22 +967,97 @@ nav.site-nav h2 {
874
967
  color: var(--aft);
875
968
  }
876
969
 
877
- /* Authors */
970
+ .author-page {
971
+ display: flex;
972
+ gap: var(--grid-gap);
878
973
 
879
- .author-image {
880
- border-radius: 50%;
881
- aspect-ratio: 1/1;
882
- object-fit: cover;
883
- max-width: 150px;
884
- float: right;
974
+ @media (max-width: 860px) {
975
+ flex-direction: column;
976
+ }
977
+ }
978
+
979
+ .author-page > img {
980
+ align-self: self-start;
981
+
982
+ @media (max-width: 860px) {
983
+ display: block;
984
+ margin-inline: auto;
985
+ }
986
+ }
987
+
988
+ /* Taxonomy */
989
+
990
+ .footer-columns {
991
+ display: grid;
992
+ gap: var(--block-gap);
993
+ grid-template-columns: repeat(auto-fit, minmax(18rem, 40rem));
994
+ grid-template-areas:
995
+ 'cat tag'
996
+ 'quick quick';
997
+ justify-content: center;
998
+ margin-block-end: var(--block-gap-l);
999
+
1000
+ @media (max-width: 680px) {
1001
+ display: block;
1002
+ margin-inline: 0.5rem;
1003
+ }
1004
+ }
1005
+
1006
+ .footer-column:nth-child(1) {
1007
+ grid-area: cat;
1008
+ }
1009
+
1010
+ .footer-column:nth-child(2) {
1011
+ grid-area: tag;
1012
+ }
1013
+
1014
+ .footer-column:nth-child(3) {
1015
+ grid-area: quick;
1016
+ }
1017
+
1018
+ .footer-columns h2 {
1019
+ margin: var(--paragraph-margin) auto;
1020
+ }
1021
+
1022
+ .footer-columns ul {
1023
+ display: flex;
1024
+ flex-wrap: wrap;
1025
+ gap: var(--grid-gap-s);
1026
+ justify-content: center;
1027
+ list-style: none;
1028
+ margin: var(--paragraph-margin) 0;
1029
+ width: 100%;
1030
+ }
1031
+
1032
+ .footer-columns li {
1033
+ flex: 0 0 auto;
1034
+ }
1035
+
1036
+ .footer-columns a {
1037
+ display: inline-block;
1038
+ color: var(--fore-link);
1039
+ background-color: var(--aft);
1040
+ padding: 0.3em 0.7em 0.1em 0.7em;
1041
+ text-decoration: none;
1042
+ font-size: var(--font-size-meta);
1043
+ }
1044
+
1045
+ .footer-columns a:hover,
1046
+ .footer-columns a:focus {
1047
+ background-color: var(--fore-link-alt);
1048
+ color: var(--aft);
1049
+ }
1050
+
1051
+ .site-footer nav {
1052
+ margin-block: var(--block-gap);
885
1053
  }
886
1054
 
887
1055
  /* Video */
888
1056
 
889
1057
  .yt-video {
890
- aspect-ratio: 4/3;
1058
+ aspect-ratio: 16/9;
891
1059
  display: grid;
892
- grid-template-rows: 3fr 1fr;
1060
+ grid-template-rows: 1fr auto;
893
1061
  }
894
1062
 
895
1063
  .yt-video > * {
@@ -901,7 +1069,6 @@ nav.site-nav h2 {
901
1069
  }
902
1070
 
903
1071
  .yt-video .play-icon {
904
- background-image: url(https://img.youtube.com/vi/VOWnhMxJMMk/0.jpg);
905
1072
  background-position: center;
906
1073
  background-size: cover;
907
1074
  border-radius: var(--block-radius);
@@ -912,7 +1079,7 @@ nav.site-nav h2 {
912
1079
 
913
1080
  .yt-video:hover .title,
914
1081
  .yt-video:focus .title {
915
- background-color: var(--funk);
1082
+ background-color: var(--icon-block);
916
1083
  }
917
1084
 
918
1085
  .yt-iframe {
@@ -931,13 +1098,13 @@ code {
931
1098
  background-color: var(--aft-block);
932
1099
  font-family: var(--code-font);
933
1100
  font-weight: bold;
1101
+ overflow-wrap: break-word;
1102
+ font-size: 1rem;
934
1103
  }
935
1104
 
936
1105
  pre.astro-code {
937
- border-left: 5px solid var(--fore-link-alt);
938
- border-radius: var(--block-radius);
939
1106
  font-family: var(--code-font);
940
- margin: 1em 0;
1107
+ margin: var(--block-gap) 0;
941
1108
  overflow: auto;
942
1109
  padding: 1rem;
943
1110
  }
@@ -945,6 +1112,7 @@ pre.astro-code {
945
1112
  pre.astro-code code {
946
1113
  font-weight: unset;
947
1114
  background-color: unset;
1115
+ overflow-wrap: unset;
948
1116
  }
949
1117
 
950
1118
  /* Helper icons */
@@ -954,8 +1122,8 @@ pre.astro-code code {
954
1122
  margin: 0;
955
1123
  width: 100%;
956
1124
  text-align: right;
957
- z-index: 1;
958
1125
  position: relative;
1126
+ z-index: 1;
959
1127
  }
960
1128
 
961
1129
  .copy-button {
@@ -971,27 +1139,6 @@ pre.astro-code code {
971
1139
  transform: rotate(4deg);
972
1140
  }
973
1141
 
974
- .bookmark-link {
975
- border-radius: var(--block-radius);
976
- text-decoration: none;
977
- color: var(--fore-link);
978
- display: block;
979
- opacity: 0.5;
980
- position: absolute;
981
- font-size: 0.8em;
982
- }
983
-
984
- .bookmark-link::before {
985
- content: '#';
986
- margin-left: -0.8em;
987
- }
988
-
989
- .bookmark-link:hover,
990
- .bookmark-link:focus {
991
- background-color: unset;
992
- opacity: 1;
993
- }
994
-
995
1142
  .magnify-container {
996
1143
  max-height: 0px;
997
1144
  margin: 0;
@@ -1007,6 +1154,7 @@ pre.astro-code code {
1007
1154
  border-radius: 0.2rem;
1008
1155
  border: 1px solid var(--fore-link);
1009
1156
  color: var(--fore-link);
1157
+ line-height: 1;
1010
1158
  width: 2rem;
1011
1159
  height: 2rem;
1012
1160
  overflow: hidden;
@@ -1023,7 +1171,7 @@ pre.astro-code code {
1023
1171
  font-family: var(--unicode-font);
1024
1172
  font-size: 2rem;
1025
1173
  line-height: 2rem;
1026
- top: -0.15em;
1174
+ top: 0.04em;
1027
1175
  position: relative;
1028
1176
  }
1029
1177
 
@@ -1045,16 +1193,18 @@ figure:focus .magnify-icon {
1045
1193
  .note {
1046
1194
  color: var(--fore-block);
1047
1195
  background-color: var(--aft-block);
1048
- font-size: 1.3rem;
1049
1196
  padding: 0.1px 1.2em;
1050
1197
  position: relative;
1051
1198
  box-shadow: var(--box-shadow);
1199
+ border-radius: var(--block-radius);
1200
+ margin: var(--block-gap) 0;
1052
1201
  }
1053
1202
 
1054
1203
  .simple-grid {
1055
1204
  display: grid;
1056
1205
  grid-template-columns: 1fr 1fr;
1057
- grid-gap: 1rem;
1206
+ grid-gap: var(--block-gap);
1207
+
1058
1208
  @media (max-width: 680px) {
1059
1209
  grid-template-columns: 1fr;
1060
1210
  }
@@ -1064,17 +1214,32 @@ figure:focus .magnify-icon {
1064
1214
  width: 100%;
1065
1215
  }
1066
1216
 
1067
- button[data-share] {
1068
- background-color: unset;
1069
- cursor: pointer;
1070
- color: var(--fore-link);
1071
- stroke: var(--fore-link);
1217
+ .inset {
1218
+ margin: var(--block-gap) auto;
1219
+ width: 66%;
1072
1220
  }
1073
1221
 
1074
- button[data-share]:hover,
1075
- button[data-share]:focus {
1076
- color: var(--fore-link-alt);
1077
- stroke: var(--fore-link-alt);
1222
+ .inset-small {
1223
+ margin: var(--block-gap) auto;
1224
+ width: 66%;
1225
+ max-width: 200px;
1226
+ }
1227
+
1228
+ .inset-medium {
1229
+ margin: var(--block-gap) auto;
1230
+ width: 66%;
1231
+ max-width: 400px;
1232
+ }
1233
+
1234
+ @media (max-width: 680px) {
1235
+ .note,
1236
+ .inset,
1237
+ .inset-small,
1238
+ .inset-medium {
1239
+ width: auto;
1240
+ max-width: unset;
1241
+ margin: var(--block-gap) 0;
1242
+ }
1078
1243
  }
1079
1244
 
1080
1245
  /* Detail tabs */
@@ -1143,25 +1308,11 @@ button[data-share]:focus {
1143
1308
  /* Animation */
1144
1309
 
1145
1310
  @media (prefers-reduced-motion: no-preference) {
1146
- body,
1147
- html {
1148
- scroll-behavior: smooth;
1149
- }
1150
-
1151
- a {
1152
- transition: all 200ms ease-in-out;
1153
- }
1154
-
1155
1311
  .magnify-icon,
1156
1312
  .copy-button,
1157
- .anim-show-parent .list-item,
1158
- .anim-show-parent img {
1313
+ .anim-show-parent .list-item img,
1314
+ .anim-show-parent .list-item {
1159
1315
  transition: all 0.2s ease-in;
1160
- transition-delay: 0.1s;
1161
1316
  scale: calc(0.75 + (var(--shown, 1) * 0.25));
1162
1317
  }
1163
-
1164
- .anim-show-parent .list-item img {
1165
- scale: 1;
1166
- }
1167
1318
  }