/* ##### Fonts ##### */
@font-face {
	font-family: 'IBM Plex Mono';
	src: url('/styles/fonts/IBMPlexMono-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'IBM Plex Mono';
	src: url('/styles/fonts/IBMPlexMono-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
}

/* ##### Global Resets ##### */
html { height: 100%; }

body {
	background: #222129;
	color: #EEE;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: 'IBM Plex Mono', monospace;
	font-size: 1.2rem;
	line-height: 1.5;
	letter-spacing: 1px;
}

pre {
	white-space: pre-wrap;
	word-wrap: break-word;
	font-size: 1rem;
	line-height: 1.4;
	background-color: #EEE;
	color: #222129;
	padding: 10px;
	border-radius: 5px;
	overflow-x: auto;
}

/* ##### Typography ##### */
h1 { font-size: 1.6rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.2rem; }
h4 { font-size: 1rem; }
em { font-style: italic; }
strong { font-weight: bold; }

/* ##### Layout ##### */
main {
	margin: 0 auto;
	max-width: 860px;
	padding: 1rem;
	flex: 1;
}

header { padding: 1rem; }
footer { padding: 1rem; }
section { margin-bottom: 3rem; }
hr { margin: 0 1rem; }

/* ##### Links ##### */
a, a:visited {
	color: #0F0;
	text-decoration: none;
}

a:hover { text-decoration: underline; }
