···
3
-
/* set sans-serif & mono fonts */
4
-
--sans-font: -apple-system, BlinkMacSystemFont, "Avenir Next", Avenir,
5
-
"Nimbus Sans L", Roboto, "Noto Sans", "Segoe UI", Arial, Helvetica,
6
-
"Helvetica Neue", sans-serif;
7
-
--serif-font: Superclarendon, "Bookman Old Style", "URW Bookman",
8
-
"URW Bookman L", "Georgia Pro", Georgia, serif;
9
-
--mono-font: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas,
10
-
"DejaVu Sans Mono", monospace;
11
-
--standard-border-radius: 5px;
3
+
/* set sans-serif & mono fonts */
5
+
-apple-system, BlinkMacSystemFont, "Avenir Next", Avenir,
6
+
"Nimbus Sans L", Roboto, "Noto Sans", "Segoe UI", Arial, Helvetica,
7
+
"Helvetica Neue", sans-serif;
9
+
Superclarendon, "Bookman Old Style", "URW Bookman", "URW Bookman L",
10
+
"Georgia Pro", Georgia, serif;
12
+
ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas,
13
+
"DejaVu Sans Mono", monospace;
14
+
--standard-border-radius: 5px;
13
-
/* default colors */
14
-
--bg: var(--earth-yellow);
15
-
--noise-strength: 0.3;
16
-
--bg-light: #cbcdcd;
18
-
--text-light: #686764;
19
-
--text-dark: #20252b;
20
-
--accent: oklch(35.55% 0.0754 60.09);
21
-
--accent-dark: #56412bc5;
22
-
--accent-text: #dfd1bc;
24
-
--link: var(--accent);
25
-
--selection: color-mix(in oklab, var(--accent), var(--earth-yellow) 50%);
16
+
/* default colors */
17
+
--bg: var(--earth-yellow);
18
+
--noise-strength: 0.3;
19
+
--bg-light: #cbcdcd;
21
+
--text-light: #686764;
22
+
--text-dark: #20252b;
23
+
--accent: oklch(35.55% 0.0754 60.09);
24
+
--accent-dark: #56412bc5;
25
+
--accent-text: #dfd1bc;
27
+
--link: var(--accent);
28
+
--selection: color-mix(in oklab, var(--accent), var(--earth-yellow) 50%);
/* theme media queries */
@media (prefers-color-scheme: dark) {
33
-
--bg: var(--purple-night);
34
-
--noise-strength: 0.15;
35
-
--bg-light: var(--ultra-violet);
36
-
--text: var(--lavendar-breeze);
37
-
--text-light: var(--pink-puree);
38
-
--text-dark: oklch(80.28% 0.0111 204.11);
39
-
--accent: var(--rose-quartz);
40
-
--accent-dark: var(--dark-crushed-grape);
41
-
--accent-text: var(--purple-gray);
42
-
--link: var(--light-crushed-grape);
43
-
--border: var(--pink-puree);
44
-
--selection: color-mix(in oklab, var(--accent), var(--purple-night) 50%);
36
+
--bg: var(--purple-night);
37
+
--noise-strength: 0.15;
38
+
--bg-light: var(--ultra-violet);
39
+
--text: var(--lavendar-breeze);
40
+
--text-light: var(--pink-puree);
41
+
--text-dark: oklch(80.28% 0.0111 204.11);
42
+
--accent: var(--rose-quartz);
43
+
--accent-dark: var(--dark-crushed-grape);
44
+
--accent-text: var(--purple-gray);
45
+
--link: var(--light-crushed-grape);
46
+
--border: var(--pink-puree);
47
+
--selection: color-mix(
50
+
var(--purple-night) 50%
50
-
--bg: var(--purple-night);
51
-
--noise-strength: 0.15;
52
-
--bg-light: var(--ultra-violet);
53
-
--text: var(--lavendar-breeze);
54
-
--text-light: var(--pink-puree);
55
-
--text-dark: oklch(80.28% 0.0111 204.11);
56
-
--accent: var(--rose-quartz);
57
-
--accent-dark: var(--dark-crushed-grape);
58
-
--accent-text: var(--purple-gray);
59
-
--link: var(--light-crushed-grape);
60
-
--border: var(--pink-puree);
61
-
--selection: color-mix(in oklab, var(--accent), var(--purple-night) 50%);
57
+
--bg: var(--purple-night);
58
+
--noise-strength: 0.15;
59
+
--bg-light: var(--ultra-violet);
60
+
--text: var(--lavendar-breeze);
61
+
--text-light: var(--pink-puree);
62
+
--text-dark: oklch(80.28% 0.0111 204.11);
63
+
--accent: var(--rose-quartz);
64
+
--accent-dark: var(--dark-crushed-grape);
65
+
--accent-text: var(--purple-gray);
66
+
--link: var(--light-crushed-grape);
67
+
--border: var(--pink-puree);
68
+
--selection: color-mix(in oklab, var(--accent), var(--purple-night) 50%);
@media (prefers-color-scheme: light) {
67
-
color-scheme: light;
68
-
--bg: var(--earth-yellow);
69
-
--noise-strength: 0.15;
70
-
--bg-light: #cbcdcd;
72
-
--text-light: #686764;
73
-
--accent: #58310ac5;
74
-
--accent-dark: #e08f67;
75
-
--accent-text: #dfd1bc;
77
-
--link: var(--accent);
78
-
--selection: color-mix(in oklab, var(--accent), var(--earth-yellow) 50%);
74
+
color-scheme: light;
75
+
--bg: var(--earth-yellow);
76
+
--noise-strength: 0.15;
77
+
--bg-light: #cbcdcd;
79
+
--text-light: #686764;
80
+
--accent: #58310ac5;
81
+
--accent-dark: #e08f67;
82
+
--accent-text: #dfd1bc;
84
+
--link: var(--accent);
85
+
--selection: color-mix(
88
+
var(--earth-yellow) 50%
83
-
/* default (light) theme */
84
-
color-scheme: light;
85
-
--bg: var(--earth-yellow);
86
-
--noise-strength: 0.22;
87
-
--bg-light: var(--reseda-green);
89
-
--text-light: #686764;
90
-
--text-dark: #20252b;
91
-
--accent: #58310ac5;
92
-
--accent-dark: #56412bc5;
93
-
--accent-text: #dfd1bc;
95
-
--link: var(--accent);
96
-
--selection: color-mix(in oklab, var(--accent), var(--earth-yellow) 50%);
94
+
/* default (light) theme */
95
+
color-scheme: light;
96
+
--bg: var(--earth-yellow);
97
+
--noise-strength: 0.22;
98
+
--bg-light: var(--reseda-green);
100
+
--text-light: #686764;
101
+
--text-dark: #20252b;
102
+
--accent: #58310ac5;
103
+
--accent-dark: #56412bc5;
104
+
--accent-text: #dfd1bc;
106
+
--link: var(--accent);
107
+
--selection: color-mix(in oklab, var(--accent), var(--earth-yellow) 50%);
102
-
background: var(--selection);
113
+
background: var(--selection);
/* chromium scrollbars */
::-webkit-scrollbar-thumb {
112
-
background: var(--accent);
123
+
background: var(--accent);
::-webkit-scrollbar-track {
116
-
background: var(--bg-light);
127
+
background: var(--bg-light);
121
-
scrollbar-color: var(--accent) var(--bg-light);
122
-
scrollbar-width: auto;
132
+
scrollbar-color: var(--accent) var(--bg-light);
133
+
scrollbar-width: auto;
126
-
color-scheme: light dark;
127
-
font-family: var(--mono-font);
128
-
scroll-behavior: smooth;
137
+
color-scheme: light dark;
138
+
font-family: var(--mono-font);
139
+
scroll-behavior: smooth;
132
-
min-height: 100svh;
133
-
color: var(--text);
134
-
background: var(--bg);
135
-
position: relative;
138
-
grid-template-columns: 1fr min(45rem, 90%) 1fr;
139
-
grid-template-rows: auto 1fr auto;
140
-
grid-row-gap: 0.625rem;
143
+
min-height: 100svh;
144
+
color: var(--text);
145
+
background: var(--bg);
146
+
position: relative;
149
+
grid-template-columns: 1fr min(45rem, 90%) 1fr;
150
+
grid-template-rows: auto 1fr auto;
151
+
grid-row-gap: 0.625rem;
147
-
color: var(--text-light);
158
+
color: var(--text-light);
156
-
font-size: 1.75rem;
167
+
font-size: 1.75rem;
162
-
font-size: 1.25rem;
173
+
font-size: 1.25rem;
168
-
font-size: 0.75rem;
179
+
font-size: 0.75rem;
···
177
-
margin: 0.5em 0 0.5em 0;
178
-
padding: 0.22em 0.4em 0.22em 0.4em;
179
-
border-radius: 0.1em;
180
-
background-color: var(--accent);
181
-
color: var(--accent-text);
182
-
width: fit-content;
188
+
margin: 0.5em 0 0.5em 0;
189
+
padding: 0.22em 0.4em 0.22em 0.4em;
190
+
border-radius: 0.1em;
191
+
background-color: var(--accent);
192
+
color: var(--accent-text);
193
+
width: fit-content;
/* Fix line height when title wraps */
@media only screen and (max-width: 720px) {
197
-
font-size: 1.25rem;
203
-
font-size: 0.75rem;
209
-
font-size: 0.25rem;
208
+
font-size: 1.25rem;
214
+
font-size: 0.75rem;
220
+
font-size: 0.25rem;
220
-
text-decoration: none;
222
-
border-radius: 0.125rem;
223
-
color: var(--accent-dark);
231
+
text-decoration: none;
233
+
border-radius: 0.125rem;
234
+
color: var(--accent-dark);
227
-
color: var(--link);
238
+
color: var(--link);
231
-
text-decoration: underline wavy;
242
+
text-decoration: underline wavy;
237
-
margin-top: 0.25rem;
238
-
margin-bottom: 0.25rem;
248
+
margin-top: 0.25rem;
249
+
margin-bottom: 0.25rem;
242
-
list-style-type: decimal;
243
-
margin-top: 0.25rem;
244
-
margin-bottom: 0.25rem;
253
+
list-style-type: decimal;
254
+
margin-top: 0.25rem;
255
+
margin-bottom: 0.25rem;
248
-
margin-bottom: 0.125rem;
259
+
margin-bottom: 0.125rem;
253
-
color: var(--accent);
264
+
color: var(--accent);
258
-
color: var(--accent);
269
+
color: var(--accent);
263
-
color: var(--link);
274
+
color: var(--link);
/* Use flexbox to allow items to wrap, as needed */
270
-
flex-direction: row;
272
-
align-content: space-around;
273
-
justify-content: right;
274
-
list-style-type: none;
275
-
margin: 0.5rem 0 0 0;
281
+
flex-direction: row;
283
+
align-content: space-around;
284
+
justify-content: right;
285
+
list-style-type: none;
286
+
margin: 0.5rem 0 0 0;
/* List items are inline elements, make them behave more like blocks */
283
-
display: inline-block;
294
+
display: inline-block;
/* Consolidate box styling */
290
-
background-color: var(--bg-light);
291
-
border-radius: var(--standard-border-radius);
301
+
background-color: var(--bg-light);
302
+
border-radius: var(--standard-border-radius);
298
-
margin-inline-start: 10px;
309
+
margin-inline-start: 10px;
/* make aside full-width on mobile */
@media only screen and (max-width: 720px) {
310
-
margin-inline-start: 0;
321
+
margin-inline-start: 0;
321
-
word-break: break-all;
332
+
word-break: break-all;
details[open] > summary + * {
details[open] > summary {
329
-
margin-bottom: 0.5rem;
340
+
margin-bottom: 0.5rem;
details[open] > :last-child {
338
-
border-collapse: collapse;
342
-
white-space: nowrap;
349
+
border-collapse: collapse;
353
+
white-space: nowrap;
347
-
border: 1px solid var(--border);
358
+
border: 1px solid var(--border);
353
-
background-color: var(--bg-light);
364
+
background-color: var(--bg-light);
358
-
background-color: var(--bg-light);
369
+
background-color: var(--bg-light);
364
-
margin: 0 0 0.4rem 1rem;
375
+
margin: 0 0 0.4rem 1rem;
369
-
border: 1px dashed var(--accent);
370
-
border-radius: var(--standard-border-radius);
380
+
border: 1px dashed var(--accent);
381
+
border-radius: var(--standard-border-radius);
374
-
color: var(--accent);
385
+
color: var(--accent);
···
382
-
font-size: inherit;
383
-
font-family: inherit;
385
-
border-radius: var(--standard-border-radius);
388
-
display: inline-block;
393
+
font-size: inherit;
394
+
font-family: inherit;
396
+
border-radius: var(--standard-border-radius);
399
+
display: inline-block;
394
-
color: var(--text);
395
-
background-color: var(--bg);
396
-
border: 1px dashed var(--border);
405
+
color: var(--text);
406
+
background-color: var(--bg);
407
+
border: 1px dashed var(--border);
404
-
margin: 0 0 0.3rem 0;
415
+
margin: 0 0 0.3rem 0;
408
-
max-width: 43.5rem;
419
+
max-width: 43.5rem;
@media only screen and (max-width: 720px) {
···
432
-
border: 1px solid var(--accent);
433
-
background-color: var(--accent);
434
-
color: var(--accent-text);
435
-
padding: 0.5rem 0.9rem;
436
-
text-decoration: none;
437
-
line-height: normal;
443
+
border: 1px solid var(--accent);
444
+
background-color: var(--accent);
445
+
color: var(--accent-text);
446
+
padding: 0.5rem 0.9rem;
447
+
text-decoration: none;
448
+
line-height: normal;
.button[aria-disabled="true"],
···
445
-
cursor: not-allowed;
446
-
background-color: var(--bg-light);
447
-
border-color: var(--bg-light);
448
-
color: var(--text-light);
456
+
cursor: not-allowed;
457
+
background-color: var(--bg-light);
458
+
border-color: var(--bg-light);
459
+
color: var(--text-light);
453
-
color: var(--accent);
464
+
color: var(--accent);
458
-
text-decoration-line: underline;
459
-
text-decoration-style: dotted;
469
+
text-decoration-line: underline;
470
+
text-decoration-style: dotted;
···
input[type="reset"]:enabled:hover,
input[type="button"]:enabled:hover,
label[type="button"]:hover {
468
-
background-color: var(--accent-dark);
469
-
border-color: var(--accent-dark);
479
+
background-color: var(--accent-dark);
480
+
border-color: var(--accent-dark);
button:focus-visible:where(:enabled),
input:enabled:focus-visible:where(
480
-
outline: 2px solid var(--accent);
481
-
outline-offset: 1px;
491
+
outline: 2px solid var(--accent);
492
+
outline-offset: 1px;
/* checkbox and radio button style */
487
-
vertical-align: middle;
488
-
position: relative;
489
-
width: min-content;
498
+
vertical-align: middle;
499
+
position: relative;
500
+
width: min-content;
input[type="checkbox"] + label,
input[type="radio"] + label {
496
-
display: inline-block;
507
+
display: inline-block;
500
-
border-radius: 100%;
511
+
border-radius: 100%;
input[type="checkbox"]:checked,
input[type="radio"]:checked {
505
-
background-color: var(--accent);
516
+
background-color: var(--accent);
@media only screen and (max-width: 720px) {
527
-
border: 1px dashed var(--accent);
528
-
margin: 0.5rem 0 0.5rem 0;
538
+
border: 1px dashed var(--accent);
539
+
margin: 0.5rem 0 0.5rem 0;
532
-
padding: 0 0.25em 0 0.25em;
533
-
border-radius: var(--standard-border-radius);
534
-
background-color: var(--accent);
543
+
padding: 0 0.25em 0 0.25em;
544
+
border-radius: var(--standard-border-radius);
545
+
background-color: var(--accent);
539
-
color: var(--link);
550
+
color: var(--link);
iframe[src^="https://www.youtube-nocookie.com"],
545
-
iframe[src^="https://www.youtube.com"] {
549
-
border: dashed 2px var(--accent);
550
-
border-radius: 15px;
556
+
iframe[src^="https://www.youtube.com"]
561
+
border: dashed 2px var(--accent);
562
+
border-radius: 15px;
562
-
font-size: 0.875rem;
563
-
color: var(--text-light);
564
-
margin: 0 0 1rem 1rem;
574
+
font-size: 0.875rem;
575
+
color: var(--text-light);
576
+
margin: 0 0 1rem 1rem;
568
-
margin: 0 0 0 1.25rem;
569
-
padding: 0.5rem 0 0 0.5rem;
570
-
border-inline-start: 0.375rem solid var(--accent);
571
-
color: var(--text-light);
572
-
font-style: italic;
580
+
margin: 0 0 0 1.25rem;
581
+
padding: 0.5rem 0 0 0.5rem;
582
+
border-inline-start: 0.375rem solid var(--accent);
583
+
color: var(--text-light);
584
+
font-style: italic;
577
-
font-size: 0.875rem;
578
-
color: var(--text-light);
589
+
font-size: 0.875rem;
590
+
color: var(--text-light);
587
-
color: var(--text-light);
599
+
color: var(--text-light);
···
595
-
font-family: var(--mono-font);
607
+
font-family: var(--mono-font);
599
-
border: 1px solid var(--accent);
603
-
font-style: monospace;
611
+
border: 1px solid var(--accent);
615
+
font-style: monospace;
609
-
padding: 0 0.125rem 0 0.125rem;
610
-
border-radius: 3px;
612
-
background-color: var(--text);
621
+
padding: 0 0.125rem 0 0.125rem;
622
+
border-radius: 3px;
624
+
background-color: var(--text);
619
-
background-color: inherit;
631
+
background-color: inherit;
632
-
background-color: var(--bg-light);
644
+
background-color: var(--bg-light);
progress::-webkit-progress-bar {
636
-
border-radius: var(--standard-border-radius);
637
-
background-color: var(--bg-light);
648
+
border-radius: var(--standard-border-radius);
649
+
background-color: var(--bg-light);
progress::-webkit-progress-value {
641
-
border-radius: var(--standard-border-radius);
642
-
background-color: var(--accent);
653
+
border-radius: var(--standard-border-radius);
654
+
background-color: var(--accent);
progress::-moz-progress-bar {
646
-
border-radius: var(--standard-border-radius);
647
-
background-color: var(--accent);
648
-
transition-property: width;
649
-
transition-duration: 0.3s;
658
+
border-radius: var(--standard-border-radius);
659
+
background-color: var(--accent);
660
+
transition-property: width;
661
+
transition-duration: 0.3s;
progress:indeterminate::-moz-progress-bar {
653
-
background-color: var(--bg-light);
665
+
background-color: var(--bg-light);
662
-
background-color: var(--bg);
674
+
background-color: var(--bg);
@media only screen and (max-width: 720px) {
/* superscript & subscript */
/* prevent scripts from affecting line-height. */
677
-
vertical-align: baseline;
678
-
position: relative;
689
+
vertical-align: baseline;
690
+
position: relative;