@media (prefers-color-scheme: light) {
	:root {
		--bg: #A0B0F0;
		--fg: #000000;
		--sectionbg: #FFFFA0;
		--sectionfg: black;
	}
	a { color: #0000FF; text-decoration: none; }
	a:link { color: #0000C0; text-decoration: none; }
	a:visited { color: #800080; text-decoration: none; }
	a:hover { color: #0000FF; text-decoration: underline; }
	a:active { text-decoration: underline; }
	a:hover:visited { color: #FF00FF; text-decoration: underline; }
}
@media (prefers-color-scheme: dark) {
	body {
		--bg: #101020;
		--fg: white;
		--sectionbg: #404038;
		--sectionfg: white;
	}
	a:link { text-decoration: none; }
	a:visited { text-decoration: none; }
	a:hover { text-decoration: underline; }
	a:active { text-decoration: underline; }
	h1 { text-shadow: 3px 2px black; }
	h2 { text-shadow: 2px 1px black; }
}

body {
	background-color: var(--bg);
	color: var(--fg);
}

h1 {
	font-family: "URW Chancery L", "Monotype Corsiva", serif, cursive;
}

ul.catlist {
	display: table;
	margin-left: auto;
	margin-right: auto;

	list-style-type: none;
}

ul.catlist > li {
	max-width: 25em;
}

li#geom {
	background-image: url('/img/bckgnd-geom.png');
	background-repeat: no-repeat;
	background-position: top left;

	padding-top: 100px;
	padding-left: 3em;
	padding-right: 220px;

	margin-top: -50px;
	margin-bottom: -60px;
}

li#geom h2 {
	text-align: right;
}

li#prog {
	display: table;
	margin-left: auto;

	background-image: url('/img/gears.png');
	background-repeat: no-repeat;
	background-position: top right;

	padding-top: 80px;
	padding-left: 160px;
	padding-right: 3em;

	margin-bottom: -60px;
}

li#linux {
	background-image: url('/img/tux.png');
	background-repeat: no-repeat;
	background-position: top left;

	padding-top: 80px;
	padding-left: 3em;
	padding-right: 100px;

	margin-bottom: -120px;
}

li#linux h2 {
	text-align: right;
}

li#veblen {
	display: table;
	margin-left: auto;

	background-image: url('/img/func.png');
	background-repeat: no-repeat;
	background-position: top right;

	padding-top: 140px;
	padding-right: 60px;
	padding-left: 160px;

	margin-bottom: -90px;
}

li#misc {
	background-image: url('/img/trashcan.png');
	background-repeat: no-repeat;
	background-position: top left;

	padding-top: 110px;
	padding-left: 3em;
}

li#misc h2 {
	text-align: right;
}

ul.catlist h2 {
	font-size: 1em;
	font-weight: bold;
	font-variant: small-caps;

	margin: 0 0 0 0;
	background-color: transparent;

	border-bottom: 1px solid black;
}

ul.catlist > li > ul {
	list-style-type: none;
	padding: 1ex 1em 1ex 1em;

	background-color: var(--sectionbg);
	color: var(--sectionfg);
}

ul.catlist > li > ul > li {
	margin-bottom: 1ex;
	text-align: justify;
}

/* Experimental: fiddle with footer */
hr { display: none; }
p.lastmod {
	text-align: center;
	font-size: small;

	padding-top: 2em;
	padding-bottom: 1em;
}
p.pagefooter {
	display: table;
	margin-left: auto;
	margin-right: auto;

	max-width: 35em;
	font-family: "URW Chancery L", "Monotype Corsiva", serif, cursive;
	font-style: italic;
	text-align: justify;
}
