html{

	--color-bg: #e9e9e9;
	--color-text: #000;
	--color-label-bg: #000;
	--color-label-text: #fff;

	--app-margin: 20px;

	font-size: 18px;
	font-weight: 200;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* 多选几个可能有有超粗字型的字体 */
	/* font-family: 
		"PingFang SC",
		"Noto Sans CJK SC",
		"Microsoft YaHei",
		"Source Han Sans CN",
		"思源黑体 CN",
		-apple-system, 
		BlinkMacSystemFont, 
		"Segoe UI", 
		Roboto, 
		"Helvetica Neue", 
		Arial,
		sans-serif; */
	line-height: 1.2;

	background-color:var(--color-bg);
	color:var(--color-text);

	/* 倾斜的方形瓦片 + 渐变背景 */
	background-image: 
		repeating-linear-gradient(
			24deg,
			rgba(255,255,255,0.2),
			rgba(255,255,255,0.1) 320px
		),
		linear-gradient(135deg, #e4e4e3, #dcdcdc);
	background-position: 0 0;
}
@media (max-width: 600px){
	html{
		--app-margin: 10px;
	}
}
body{
	margin: 0;
}
.app{
	overflow: hidden;
}

a{
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	text-shadow: 0 1px 1px green;
}

h1,h2,h3,h4,h5,p{
	margin: 0;
}

header{
	margin: var(--app-margin);
	display: flex;
	justify-content: space-between;
}
header .info-box{
	/* margin-top: 20px; */
}
header .info-box h1{
	font-size: 4em;
	font-weight: 800;
	line-height: 1;
	vertical-align: top;
}
header .info-box p{
	padding: 6px 0;
	
}
header .info-box p .len{
	margin-left: .5em;
	opacity: 0.3;
}
@media (max-width: 600px){
	header{
		flex-direction: column;
		gap: 10px;
	}
	header .links-box{
		flex-direction: row;
		gap: 12px;
	}
}
.links-box{
	
	display: flex;
	/* 竖排 */
	flex-direction: column;
	gap: 6px;
}



.use-tip{
	margin: 0 var(--app-margin);
	font-size: 14px;
	display: flex;
	margin-top: 6px 0;
	cursor: pointer;
	pointer-events: none;
}
.use-tip p{
	background-color: rgba(255,255,255,.8);
	padding: 8px;
	margin: 0 6px 6px 0;
	pointer-events: auto;
}
.song-groups{
	padding: 10px 0;
}

.song-group{
	padding: var(--app-margin) 10px;
}
@media (max-width: 600px){
	.song-group{
		padding: var(--app-margin) 0;
	}
}

.group-head{
	display: flex;
	align-items: baseline;
	padding: 0 10px;
}
.group-head h2{
	/* background: var(--color-label-bg);
	color: var(--color-label-text); */
	padding: 6px 20px;
	font-weight: 1200;
	font-size: 24px;

	background: #b5dd57;

	position: relative;
}

/* .group-head h2[data-lang="中文"]{
	display: none;
} */

.group-head .group-num{
	opacity: 0.5;
	font-size: 16px;
	padding: 0 10px;
}
.song-group ul{
	list-style: none;
	padding: 0;
	margin: 0;

	/* 多列 */
	display: flex;
	flex-wrap: wrap;
}
.song-group ul{
	margin: var(--app-margin) calc(var(--app-margin) * -1) 0 0;
}
.song-group ul li{
	padding: 10px 12px 6px;
	/* background: #FFF; */
	margin: 0 8px 8px 0;
	cursor: pointer;
	transition: background-color .3s ease;
	/* min-width:80px; */
	min-height:36px;
	/* overflow: hidden; */
}
@media (max-width: 600px){
	.song-group ul li{
    	/* min-width: calc(25% - 24px - 8px); */
	}
}
.song-group ul li:hover{
	background-color: rgba(255,255,255,.8);
}
.song-group ul li h4{
	font-weight: 600;
	text-shadow: 0 1px 2px rgba(255,255,255,.8);

    min-width: 3em;
}
.song-group ul li .tags{
	font-size: 12px;
	font-weight: 200;
	opacity: 0.5;
	margin-right: -20px;
}

.song-group ul li .tags span{
	margin-right: 4px;
}

.logs-box{
	margin: var(--app-margin);
	font-size: 14px;

}
.log-box{
	padding: 10px 0;
}
.log-box h4{
	font-size: 1.4em;
}
.log-box p{
	padding: 6px 0 4px;
	line-height: 1.4;
}
.log-box time{
	font: inherit;
	font-size: 12px;
	opacity: 0.5;
}
footer{
	padding: var(--app-margin);
	font-size: 14px;
}
footer .hr{
	opacity: 0.5;
	margin: 0 4px;
}


.ui-toast{
	position: fixed;
	width: 230px;
	top: 80px;
	left: 0;
	right: 0;
	margin: auto;
	background: rgba(0,0,0,.8);
	color: #fff;
	padding: 24px 20px 12px;
	border-radius: 8px;
	text-align: center;
	font-size: 16px;
	box-shadow: 0 4px 12px rgba(0,0,0,.3);
	z-index: 1000;
	opacity: 0;
	animation: toast-show-hide 2s ease forwards;
}
.ui-toast:before{
	content: attr(data-tag);
	position: absolute;
	left: 0;
	right: 0;
	font-size: 12px;
	top: 6px;
	opacity: 0.5;
}

@keyframes toast-show-hide {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}
	10%, 90% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(-20px);
	}
}