···
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;
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;
16
-
/* default colors */
18
-
--bg: var(--purple-night);
19
-
--noise-strength: 0.15;
20
-
--bg-light: var(--ultra-violet);
21
-
--text: var(--lavendar-breeze);
22
-
--text-light: var(--pink-puree);
23
-
--text-dark: oklch(80.28% 0.0111 204.11);
24
-
--accent: var(--rose-quartz);
25
-
--accent-dark: var(--dark-crushed-grape);
26
-
--accent-text: var(--purple-gray);
27
-
--link: var(--light-crushed-grape);
28
-
--link-visited: var(--red-crushed-grape);
29
-
--border: var(--pink-puree);
30
-
--selection: color-mix(in oklab, var(--accent), var(--purple-night) 50%);
16
+
/* default colors */
18
+
--bg: var(--purple-night);
19
+
--noise-strength: 0.15;
20
+
--bg-light: var(--ultra-violet);
21
+
--text: var(--lavendar-breeze);
22
+
--text-light: var(--pink-puree);
23
+
--text-dark: oklch(80.28% 0.0111 204.11);
24
+
--accent: var(--rose-quartz);
25
+
--accent-dark: var(--dark-crushed-grape);
26
+
--accent-text: var(--purple-gray);
27
+
--link: var(--light-crushed-grape);
28
+
--link-visited: var(--red-crushed-grape);
29
+
--border: var(--pink-puree);
30
+
--selection: color-mix(in oklab, var(--accent), var(--purple-night) 50%);
36
-
background: var(--selection);
36
+
background: var(--selection);
/* chromium scrollbars */
::-webkit-scrollbar-thumb {
46
-
background: var(--accent);
47
+
background: var(--accent);
::-webkit-scrollbar-track {
50
-
background: var(--bg-light);
52
+
background: var(--bg-light);
55
-
scrollbar-color: var(--accent) var(--bg-light);
56
-
scrollbar-width: auto;
57
+
scrollbar-color: var(--accent) var(--bg-light);
58
+
scrollbar-width: auto;
60
-
color-scheme: light dark;
61
-
font-family: var(--mono-font);
62
-
scroll-behavior: smooth;
62
+
color-scheme: light dark;
63
+
font-family: var(--mono-font);
64
+
scroll-behavior: smooth;
68
-
background: var(--bg);
72
-
grid-template-columns: 1fr min(45rem, 90%) 1fr;
73
-
grid-template-rows: auto 1fr auto;
74
-
grid-row-gap: 0.625rem;
70
+
background: var(--bg);
74
+
grid-template-columns: 1fr min(45rem, 90%) 1fr;
75
+
grid-template-rows: auto 1fr auto;
76
+
grid-row-gap: 0.625rem;
81
-
color: var(--text-light);
84
+
color: var(--text-light);
102
+
font-size: 1.25rem;
102
-
font-size: 0.75rem;
110
+
font-size: 0.75rem;
···
111
-
margin: 0.5em 0 0.5em 0;
112
-
padding: 0.22em 0.4em 0.22em 0.4em;
113
-
background-color: var(--accent);
114
-
border-bottom: 5px solid var(--bg-light);
115
-
border-radius: 0.2em 0.2em 0.27em 0.27em;
116
-
color: var(--accent-text);
117
-
width: fit-content;
119
+
margin: 0.5em 0 0.5em 0;
120
+
padding: 0.22em 0.4em 0.22em 0.4em;
121
+
background-color: var(--accent);
122
+
border-bottom: 5px solid var(--bg-light);
123
+
border-radius: 0.2em 0.2em 0.27em 0.27em;
124
+
color: var(--accent-text);
125
+
width: fit-content;
/* Fix line height when title wraps */
@media only screen and (max-width: 720px) {
132
-
font-size: 1.25rem;
138
-
font-size: 0.75rem;
144
-
font-size: 0.25rem;
141
+
font-size: 1.25rem;
149
+
font-size: 0.75rem;
157
+
font-size: 0.25rem;
154
-
color: var(--link);
155
-
text-decoration: underline;
156
-
text-decoration-color: color-mix(
161
-
text-decoration-thickness: 0.06em;
162
-
text-underline-offset: 0.14em;
165
-
text-decoration-color 120ms ease,
166
-
text-underline-offset 120ms ease,
167
-
text-decoration-thickness 120ms ease;
167
+
color: var(--link);
168
+
text-decoration: none;
170
+
transition: color 120ms ease;
171
-
color: var(--link-visited); /* deeper purple */
172
-
text-decoration-color: color-mix(
174
-
var(--link-visited) 100%,
174
+
color: var(--link-visited);
181
-
color: var(--accent-dark); /* bright purple */
182
-
text-decoration-thickness: 0.1em;
183
-
text-underline-offset: 0.18em;
184
-
text-decoration-color: var(--accent-dark);
179
+
color: var(--accent);
a:visited:focus-visible {
190
-
color: var(--accent-dark);
191
-
text-decoration-color: var(--accent-dark);
185
+
color: var(--accent);
197
-
margin-top: 0.25rem;
198
-
margin-bottom: 0.25rem;
191
+
margin-top: 0.25rem;
192
+
margin-bottom: 0.25rem;
202
-
list-style-type: decimal;
203
-
margin-top: 0.25rem;
204
-
margin-bottom: 0.25rem;
196
+
list-style-type: decimal;
197
+
margin-top: 0.25rem;
198
+
margin-bottom: 0.25rem;
208
-
margin-bottom: 0.125rem;
202
+
margin-bottom: 0.125rem;
213
-
color: var(--accent);
207
+
color: var(--accent);
218
-
color: var(--accent);
212
+
color: var(--accent);
223
-
color: var(--link);
217
+
color: var(--link);
/* Use flexbox to allow items to wrap, as needed */
230
-
flex-direction: row;
232
-
align-content: space-around;
233
-
justify-content: right;
234
-
list-style-type: none;
235
-
margin: 0.5rem 0 0 0;
224
+
flex-direction: row;
226
+
align-content: space-around;
227
+
justify-content: right;
228
+
list-style-type: none;
229
+
margin: 0.5rem 0 0 0;
/* List items are inline elements, make them behave more like blocks */
241
-
header > nav ul li,
242
-
header > nav ol li {
243
-
display: inline-block;
237
+
display: inline-block;
/* Consolidate box styling */
250
-
background-color: var(--bg-light);
251
-
border-radius: var(--standard-border-radius);
244
+
background-color: var(--bg-light);
245
+
border-radius: var(--standard-border-radius);
258
-
margin-inline-start: 10px;
252
+
margin-inline-start: 10px;
/* make aside full-width on mobile */
@media only screen and (max-width: 720px) {
270
-
margin-inline-start: 0;
265
+
margin-inline-start: 0;
281
-
word-break: break-all;
276
+
word-break: break-all;
284
-
details[open] > summary + * {
279
+
details[open]>summary+* {
288
-
details[open] > summary {
289
-
margin-bottom: 0.5rem;
283
+
details[open]>summary {
284
+
margin-bottom: 0.5rem;
292
-
details[open] > :last-child {
287
+
details[open]> :last-child {
298
-
border-collapse: collapse;
302
-
white-space: nowrap;
293
+
border-collapse: collapse;
297
+
white-space: nowrap;
307
-
border: 1px solid var(--border);
302
+
border: 1px solid var(--border);
313
-
background-color: var(--bg-light);
308
+
background-color: var(--bg-light);
318
-
background-color: var(--bg-light);
313
+
background-color: var(--bg-light);
324
-
margin: 0 0 0.4rem 1rem;
319
+
margin: 0 0 0.4rem 1rem;
329
-
border: 1px dashed var(--accent);
330
-
border-radius: var(--standard-border-radius);
324
+
border: 1px dashed var(--accent);
325
+
border-radius: var(--standard-border-radius);
333
-
fieldset > legend {
334
-
color: var(--accent);
329
+
color: var(--accent);
···
342
-
font-size: inherit;
343
-
font-family: inherit;
345
-
border-radius: var(--standard-border-radius);
348
-
display: inline-block;
337
+
font-size: inherit;
338
+
font-family: inherit;
340
+
border-radius: var(--standard-border-radius);
343
+
display: inline-block;
354
-
color: var(--text);
355
-
background-color: var(--bg);
356
-
border: 1px dashed var(--border);
349
+
color: var(--text);
350
+
background-color: var(--bg);
351
+
border: 1px dashed var(--border);
364
-
margin: 0 0 0.3rem 0;
359
+
margin: 0 0 0.3rem 0;
368
-
max-width: 43.5rem;
363
+
max-width: 43.5rem;
@media only screen and (max-width: 720px) {
···
392
-
border: 1px solid var(--accent);
393
-
background-color: var(--accent);
394
-
color: var(--accent-text);
395
-
padding: 0.5rem 0.9rem;
396
-
text-decoration: none;
397
-
line-height: normal;
388
+
border: 1px solid var(--accent);
389
+
background-color: var(--accent);
390
+
color: var(--accent-text);
391
+
padding: 0.5rem 0.9rem;
392
+
text-decoration: none;
393
+
line-height: normal;
.button[aria-disabled="true"],
···
405
-
cursor: not-allowed;
406
-
background-color: var(--bg-light);
407
-
border-color: var(--bg-light);
408
-
color: var(--text-light);
401
+
cursor: not-allowed;
402
+
background-color: var(--bg-light);
403
+
border-color: var(--bg-light);
404
+
color: var(--text-light);
413
-
color: var(--accent);
409
+
color: var(--accent);
418
-
text-decoration-line: underline;
419
-
text-decoration-style: dotted;
414
+
text-decoration-line: underline;
415
+
text-decoration-style: dotted;
···
input[type="reset"]:enabled:hover,
input[type="button"]:enabled:hover,
label[type="button"]:hover {
428
-
background-color: var(--accent-dark);
429
-
border-color: var(--accent-dark);
424
+
background-color: var(--accent-dark);
425
+
border-color: var(--accent-dark);
button:focus-visible:where(:enabled),
435
-
input:enabled:focus-visible:where(
440
-
outline: 2px solid var(--accent);
441
-
outline-offset: 1px;
431
+
input:enabled:focus-visible:where([type="submit"],
434
+
outline: 2px solid var(--accent);
435
+
outline-offset: 1px;
/* checkbox and radio button style */
447
-
vertical-align: middle;
448
-
position: relative;
441
+
vertical-align: middle;
442
+
position: relative;
453
-
input[type="checkbox"] + label,
454
-
input[type="radio"] + label {
455
-
display: inline-block;
447
+
input[type="checkbox"]+label,
448
+
input[type="radio"]+label {
449
+
display: inline-block;
459
-
border-radius: 100%;
453
+
border-radius: 100%;
input[type="checkbox"]:checked,
input[type="radio"]:checked {
464
-
background-color: var(--accent);
458
+
background-color: var(--accent);
@media only screen and (max-width: 720px) {
486
-
border: 1px dashed var(--accent);
487
-
margin: 0.5rem 0 0.5rem 0;
481
+
border: 1px dashed var(--accent);
482
+
margin: 0.5rem 0 0.5rem 0;
491
-
padding: 0 0.25em 0 0.25em;
492
-
border-radius: var(--standard-border-radius);
493
-
background-color: var(--accent);
486
+
padding: 0 0.25em 0 0.25em;
487
+
border-radius: var(--standard-border-radius);
488
+
background-color: var(--accent);
498
-
color: var(--link);
493
+
color: var(--link);
iframe[src^="https://www.youtube-nocookie.com"],
504
-
iframe[src^="https://www.youtube.com"]
509
-
border: dashed 2px var(--accent);
510
-
border-radius: 15px;
499
+
iframe[src^="https://www.youtube.com"] {
503
+
border: dashed 2px var(--accent);
504
+
border-radius: 15px;
522
-
font-size: 0.875rem;
523
-
color: var(--text-light);
524
-
margin: 0 0 1rem 1rem;
516
+
font-size: 0.875rem;
517
+
color: var(--text-light);
518
+
margin: 0 0 1rem 1rem;
528
-
margin: 0 0 0 1.25rem;
529
-
padding: 0.5rem 0 0 0.5rem;
530
-
border-inline-start: 0.375rem solid var(--accent);
531
-
color: var(--text-light);
532
-
font-style: italic;
522
+
margin: 0 0 0 1.25rem;
523
+
padding: 0.5rem 0 0 0.5rem;
524
+
border-inline-start: 0.375rem solid var(--accent);
525
+
color: var(--text-light);
526
+
font-style: italic;
537
-
font-size: 0.875rem;
538
-
color: var(--text-light);
531
+
font-size: 0.875rem;
532
+
color: var(--text-light);
547
-
color: var(--text-light);
541
+
color: var(--text-light);
···
555
-
font-family: var(--mono-font);
549
+
font-family: var(--mono-font);
559
-
border: 1px solid var(--accent);
563
-
font-style: monospace;
553
+
border: 1px solid var(--accent);
557
+
font-style: monospace;
569
-
padding: 0 0.125rem 0 0.125rem;
570
-
border-radius: 3px;
572
-
background-color: var(--text);
563
+
padding: 0 0.125rem 0 0.125rem;
564
+
border-radius: 3px;
566
+
background-color: var(--text);
579
-
background-color: inherit;
573
+
background-color: inherit;
592
-
background-color: var(--bg-light);
586
+
background-color: var(--bg-light);
progress::-webkit-progress-bar {
596
-
border-radius: var(--standard-border-radius);
597
-
background-color: var(--bg-light);
590
+
border-radius: var(--standard-border-radius);
591
+
background-color: var(--bg-light);
progress::-webkit-progress-value {
601
-
border-radius: var(--standard-border-radius);
602
-
background-color: var(--accent);
595
+
border-radius: var(--standard-border-radius);
596
+
background-color: var(--accent);
progress::-moz-progress-bar {
606
-
border-radius: var(--standard-border-radius);
607
-
background-color: var(--accent);
608
-
transition-property: width;
609
-
transition-duration: 0.3s;
600
+
border-radius: var(--standard-border-radius);
601
+
background-color: var(--accent);
602
+
transition-property: width;
603
+
transition-duration: 0.3s;
progress:indeterminate::-moz-progress-bar {
613
-
background-color: var(--bg-light);
607
+
background-color: var(--bg-light);
622
-
background-color: var(--bg);
616
+
background-color: var(--bg);
@media only screen and (max-width: 720px) {
/* superscript & subscript */
/* prevent scripts from affecting line-height. */
637
-
vertical-align: baseline;
638
-
position: relative;
631
+
vertical-align: baseline;
632
+
position: relative;