body {
	font-family: sans-serif;
	font-size: 120%;
	line-height: 180%;
	margin: 40px 0 200px 0;
	background-color: var(--bg-body);
	color: var(--text-color);
}

div#container {
	margin: 0% 10% 5% 10%;
	padding: 2%;
	background-color: var(--bg-container);
	border: var(--border-container);
	border-radius: 10px;
}

body > p {
	color: var(--text-body-link);
}

body > p > a {
	color: var(--text-body-link);
	font-weight: bold;
}

a {
	color: var(--text-link);
}

pre {
	background-color: var(--bg-code);
	border: var(--border-code);
	padding: 20px;
	overflow-x: auto;
	tab-size: 4;
}

p > code {
	font-weight: bold;
	font-family: 'Courier New', sans-serif;
	color: var(--text-color);
}

h1 {
	font-family: 'HelveticaNeue-Thin', 'HelveticaNeue', sans-serif;
	font-weight: 100;
	font-size: 300%;
	margin-top: 20px;
	line-height: 100%;
	color: var(--text-h1);
}

h2 {
	margin-top: 70px;
	color: var(--text-h2);
}

h3 {
	margin-bottom: 0;
	color: var(--text-h3);
}

h3 + p {
	margin-top: 0;
}

p {
	text-align: justify;
	color: var(--text-color);
}

li {
	margin-top: 20px;
	color: var(--text-li);
}

img {
	border: var(--border-img);
	max-width: 100%;
}

img#logo {
	border: var(--border-logo);
}

blockquote {
	font-style: italic;
	color: var(--text-color);
}

div.warning {
	border: var(--border-warning);
	background-color: var(--bg-warning);
	padding: 20px;
	margin: 20px;
	border-radius: 15px;
}

div.warning h2 {
	font-size: 150%;
	line-height: 100%;
	margin: 0;
	margin-bottom: 10px;
}

div.warning p {
	line-height: 100%;
	margin: 0;
}

div.snippet {
	border: var(--border-snippet);
	background-color: var(--bg-snippet);
	max-width: 90%;
	margin: auto;
	padding: 0 20px;
}

div.funcprototypes {
	background-color: var(--bg-funcproto);
	border: var(--border-funcproto);
	padding: 10px;
	margin-bottom: 30px;
}

div.funcprototypes p {
	margin-top: 0;
	margin-bottom: 0;
}

/* ===== Theme Hamburger Menu ===== */

#theme-hamburger {
	position: fixed;
	top: 16px;
	right: 16px;
	z-index: 10000;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	border: 2px solid var(--text-h2);
	background: var(--bg-container);
	color: var(--text-color);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(0,0,0,0.25);
}

#theme-hamburger:hover {
	opacity: 0.85;
}

#theme-dropdown {
	position: fixed;
	top: 66px;
	right: 16px;
	z-index: 9999;
	background: var(--bg-container);
	border: 2px solid var(--text-h2);
	border-radius: 10px;
	padding: 8px 0;
	min-width: 200px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.3);
	display: none;
}

#theme-dropdown.open {
	display: block;
}

.theme-item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 9px 16px;
	border: none;
	background: none;
	color: var(--text-color);
	font-size: 14px;
	cursor: pointer;
	text-align: left;
}

.theme-item:hover {
	background: var(--bg-code);
}

.theme-item.active {
	font-weight: bold;
}

.theme-dot {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid var(--text-h2);
	flex-shrink: 0;
}
