:root {
	--bodyBg: cyan;
	--bodyCol: black;
	--fontFamily: "QuickSand", sans-serif; 

	--mainBg: white;

	--displayBg: rgba(0, 0, 255, 0.1);
	--displayErrorBg: rgba(255, 0, 0, 0.7);
	--displaySuccessBg: rgb(0, 255, 0);
	--boxShadow: 15px 10px 10px rgba(0, 0, 0, 0.1);

	--equalBg: rgba(0, 0, 255, 0.25);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: var(--bodyBg);
	color: var(--bodyCol);
	font-family: var(--fontFamily);
}

/* Some Classes */
.center {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Main */
main {
	flex-direction: column;
	justify-content: space-evenly !important;
	width: clamp(200px, 95%, 350px);
	padding: 20px 0;
	aspect-ratio: 2/3.3;
	background: var(--mainBg);
	border-radius: 40px;
	opacity: 0;
	animation: show 2s ease 0.05s forwards;
}

@keyframes show {
	100% { opacity: 1; }
}

/* Display Screen Input */
#display {
	user-select: text; /* Can Select Text Only */
	justify-content: flex-start;
	width: 85%; 
	height: 15%;
	padding: 20px; 
	outline: 7px solid white;
	border-radius: 30px;
	background: var(--displayBg);
	font-size: 3.5rem;
	letter-spacing: 4px;
	box-shadow: var(--boxShadow);
	overflow: auto hidden; /* OverFlow in X-Axis */
	transition: background 0.5s ease;
	white-space: nowrap;
}

#display.error { background: var(--displayErrorBg); }

#display.success { background: var(--displaySuccessBg); }

/* Buttons Cont */
#btnsCont {
	width: 95%;
	flex-flow: row wrap;
	gap: 15px;
}

.btn {
	display: inline-flex;
	width: 60px;
	aspect-ratio: 1;
	border: 0;
	border-radius: 50%;
	box-shadow: var(--boxShadow);
	font-size: 1.2rem;
	font-weight: bold;
	font-family: var(--fontFamily);
	cursor: pointer;
	transition: opacity 0.3s ease;
	user-select: none;
}

.btn:hover {
	opacity: 0.5;
}

#equal {
	margin-left: 3px;
	width: 40%;
	padding: 20px 0;
	aspect-ratio: unset;
	border-radius: 30px;
	background: var(--equalBg);
	transform: translateY(4px);
}
