
* {
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}
html {
	background-color: #222;
	color: white;
	font: 300 14px/1.3 'Helvetica Neue', Helvetica, Arial, sans-serif;
	height: 100%;
}
body {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 25px;
	max-width: 480px;
	min-height: 100%;
	background-color: #1a1a1a;
}
a {
	color: inherit;
}

header h1 {
	padding-top: 20px;
	font-size: 200%;
}

.ver {
	margin: 20px 0;
	border-left: 3px solid #666;
	padding: 0.25em 0 0.25em 1em;
}

.text.compact {
	font-size: 12px;
}
.text p {
	margin: 1em 0;
	line-height: 1.5;
}
.text h2 {
	margin: 2em 0 1em;
	font-size: 115%;
	font-weight: 800;
	color: #BBDD90;
}
.text ol,
.text ul {
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 1.5em;
}
.text li {
	margin: 0.5em 0;
}
.text blockquote {
	margin: 20px 0;
	padding: 0.5em 0.5em 0.5em 1em;
	line-height: 1.5;
	border-left: 3px solid #666;
	background-color: rgba(255, 255, 255, 0.1);
}

.copyright {
	margin: 0 -25px;
	margin-top: 40px;
	padding: 20px;
	text-align: center;
	font-size: 12px;
	color: #BBDD90;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.section {
	margin-top: 40px;
}

nav {
	margin-top: 40px;
}

/* --------------------------------------------- */
/** HOME **/
.home body {
	background-color: black;
}
.home .intro {
	margin: 0 -25px;
	padding: 0 25px 50px;
	background-color: #1a1a1a;
	background-image: url(../img/home-bg.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
}

.home .site-name {
	margin: 0 -25px;
	padding: 24px 12px;
	padding-bottom: 85%;
}
.home .site-name h1 {
	padding: 10px 11px;
	text-align: left;
	color: #1a1a1a;
	background-color: #bbdd90;
}
.home .site-name h1 img {
	display: block;
	min-height: 16px;
	max-height: 20px;
	height: 4vw;
}
.home .description p {
	line-height: unset;
}
.home .description strong {
	font-size: 16px;
	font-weight: 800;
	color: #BBDD90;
}

.home .action {
	margin-top: 30px;
}
.home .action .btn {
	display: flex;
	justify-content: center;
	align-items: center;

	box-sizing: border-box;
	height: 44px;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	color: #1a1a1a;
	background-color: #BBDD90;
	border: 1px solid #BBDD90;
	border-radius: 999em;
}
.home .action .btn + .btn {
	margin-top: 20px;
}
.home .action .btn .icon {
	margin-right: 0.5em;
	width: 24px;
	height: 24px;
}

.home .detail {
	margin: 0 -25px;
	padding: 0 25px;
	overflow: hidden;	/* BFC to contain child's margin top */
	color: rgba(255, 255, 255, 0.6);
}
.home .detail ul {
	margin-left: 0;
	list-style: none;
}
.home .detail h2 {
	list-style: none;
	margin-left: 0;
}
.home .detail a {
	font-weight: initial;
	color: white;
}
.home .detail .section strong {
	font-weight: initial;
	color: white;
	margin-right: 0.5em;
}
.home .detail .section code {
	/* font-family: inherit; */
	font-weight: inherit;
}

/* --------------------------------------------- */
/** CHARACTER **/
.character body {
	background-color: black;
}

.character .intro {
	position: relative;
	margin: 0 -25px;
	/* background: green; */
}

.character .site-name {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding: 24px 12px;
	padding-bottom: 10%;
	background: linear-gradient(180deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 100%);
}
.character .site-name h1 {
	padding: 10px 11px;
	text-align: left;
	color: #1a1a1a;
	background-color: #bbdd90;
}
.character .site-name h1 img {
	display: block;
	min-height: 16px;
	max-height: 20px;
	height: 4vw;
}

.character .intro .avatar {
	padding-top: 150%;
	/* background-image: url(https://afu-1255830993.cos.ap-shanghai.myqcloud.com/sd/e87da1761d3b455b67675620c7fe22be.png); */
	background-color: #333;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.character .intro .greeting {
	display: none;
}
.character .intro .basic-info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px 25px;
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
}
.character .intro .basic-info h2 {
	display: inline;
	font-size: 20px;
	font-weight: 500;
}
.character .intro .basic-info .char-age {
	margin-left: 8px;
	font-size: 14px;
	font-weight: 400;
}
.character .intro .basic-info .tags {
	margin-top: 10px;
}


.character .detail .section:first-child {
	margin-top: 0;
}
.character .detail .section:first-child h2 {
	margin-top: 10px;
}

.character .action {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
}
.character .action .action-body {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 40px 50px 15px;
	max-width: 480px;
	overflow: hidden;
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 67%, rgba(0,0,0,0) 100%);;
}
.character .action .btn {
	display: flex;
	justify-content: space-between;
	align-items: center;

	box-sizing: border-box;
	height: 44px;
	padding: 0 13px 0 20px;
	text-align: center;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	color: #BBDD90;
	background-color: #BBDD9022;
	border: 1px solid #BBDD90;
	border-radius: 999em;
}
.character .action .icon {
	width: 24px;
	height: 24px;
	opacity: 0.5;
}
.character .action .label {
	opacity: 0.5;
}

/* ui */
.tag-box {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;

	display: flex;
	flex-wrap: wrap;
}
.tag-box li {
	margin: 0 8px 8px 0;
	padding: 5px 10px;
	font-size: 14px;
	font-weight: 400;
	background-color: #ffffff30;
	border-radius: 999em;
}

/* status */
.character body > div,
.character body[data-status='success'] > .loading,
.character body[data-status='success'] > .error {
	display: none;
}
.character body[data-status='loading'] > .loading,
.character body[data-status='error'] > .error,
.character body[data-status='success'] > div {
	display: block;
}

.character body > .loading {
	padding: 80px 0;
	text-align: center;
	font-size: 24px;
	color: grey;
}
.character body > .error {
	padding: 80px 0;
	text-align: center;
	font-size: 16px;
	color: grey;
}
.character body > .error h1 {
	margin-bottom: 20px;
	font-size: 32px;
}
.character body > .error nav {
	margin-top: 100px;
}
