:root {
	font-family: Arial, sans-serif;
	color-scheme: light dark;

	&[data-theme='light'] {
		color-scheme: light;
	}
	&[data-theme='dark'] {
		color-scheme: dark;
	}
}

body {
	background-color: light-dark(#ffffff, #15202b);
	color: light-dark(#14171a, #ffffff);
	margin: 0;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.container {
	max-width: 80ch;
	margin: 0 auto;
	padding: 2rem;
}

header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 2rem;
}

h1 {
	margin: 0;
}

.theme-toggle {
	background: light-dark(#f7f9fa, #1c2938);
	border: 1px solid light-dark(#e1e8ed, #38444d);
	border-radius: 8px;
	padding: 0.5rem;
	cursor: pointer;
	transition: background-color 0.3s ease, border-color 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
}

.theme-toggle:hover {
	background: light-dark(#e1e8ed, #253341);
}

.theme-toggle:focus {
	outline: 2px solid #1da1f2;
	outline-offset: 2px;
}

.loading-spinner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2rem;
}

.spinner {
	width: 40px;
	height: 40px;
	border: 4px solid light-dark(#e1e8ed, #38444d);
	border-top: 4px solid #1da1f2;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.emoji {
	--size: 1.2em;
	width: var(--size);
	height: var(--size);
}
