@charset "utf-8";
/*主容器伪类*/
.parallax-container {
    	position: relative;
    	width: 100vw;
    	height: 100vh;
	z-index: 1;
}
/*通用子元素样式*/
.parallax-item {
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	width: auto;
		/*transform: translateX(-50%);
	    transform: translateY(-50%);*/
    	height: 100%;
		aspect-ratio: 16/9;
    	background-size: cover;
    	background-position: center;
		background-repeat: no-repeat;
    	transition: transform 0.1s ease-out;
}
/*
子容器定义:
	  共七层子元素分别对应:背景\备用层\阴影\主要层\备用层\备用层\上方元素层\
      目前第二层用于粒子动画,向鼠标移动方向反向移动
	  第六层处于第4层下方，使立绘突出
	
	  ！所有元素按照屏幕宽度计算百分比大小！important
*/
.parallax-item:nth-child(1) {
    	background-image: url('images/site_main_bkg.webp');
		background-blend-mode: luminosity;
		width: 105%;
		height: 105%;
    	transform: translate(calc(var(--relative-x) * -2.5% - 50%), calc(var(--relative-y) * -2.5% - 50%));
}
 .parallax-item:nth-child(2) {
    	background-image: url('images/character_bkg.webp');
    	transform: translate(calc(var(--relative-x) * -1% - 50%), calc(var(--relative-y) * -1% - 50%));
}
 .parallax-item:nth-child(3) {
    	background-image: url('images/site_main@0.5x.png');
	 image-rendering: pixelated;
    	transform: translate(calc(var(--relative-x) * 1.5% - 50%), calc(var(--relative-y) * 1.5% - 50%));
		z-index: 998;/*确保上方*/
}
.parallax-item:nth-child(4) {
		width: 100%;
    	transform: translate(calc(var(--relative-x) * 0.5% - 50%), calc(var(--relative-y) * 0.5% - 50%));
		z-index: 1002;/*协调*/
}

/*通用上方元素容器(附带模糊滤镜)*/
.general-upper-container{
	position: absolute;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	justify-content: center;
}

/*角色前方标签块*/
#block01 {
	position: absolute;
	width: 60vh;
	height: auto;
	aspect-ratio: 6.33502;
	left: 50%;
	top: 50%;
	transform: translate(-50%,200%);
	background-image: url('images/character_convinience_cover.webp');
	background-size: cover;
	background-position: right;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

/*翻页框架*/
.section {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2em;
            transition: clip-path 0.75s ease-in-out;
			aspect-ratio: 16/9;
        }

        #section1 {
			display:flex;
            background-image: url("images/site_main_bkg.webp");
            background-size: cover;
            background-position: left;
			clip-path: inset(0 0 0 0);
        }

        #section2 {
			display: none;
            background-image: url("images/site_main_bkg_white.webp");
            background-size: cover;
            background-position: left;
            clip-path: inset(0 100% 0 0);
        }

        #section3 {
			display: flex;
            background-image: url("images/site_main_bkg_reduced.webp");
            background-size: cover;
            background-position: left;
            clip-path: inset(0 100% 0 0);
        }

        #section4 {
			display: none;
            background-image: url("images/site_main_bkg.webp");
            background-size: cover;
            background-position: left;
            clip-path: inset(0 100% 0 0);
        }
		
		
		.navBtn{
			height: 4vh;
			width: auto;
			font-size: 3.7vh;
			color: black;
			margin: 3px;
			border-radius: 2px;
			background-color: rgba(0,0,0,0);
			cursor: pointer;
			transition: 0.2s ease-in-out;
			margin-right: 3vw;
		}
		.navBtn:hover{
			color: white;
			background-color: rgba(25,25,25,1);
			
		}
		.navBtn:active{
			color: white;
			background-color: rgba(255,40,50,1);
		}
		
.navBtnIndicate{
	color: #CCC;
	background-color:#222;
	transition: 0.5s ease;
}
.navBtnIndicate:hover{
	color: white;
	background-color: rgba(255,40,50,1);
}

		.navImg{
			height: 100%;
			width: auto;
			margin-right: 10vh;
		}
		
		.navPlaceholder{
			width: 10vh;
		}
		
		.mainNav{
			display:flex;
			flex-direction: row;
			align-items: center;
			align-content: center;
			justify-content: flex-end;
			position: fixed;
			top: 0vh;
			width: 100vw;
			height: 6.5vh;
			z-index: 114514;
			transition: 0.5s ease;
			border-bottom: 1px solid #222;
			backdrop-filter: blur(10px);
			-webkit-backdrop-filter: blur(10px);
			background-color: rgba(255,255,255,0.1);
		}
/*
		#mainNav:hover{
			backdrop-filter: blur(10px);
			background-color: rgba(255,255,255,0.1);
		}
		*/
.mainNavHidden{
	transition: 0.5s ease;
	top: -7.1vh;
}

#frameBarLeft{
	position: fixed;
	width: 2px;
	height: 100vh;
	left: -2px;
	top: 0vh;
	transition: 0.75s ease-in-out;
	z-index: 1000000;
	background-color: #111;
}

#frameBarRight{
	position: fixed;
	width: 2px;
	height: 100vh;
	right: -2px;
	top: 0vh;
	transition: 0.75s ease-in-out;
	z-index: 1000000;
	background-color: #111;
}

@keyframes blink {
            0% {
                opacity: 0;
				transform: translate(-50%,0%);
            }
			10%{
				opacity: 1;
				transform: translate(-50%,5%);
			}
            50% {
                opacity: 0.75;
            }
            100% {
                opacity: 0;
				transform: translate(-50%,75%);
            }
        }
#scrollNotice{
	display: flex;
	position: fixed;
	left: 50vw;
	transform: translate(-50%,0%);
	bottom: 7vh;
	width: 8.5vh;
	height: auto;
	aspect-ratio: 1;
	opacity: 1;
	transition-timing-function: ease-in-out;
	background-image: url('images/scrollIndicator.webp');
	background-size: cover;
	background-position: center;
	animation: blink 2s infinite;
}

#playPauseBtn {
		position: absolute;
		top: 0%;
		left: 0%;
		/*top: 50vh;
		left: 50vw;
		transform: translate(325%, 203.5%);*/
		/*transform: translate(-800%, 203.5%);*/
		/*transform: translate(-323%, 203.4%);*/
		height: 100%;  /*9.34vh*/
		width: auto;
		aspect-ratio: 1;
		background-size: cover;
		background-position: center;
		background-image: url("images/musicButtons/musicButtonDe.webp");
  		cursor: pointer;
	    background-color: rgba(255,255,255,0.7);
		transition: 0.5s ease-in-out;
		opacity: 1;
		border: none;
	}
	#playPauseBtn:hover {
		background-image: url("images/musicButtons/musicButtonHo.webp");
		opacity: 0.7;
	}
	#playPauseBtn:active {
		background-image: url("images/musicButtons/musicButtonAc.webp");
		right: 0%;
	}

#playPauseSwitch{
	display: block;
	align-content: center;
	position: relative;
	left: 50%;
	top: 50%;
	width: 60vh;
	height: auto;
	aspect-ratio: 6.33502;
	transform: translate(-50%,180%);
	transition: 0.5s ease-in-out;
	/*border: 1px solid #222;*/
}

.PPSwitchBlack{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0%;
	top: 0%;
	background-color: rgba(30,30,30,0.7);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	transition: 0.5s ease-in-out;
	clip-path: inset(0 100% 0 0);
	border: 1px solid #222;
}
.PPSwitchWhite{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0%;
	top: 0%;
	background-color: rgba(215,215,215,0.2);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	transition: 0.5s ease-in-out;
	clip-path: inset(0 0 0 0);
}