@font-face {
  font-family: "DOS"; 
  src: url('fonts/Px437 DOS-V re.ANK24.woff2') format('woff2');
}

:root { 
	font-size: 1.125em;
	color-scheme: light dark;
	accent-color: teal;
}

body {
	color: black;
	font-family: "DOS", "Courier New", Courier, monospace;
	font-smooth: never;
	-webkit-font-smoothing: none;
	-moz-font-smoothing: greyscale;
}

* { 
	image-rendering: pixelated;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	scrollbar-color: cadetblue gainsboro;
	overscroll-behavior: none;
}

ul {
	padding: 0px 10px 0px 20px;
	margin: 0px;
	text-align: left;
}

.border { /* .rope from https://maxbittker.github.io/broider/ */
    border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAtklEQVQ4T7VV2xHAIAjTzToao3Wz9vigFyMoZ7V/VIghPKzlwFcPYJYG9BJ57JJbpKKNl+uZ2uxvPh+oOpgzBuA/CzIw9jd7CBoBWhZbQJGhl1nH1NOINWXmU00N1EvZ6xBkyhp3mnpFmIEyIbdQrNcW0IwUqUKNnKKpY12X+xQviFqs0VQDcARXOkExhrPvsYp2AxKYjmnUYr8KFbXXMihqHBUIN1dq9nkf8E5Nzf6uV+DIc/ICR9UIJTV+2f0AAAAASUVORK5CYII=") 7 /  7px / 0 round;
    border-width:  7px;
    border-style:  solid;
	background-color: rgb(255, 255, 255, 87%);
	padding: 18px 36px;
}
	
a.border:hover, a.border:focus { 
    border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAsElEQVQ4T7VVQQ7AIAib/3/0JktqagOiRjnphhVKwfJcsHIB8+lA32q4pFTjPV9u/2yv/u0sFuYAZz7A39jX1uqPfYvUA40AkcURUKQ7DepxpJxq5CmnAPVS9hTCdHEGP9daKHWIJDeqgVsoPZBFqlkuV38kwW1JcdTK6zFQNAFf0KXPXTLDa0TFsPc1Ve3/VKeRRCKJLUuKJRLRsA2qk2h5SkXzcTRTU05PvgBXnpMPNvIIJdPd95YAAAAASUVORK5CYII=") 7 /  7px / 0 round;
}
	
.clearfix::after {
	content: "";
	clear: both;
	display: table;
}

hr {
	border: none;
	border-top: 1px solid;
}

h3, h2, h1 { font-weight: normal; }

h3 { font-size: 1.25rem; line-height: 1; font-style: italic; }
h2 { font-size: 1.45rem; line-height: 1; text-transform: uppercase; }
h1 { font-size: 2.75rem; line-height: 1; }
		 
p, ol, ul, dl, code, details { font-size: 1rem; line-height: 1.3; }
		 
h1, h2, h3, h4, h5, h6, p, table, details, cite, blockquote, hr {
	margin: 18px 0;
}

ul, dl {
	margin: 18px 0 18px 18px;
}

ol { margin: 18px 0 18px 54px; }
ol ol { margin: 0 0 0 54px; }

ul ul, dd { 
	margin: 0 0 0 18px;
}

details p { margin: 18px 0 18px 36px; }

summary { cursor: pointer; }

ul { list-style-type: square; }

code {
	background-color: lightgrey;
	font-family: 'Courier New', monospace; 
	padding: 1px 4px;
	
}

pre {
	background-color: lightgrey;
	overflow-x: auto;
	padding: 1px 4px;
}

table {	border: 1px solid; }
tr, td, th { border: 1px dotted; }
td, th { padding: 5px; }

textarea {
	padding: 2px;
}

cite { 
	display: block;
	text-align: right;
}

blockquote { border-left: 4px double; padding-left: 14px; }

details > summary {
    list-style-type: '► ';
}

details[open] > summary {
    list-style-type: '▼ ';
}

a {
	color: teal;
	padding: 1px;
}

a:hover, a:focus {
	background-color: teal;
	color: white;
}

img { max-width: 100%; }
	
.new { 
	text-transform: uppercase;
	text-shadow: 0 -1px yellow, 1px 0 yellow, 0 1px yellow, -1px 0 yellow;
}

::selection {
	color: white;
	background-color: teal;
}

@media screen and (max-width: 600px){
	
	h1, h2, h3, h4, h5, h6, p, table, details, cite, blockquote, hr {
		margin: 16px 0;
	}

	ul, dl {
		margin: 16px 0 16px 16px;
	}

	ol { margin: 16px 0 16px 48px; }
	ol ol { margin: 0 0 0 48px; }

	ul ul, dd { 
		margin: 0 0 0 16px;
	}

	details p { margin: 16px 0 16px 32px; }
	
	p, ol, ul, dl, code, details, table, figcaption { font-size: 0.9rem; }
}

@media (prefers-color-scheme: dark) {
	* { scrollbar-color: cadetblue darkslategrey; }
	body { color: white; }
	img { filter: brightness(.9); }
	.border { background-color: rgb(0,20,20,75%); border-color: darkslategrey; }
	.new, code { color: black; }
	a { color: #b2d7c1; }
	a:hover, a:focus { color: darkslategrey; background-color: #b2d7c1; }
	a.border:hover, a.border:focus { border-image:  url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAtklEQVQ4T7VV2xHAIAjTzToao3Wz9vigFyMoZ7V/VIghPKzlwFcPYJYG9BJ57JJbpKKNl+uZ2uxvPh+oOpgzBuA/CzIw9jd7CBoBWhZbQJGhl1nH1NOINWXmU00N1EvZ6xBkyhp3mnpFmIEyIbdQrNcW0IwUqUKNnKKpY12X+xQviFqs0VQDcARXOkExhrPvsYp2AxKYjmnUYr8KFbXXMihqHBUIN1dq9nkf8E5Nzf6uV+DIc/ICR9UIJTV+2f0AAAAASUVORK5CYII=") 7 /  7px / 0 round;
	}
}