.mbti_wrap{
	width:100%;
	max-width:760px;
	margin:40px auto;
	padding:0 16px;
	box-sizing:border-box;
	font-family:'Pretendard','Noto Sans KR','Malgun Gothic',sans-serif;
}

.mbti_intro,
.mbti_question_box,
.mbti_result_box{
	background:#fff;
	border:1px solid #e8e8e8;
	border-radius:18px;
	box-shadow:0 10px 30px rgba(0,0,0,0.06);
	padding:34px;
	box-sizing:border-box;
}

.mbti_intro h2{
	margin:0;
	font-size:30px;
	color:#111;
}

.mbti_intro p{
	margin:10px 0 28px;
	font-size:15px;
	color:#666;
	line-height:1.6;
}

.mbti_form label{
	display:block;
	margin:14px 0 7px;
	font-size:13px;
	font-weight:bold;
	color:#333;
}

.mbti_input{
	width:100%;
	height:48px;
	border:1px solid #ddd;
	border-radius:10px;
	padding:0 14px;
	box-sizing:border-box;
	font-size:15px;
	outline:none;
}

.mbti_input:focus{
	border-color:#111;
}

.mbti_start_btn{
	width:100%;
	height:54px;
	margin-top:24px;
	border:0;
	border-radius:12px;
	background:#111;
	color:#fff;
	font-size:16px;
	font-weight:bold;
	cursor:pointer;
}

.mbti_progress{
	margin-bottom:22px;
}

.mbti_progress_bar{
	width:100%;
	height:10px;
	background:#eee;
	border-radius:20px;
	overflow:hidden;
}

.mbti_progress_bar span{
	display:block;
	height:100%;
	background:#111;
	border-radius:20px;
	transition:width .3s ease;
}

.mbti_progress_txt{
	margin-top:8px;
	font-size:13px;
	color:#777;
	text-align:right;
}

.mbti_question_card{
	text-align:center;
}

.mbti_question_count{
	display:inline-block;
	padding:7px 12px;
	border-radius:30px;
	background:#f2f2f2;
	font-size:13px;
	color:#555;
	margin-bottom:22px;
}

.mbti_question_text{
	min-height:110px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:24px;
	font-weight:bold;
	line-height:1.5;
	color:#111;
	word-break:keep-all;
}

.mbti_answer_btns{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:10px;
	margin-top:30px;
}

.mbti_answer_btns button{
	height:54px;
	border:1px solid #ddd;
	background:#fff;
	border-radius:12px;
	font-size:16px;
	font-weight:bold;
	cursor:pointer;
}

.mbti_answer_btns button:hover{
	background:#111;
	color:#fff;
	border-color:#111;
}

.mbti_result_top{
	text-align:center;
	margin-bottom:28px;
}

.mbti_result_label{
	display:inline-block;
	padding:7px 13px;
	border-radius:30px;
	background:#111;
	color:#fff;
	font-size:13px;
	margin-bottom:15px;
}

.mbti_result_top h2{
	margin:0;
	font-size:42px;
	letter-spacing:3px;
	color:#111;
}

.mbti_result_top p{
	margin:8px 0 0;
	font-size:15px;
	color:#666;
}

.mbti_result_card{
	border:1px solid #eee;
	background:#fafafa;
	border-radius:18px;
	padding:30px;
	text-align:center;
	box-sizing:border-box;
}

.mbti_result_icon{
	width:300px;
	height:300px;
	margin:0 auto 18px;
	border-radius:50%;
	overflow:hidden;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-weight:bold;
	font-size:20px;
}

.mbti_result_icon img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
@media screen and (max-width:640px){
	.mbti_result_icon{
		width:150px;
		height:150px;
		margin:0 auto 18px;
		border-radius:50%;
		overflow:hidden;
		background:#fff;
		display:flex;
		align-items:center;
		justify-content:center;
		color:#fff;
		font-weight:bold;
		font-size:20px;
	}
}

.mbti_result_code{
	font-size:18px;
	font-weight:bold;
	letter-spacing:2px;
	color:#888;
}

.mbti_result_name{
	margin-top:8px;
	font-size:28px;
	font-weight:bold;
	color:#111;
}

.mbti_result_contents{
	margin-top:22px;
	font-size:16px;
	line-height:1.8;
	color:#444;
	text-align:left;
	white-space:normal;
}

.mbti_result_btns{
	margin-top:24px;
	text-align:center;
}

.mbti_result_btns a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:46px;
	padding:0 22px;
	border-radius:10px;
	background:#111;
	color:#fff;
	text-decoration:none;
	font-size:14px;
	font-weight:bold;
}

@media screen and (max-width:640px){
	.mbti_wrap{
		margin:20px auto;
		padding:0 12px;
	}

	.mbti_intro,
	.mbti_question_box,
	.mbti_result_box{
		padding:24px 18px;
		border-radius:14px;
	}

	.mbti_intro h2{
		font-size:24px;
	}

	.mbti_question_text{
		font-size:20px;
		min-height:130px;
	}

	.mbti_answer_btns{
		grid-template-columns:1fr;
	}

	.mbti_result_top h2{
		font-size:34px;
	}

	.mbti_result_name{
		font-size:23px;
	}
}

.mbti_type_select{
	display:flex;
	gap:8px;
	margin:15px 0;
}

.mbti_type_select a{
	display:block;
	padding:10px 14px;
	border:1px solid #ddd;
	border-radius:6px;
	background:#fff;
	color:#333;
	text-decoration:none;
	font-size:14px;
}

.mbti_type_select a.active{
	background:#222;
	border-color:#222;
	color:#fff;
}