/*字体*/
@font-face {
	font-family: 'neue';
	src: url(../font/BebasNeue-Regular.ttf);
	font-display: swap;
}

/*通用设置*/
*{
	padding: 0;
	margin: 0;
	/*消除选中时的蓝框*/
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
	/*隐藏默认光标*/
	cursor: none;
	color: #fff;
	position: relative;
	user-select: none;
}

/*隐藏链接下划线*/
a {text-decoration: none;}

/*隐藏滚动条*/
::-webkit-scrollbar{display: none}

section {
	overflow: hidden;
	height: 100dvh;
	scroll-snap-stop: always;
	scroll-snap-align: start;
}

.cursor {
    pointer-events: none;
    position: fixed;
    z-index: 98;
    display: block;
    -webkit-transition: opacity 300ms linear;
    -moz-transition: opacity 300ms linear;
    -o-transition: opacity 300ms linear;
    transition: opacity 300ms linear;
	opacity: 0;
}
.cursor.moving {
    opacity: 1;
}
.cursor::before {
    content: ' ';
    height: 4px;
    width: 4px;
    position: absolute;
    background-color: transparent;
	backdrop-filter: invert(100%);
	-webkit-backdrop-filter: invert(100%);
    border-radius: 50%;
    top: 0;
    left: 0;
    opacity: 1;
}
.cursor.expand::before {
    opacity: 0;
}
.node {
	pointer-events: none;
	position: fixed;
	display: block;
	transition: opacity .3s linear;
	opacity: 0;
	height: 26px;
	width: 26px;
	z-index: 99;
}
.node.moving {opacity: 1;}
.node::before {
	content: ' ';
	width: 100%;
	height: 100%;
	position: absolute;
	border-radius: 50%;
	border: 2px solid rgba(190, 190, 195, 0.5);
	transform: scale(1.5);
	transition: opacity 150ms linear, transform 300ms cubic-bezier(0.68, -0.55, 0.27, 1.55), border 300ms linear, background-color 150ms linear;
}
  .node.expand::before {
	transform: scale(2.5);
	background-color: rgba(190, 190, 195, 0.5);
	border: 2px solid transparent;
}

#main {
	z-index: 1;
	height: 100dvh;
	overflow-y: scroll;
	scroll-snap-type: y mandatory;
}
.number, .title, .subtitle, .tt, #statistics, #information{
	font-family: 'neue';
	width: fit-content;
	width: -moz-fit-content;
	letter-spacing: 0.05em;
}
.number {
	font-size: 30vmax;
	color:rgba(190, 190, 195, 0.2);
	position: absolute;
	left: 50px;
	top: -14vmax;
}
.tt {
	position: absolute;
	left: 10vmax;
	top: 2vmax;
}
.title {
	font-weight: 700;
	color: #282939;
	font-size: 10vmax;
	line-height: 10vmax;
}
.subtitle {
	color:#bebec3;
	font-size: 3vmax;
	line-height: 10px;
}

html, body {
	height: 99.9dvh;
	overflow: hidden;
}

#statistics {
	position: absolute;
	width: fit-content;
	width: -moz-fit-content;
	right: 40px;
	bottom: 90px;
	font-size: 6vmin;
	letter-spacing: 0px;
	line-height: 4vmin;
	text-align: right;
}

#information {
	position: absolute;
	width: 100vw;
	left: 0px;
	bottom: 0px;
	font-size: 24px;
	letter-spacing: 0px;
	line-height: 23px;
	background-color: #282939;
	padding: 20px 24px 17px 16px;
	color: rgba(190, 190, 195, 0.7);
}
.id {
	color: white;
	display: inline-block;
	font-size: 24px;
}
.tx {
	color: #bebec3;
}
.num {
	color: #282939;
	font-size: 10vmin;
	margin: 2vmin;
	bottom: -1.5vmin;
	display: inline-block;
}

@media screen and (max-width: 450px) {
	#footer .number {
		font-size: 80vmin;
		top: -45vmin;
		left: 5vmin;
	}
	#footer .title {
		font-size: 24.3vmin;
		line-height: 24vmin;
	}
	#footer .subtitle {
		font-size: 7.2vmin;
		padding-left: 2px;
	}
	#footer .tt {
		left: 4.8vmin;
		top: 5vmin;
	}
	#statistics {
		right: 6vmin;
		bottom: calc(4vmin + 60px);
		font-size: 8vmin;
		line-height: 7vmin;
	}
	.num {
		font-size: 10vmin;
		margin: 2vmin;
		bottom: -0.8vmin;
	}
}


@media screen and (max-height: 450px) {
	#footer .number {
		font-size: 80vmin;
		top: -40vmin;
		left: 5vmin;
	}
	#footer .title {
		font-size: 24.3vmin;
		line-height: 24vmin;
	}
	#footer .subtitle {
		font-size: 7.2vmin;
		padding-left: 2px;
	}
	#footer .tt {
		left: 20vmin;
		top: 5vmin;
	}
	#statistics {
		right: 6vmin;
		bottom: calc(4vmin + 60px);
		font-size: 8vmin;
		line-height: 7vmin;
	}
	.num {
		font-size: 10vmin;
		margin: 2vmin;
		bottom: -0.8vmin;
	}
}
