/* Colors */

$color-primary-light: #9870F7;
$color-primary-dark: #5B4395;

$color-neutral-light: #2D2F3E;
$color-neutral-dark: #1A1B27;

/* General */

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	font-size: 62.5%; // 1rem = 10px

	* {
		box-sizing: inherit;
	}
}

body {
	background: linear-gradient(135deg, $color-primary-light, $color-primary-dark);
	display: flex;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1.6rem;
	line-height: 1.4;
	justify-content: center;
	min-height: 100vh;
	padding-top: 25vh;
}

h1 {
	margin: 0 0 1.6rem;
}

/* Tabs */

.tabs {
	background-color: $color-neutral-light;
	border-radius: 0.8rem;
	box-shadow: 0 0.8rem 1.6rem rgba(black, 0.1);
	color: white;
	max-width: calc(100vw - 8rem);
	padding: 1.6rem 2.4rem;
	width: 48rem;
	
	&__nav {
		align-items: center;
		background-color: $color-neutral-dark;
		border-radius: 0.8rem;
		display: flex;
		gap: 0.8rem;
		padding: 0.4rem;
		position: relative;
		
		&::before,
		&::after {
			background-color: $color-neutral-dark;
			content: '';
			height: 0.2rem;
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 2.4rem;
		}
		
		&::before {
			right: 100%;
		}
		
		&::after {
			left: 100%;
		}
	}
	
	&__tab {
		align-items: center;
		color: white;
		cursor: pointer;
		display: flex;
		flex-grow: 1;
		font-size: 1.8rem;
		font-weight: 600;
		gap: 0.4rem;
		justify-content: center;
		padding: 0.8rem;
		position: relative;
		text-align: center;
		text-decoration: none;
		z-index: 1;
		
		span {
			pointer-events: none;
		}
	}
	
	&__highlight {
		background: linear-gradient($color-primary-light, $color-primary-dark);
		border-radius: 0.4rem;
		height: calc(100% - 0.8rem);
		position: absolute;
		transition: left 0.5s ease,
					width 0.5s ease;
		width: 0;
	}
	
	&__content {
		animation: fade-in 0.5s ease forwards;
		opacity: 0;
	}
}

@keyframes fade-in {
	to { opacity: 1; }
}