287 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			287 lines
		
	
	
	
		
			4.8 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| @font-face {
 | |
| 	font-family: comic-mono;
 | |
| 	src: url(ComicMono.woff);
 | |
| }
 | |
| 
 | |
| /* Defaults */
 | |
| html {
 | |
| 	--font-family-monospace: comic-mono, consolas, monospace;
 | |
| 	--font-family: comic-mono, consolas, sans-serif;
 | |
| 	--syntax-tab-size: 2;
 | |
| 
 | |
| 	--background-light: var(--xkcd-off-white);
 | |
| 	--text-light: var(--xkcd-dark-grey);
 | |
| 	--link-light: var(--xkcd-teal);
 | |
| 	--accent-light: var(--xkcd-red-orange);
 | |
| 
 | |
| 	--background-dark: var(--xkcd-very-dark-brown);
 | |
| 	--text-dark: var(--xkcd-light-grey);
 | |
| 	--link-dark: var(--xkcd-steel-blue);
 | |
| 	--accent-dark: var(--xkcd-bronze);
 | |
| }
 | |
| 
 | |
| html, [theme='light'] {
 | |
| 	--background-color: var(--background-light);
 | |
| 	--text-color: var(--text-light);
 | |
| 	--text-color-link: var(--link-light);
 | |
| 	--accent-color: var(--accent-light);
 | |
| }
 | |
| 
 | |
| @media(prefers-color-scheme: dark) {
 | |
| 	html {
 | |
| 		--background-color: var(--background-dark);
 | |
| 		--text-color: var(--text-dark);
 | |
| 		--text-color-link: var(--link-dark);
 | |
| 		--accent-color: var(--accent-dark);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| [theme='dark'] {
 | |
| 	--background-color: var(--background-dark);
 | |
| 	--text-color: var(--text-dark);
 | |
| 	--text-color-link: var(--link-dark);
 | |
| 	--accent-color: var(--accent-dark);
 | |
| }
 | |
| 
 | |
| /* Global stylesheet */
 | |
| * {
 | |
| 	box-sizing: border-box;
 | |
| }
 | |
| 
 | |
| body {
 | |
| 	overflow-y: scroll;
 | |
| 	max-width: 100ch;
 | |
| 	padding: 0 1rem;
 | |
| 	margin: 0 auto 2rem;
 | |
| 	font-family: var(--font-family);
 | |
| 	color: var(--text-color);
 | |
| 	background-color: var(--background-color);
 | |
| }
 | |
| 
 | |
| /* https://www.a11yproject.com/posts/how-to-hide-content/ */
 | |
| .visually-hidden {
 | |
| 	clip: rect(0 0 0 0);
 | |
| 	clip-path: inset(50%);
 | |
| 	height: 1px;
 | |
| 	overflow: hidden;
 | |
| 	position: absolute;
 | |
| 	white-space: nowrap;
 | |
| 	width: 1px;
 | |
| }
 | |
| 
 | |
| p {
 | |
| 	line-height: 1.5;
 | |
| }
 | |
| 
 | |
| li {
 | |
| 	line-height: 1.5;
 | |
| }
 | |
| 
 | |
| a[href] {
 | |
| 	color: var(--text-color-link);
 | |
| }
 | |
| 
 | |
| .links-nextprev {
 | |
| 	list-style: none;
 | |
| 	padding: 0;
 | |
| }
 | |
| 
 | |
| table {
 | |
| 	margin: 1em 0;
 | |
| }
 | |
| table td,
 | |
| table th {
 | |
| 	padding-right: 1em;
 | |
| }
 | |
| 
 | |
| pre,
 | |
| code {
 | |
| 	/* !important so that this isn't overwritten by code highlighter */
 | |
| 	font-family: var(--font-family-monospace) !important;
 | |
| }
 | |
| pre:not([class*="language-"]) {
 | |
| 	margin: .5em 0;
 | |
| 	line-height: 1.375; /* 22px /16 */
 | |
| 	-moz-tab-size: var(--syntax-tab-size);
 | |
| 	-o-tab-size: var(--syntax-tab-size);
 | |
| 	tab-size: var(--syntax-tab-size);
 | |
| 	-webkit-hyphens: none;
 | |
| 	-ms-hyphens: none;
 | |
| 	hyphens: none;
 | |
| 	direction: ltr;
 | |
| 	text-align: left;
 | |
| 	white-space: pre;
 | |
| 	word-spacing: normal;
 | |
| 	word-break: normal;
 | |
| }
 | |
| code {
 | |
| 	word-break: break-all;
 | |
| }
 | |
| 
 | |
| /* Nav */
 | |
| nav ul {
 | |
| 	list-style: none;
 | |
| 	padding-left: 0;
 | |
| }
 | |
| 
 | |
| nav li {
 | |
| 	display: inline;
 | |
| }
 | |
| 
 | |
| nav li + li::before {
 | |
| 	content: ' | ';
 | |
| }
 | |
| 
 | |
| /* Posts list */
 | |
| .postlist {
 | |
| 	list-style: none;
 | |
| 	padding: 0;
 | |
| 	padding-left: 1.5rem;
 | |
| }
 | |
| .postlist-item {
 | |
| 	display: flex;
 | |
| 	flex-wrap: wrap;
 | |
| 	align-items: baseline;
 | |
| 	counter-increment: start-from -1;
 | |
| 	margin-bottom: 1em;
 | |
| }
 | |
| .postlist-item:before {
 | |
| 	display: inline-block;
 | |
| 	pointer-events: none;
 | |
| 	content: "" counter(start-from, decimal-leading-zero) ". ";
 | |
| 	line-height: 100%;
 | |
| 	text-align: right;
 | |
| 	margin-left: -1.5rem;
 | |
| }
 | |
| .postlist-date,
 | |
| .postlist-item:before {
 | |
| 	font-size: 0.8125em; /* 13px /16 */
 | |
| }
 | |
| .postlist-date {
 | |
| 	word-spacing: -0.5px;
 | |
| }
 | |
| .postlist-link {
 | |
| 	font-size: 1.1875em; /* 19px /16 */
 | |
| 	font-weight: 700;
 | |
| 	flex-basis: calc(100% - 1.5rem);
 | |
| 	padding-left: .25em;
 | |
| 	padding-right: .5em;
 | |
| 	text-underline-position: from-font;
 | |
| 	text-underline-offset: 0;
 | |
| 	text-decoration-thickness: 1px;
 | |
| }
 | |
| .postlist-item-active .postlist-link {
 | |
| 	font-weight: bold;
 | |
| }
 | |
| 
 | |
| /* Tags */
 | |
| .post-tag {
 | |
| 	display: inline-flex;
 | |
| 	align-items: center;
 | |
| 	justify-content: center;
 | |
| 	font-style: italic;
 | |
| }
 | |
| .postlist-item > .post-tag {
 | |
| 	align-self: center;
 | |
| }
 | |
| 
 | |
| /* Tags list */
 | |
| .post-metadata {
 | |
| 	display: inline-flex;
 | |
| 	flex-wrap: wrap;
 | |
| 	gap: .5em;
 | |
| 	list-style: none;
 | |
| 	padding: 0;
 | |
| 	margin: 0;
 | |
| }
 | |
| .post-metadata time {
 | |
| 	margin-right: 1em;
 | |
| }
 | |
| 
 | |
| /* Direct Links / Markdown Headers */
 | |
| .header-anchor {
 | |
| 	text-decoration: none;
 | |
| 	font-style: normal;
 | |
| 	font-size: 1em;
 | |
| 	margin-left: .1em;
 | |
| }
 | |
| a[href].header-anchor,
 | |
| a[href].header-anchor:visited {
 | |
| 	color: transparent;
 | |
| }
 | |
| a[href].header-anchor:focus,
 | |
| a[href].header-anchor:hover {
 | |
| 	text-decoration: underline;
 | |
| }
 | |
| a[href].header-anchor:focus,
 | |
| :hover > a[href].header-anchor {
 | |
| 	color: #aaa;
 | |
| }
 | |
| 
 | |
| /* add borders between page elements */
 | |
| 
 | |
| h1 {
 | |
| 	padding-bottom: 20px;
 | |
| 	border-bottom: 12px double var(--accent-color);
 | |
| } 
 | |
| 
 | |
| article {
 | |
| 	overflow: auto;
 | |
| 	padding-bottom: 20px;
 | |
| 	margin-bottom: 20px;
 | |
| 	border-bottom: 12px double var(--accent-color);
 | |
| }
 | |
| 
 | |
| hr {
 | |
| 	border: none;
 | |
| 	border-bottom: 12px double var(--accent-color);
 | |
| }
 | |
| 
 | |
| /* don't double-pad around paragraphs */
 | |
| 
 | |
| p:first-child {
 | |
| 	margin-top: 0;
 | |
| }
 | |
| 
 | |
| p:last-child {
 | |
| 	margin-bottom: 0;
 | |
| }
 | |
| 
 | |
| img {
 | |
| 	max-width: 100%;
 | |
| 	max-height: 80vh;
 | |
| }
 | |
| 
 | |
| .gallery {
 | |
|     display:flex;
 | |
|     flex-wrap: wrap;
 | |
|     justify-content: center;
 | |
|     align-items: center;
 | |
| }
 | |
| 
 | |
| .gallery img {
 | |
|     border: 0.5ch solid;
 | |
|     margin: 1ch;
 | |
|     width: 12ch;
 | |
| }
 | |
| 
 | |
| .web-button {
 | |
| 	image-rendering: pixelated;
 | |
| }
 | |
| 
 | |
| .card-gallery {
 | |
| 	list-style: none;
 | |
| 	padding-left: 0;
 | |
| 	display: flex;
 | |
| 	flex-wrap: wrap;
 | |
| 	gap: 1rem;
 | |
| }
 | |
| 
 | |
| .card img {
 | |
| 	width: 175px;
 | |
| 	height: 125px;
 | |
| }
 | |
| 
 | |
| .card p {
 | |
| 	width: 175px;
 | |
| }
 |