* {
	box-sizing: border-box;
	font-family: "SF Pro", sans-serif;
}

body {
	background: #eee;
	font-size: 14px;
}

#ui {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 6px;
}

#textinput {
	width: 100%;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	border: 0;
	border-radius: 4px;
	border: 1px solid #ccc;
	padding: 10px;
	margin-bottom: 10px;
	font-size: 14px;
	height: 3em; /* 1 row when not focused */
	transition: height 0.1s;
}

/*
#textinput:focus {
	height: 6em; 2 rows when focused
}
*/

#form {
	width: 100%;
	max-width: 600px;
}

.hidden {
	display: none;
}

input[type=button], button {
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	background: white;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 10px 20px;
	cursor: pointer;
}

#hints {
	color: #666;
}

#hints span {
	border-bottom: 1px dashed #666;
	cursor: pointer;
}

#output {
	width: 100%;
	max-width: 600px;
	border: 0;
}

#notification {
	position: fixed;
	top: 20px;
	right: 20px;
	background-color: white;
	border: 1px solid #ccc;
	padding: 10px 20px;
	border-radius: 4px;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	opacity: 0;
	visibility: hidden;
	transform: translateX(20px);
	transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

#notification.show {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

#links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	max-width: 600px;
}

#links a {
	color: rgba(0, 0, 0, 0.8);
}