body {
	height: 100vh;
	margin: 0;
	padding: 0;
	font-size: 20px;
	overflow-y: auto;
}

* {
	box-sizing: border-box;
	font-family: "DejaVu Sans", Arial;
	font-size: 20px;
}

@font-face {
	font-family: BlackoutSunrise;
	src: url(Blackout\ Sunrise.ttf) format(truetype);
}

/* Main */

.Main {
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f0f4f9;
}

/* Landing page*/

.Landing_Banner {
	height: 96vh;
	display: flex;
	flex-direction: column;
	background: linear-gradient(-5deg, #c0c0c0, #a7a7ee);
	justify-content: center;
	align-items: center;
	box-shadow: 0 0 15px #000000B0;
	gap: 60px;
	position: relative;
}

.Landing_Title {
	font-size: 8rem;
	color: #000000;
	font-family: BlackoutSunrise;
}

.Landing_SubTitle {
	font-size: 1.5rem;
	color: #1f1f1f;
}

@keyframes arrowWiggle {
  0% { bottom: 0px; }
  100% { bottom: 20px; }
}

.Landing_Arrow {
	font-size: 8rem;
	position: absolute;
	animation: arrowWiggle 1.7s ease-in-out infinite alternate;
}

.Landing_LoginWrapper {
	height: 95vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
	background-color: #ffffff;
}

.Landing_Text {
	color: #1f1f1f;
	font-size: 1.2rem;
}

.Landing_Footer {
	background: #b8b8b8;
	padding: 15px;
	font-size: 0.9rem;
	color: #131313;
}

/* Cookies */

.Cookie_Root, .Popup_Root {
	width: 100vw;
	height: 100vh;
	background: #00000080;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.Cookie_Root {
	z-index: 2;
}

.Cookie_BoxModal {
	width: 65vw;
	background-color: #ffffff;
	padding: 30px;
	border-radius: 15px;
	box-shadow: 0 0 15px #000000c0;
}

@keyframes cookieSlide {
	0% { bottom: -464px; }
	100% { bottom: 0px; }
}

.Cookie_BoxBar {
	width: 100vw;
	background-color: #ffffff;
	padding: 30px;
	box-shadow: 0 0 15px #000000c0;
	z-index: 5;
	position: absolute;
	bottom: 0;
	left: 0;
	animation: cookieSlide 3s ease-out 1;
}

.Cookie_TitleWrapper {
	display: flex;
	padding: 15px;
}

.Cookie_Title {
	font-size: 1.5rem;
	flex-grow: 1;
}

.Cookie_Description {
	max-height: 220px;
	overflow-y: auto;
	border: 1px solid #1f1f1f;
	padding: 10px;
	flex-direction: column;
}

.Cookie_Description p {
	margin: 0 10px 15px;
}

.Cookie_ButtonWrapper {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 15px;
	flex-wrap: wrap;
}

.Cookie_Butt, .Cookie_Butt-Accept {
	border-radius: 20px;
	background: #d0d0d0;
	border: none;
	font-size: 0.83rem;
}

.Cookie_Butt:hover, .Cookie_Butt-Accept:hover {
	box-shadow: 0 0 6px #00000080;
}

.Cookie_Butt {
	color: #3a3a3a;
	padding: 7px 10px;
}

@keyframes acceptCookieBlink {
	0% { background-color: #14bb3b; }
	100% { background-color: #04a126; }
}

.Cookie_Butt-Accept {
	padding: 20px 0px;
	font-size: 1.2rem;
	font-weight: bold;
	animation: acceptCookieBlink 0.5s ease-in-out infinite alternate;
	width: 100%;
	color: #ffffff;
	box-shadow: 0 0 4px #00000040;
}

.Cookie_Butt-Accept:hover {
	animation-play-state: paused;
}

.Cookie_Row {
	display: grid;
	grid-template-columns: auto 320px;
	margin-bottom: 10px;
	border: 1px solid #202020;
	padding: 15px;;
}

.Cookie_RowLeft {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.Cookie_RowRight {
	display: flex;
	gap: 15px;
	align-items: center;
}

.Cookie_RowButton-Active {
	background-color: #0000aa;
	color: #ffffff;
	border: none;
	border-radius: 10px;
	padding: 3px;
}

.Cookie_RowButton-Inactive {
	background-color: #5eeb1c;
	color: #000000;
	border: none;
	border-radius: 10px;
	padding: 3px;
}

/* Popups */

.Popup_Root {
	z-index: 14;
}

.Popup_Box, .Popup_BoxWithImg {
	width: 40vw;
	background-color: #ffffff;
	padding: 30px;
	border-radius: 15px;
	box-shadow: 0 0 15px #000000c0;
}

.Popup_BoxWithImg {
	display: grid;
	grid-template: auto auto / 140px auto;
}

.Popup_BoxWithImg > img {
	width: 120px;
	grid-row: 1 / span 2;
	margin-right: 20px;
}

.Popup_Text {
	margin-bottom: 20px;
}

.Popup_Buttons {
	display: flex;
	justify-content: right;
	gap: 10px;
}

/* Login */

.Login_Center {
	width: 65%;
	height: 400px;
	display: flex;
	flex-direction: column;
	color: #1f1f1f;
}

@keyframes loginLoader {
	0% {left: 0%; width: 0%;}
	33% {left: 0%; width: 50%}
	67% {left: 50%; width: 50%}
	100% {left: 100%; width: 0%}
}

.Login_Loader {
	height: 5px;
	overflow: hidden;
}

.Login_Loader > * {
	position: relative;
	height: 5px;
	background-color: #4400ff;
}

.Login_Box {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 50px;
	gap: 50px;
	position: relative;
}

.Login_Title {
	font-size: 2rem;
	font-weight: bold;
	color: #000000;
	padding-bottom: 30px;
}

.Login_AccountList {
	display: flex;
	flex-direction: column;
}

.Login_Account {
	border-bottom: 1px solid #c4c7c5;
}

.Login_AccountButt {
	display: flex;
	padding: 20px;
	border-radius: 20px;
	cursor: pointer;
}

.Login_AccountButt:hover {
	background-color: #f0f4f9;
}

.Login_Greyout {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 3452;
	background: #ffffff80;
}

.Login_Footer {
	display: flex;
	margin-top: 15px;
	justify-content: right;
}

.Login_Footer * {
	border-radius: 10px;
	padding: 8px;
	font-size: 0.8rem;
	cursor: pointer;
}

.Login_Footer *:hover {
	background-color: #e1e5ea;
}

.Login_FooterFiller {
	flex-grow: 1;
	cursor: default;
}

.Login_FooterFiller:hover {
	background-color: transparent;
}

.Login_MooMoo {
	background-color: #512da8;
	width: 28px;
	height: 28px;
	text-align: center;
	vertical-align: middle;
	color: #ffffff;
	border-radius: 14px;
	margin-right: 14px;
}

.Login_Other {
	width: 28px;
	height: 28px;
	text-align: center;
	vertical-align: middle;
	border: 2px solid #1f1f1f;
	border-radius: 14px;
	margin-right: 14px;
}

.Login_Butt-Highlight, .Login_Butt-Secondary {
	padding: 12px 24px;
	border-radius: 40px;
	border: none;
	cursor: pointer;
}

.Login_Butt-Highlight {
	background-color: #0b57d0;
	color: #ffffff;
}

.Login_Butt-Secondary {
	background: transparent;
	color: #083f97;
}

.Login_Butt-Highlight:hover {
	background-color: #083f97;
	box-shadow: 0 0 6px #00000090;
}

.Login_Butt-Secondary:hover {
	background: #00000020;
}

.Login_Input, .Login_Input-Error {
	border-radius: 10px;
	color: #1f1f1f;
	padding: 15px;
	width: 100%;
}

.Login_Input {
	border: 1px solid #747775;
}

.Login_Input:active {
	border: 2px solid #083f97;
	outline: none;
}

.Login_Input-Error {
	border: 2px solid #ff0000;
	outline: none;
}

.Login_Input {
	border: 1px solid #747775;
	border-radius: 10px;
	color: #1f1f1f;
	padding: 15px;
	width: 100%;
}

/* Login timeout */

.LoginTimeout_Error {
	margin-top: 15px;
	font-size: 0.7rem;
}

.LoginTimeout_Right {
	display: flex;
	align-items: end;
	justify-content: end;
	margin-top: 20px	;
}

/* Login username */
.LoginUserPassword_Right {
	display: flex;
	gap: 30px;
}

.LoginUserPassword_RightTop {
	display: flex;
	align-items: center;
	flex-grow: 1;
}

.LoginUserPassword_RightTop input {
	max-width: 500px;
}

.LoginUserPassword_RightBottom {
	display: flex;
	justify-content: end;
	gap: 30px;
}

/* Authcode */

.LoginAuthcode_Right {
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex-grow: 1;
}

.LoginAuthcode_Inputs {
	display: flex;
	gap: 10px;
}

.LoginAuthcode_Inputs input {
	border-radius: 10px;
	color: #1f1f1f;
	padding: 15px;
	border: 1px solid #747775;
	width: 50px;
}

/* List page */

.ListPage_Root {
	width: 100vw;
	height: 101vh;
	display: grid;
	grid-template: auto / 50% auto;
	background-color: #e3e3f3;
}

.ListPage_ChatWrapper {
	display: flex;
	flex-direction: column;
	height: 100vh;
	background: #ffffff;
	box-shadow: 0 0 6px #00000080;
}

.ListPage_ChatOutput {
	height: calc(100vh - 100px);
	overflow-y: auto;
	padding: 15px;
}

.ListPage_InputWrapper {
	display: flex;
	background: #ffffff;
	margin: 15px;
	border: 1px solid #a0a0a0;
	border-radius: 20px;
	padding: 15px;
	height: 100px;
	gap: 15px;
}

.ListPage_Prompt {
	margin: 10px 0;
	text-align: right;
	display: flex;
	justify-content: right;
}

.ListPage_Prompt > div {
	background: #e4e4e4;
	border-radius: 40px;
	padding: 10px 30px;
	text-align: right;
}

.ListPage_Thinking {
	padding: 10px;
}

.ListPage_Answer {
	padding: 10px;
	margin: 10px 0;
}

.ListPage_Answer p {
	margin: 0 0 10px;
	font-size: 0.9rem;
}

.ListPage_Answer h1 {
	margin: 0 0 10px;
	font-size: 1.3rem;
	font-weight: bold;
}

.ListPage_Answer h2 {
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: bold;
}

.ListPage_Answer ul {
	margin: 0 0 10px;
}

.ListPage_Answer li {
	margin: 0 0 10px;
	font-size: 0.9rem;
}

.ListPage_Advertisement {
	width: 80%;
	padding: 10px;
	font-size: 0.8rem;
}

.ListPage_Advertisement img {
	width: 100%;
	border: 1px solid #000000;
}

.ListPage_Items {
	height: 100vh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 20px;
}

.ListPage_ItemRow {
	background: #ffffff;
	border-radius: 30px;
	padding: 15px 25px;
}

/* Bluescreen */

.Bluescreen_Root {
	width: 100vw;
	height: 100vh;
	padding: 6vw;
	background: #2424ff;
	display: flex;
	flex-direction: column;
	gap: 5vw;
	justify-content: center;
}

.Bluescreen_Title {
	color: #ffffff;
	font-size: 5rem;
}

.Bluescreen_SubTitle {
	color: #ffffff;
	font-size: 2rem;
}

.Bluescreen_Text {
	color: #ffffff;
	width: 75%;
}
