@font-face {
	font-family: "Erebus Main";
	src: url("fonts/font.ttf") format("truetype");
	font-display: swap;
}

@font-face {
	font-family: "Erebus Header";
	src: url("fonts/header_font.ttf") format("truetype");
	font-display: swap;
}

@font-face {
	font-family: "Erebus Icon";
	src: url("fonts/icon_font.ttf") format("truetype");
	font-display: swap;
}

* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: transparent;
}

body {
	display: grid;
	place-items: center;
}

.stage {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0;
	width: max-content;
	transform-origin: center center;
}

.menu-col {
	display: flex;
	flex-direction: column;
	gap: calc(8px * var(--s));
	width: calc(400px * var(--s));
}

.menu, .desc {
	position: relative;
	overflow: hidden;
	color: #fff;
	background: rgb(15, 15, 15);
	border-style: solid;
	border-color: rgb(113, 96, 232);
}

.menu {
	width: 100%;
	border-radius: calc(15px * var(--s));
	border-width: calc(3px * var(--s));
}

.info {
	position: relative;
	overflow: hidden;
	flex: 0 0 auto;
	min-width: 0;
	width: 0;
	margin-left: 0;
	height: auto;
	color: #fff;
	background: rgb(15, 15, 15);
	border-style: solid;
	border-color: rgb(113, 96, 232);
	border-width: 0;
	border-radius: calc(15px * var(--s));
	opacity: 0;
	transition: width 0.45s ease, opacity 0.45s ease, border-width 0.45s ease;
}

.info.open {
	width: calc(370px * var(--s));
	margin-left: calc(15px * var(--s));
	border-width: calc(3px * var(--s));
	opacity: 1;
}

.info-name {
	position: relative;
	z-index: 1;
	width: fit-content;
	margin: calc(5px * var(--s)) auto 0;
	height: calc(35px * var(--s));
	text-align: center;
	font-family: "Erebus Main", "Microsoft YaHei", sans-serif;
	font-size: calc(20px * var(--s));
	font-weight: 400;
	line-height: calc(35px * var(--s));
	background: linear-gradient(90deg, rgb(147, 18, 177), rgb(42, 210, 216));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.info-rows {
	position: relative;
	z-index: 1;
	padding: calc(8px * var(--s)) calc(10px * var(--s)) calc(8px * var(--s));
}

.info-line {
	display: flex;
	justify-content: space-between;
	gap: calc(12px * var(--s));
	margin-bottom: calc(8px * var(--s));
	font-family: "Erebus Main", "Microsoft YaHei", sans-serif;
	font-size: calc(20px * var(--s));
	line-height: 1.15;
	white-space: nowrap;
}

.info-line span:last-child {
	text-align: right;
}

.info-line:last-child {
	margin-bottom: 0;
}

.desc {
	width: 100%;
	border-radius: calc(18px * var(--s));
	border-width: calc(3px * var(--s));
}

.dust {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.header {
	position: relative;
	z-index: 1;
	width: fit-content;
	margin: 0 auto;
	padding: calc(15px * var(--s)) 0;
	text-align: center;
	font-family: "Erebus Header", "Erebus Main", serif;
	font-size: calc(80px * var(--s));
	font-weight: 400;
	line-height: 1;
	background: linear-gradient(90deg, rgb(42, 210, 216), rgb(147, 18, 177));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.options {
	position: relative;
	z-index: 1;
	margin: 0 calc(8px * var(--s));
	border-radius: calc(10px * var(--s));
	background: rgb(25, 25, 25);
	overflow: hidden;
}

.subtitle, .row, footer {
	height: calc(35px * var(--s));
	display: flex;
	align-items: center;
	padding: 0 calc(10px * var(--s));
	font-family: "Erebus Main", "Microsoft YaHei", sans-serif;
	font-size: calc(20px * var(--s));
	line-height: calc(35px * var(--s));
	white-space: nowrap;
}

.subtitle {
	color: #fff;
}

.rows {
	position: relative;
	background: rgb(42, 42, 42);
}

.slider {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: calc(35px * var(--s));
	border-radius: calc(10px * var(--s));
	background: linear-gradient(90deg, rgb(105, 84, 92), rgb(57, 45, 61));
	pointer-events: none;
}

.row {
	position: relative;
	z-index: 1;
	color: #fff;
}

.arrow {
	margin-left: auto;
	transform: translateX(calc(8px * var(--s)));
	font-family: "Erebus Icon", sans-serif;
	font-size: calc(20px * var(--s));
	line-height: 1;
}

.arrow::before {
	content: "\E602";
}

footer {
	position: relative;
	z-index: 1;
	margin: 0 calc(8px * var(--s)) calc(3px * var(--s));
	justify-content: space-between;
}

.desc p {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: calc(10px * var(--s));
	font-family: "Erebus Main", "Microsoft YaHei", sans-serif;
	font-size: calc(20px * var(--s));
	line-height: 1.15;
}
