@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");




body,div,h2,p,audio,ul,li{ margin: 0; padding: 0; }
ul{ list-style: none; }
body{
	font-family: 'Pretendard Variable', sans-serif;
	height: 100vh;
	color: #fff;
}
/* scroll */
::-webkit-scrollbar{ width: 6px; height: 100%; }
::-webkit-scrollbar-thumb{
	background: #fff;
	border-radius: 20px;
}
::-webkit-scrollbar-track{
	background: rgba(255,255,255,0.6);
  border-radius: 20px;
}
@keyframes AnimationName { 
    0%{ background-position: 0% 50%; }
    50%{ background-position: 100% 50%; }
    100%{ background-position: 0% 50%; }
}
.wrapper{
	width: 100%;
  	height: 100%;
	background: linear-gradient(-45deg, #fff6b7, #f092bc, #8795e6, #c2ffd8);
  	background-size: 400% 400%;
	animation: AnimationName 30s ease infinite;
	/*display: flex; justify-content: center; align-items: center;*/
	user-select: none; /* drag 안되게 */
	position: relative;
}

.bg{
	height: 100%;
	/*width: 464px; height: 832px;*/
	/*background: url('../images/phone.png') no-repeat;*/
	/*display: flex; justify-content: center; align-items: center;*/
}

.inner{
	width: 100%;
	height: 100%;
	/*padding: 50px 30px 80px;*/
	padding: 2rem 2.5rem 4rem;
	background: rgba(0,0,0,0.5);
	box-sizing: border-box;

	/* DESKTOP */
	@media (min-width: 480px) {
		width: 510px;
		height: 760px;
		border-radius: 0.875rem;
		margin:0 auto;
		position: fixed;
		left:50%;
		top:50%;
		transform: translate(-50%, -50%);
	}
}


/* HEADER */
.header_title{
	width: 100%;
	margin-bottom: 5rem;
	position: fixed;
	/*top:2.5rem;*/
	pointer-events: none;
	top: 8%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.header_title h2{
	text-align: center;
	color:#fff;
	font-size: 1rem;
	line-height: 140%;
}



/* PHOTO, TITLE, ARTIST */
.wrapper_info {
	position: fixed;
	left:50%;
	top:40%;
	transform: translate(-50%, -40%);
	width: calc(100% - 5rem);
}


/* UI COMPONENTS */
.wrapper_player {
	position:fixed;
	width: calc(100% - 5rem);

	bottom: 10vh;
	@supports (height: 100dvh) {
		bottom: 10dvh;
	}

	@media (min-width: 480px) {
		bottom: 42px;
	}

}







.m-img{
	width: 28vh;
	height: 28vh;
	@supports (height: 100dvh) {
		width: 28dvh;
		height: 28dvh;
	}
	max-width: 320px;
	max-height: 320px;
	margin:0 auto;
	border-radius: 4px; overflow: hidden;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.m-img>img{
	width: 100%;
	height: 100%;
}



.m-info{
	margin-top: 1.5rem;
	margin-bottom: 4rem;
	text-align: center;
	width: 100%;
}

.m-info .artist{
	font-size: 1.125rem;
	color: rgba(255,255,255,0.5);
	margin-top: 1rem;
	letter-spacing: 0;

	@media (min-width: 480px) {
		margin-top:0.75rem;
	}
}

.m-info #title {
	font-size: 1.75rem;
	font-weight: bold;
	word-break: keep-all;
}



#play-list{
	/*width: 100%;*/
	width: calc(100% - 2rem);
	/*height: 420px;*/
	height: 70%;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0,0,0,0.85);
	display: none;
	z-index: 10;

	@media (min-width: 480px) {
		/*box-shadow: 0 4px ;*/
		height: 80%;
		transform: translate(-50%, -44%);
		box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	}
}

#play-list-ul {}


/*.m-lyrics{*/
/*	padding: 20px; box-sizing: border-box;*/
/*	overflow-y: scroll;*/
/*	text-align: center;*/
/*	color: #fff; font-size: 20px;*/
/*}*/
/*.m-lyrics.active{ display: block; }*/

.m-etc{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	color: rgba(255,255,255,0.6);
}
.m-etc>#play-list>ul{
	/*height: 420px;*/
	height: 100%;
	padding: 20px; box-sizing: border-box;
	overflow-y: scroll;
}
.m-etc>#play-list li{
	border-bottom: 1px solid rgba(255,255,255,0.3);
	padding: 0.75rem 0;
	box-sizing: border-box;
	font-size: 1.125rem;
	position: relative;
	cursor: pointer;
}
.m-etc>#play-list li:first-child{
	padding-top:0;
}

.m-etc>#play-list li:last-child{ border-bottom: 0; }
.m-etc>#play-list li>strong{
	display: block;
	margin-bottom: 0.25rem;
	line-height: 140%;
}
.m-etc>#play-list li>em{
	font-style: normal;
	font-size: 16px;
	line-height: 140%;
	color: rgba(255,255,255,0.4);
}


.m-etc>#play-list li.active,.m-etc>#play-list li.active>em{ color: #ffffff; }
.m-etc>#play-list li>span{
	position: absolute;
	right: 0;
	top: 1rem;
	font-size:0.9875rem;
}


.m-etc>#play-list li:first-child>span{
	top: 0;
}

#play-list-dim.show {
	opacity: 1;
	pointer-events: auto;
}
#play-list-dim {
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.25s ease-out;
	width: 100vw;
	height: 100vh;
	left:0;
	top:0;
	background-color: rgba(0,0,0,0.5);
	position: fixed;
	z-index: 9;

	@media (min-width: 480px) {
		/*left:-50%;*/
		left: calc(-50vw + 255px);
		top: calc(-50vh + 380px);
		background-color: rgba(0,0,0,0.3);
		/*top:-50%;*/
	}
}


.m-etc>#list-btn {
	cursor: pointer;
	width: 4vh;
	height: 4vh;
	max-width: 2rem;
	max-height: 2rem;
}
.m-etc>#list-btn svg {width: 100%; height: 100%;}
.m-etc>#list-btn svg path { fill:#fff; }
.m-etc>#list-btn.active{ color: #fff; }
.m-etc>#list-btn.active+#play-list{ display: block; }




.m-etc>.volume{ position: relative; }

.m-etc #volume-btn{ cursor: pointer; }
.m-etc #volume-btn svg {
	width: 4vh;
	height: 4vh;
	max-width: 2rem;
	max-height: 2rem;
}
.m-etc #volume-btn svg path { fill: #fff; }

.m-etc #volume-btn.open{ color: rgba(255,255,255,1); }
.m-etc #volume-ctrl{
	width: 42px;
	height: 20vh;
	background: rgba(0,0,0,0.6);
	border-radius: 20px;
	position: absolute;
	left: -3px;
	bottom: 3rem;
	display: flex; flex-flow: column wrap; align-items: center;
}
.m-etc #volume-ctrl.hidden{ display: none; }
.m-etc .volumebg{
	width: 5px;
	height: 90%;
	margin: auto;
	border-radius: 3px;
	background: rgba(255,255,255,0.4);
	position: absolute; left: 50%; top: 50%;
	transform: translate(-50%,-50%);
	overflow: hidden;
}
.m-etc .volumerange{
	-webkit-appearance: none;
	width: 20vh;
	position: absolute;
	right: 1px;
	top: -4px;
	background: transparent;
	transform-origin: center right;
	transform: rotate(270deg);
	overflow: hidden; cursor: pointer;
}
.m-etc .volumerange:focus{ outline: none; }
.m-etc .volumerange::-webkit-slider-runnable-track{
	width: 100%; height: 100%;
	cursor: pointer;
	border-radius: 3px;
}
.m-etc .volumerange::-webkit-slider-thumb{
	-webkit-appearance: none;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: -100vw 0 0 100vw #ffffff;
}
.m-etc .bar{
	width: 6px; height: 0%;
	background: #fff;
	border-radius: inherit;
	position: absolute; bottom: 0;
	pointer-events: none;
}
.pin{
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	pointer-events: all;
	box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.3);
}
.m-progress{
	width: 100%;
	height: 3px;
	border-radius: 3px;
	background: rgba(255,255,255,0.1);
}
.m-progress .bar{
	width: 0;
	height: inherit;
	border-radius: inherit;
	background: #ffffff;
	position: relative;
	transition: width 0.25s ease-out;
}
.m-progress .pin{
	left: -1%;
	top: -5px;
}
.m-progress>.timer{
	margin-top: 0.75rem;
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
	/*letter-spacing: 1px;*/
}
.m-control{
	margin-top: 40px;
	display: flex; justify-content: space-between; align-items: center;
}
.m-control span{
	/*font-size: 32px;*/
	color: #fff;
	cursor: pointer;
}
.m-control>.wpr_play{
	/*width: 54px; */
	/*height: 54px;*/
	font-size:0;
	background: rgba(255,255,255,0.2);
	border-radius: 50%;
	display: flex; justify-content: center; align-items: center;
}



.wpr_play {
	width: 4rem;
	height: 4rem;
}

#play-btn {
	width: 100%;
	height: 100%;
}

#play-btn svg {
	position: absolute;
	cursor: pointer;
	width: 8vh;
	height: 8vh;
	max-width: 4rem;
	max-height: 4rem;
}

#play-btn svg {width: 100%; height: 100%;}

#repeat-btn svg path,
#shuffle-btn svg path,
#play-btn svg path {fill:#fff;}



#repeat-btn svg,
#shuffle-btn svg,
#next-btn svg,
#prev-btn svg {
	width: 4vh;
	height: 4vh;
	max-width: 1.5rem;
	max-height: 1.5rem;
}

.m-control #next-btn svg path,
.m-control #prev-btn svg path {fill:#fff;}


#play-btn svg {
	display: none; /* 기본적으로 전부 숨김 */
}

/* 재생 중인 상태 */
#play-btn.playing #pause-icon {
	display: inline; /* 재생 중 → 'pause' 아이콘 보이기 */
}
#play-btn.playing #play-icon {
	display: none;
}

/* 일시정지(또는 정지) 상태 */
#play-btn.paused #pause-icon {
	display: none;
}
#play-btn.paused #play-icon {
	display: inline; /* 재생 중이 아닐 때 → 'play' 아이콘 보이기 */
}



#repeat-btn #repeat-icon-no 		{ display: inline-block; }
#repeat-btn #repeat-icon-yes 		{ display: none; }
#repeat-btn.active #repeat-icon-no 	{ display: none; }
#repeat-btn.active #repeat-icon-yes { display: inline-block; }

#shuffle-btn svg {opacity: 0.3;}
#shuffle-btn.active svg {opacity: 1;}