/* =====================
   fonts
===================== */

@font-face {
	font-family: "IBMPlexMono";
	src: url("/fonts/IBMPlexMono-Regular.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "IBMPlexMono";
	src: url("/fonts/IBMPlexMono-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "IBMPlexMono";
	src: url("/fonts/IBMPlexMono-Italic.ttf") format("truetype");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

/* =====================
   global
===================== */
:root {
	--bg: #0f0f0f;
	--text: #fbfbfb;
	--acc: #bcabae;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: monospace;
	background: var(--bg);
	color: var(--text);
	text-align: center;
}

/* =====================
   layout
===================== */
header {
	font-size: 3rem;
	padding: 2rem 0;
	font-family: "IBMPlexMono", monospace;
	font-style: normal;
	font-weight: 600;
}

main {
	padding: 1rem 0;
}

footer {
	font-size: 1rem;
	padding: 2rem 0;
	font-family: "IBMPlexMono", monospace;
	font-style: italic;
	font-weight: 400;
}

/* =====================
   text & links
===================== */
h1 {
	margin: 0;
}

h2 {
	font-size: 2rem;
	margin: 1rem 0;
}

.hover-link {
	display: inline-block;
	color: var(--acc);
	text-decoration: none;
	word-break: break-word;
	transition: transform 0.1s ease, color 0.1s ease;
}

.hover-link:hover {
	color: var(--text);
	transform: scale(1.1);
}

/* =====================
   social icons
===================== */
.links {
	display: flex;
	justify-content: center;
	gap: 2rem;
	flex-wrap: wrap;
}

.links img {
	width: 4rem;
	height: 4rem;
	transition: transform 0.1s ease;
}

.links img:hover {
	transform: scale(1.1);
}

/* =====================
   tooltips
===================== */
.tooltip-container {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

.tooltip-text {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 0.5rem;

	z-index: 10;
	width: max-content;
	max-width: 300px;
	padding: 10px;
	border-radius: 6px;

	background: var(--bg);
	color: var(--text);
	font-size: 0.875rem;
	text-align: center;

	font-family: "IBMPlexMono", monospace;
	font-weight: 500;
	font-style: normal;

	opacity: 0;
	visibility: hidden;
	transition: opacity 0.15s ease;
	pointer-events: none;
}


.tooltip-container:hover .tooltip-text {
	opacity: 1;
	visibility: visible;
}

/* =====================
   media
===================== */
img {
	max-width: 100%;
	height: auto;
}

/* =====================
   responsive
===================== */
@media (max-width: 600px) {
	header {
		font-size: 2rem;
		padding: 1.5rem 0;
	}

	.links {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1.5rem;
		width: 100%;
	}

	.links img {
		width: 4rem;
		height: auto;
	}
}