/* CSS Resets */

*, *::before, *::after {
  box-sizing: border-box;
}
* {
  margin: 0;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
p {
  text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
#root, #__next {
  isolation: isolate;
}

/* General Styling */
:root {
	/* Hues */
	--hue-sombre: hsl(150, 20%, 25%);
	--hue-lumens: hsl(46, 15%, 83%);
	--hue-ve-800: hsl(131, 22%, 29%); 
	--hue-ve-500: hsl(119, 19%, 42%);
	--hue-ve-100: hsl(82, 20%, 62%);
	--background: var(--hue-lumens);
	--text-color: var(--hue-sombre);
}

[data-theme="dark"] {
	--background: var(--hue-sombre);
  	--text-color: var(--hue-lumens);
}

body {
	min-height: 100vh;
	background: var(--background);
	color: var(--text-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 16px;
}
header {
	position: relative;
	width: 100%;
	margin: 1rem;
}
main {
	flex: 1;
	display: flex;
	height: 100%;
	flex-direction: column;
	justify-content: center;
}
footer {
	margin: .5rem;
	font-size: small;
}
footer p span {
	font-size: normal;
	transform: rotate(180deg);
	display: inline-block;
}
a {
	color: var(--text-color);
	text-decoration: none;
}
a:hover {
	color: var(--hue-ve-500);
	text-decoration: underline;
}
a:focus {
	outline: .15rem dashed var(--hue-ve-100);
	outline-offset: .15rem;
}
#theme {
	position: absolute;
	right: 1rem;
	padding: 1rem;
	background: var(--text-color);
	color: var(--background);
	border: none;
	border-radius: 50%;
	cursor: pointer;
}

button:hover {
  opacity: 0.8;
}