html,
body,
h1,
p {
	margin: 0;
	padding: 0;
}

html {
	color-scheme: dark;
}

/* body, div#main > form > input#password::placeholder, button { */
body,
button {
	font-family: "Fira Sans", sans-serif;
}

body {
	background-color: #28284e;
}

div#main {
	width: fit-content;
	margin: 8rem auto 0 auto;
}

div#main > h1 {
	margin-bottom: 2rem;
}

div#main > p#error {
	margin-bottom: 1rem;
	color: #f00;
}

div#main > form {
	width: 15rem;
}

div#main > form > input#password,
div#main > form > button {
	/*border-radius: .4rem;*/
}

div#main > form > input#password {
	height: 2rem;
	width: 100%;
	padding: 1rem;
	font-size: 1rem;
	box-sizing: border-box;
	display: block;
}

div#main > form > input#password:placeholder-shown {
	font-family: "Fira Sans", sans-serif;
	letter-spacing: normal;
}

div#main > form > input#password:not(:placeholder-shown) {
	font-family: Verdana, Geneva, Tahoma, sans-serif;
	letter-spacing: 0.125em;
}

div#main > form > div#bottom {
	margin-top: .5rem;
	height: fit-content;
	display: flex;
	justify-content: flex-end;
}

div#main > form > div#bottom:has(div#error) {
	justify-content: space-between;
}

div#main > form > div#bottom > div#error {
	margin: auto 0;
	padding: 4px 10px;
	height: 100%;
	color: #f00;
	background-color: rgba(0, 0, 0, .6);
	border-radius: .5rem;
}

div#main > form > div#bottom > button {
	padding: 3px 8px;
	font-size: .9rem;
	cursor: pointer;
	justify-self: flex-end;
}

div#random {
	--randomHeight: 10rem;
	--randomWidth: 17rem;
	margin: 0 auto;
	padding: 2rem;
	height: var(--randomHeight);
	width: var(--randomWidth);
	position: absolute;
	top: calc(10.5rem - var(--randomHeight) / 2);
	left: 0;
	right: 0;
	border-radius: 1.5rem;
	overflow: hidden;
	aspect-ratio: 1;
	z-index: -1;
}

div#random > div#letters {
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	color: rgba(255, 255, 255, 1);
	font-family: "Fira Mono", monospace;
	font-size: .8rem;
	text-align: justify;
	word-wrap: break-word;
	pointer-events: none;
	scale: 1.05;
	--gradient: radial-gradient(
		160px circle at var(--x) var(--y), 
		rgba(255, 255, 255, .5) 20%, 
		rgba(255, 255, 255, .2)/* , 
		transparent */
	);
	mask-image: var(--gradient);
	-webkit-mask-image: var(--gradient);
}