Commit 871b073

Eric Bower  ·  2026-10-03 13:07:55 -0400 EDT
parent 05dc0b4
refactor(prose): remove unused css from read
1 files changed,  +37, -830
+37, -830
......@@ -4,61 +4,17 @@
44 box-sizing: border-box;
55 }
66
7-::-moz-focus-inner {
8- border-style: none;
9- padding: 0;
10-}
11-:-moz-focusring {
12- outline: 1px dotted ButtonText;
13-}
14-:-moz-ui-invalid {
15- box-shadow: none;
16-}
17-
187 :root {
198 --line-height: 1.3rem;
209 --grid-height: 0.65rem;
2110 --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
22-}
23-
24-@media (prefers-color-scheme: light) {
25- :root {
26- --white: #2e3f53;
27- --white-light: #cfe0f4;
28- --white-dark: #6c6a6a;
29- --code: #52576f;
30- --pre: #e1e7ee;
31- --bg-color: #f4f4f4;
32- --text-color: #24292f;
33- --link-color: #005cc5;
34- --visited: #6f42c1;
35- --blockquote: #005cc5;
36- --blockquote-bg: #cfe0f4;
37- --hover: #c11e7a;
38- --grey: #ccc;
39- --grey-light: #6a708e;
40- --green: #1a7f37;
41- }
42-}
43-
44-@media (prefers-color-scheme: dark) {
45- :root {
46- --white: #f2f2f2;
47- --white-light: #f2f2f2;
48- --white-dark: #e8e8e8;
49- --code: #414558;
50- --pre: #252525;
51- --bg-color: #282a36;
52- --text-color: #f2f2f2;
53- --link-color: #8be9fd;
54- --visited: #bd93f9;
55- --blockquote: #bd93f9;
56- --blockquote-bg: #353548;
57- --hover: #ff80bf;
58- --grey: #414558;
59- --grey-light: #6a708e;
60- --green: #50fa7b;
61- }
11+ --pre: #252525;
12+ --bg-color: #282a36;
13+ --text-color: #f2f2f2;
14+ --link-color: #8be9fd;
15+ --visited: #bd93f9;
16+ --grey-light: #6a708e;
17+ --green: #50fa7b;
6218 }
6319
6420 html {
......@@ -89,134 +45,38 @@ html {
8945
9046 body {
9147 margin: 0 auto;
48+ max-width: var(--body-max-width, 720px);
49+ position: relative;
9250 }
9351
94-img {
95- max-width: 100%;
96- height: auto;
97-}
98-
99-b,
100-strong {
101- font-weight: bold;
102-}
103-
104-code,
105-kbd,
106-samp,
107-pre {
108- font-family: var(--font-mono);
109- font-variant-numeric: tabular-nums;
110-}
111-
112-code,
113-kbd,
114-samp {
115- border: 2px solid var(--code);
116-}
117-
118-pre > code {
119- background-color: inherit;
120- padding: 0;
121- border: none;
122- border-radius: 0;
123-}
124-
125-code {
126- border-radius: 0.3rem;
127- padding: 0.025rem 0.3rem;
128-}
129-
130-pre {
131- border-radius: 1px;
132- padding: var(--line-height);
133- overflow-x: auto;
134- background-color: var(--pre) !important;
135-}
136-
137-small {
138- font-size: 0.8rem;
139-}
140-
141-details {
142- border: 2px solid var(--grey-light);
143- padding: calc(var(--grid-height) - 2px) 1ch;
144- margin-bottom: var(--grid-height);
145-}
146-
147-details[open] summary {
148- margin-bottom: var(--grid-height);
149-}
150-
151-summary {
152- display: list-item;
153- cursor: pointer;
52+header {
53+ margin: 1rem auto;
15454 }
15555
156-h1,
157-h2,
158-h3,
159-h4,
160-h5,
161-h6 {
56+h1 {
16257 margin: 0;
16358 padding: 0;
16459 border: 0;
16560 font-family: var(--font-mono);
16661 font-weight: bold;
167-}
168-
169-h1 {
17062 font-size: 1.6rem;
17163 line-height: calc(var(--line-height) * 1.5);
17264 margin-top: calc(var(--line-height) * 2.5);
17365 margin-bottom: var(--grid-height);
17466 }
17567
176-h2 {
177- font-size: 1.3rem;
178- line-height: var(--line-height);
179- margin-top: calc(var(--line-height) * 2);
180- margin-bottom: var(--grid-height);
181-}
182-
183-h3 {
184- font-size: 1.1rem;
185- line-height: var(--line-height);
186- margin-top: calc(var(--line-height) * 1.5);
187- margin-bottom: var(--grid-height);
188-}
189-
190-h4,
191-h5,
192-h6 {
193- font-size: 1rem;
194- line-height: var(--line-height);
68+p {
19569 margin-top: var(--line-height);
196- margin-bottom: var(--grid-height);
197- color: var(--white-dark);
198-}
199-
200-
201-path {
202- fill: var(--text-color);
203- stroke: var(--text-color);
70+ margin-bottom: var(--line-height);
20471 }
20572
206-hr {
207- color: inherit;
208- border: 0;
209- height: 1px;
210- background: var(--grey-light);
211- margin: calc(var(--grid-height) - 1px) auto;
73+article {
74+ overflow-wrap: break-word;
21275 }
21376
214-hr.dashed {
215- border: none;
216- border-top: 1px dashed var(--grey-light);
217- background: none;
218- height: 0;
219- margin: calc(var(--grid-height) - 1px) auto;
77+footer {
78+ text-align: center;
79+ margin-bottom: calc(var(--line-height) * 3);
22080 }
22181
22282 a {
......@@ -245,221 +105,28 @@ a:visited:hover {
245105 text-decoration: none;
246106 }
247107
248-section {
249- margin-bottom: 1.4rem;
250-}
251-
252-section:last-child {
253- margin-bottom: 0;
254-}
255-
256-header {
257- margin: 1rem auto;
258-}
259-
260-p {
261- margin-top: var(--line-height);
262- margin-bottom: var(--line-height);
263-}
264-
265-article {
266- overflow-wrap: break-word;
267-}
268-
269-blockquote {
270- border-left: 5px solid var(--blockquote);
271- background-color: var(--blockquote-bg);
272- padding: var(--grid-height);
273- margin: var(--line-height) 0;
274-}
275-
276-blockquote > p {
277- margin: 0;
278-}
279-
280-blockquote code {
281- border: 1px solid var(--blockquote);
282-}
283-
284-ul,
285-ol {
286- padding: 0 15px;
287- list-style-position: inside;
288- list-style-type: square;
289- margin: var(--grid-height) 0;
290-}
291-
292-ul[style*="list-style-type: none;"] {
293- padding: 0;
294-}
295-
296-ol ul, ol ol, ul ol, ul ul {
297- padding: 0 0 0 var(--line-height);
298- margin: 0;
299-}
300-
301-li {
302- margin: var(--grid-height) 0;
303- padding: 0;
304-}
305-
306-li::marker {
307- line-height: 0;
308- color: var(--grey-light);
309-}
310-
311-li blockquote,
312-li pre {
313- display: inline-block;
314- margin: 0;
315- width: 100%;
316-}
317-
318-li pre {
319- padding: var(--grid-height);
320-}
321-
322-[role="list"] {
323- display: flex;
324- flex-direction: column;
325- gap: var(--grid-height);
326-}
327-
328-[role="list"] [role="list"] {
329- margin-left: 1.3rem;
330-}
331-
332-[role="listitem"] {
333- display: flex;
334- align-items: flex-start;
335- gap: 5px;
336-}
337-
338-[role="listitem"]:has(pre, img, blockquote) {
339- align-items: center;
340-}
341-
342-table {
343- border-collapse: collapse;
344- margin: var(--line-height) 0;
345-}
346-
347-th,
348-td {
349- border: 1px solid var(--white);
350- padding: var(--grid-height);
351-}
352-
353-footer {
354- text-align: center;
355- margin-bottom: calc(var(--line-height) * 3);
356-}
357-
358-dt {
359- font-weight: bold;
360-}
361-
362-dd {
363- margin-left: 0;
364-}
365-
366-dd:not(:last-child) {
367- margin-bottom: 0.5rem;
368-}
369-
370-figure {
371- margin: 0;
372-}
373-
374-sup {
375- line-height: 0;
376-}
377-
378-#toc {
379- margin-top: var(--line-height);
380-}
381-
382-.container {
383- max-width: 50em;
384- width: 100%;
385-}
386-
387-.container-sm {
388- max-width: 40em;
389- width: 100%;
390-}
391-
392108 .mono,
393-time,
394-nav {
109+time {
395110 font-family: var(--font-mono);
396111 font-variant-numeric: tabular-nums;
397112 }
398113
399-.link-alt-hover,
400-.link-alt-hover:visited,
401-.link-alt-hover:visited:hover,
402-.link-alt-hover:hover {
403- color: var(--hover);
404- text-decoration: none;
405-}
406-
407-.link-alt-hover:visited:hover,
408-.link-alt-hover:hover {
409- background-color: transparent;
410- text-decoration: underline;
411-}
412-
413-.link-alt,
414-.link-alt:visited,
415-.link-alt:visited:hover,
416-.link-alt:hover {
417- color: var(--white);
418- text-decoration: none;
114+.box-sm {
115+ border: 1px solid var(--grey-light);
116+ padding: var(--grid-height);
117+ background-color: var(--pre);
419118 }
420119
421-.link-alt:visited:hover,
422-.link-alt:hover {
423- background-color: transparent;
424- text-decoration: underline;
120+.text-green {
121+ color: var(--green);
425122 }
426123
427-.link-grey,
428-.link-grey:visited {
124+.text-grey {
429125 color: var(--grey-light);
430- text-decoration: none;
431126 }
432127
433-.link-grey:hover,
434-.link-grey:visited:hover {
435- background-color: transparent;
436- color: var(--text-color);
437- text-decoration: underline;
438-}
439-
440-.text-2xl code, .text-xl code, .text-lg code, .text-md code {
441- text-transform: none;
442-}
443-
444-.text-2xl {
445- font-size: 1.6rem;
446- font-weight: bold;
447- line-height: calc(var(--line-height) * 1.5);
448- margin-bottom: var(--grid-height);
449-}
450-
451-.text-xl {
452- font-size: 1.3rem;
453- font-weight: bold;
454- line-height: var(--line-height);
455- margin-bottom: var(--grid-height);
456-}
457-
458-.text-lg {
459- font-size: 1.1rem;
460- font-weight: bold;
461- line-height: var(--line-height);
462- margin-bottom: var(--grid-height);
128+.text-sm {
129+ font-size: 0.8rem;
463130 }
464131
465132 .text-md {
......@@ -469,113 +136,32 @@ nav {
469136 margin-bottom: var(--grid-height);
470137 }
471138
472-.text-right {
473- text-align: right;
474-}
475-
476-.text-sm {
477- font-size: 0.8rem;
478-}
479-
480-.w-full {
481- width: 100%;
482-}
483-
484-.border {
485- border: 2px solid var(--grey-light);
486-}
487-
488-.text-left {
489- text-align: left;
490-}
491-
492-.text-center {
493- text-align: center;
494-}
495-
496-.text-underline {
497- text-decoration: underline;
498- text-decoration-thickness: 2px;
499-}
500-
501-.text-hdr {
502- color: var(--hover);
503-}
504-
505-.font-bold {
506- font-weight: bold;
507-}
508-
509139 .font-italic {
510140 font-style: italic;
511141 }
512142
513-.inline {
514- display: inline;
515-}
516-
517-.inline-block {
518- display: inline-block;
143+.transform-none {
144+ text-transform: none;
519145 }
520146
521-.max-w-half {
522- max-width: 50%;
147+.post-date {
148+ width: 110px;
523149 }
524150
525151 .flex {
526152 display: flex;
527153 }
528154
529-.flex-col {
530- flex-direction: column;
531-}
532-
533-.flex-wrap {
534- flex-wrap: wrap;
155+.flex-1 {
156+ flex: 1;
535157 }
536158
537159 .items-center {
538160 align-items: center;
539161 }
540162
541-.m-0 {
542- margin: 0;
543-}
544-
545-.mt-0 {
546- margin-top: 0;
547-}
548-
549-.mt {
550- margin-top: var(--grid-height);
551-}
552-
553-.mt-2 {
554- margin-top: var(--line-height);
555-}
556-
557-.mt-4 {
558- margin-top: calc(var(--line-height) * 2);
559-}
560-
561-.mb {
562- margin-bottom: var(--grid-height);
563-}
564-
565-.mb-2 {
566- margin-bottom: var(--line-height);
567-}
568-
569-.mb-4 {
570- margin-bottom: calc(var(--line-height) * 2);
571-}
572-
573-.mr {
574- margin-right: 0.5rem;
575-}
576-
577-.ml {
578- margin-left: 0.5rem;
163+.gap {
164+ gap: var(--grid-height);
579165 }
580166
581167 .my {
......@@ -583,260 +169,11 @@ nav {
583169 margin-bottom: var(--grid-height);
584170 }
585171
586-.my-2 {
587- margin-top: var(--line-height);
588- margin-bottom: var(--line-height);
589-}
590-
591172 .my-4 {
592173 margin-top: calc(var(--line-height) * 2);
593174 margin-bottom: calc(var(--line-height) * 2);
594175 }
595176
596-.p-0 {
597- padding: 0;
598-}
599-
600-.px {
601- padding-left: 0.5rem;
602- padding-right: 0.5rem;
603-}
604-
605-.px-4 {
606- padding-left: 2rem;
607- padding-right: 2rem;
608-}
609-
610-.py {
611- padding-top: var(--grid-height);
612- padding-bottom: var(--grid-height);
613-}
614-
615-.py-4 {
616- padding-top: calc(var(--line-height) * 2);
617- padding-bottom: calc(var(--line-height) * 2);
618-}
619-
620-.justify-between {
621- justify-content: space-between;
622-}
623-
624-.justify-center {
625- justify-content: center;
626-}
627-
628-.gap {
629- gap: var(--grid-height);
630-}
631-
632-.gap-2 {
633- gap: var(--line-height);
634-}
635-
636-.group {
637- display: flex;
638- flex-direction: column;
639- gap: var(--grid-height);
640-}
641-
642-.group-2 {
643- display: flex;
644- flex-direction: column;
645- gap: var(--line-height);
646-}
647-
648-.group-h {
649- display: flex;
650- gap: var(--grid-height);
651- align-items: center;
652-}
653-
654-.flex-1 {
655- flex: 1;
656-}
657-
658-.items-end {
659- align-items: end;
660-}
661-
662-.items-start {
663- align-items: start;
664-}
665-
666-.justify-end {
667- justify-content: end;
668-}
669-
670-.font-grey-light {
671- color: var(--grey-light);
672-}
673-
674-.hidden {
675- display: none;
676-}
677-
678-.align-right {
679- text-align: right;
680-}
681-
682-.text-transform-none {
683- text-transform: none;
684-}
685-
686-/* ==== MARKDOWN ==== */
687-
688-.md > :first-child {
689- margin-top: 0 !important;
690-}
691-
692-.md h1,
693-.md h2,
694-.md h3,
695-.md h4 {
696- padding: 0;
697- font-weight: bold;
698-}
699-
700-.md h1 a,
701-.md h2 a,
702-.md h3 a,
703-.md h4 a {
704- color: var(--grey-light);
705- text-decoration: none;
706-}
707-
708-.md h1 a:hover,
709-.md h2 a:hover,
710-.md h3 a:hover,
711-.md h4 a:hover {
712- background-color: transparent;
713- color: var(--hover);
714- text-decoration: underline;
715-}
716-
717-h1 code, h2 code, h3 code, h4 code {
718- text-transform: none;
719-}
720-
721-/* ==== HELPERS ==== */
722-
723-.logo-header {
724- line-height: 1;
725- display: inline-block;
726- background-color: #ff79c6;
727- background-image: linear-gradient(to right, #ff5555, #ff79c6, #f8f859);
728- color: transparent;
729- background-clip: text;
730- border: 3px solid #ff79c6;
731- padding: 8px 10px 10px 10px;
732- border-radius: 10px;
733- background-size: 100%;
734- margin: 0;
735- -webkit-background-clip: text;
736- -moz-background-clip: text;
737- -webkit-text-fill-color: transparent;
738- -moz-text-fill-color: transparent;
739-}
740-
741-.btn {
742- border: 2px solid var(--link-color);
743- color: var(--link-color);
744- padding: 0.4rem 1rem;
745- font-weight: bold;
746- display: inline-block;
747-}
748-
749-.btn:hover {
750- background-color: var(--link-color);
751- color: var(--bg-color);
752-}
753-
754-.btn-link,
755-.btn-link:visited {
756- border: 2px solid var(--link-color);
757- color: var(--link-color);
758- padding: var(--grid-height);
759- text-decoration: none;
760- font-weight: bold;
761- display: inline-block;
762-}
763-
764-.btn-link:hover,
765-.btn-link:visited:hover {
766- background-color: var(--link-color);
767- color: var(--bg-color);
768- text-decoration: none;
769-}
770-
771-.box {
772- border: 1px solid var(--grey-light);
773- padding: var(--grid-height);
774- background-color: var(--pre);
775-}
776-
777-.box-sm {
778- border: 1px solid var(--grey-light);
779- padding: var(--grid-height);
780- background-color: var(--pre);
781-}
782-
783-.box-dashed {
784- border: 1px dashed var(--grey-light);
785- padding: var(--grid-height);
786-}
787-
788-.box-alert {
789- border: 1px solid var(--hover);
790- padding: var(--line-height);
791-}
792-
793-.box-sm-alert {
794- border: 1px solid var(--hover);
795- padding: var(--grid-height);
796-}
797-
798-.text-green {
799- color: var(--green);
800-}
801-
802-.prompt,
803-pre.cmd::before {
804- content: "$ ";
805- color: var(--green);
806- font-weight: bold;
807-}
808-
809-.list-none {
810- list-style-type: none;
811-}
812-
813-.list-square {
814- list-style-type: square;
815-}
816-
817-.list-disc {
818- list-style-type: disc;
819-}
820-
821-.list-decimal {
822- list-style-type: decimal;
823-}
824-
825-.pill {
826- border: 1px solid var(--link-color);
827- color: var(--link-color);
828-}
829-
830-.pill-alert {
831- border: 1px solid var(--hover);
832- color: var(--hover);
833-}
834-
835-.pill-info {
836- border: 1px solid var(--visited);
837- color: var(--visited);
838-}
839-
840177 @media only screen and (max-width: 40em) {
841178 body {
842179 padding: 0 var(--grid-height);
......@@ -845,134 +182,4 @@ pre.cmd::before {
845182 header {
846183 margin: 0;
847184 }
848-
849- .flex-collapse {
850- flex-direction: column;
851- }
852-}
853-
854-body {
855- position: relative;
856-}
857-
858-/*
859-.debug-grid {
860- width: 100%;
861- height: 100%;
862- position: absolute;
863- top: 0;
864- left: 0;
865- right: 0;
866- bottom: 0;
867- z-index: 1000;
868- pointer-events: none;
869- background-image:
870- repeating-linear-gradient(rgba(255, 121, 198, 0.18) 0 1px, transparent 1px 100%),
871- repeating-linear-gradient(90deg, rgba(139, 233, 253, 0.10) 0 1px, transparent 1px 100%);
872- background-size: 1ch var(--grid-height);
873- margin: 0;
874-}
875-*/
876-body {
877- max-width: var(--body-max-width, 720px);
878-}
879-
880-table {
881- display: block;
882- max-width: fit-content;
883- margin: 0 auto;
884- overflow-x: auto;
885- white-space: nowrap;
886- border-spacing: 10px;
887- border-collapse: separate;
888-}
889-
890-header blockquote {
891- margin: var(--grid-height) 0;
892-}
893-
894-.transform-none {
895- text-transform: none;
896-}
897-
898-.post-date {
899- width: 110px;
900-}
901-
902-.layout-aside {
903- max-width: 50rem;
904-}
905-
906-.layout-aside aside {
907- width: 200px;
908-}
909-
910-.layout-aside img {
911- border-radius: 5px;
912-}
913-
914-.footnotes li p {
915- display: inline;
916-}
917-
918-#readme {
919- display: none;
920-}
921-
922-.albums {
923- width: 100%;
924- display: grid;
925- grid-template-columns: repeat(3, 1fr);
926- grid-template-rows: repeat(auto-fill, 200px);
927- grid-row-gap: 0.5rem;
928- grid-column-gap: 1rem;
929-}
930-
931-.thumbnail-container {
932- position: relative;
933- background-color: #000;
934- display: flex;
935- flex-direction: column;
936- align-items: center;
937- justify-content: center;
938- padding: 3px;
939- min-height: 200px;
940-}
941-
942-.thumbnail {
943- z-index: 1;
944- object-fit: contain;
945- max-width: 200px;
946- height: auto;
947-}
948-
949-#toc {
950- margin: 0;
951-}
952-
953-.thumbnail-link {
954- z-index: 1;
955-}
956-
957-.text-grey {
958- color: var(--grey-light);
959-}
960-
961-@media only screen and (max-width: 600px) {
962- .layout-aside main {
963- flex-direction: column;
964- }
965-
966- aside {
967- display: none;
968- }
969-
970- #readme {
971- display: block;
972- }
973-
974- .albums {
975- grid-template-columns: repeat(1, 1fr);
976- justify-content: center;
977- }
978185 }