astro-accelerator 5.10.0 → 5.10.2

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,16 +876,30 @@ 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 {
@@ -825,6 +908,15 @@ nav.site-nav h2 {
825
908
  align-items: center;
826
909
  }
827
910
 
911
+ .post-meta time[itemprop='dateModified'] {
912
+ font-style: italic;
913
+ }
914
+
915
+ .post-meta.mini {
916
+ font-size: var(--font-size-meta);
917
+ margin: 0 0 var(--paragraph-margin) 0;
918
+ }
919
+
828
920
  .post-meta.mini > .author-info > *:nth-child(n + 3)::before {
829
921
  content: '|';
830
922
  padding: 0 0.3rem;
@@ -837,48 +929,36 @@ nav.site-nav h2 {
837
929
  margin: 0 0.3rem 0 0;
838
930
  }
839
931
 
840
- .post-meta time[itemprop='datePublished'] {
841
- display: inline-block;
842
- }
843
-
844
- .post-meta time[itemprop='dateModified'] {
845
- font-style: italic;
846
- display: block;
847
- }
848
-
849
932
  .post-taxonomy {
850
- padding: 1rem 0;
851
- margin: 1.5rem 0;
852
- border-top: 1px dashed var(--fore);
853
- text-align: right;
854
- }
855
-
856
- .post-taxonomy > div {
857
- margin: 1rem 0;
933
+ margin: 0 0 var(--block-gap-l) 0;
858
934
  }
859
935
 
860
936
  .post-taxonomy h2 {
861
937
  font-size: 1rem;
862
938
  font-family: var(--content-font);
863
- display: inline;
939
+ margin: 0;
940
+ padding: 0 var(--grid-gap) 0 0;
941
+ display: inline-block;
864
942
  }
865
943
 
866
944
  .post-taxonomy ul {
867
- display: inline;
868
- margin: 1rem 0;
945
+ margin: 0;
869
946
  list-style: none;
947
+ display: inline-block;
870
948
  }
871
949
 
872
950
  .post-taxonomy li {
873
- display: inline;
874
- margin-inline-end: 0.3em;
951
+ display: inline-block;
952
+ margin: 0.3em;
875
953
  }
876
954
 
877
955
  .post-taxonomy a {
878
956
  display: inline-block;
879
- color: var(--link-head);
880
- background-color: var(--aft-head);
957
+ color: var(--fore-link);
958
+ background-color: var(--aft-block);
881
959
  padding: 0.1em 0.7em;
960
+ text-decoration: none;
961
+ font-size: 1rem;
882
962
  }
883
963
 
884
964
  .post-taxonomy a:hover,
@@ -887,22 +967,97 @@ nav.site-nav h2 {
887
967
  color: var(--aft);
888
968
  }
889
969
 
890
- /* Authors */
970
+ .author-page {
971
+ display: flex;
972
+ gap: var(--grid-gap);
891
973
 
892
- .author-image {
893
- border-radius: 50%;
894
- aspect-ratio: 1/1;
895
- object-fit: cover;
896
- max-width: 150px;
897
- 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: 1fr 1fr;
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);
898
1053
  }
899
1054
 
900
1055
  /* Video */
901
1056
 
902
1057
  .yt-video {
903
- aspect-ratio: 4/3;
1058
+ aspect-ratio: 16/9;
904
1059
  display: grid;
905
- grid-template-rows: 3fr 1fr;
1060
+ grid-template-rows: 1fr auto;
906
1061
  }
907
1062
 
908
1063
  .yt-video > * {
@@ -914,7 +1069,6 @@ nav.site-nav h2 {
914
1069
  }
915
1070
 
916
1071
  .yt-video .play-icon {
917
- background-image: url(https://img.youtube.com/vi/VOWnhMxJMMk/0.jpg);
918
1072
  background-position: center;
919
1073
  background-size: cover;
920
1074
  border-radius: var(--block-radius);
@@ -925,7 +1079,7 @@ nav.site-nav h2 {
925
1079
 
926
1080
  .yt-video:hover .title,
927
1081
  .yt-video:focus .title {
928
- background-color: var(--funk);
1082
+ background-color: var(--icon-block);
929
1083
  }
930
1084
 
931
1085
  .yt-iframe {
@@ -944,13 +1098,13 @@ code {
944
1098
  background-color: var(--aft-block);
945
1099
  font-family: var(--code-font);
946
1100
  font-weight: bold;
1101
+ overflow-wrap: break-word;
1102
+ font-size: 1rem;
947
1103
  }
948
1104
 
949
1105
  pre.astro-code {
950
- border-left: 5px solid var(--fore-link-alt);
951
- border-radius: var(--block-radius);
952
1106
  font-family: var(--code-font);
953
- margin: 1em 0;
1107
+ margin: var(--block-gap) 0;
954
1108
  overflow: auto;
955
1109
  padding: 1rem;
956
1110
  }
@@ -958,6 +1112,7 @@ pre.astro-code {
958
1112
  pre.astro-code code {
959
1113
  font-weight: unset;
960
1114
  background-color: unset;
1115
+ overflow-wrap: unset;
961
1116
  }
962
1117
 
963
1118
  /* Helper icons */
@@ -967,8 +1122,8 @@ pre.astro-code code {
967
1122
  margin: 0;
968
1123
  width: 100%;
969
1124
  text-align: right;
970
- z-index: 1;
971
1125
  position: relative;
1126
+ z-index: 1;
972
1127
  }
973
1128
 
974
1129
  .copy-button {
@@ -984,27 +1139,6 @@ pre.astro-code code {
984
1139
  transform: rotate(4deg);
985
1140
  }
986
1141
 
987
- .bookmark-link {
988
- border-radius: var(--block-radius);
989
- text-decoration: none;
990
- color: var(--fore-link);
991
- display: block;
992
- opacity: 0.5;
993
- position: absolute;
994
- font-size: 0.8em;
995
- }
996
-
997
- .bookmark-link::before {
998
- content: '#';
999
- margin-left: -0.8em;
1000
- }
1001
-
1002
- .bookmark-link:hover,
1003
- .bookmark-link:focus {
1004
- background-color: unset;
1005
- opacity: 1;
1006
- }
1007
-
1008
1142
  .magnify-container {
1009
1143
  max-height: 0px;
1010
1144
  margin: 0;
@@ -1020,6 +1154,7 @@ pre.astro-code code {
1020
1154
  border-radius: 0.2rem;
1021
1155
  border: 1px solid var(--fore-link);
1022
1156
  color: var(--fore-link);
1157
+ line-height: 1;
1023
1158
  width: 2rem;
1024
1159
  height: 2rem;
1025
1160
  overflow: hidden;
@@ -1036,7 +1171,7 @@ pre.astro-code code {
1036
1171
  font-family: var(--unicode-font);
1037
1172
  font-size: 2rem;
1038
1173
  line-height: 2rem;
1039
- top: -0.15em;
1174
+ top: 0.04em;
1040
1175
  position: relative;
1041
1176
  }
1042
1177
 
@@ -1058,16 +1193,18 @@ figure:focus .magnify-icon {
1058
1193
  .note {
1059
1194
  color: var(--fore-block);
1060
1195
  background-color: var(--aft-block);
1061
- font-size: 1.3rem;
1062
1196
  padding: 0.1px 1.2em;
1063
1197
  position: relative;
1064
1198
  box-shadow: var(--box-shadow);
1199
+ border-radius: var(--block-radius);
1200
+ margin: var(--block-gap) 0;
1065
1201
  }
1066
1202
 
1067
1203
  .simple-grid {
1068
1204
  display: grid;
1069
1205
  grid-template-columns: 1fr 1fr;
1070
- grid-gap: 1rem;
1206
+ grid-gap: var(--block-gap);
1207
+
1071
1208
  @media (max-width: 680px) {
1072
1209
  grid-template-columns: 1fr;
1073
1210
  }
@@ -1077,17 +1214,32 @@ figure:focus .magnify-icon {
1077
1214
  width: 100%;
1078
1215
  }
1079
1216
 
1080
- button[data-share] {
1081
- background-color: unset;
1082
- cursor: pointer;
1083
- color: var(--fore-link);
1084
- stroke: var(--fore-link);
1217
+ .inset {
1218
+ margin: var(--block-gap) auto;
1219
+ width: 66%;
1085
1220
  }
1086
1221
 
1087
- button[data-share]:hover,
1088
- button[data-share]:focus {
1089
- color: var(--fore-link-alt);
1090
- 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
+ }
1091
1243
  }
1092
1244
 
1093
1245
  /* Detail tabs */
@@ -1156,25 +1308,11 @@ button[data-share]:focus {
1156
1308
  /* Animation */
1157
1309
 
1158
1310
  @media (prefers-reduced-motion: no-preference) {
1159
- body,
1160
- html {
1161
- scroll-behavior: smooth;
1162
- }
1163
-
1164
- a {
1165
- transition: all 200ms ease-in-out;
1166
- }
1167
-
1168
1311
  .magnify-icon,
1169
1312
  .copy-button,
1170
- .anim-show-parent .list-item,
1171
- .anim-show-parent img {
1313
+ .anim-show-parent .list-item img,
1314
+ .anim-show-parent .list-item {
1172
1315
  transition: all 0.2s ease-in;
1173
- transition-delay: 0.1s;
1174
1316
  scale: calc(0.75 + (var(--shown, 1) * 0.25));
1175
1317
  }
1176
-
1177
- .anim-show-parent .list-item img {
1178
- scale: 1;
1179
- }
1180
1318
  }